Commit 060f969
committed
Plan the rest of the usable app to commit level
M3-FINISH-PLAN.md turns the remainder of T10-T17, the W8 leftovers, and the
defects found in the shipped UI slice into nine commit-sized work items with
the design decided in advance, so the driver works V1 to V9 without asking.
The starting state was verified against the live tree rather than recalled,
and it found more than the known gaps: the project detail link 404s into an
empty directory, --max-budget-usd is plumbed and never set anywhere, nothing
calls removeReviewWorktrees on any terminal transition, rules.enabled is
written and never read, SETTING_KEYS is referenced nowhere, and the review
page grows its activity state without bound.
Two problems shape the ordering. Spend safety goes first, V1, because of the
2026-07-31 incident where a manual test silently used the real CLI: a budget
ceiling on every engine call, a run note naming the engine binary, and a
policy that nothing spends usage without an explicit user action. The
confirmation loop goes second, V2 and V5, because a human confirming every
finding before the report exists is the product's founding requirement and it
is not yet drivable: confirm and dismiss routes, the keyboard-driven
confirmation screen, the complete transition that refuses undecided findings,
then the report renderer and export.
The rest in usage order: project detail with links and delete, pre-flight and
the linked toggle, lifecycle polish with merged detection and a settings
editor, the rulesets manager slice over the already-present enabled flag, an
e2e journey with both-theme screenshots and CI running --e2e, and finally the
records and FG-2 evidence, with the real-model runs explicitly gated on the
maintainer's go-ahead.
Fifteen decisions, D-30 to D-44, are fixed in the plan so they are appended
to the decision log as the work lands rather than re-litigated mid-item.1 parent 935145a commit 060f969
3 files changed
Lines changed: 411 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
431 | 431 | | |
432 | 432 | | |
433 | 433 | | |
434 | | - | |
435 | | - | |
| 434 | + | |
| 435 | + | |
436 | 436 | | |
437 | 437 | | |
438 | 438 | | |
| |||
446 | 446 | | |
447 | 447 | | |
448 | 448 | | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
0 commit comments