Repository navigation
stop after plan questions
Preserve the ordinary Interrupt action for locally started turns when moving from Plan to implementation and responding to questions. Approval date: 2026-10-14. Goal Stop retains its existing behavior.
Repair tracking: Issue #210. Related defects and acceptance work: Issue #22 and Issue #188.
The reported implementation continued while Busy was shown without an Interrupt action. A question occurred during implementation. Previous fixes for Worker turn-ID publication and command notifications remain in main. The report does not establish the notification order. A direct /plan <prompt> start also lacks the local-start bookkeeping required by the current interrupt predicate.
- Record acknowledged local starts through one path shared by composer sends, Plan implementation, prose-choice replies, and direct Plan prompts.
- Scope each record to state partition, owner generation, connection generation, thread, and turn. A temporary null or different status turn ID does not itself retire proof of a local start.
- Retire the matching turn on completion and clear records when the owner or connection retires. Handle completion before the start acknowledgement without reviving that turn; keep all lifecycle records bounded.
- Enable ordinary interruption only for the exact current, joined, selected-thread turn with local-start proof. A question wait must preserve this eligibility. External-client turns remain ineligible.
- Keep existing Remote UI bindings, Goal behavior, approval policy, and the no-replay boundary. Diagnostics contain only bounded identifiers, states, and eligibility flags; no prompts or answers.
- Reproduce Plan to implementation to question to answer using both structured and prose questions. Add regression cases for direct Plan starts and lifecycle ordering.
- Repair local-turn tracking and Remote UI eligibility notifications under the existing interruption boundary.
- Run focused and complete UI/Core tests, warning-free Debug/Release builds, VSIX integrity checks, and rendered action inspection. Record any unavailable Visual Studio host acceptance explicitly.
Verify null/different transient status, matching completion, completion before acknowledgement, owner/connection/thread changes, and external turns. Confirm an actual Interrupt command targets the expected current turn. Inspect the displayed action during implementation, question wait, resumed work, and completion. A standalone WPF rendering does not establish Visual Studio Experimental Instance acceptance.