Context
#1606 / PR #1607 fixed the review dials' dead zones for BUGFIX (investigate/fix) and the BUGFIX+AIR pr phase via a registered DIFF_REVIEW_PHASES set in apps/streamdeck/src/actions.ts, plus an honest No review target strip label for unregistered phases. The 3-way review (Claude COMMENT) flagged the remaining unregistered working phases as an architect decision, deliberately left out of #1606's scope:
- MAINTAIN —
maintain - EXPERIMENT —
execute, analyze - SPIKE —
spike
Builders in these phases DO produce worktree diffs, but their review dials resolve to mode none: honestly inert now (the strip says No review target, no more lying label), yet inert.
Decision needed
Register these phase ids in DIFF_REVIEW_PHASES (dials drive the diff, matching the #1606 owner ruling's spirit that a working phase with a diff is diffable) — or rule them intentionally inert (e.g. if reviewing an experiment's scratch diff via dials has no value). Per-id decision; the registration note in actions.ts documents the mechanism.
Notes
Context
#1606 / PR #1607 fixed the review dials' dead zones for BUGFIX (
investigate/fix) and the BUGFIX+AIRprphase via a registeredDIFF_REVIEW_PHASESset inapps/streamdeck/src/actions.ts, plus an honestNo review targetstrip label for unregistered phases. The 3-way review (Claude COMMENT) flagged the remaining unregistered working phases as an architect decision, deliberately left out of #1606's scope:maintainexecute,analyzespikeBuilders in these phases DO produce worktree diffs, but their review dials resolve to mode
none: honestly inert now (the strip saysNo review target, no more lying label), yet inert.Decision needed
Register these phase ids in
DIFF_REVIEW_PHASES(dials drive the diff, matching the #1606 owner ruling's spirit that a working phase with a diff is diffable) — or rule them intentionally inert (e.g. if reviewing an experiment's scratch diff via dials has no value). Per-id decision; the registration note inactions.tsdocuments the mechanism.Notes
protocol.jsonstill can't express review mode and the SDK'sPHASE_TO_STAGEfolds phases for the VSCode tree, so the registered set remains the mechanism until a metadata field exists (see the registration note for why).