Skip to content

Report shaper completion only after acceptance - #46

Merged
robinbraemer merged 2 commits into
mainfrom
fix/shaper-completion-sequencing
Aug 27, 2026
Merged

robinbraemer merged 2 commits into
mainfrom
fix/shaper-completion-sequencing

Conversation

@robinbraemer

Copy link
Copy Markdown
Member

ADR 0005 follow-up: the conversation claimed "Change complete" at proposal-latch time, slightly before the controller finished acceptance - a staging failure after that message left a false success in the timeline.

  • Document outcomes keep their immediate completion message (acceptance is the same local operation).
  • App outcomes conclude through a new typed AgentWorkspaceShape.concludeShaperTurn capability: exactly one "Change complete" after real acceptance; on staging failure, a bounded "The app could not be activated: . Your previous canvas is unchanged." with error status.
  • An activation-blocked review that falls back to the Activate/Discard ceremony is no longer announced as complete.
  • AgentWorkspace remains the sole owner of conversation state; the controller only invokes the typed conclusion.

Evidence: full unit suite green (920 passed), full Playwright suite green (94 passed) on this branch; new unit coverage for both conclusion paths including a forced git-checkpoint failure.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VNmFXmRMNV98Hyd3xogUuK

robinbraemer and others added 2 commits August 27, 2026 19:38
The Shaper conversation claimed "Change complete" as soon as an authored-app
proposal latched, before the controller staged and accepted the capsule. A
staging failure after that message left the conversation asserting success
while the canvas stayed unchanged.

The turn now latches an app archive without a completion message, and the
controller concludes the turn through the new typed
AgentWorkspace.concludeShaperTurn capability: "Change complete: <name>" is
appended only after local acceptance succeeds, a staging failure appends a
bounded "The app could not be activated" message and sets the shaper status
to error while the canvas stays last-known-good, and a blocked review
announces nothing because the explicit Activate/Discard candidate takes
over. Document outcomes keep their latch-time message; their acceptance is
the immediate local revision in the same operation.

ADR 0005's known follow-up paragraph now records the implemented sequencing.

Claude-Session: https://claude.ai/code/session_01VNmFXmRMNV98Hyd3xogUuK
@robinbraemer
robinbraemer merged commit 2b354bf into main Aug 27, 2026
5 checks passed
@robinbraemer
robinbraemer deleted the fix/shaper-completion-sequencing branch August 28, 2026 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant