mirror of
https://github.com/backnotprop/plannotator.git
synced 2026-09-14 14:17:26 +08:00
2248d184fd
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.