feat(ux): surface goal lifecycle state - #50
Merged
Conversation
Add explicit state and audit visibility, bounded transition notices, and race-safe terminal recovery.\n\nRefs #49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
active,paused, andblockedstate plus completion-auditdisclosure to goal status/list output
TUI toast surfaces, with independent public opt-out/custom-sink options
concurrent session changes
Active goal:compatibilityheading
Why
Issue #49 correctly identifies that a deliberate pause or safety stop can look
like a random loop exit when users do not immediately see state and reason. The
plugin already had authoritative state and history; this change exposes that
state without adding model turns or making notification delivery part of the
correctness path.
The persistent internal Todo UI, interactive argument picker, and permanent
native Goal panel remain separate host-dependent enhancements. This PR does not
claim those surfaces.
Closes #49.
Verification
npm test— 350/350 passednpm run release:check— passedpackage-content check — passed
active status, pause, paused status, resume, edit, final status, default host
logging, notice privacy, and process cleanup with an isolated localhost
provider
Release impact
This introduces the public
lifecycleMessagesandlifecycleMessengeroptions, so the follow-up release should be
0.7.0under the documentedcompatibility policy.