Skip to content

Improve contribution review preflight and progress - #13

Merged
hamzamerzic merged 5 commits into
mobius-os:mainfrom
hamzamerzic:fix/review-preflight-and-progress
Jul 22, 2026
Merged

Improve contribution review preflight and progress#13
hamzamerzic merged 5 commits into
mobius-os:mainfrom
hamzamerzic:fix/review-preflight-and-progress

Conversation

@hamzamerzic

@hamzamerzic hamzamerzic commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary

  • replace the sending spinner with a stable Möbius-style label sweep for single and stacked submissions
  • show the prior-work conclusion first and keep search queries and related links in a secondary disclosure
  • display reviewed type/area labels before publishing and preserve requested/applied/missing/unconfirmed outcomes afterward
  • keep label failures attached to the already-published PR with accurate manual GitHub guidance
  • strengthen the bundled agent guidance so every contribution checks existing work and chooses a real stack only when dependencies justify it

The unsafe experimental atomic-Land flow is intentionally excluded from this PR.

Companion

mobius-os/mobius#138 applies the reviewed labels after PR creation without allowing label failures to block an already-open PR.

Verification

  • 78 app tests, including server-rendered open/draft card coverage
  • platform app validator: 0 errors
  • full source/privacy diff review

Co-authored-by: Möbius Agent <mobius-agent@users.noreply.github.com>
hamzamerzic and others added 2 commits July 22, 2026 17:33
Co-authored-by: Möbius Agent <mobius-agent@users.noreply.github.com>
@hamzamerzic

Copy link
Copy Markdown
Contributor Author

Blocking finding on exact head 880dda4479451a581a9e410bda794c8f554fe1a5:

The new published label-outcome UI is unreachable. PlanLabels is mounted only inside ReviewPlan (ContributionCard.jsx:358), and ReviewPlan is rendered only when hasPlan && expanded (:743). But hasPlan requires reviewable (:669), and reviewable requires status === 'prepared' (:663). Core #138 persists last_submit_labels_requested/applied/missing/note only after PR creation while advancing the record to open (or another published status). As soon as those fields exist, this card can no longer render PlanLabels.

Consequently every important post-publish state in this PR is invisible in the actual UI:

  • lookup/apply timeout or launch failure
  • missing labels
  • partial application
  • permission/unconfirmed application
  • the manual GitHub link and explicit “already published; do not send it again” guidance

The pure contributionLabelOutcome() tests pass because they never render a published ContributionCard; the source-regex test only proves the component text exists, not that its published branch is reachable.

Please render PlanLabels from a published-card path independent of prepared-review expansion (while retaining the reviewed-label display in the prepared review), and add a behavioral/render test for at least status: 'open' + core #138's exact timeout/partial fields. The published path must expose the manual guidance without reintroducing a Send action.

@hamzamerzic

Copy link
Copy Markdown
Contributor Author

Second exact-contract finding on 880dda4479451a581a9e410bda794c8f554fe1a5:

normalizedLabels() no longer matches core #138's reviewed visibility boundary. The app deduplicates before stopping at two labels, while core _reviewed_pr_labels() intentionally selects the first two nonblank strings and only then deduplicates/validates them, so an unseen third value can never replace one of the two reviewed slots.

Example:

plan.labels = ['bug', 'BUG', 'area: ui']

This app shows ['bug', 'area: ui'] in prepared review, but core #138 explicitly tests and submits only ['bug']. The owner therefore sees area: ui as approved even though submit will silently omit it. Prior revisions used filter/map/slice(0, 2) and did match the backend; the new helper introduced the mismatch.

Please preserve the first-two visibility boundary before case-insensitive duplicate folding, and add this exact vector as a cross-contract test. The displayed reviewed set and core last_submit_labels_requested must be identical for malformed as well as ideal agent records.

hamzamerzic and others added 2 commits July 22, 2026 17:48
Co-authored-by: Möbius Agent <mobius-agent@users.noreply.github.com>
Co-authored-by: Möbius Agent <mobius-agent@users.noreply.github.com>
@hamzamerzic

Copy link
Copy Markdown
Contributor Author

Exact-head re-review: 52900ee18e1b2002f034543e6dbe730af4989826 is approved.

Both prior blockers are resolved:

  • Published open and draft cards now render durable label outcomes outside the prepared-only review path. The behavioral server-render test confirms warning/note/manual GitHub guidance is visible and no Send/Contribution actions render after publication. The same predicate also covers merged and closed outcomes.
  • Label normalization now matches core #138's visibility contract: filter malformed/blank entries, cap the first two visible strings, then validate and case-insensitively deduplicate within that pair. ['bug', 'BUG', 'area: ui'] correctly reviews/requests only ['bug']; no hidden third label replaces a reviewed slot.

Additional checks:

  • 78/78 app tests pass with the real component-render test enabled via the locked Möbius frontend dependencies
  • current-head GitHub Actions is green
  • platform app validator: 0 errors (the three static github.com warnings are expected existing link/string detections, not external runtime fetches)
  • labels.js remains in source_files; git diff --check is clean
  • no Atomic Land/merge action was introduced
  • prior-work conclusion/details, stack guidance, reduced-motion/forced-colors behavior, CSP-safe CSS, and external-link protections remain intact

No remaining finding on this exact head.

@hamzamerzic

Copy link
Copy Markdown
Contributor Author

Final-head delta review on 49b4e8e415feebad46e86db601dd3d482c3e462f: the successful published-label state is now compact without weakening the truthful warning/manual-recovery path for missing or unconfirmed labels. The invalid-visible-label regression also confirms a hidden third label cannot be promoted into the reviewed pair. The earlier blockers remain resolved; 78 app tests and hosted CI pass. No remaining finding; recommendation: merge after core #138.

@hamzamerzic
hamzamerzic merged commit d7721cf into mobius-os:main Jul 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants