Files
Michael Ramos 2248d184fd fix(annotate): stage-review fixes — honest delivered-state copy, live-spec confirms, armed retry
M1 (ruling: honest label, keep transport): additive feedbackDelivered on
DecisionSpecInput; the agent-terminal delivered empty state keeps the
Done primary and its full-payload /api/feedback transport but stops
claiming 'no feedback' in the tooltip and note-item subtitle (free
prose, not frozen). App passes isCurrentFeedbackDeliveredToAgent;
decisionSpec fact-guard pins the delivered-state copy.

L1: dead gate prop removed from AppHeader (decl, destructure, App call
site, both test prop objects).

L2: confirm/composer surfaces resolve from the LIVE spec — DecisionControl
stores only the confirm item id and steps back to the menu when the item
leaves the spec; the App's compact composer/confirm dialogs do the same.
F6 DOM test extended with a confirm-open spec-flip case.

L3: a failed submit keeps the captured note decision armed —
handleAnnotateFeedback/Approve report success, pendingDecisionSubmit is
cleared only on success (one auto-dispatch per arming, in-flight ref
guards double submit), and the next primary invocation replays the
captured route/framing. Pinned: note-commit -> POST 500 -> primary retry
posts approvalFraming intact on the captured route. Trivial guard: a
pending whose note id left annotations state disarms.

L4 (ruling: delete): the F6 empty-items close branch and its test are
gone — buildDecisionSpec guarantees at least one item.

L5: discard confirm copy neutralized (counts can include other tools'
findings; the non-gate message notes direct edits still ride).

Nit: dropped the review-registry absence assertion in shortcuts.test.ts.
2026-09-02 08:58:04 -07:00
..