refactor(mission): fold Needs review into Done — three-column board#435
Merged
Conversation
Completed builds no longer park in a separate "Needs review" column; all terminals (completed, failed, killed) from the recent window plus idle chats now settle in Done. The review state added little over the outcome badge already on each card, and the four-column board cramped the desktop strip and mobile swimlanes. - server.py: completed → done; pulse drops the review counter (done_today already counted both); sort order is waiting → running → done - web: MissionState/MissionPulse types, board columns, pulse row, desktop Mission strip label map - mobile: MissionCardState/MissionPulse types, swimlanes, and the custom review StatePill (only existed because review was outside the canonical status set) are gone Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Closed
7 tasks
umi-appcoder Bot
added a commit
that referenced
this pull request
Jul 24, 2026
…inks (#425) A finished card now carries proof of what happened without opening the session: deterministic regex extraction over the same bounded output tail the headline reads — no LLM pass. Chips cover vitest/jest/pytest/ unittest tallies (last occurrence per runner wins, so a red run re-run green reports green), tsc error counts, and up to two PR links. - server.py: _mc_evidence_from_log + evidence field on queue/drawer cards (always present; empty for live cards and chats). The tail is now read once per card and shared with the headline. - web: EvidenceChips component on board card + drawer, chip styles - mobile: chips on the MissionControlScreen card row - shoot-mission fixtures: retired the leftover 'review' states from #435 and added evidence to the mocked cards Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
imran31415
pushed a commit
that referenced
this pull request
Jul 24, 2026
…inks (#425) (#437) A finished card now carries proof of what happened without opening the session: deterministic regex extraction over the same bounded output tail the headline reads — no LLM pass. Chips cover vitest/jest/pytest/ unittest tallies (last occurrence per runner wins, so a red run re-run green reports green), tsc error counts, and up to two PR links. - server.py: _mc_evidence_from_log + evidence field on queue/drawer cards (always present; empty for live cards and chats). The tail is now read once per card and shared with the headline. - web: EvidenceChips component on board card + drawer, chip styles - mobile: chips on the MissionControlScreen card row - shoot-mission fixtures: retired the leftover 'review' states from #435 and added evidence to the mocked cards Co-authored-by: umi-appcoder[bot] <umi-appcoder[bot]@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Folds Mission Control's "Needs review" state into Done, taking the board from four columns to three (Waiting on you → Running → Done). The separate review parking spot added little over the ✓/✗ outcome badge each finished card already carries, and the fourth column cramped the desktop Mission strip (#434) and the mobile swimlanes.
server.py):completedtasks now map todonealongsideerror/killed; the 48h recency window is unchanged. The pulse drops itsreviewcounter —done_todayalready counted both buckets, so its meaning is unchanged.MissionState/MissionPulsenarrowed, board column + pulse row + CSS dot removed, desktop Mission strip label map updated.MissionCardState/MissionPulsenarrowed, swimlane removed, and the customStatePilldeleted — it only existed becausereviewfell outside the canonical status set, so finished cards now ride the sharedStatusPill.Testing
Full local preflight (mirrors CI):
server.pytests — 1265 passed (incl. updatedmissioncontrol_test.py)tsc+ vite build + vitest — 449 passedtsc --noEmit+ vitest — 40 passedbash -n start.sh— OK🤖 Generated with Claude Code