Skip to content

stop after plan questions

Kazushi Kamegawa edited this page Oct 13, 2026 · 2 revisions

Keep Stop Available after Plan Implementation and Questions

日本語

Summary

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.

Tracking

Repair tracking: Issue #210. Related defects and acceptance work: Issue #22 and Issue #188.

Background

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.

Design

  • 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.

Implementation phases

  1. Reproduce Plan to implementation to question to answer using both structured and prose questions. Add regression cases for direct Plan starts and lifecycle ordering.
  2. Repair local-turn tracking and Remote UI eligibility notifications under the existing interruption boundary.
  3. 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.

Verification

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.

Clone this wiki locally