Skip to content

feat(ux): surface goal lifecycle state - #50

Merged
willytop8 merged 1 commit into
mainfrom
wr/49-lifecycle-feedback
Aug 2, 2026
Merged

feat(ux): surface goal lifecycle state#50
willytop8 merged 1 commit into
mainfrom
wr/49-lifecycle-feedback

Conversation

@willytop8

Copy link
Copy Markdown
Owner

Summary

  • add explicit active, paused, and blocked state plus completion-audit
    disclosure to goal status/list output
  • emit bounded, transition-only lifecycle notices through OpenCode logging and
    TUI toast surfaces, with independent public opt-out/custom-sink options
  • harden terminal rollback, blocked-ledger recovery, and clear durability around
    concurrent session changes
  • document the new UX and preserve the existing Active goal: compatibility
    heading

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 passed
  • npm run release:check — passed
  • coverage — 98.38% lines, 90.55% branches, 90.51% functions
  • mutation contract — 67/67 critical mutants killed
  • behavior benchmark — 100/100
  • packed host/tool contracts, installer verification, production audit, and
    package-content check — passed
  • real OpenCode 1.18.11 canary using the exact packed candidate — passed create,
    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 lifecycleMessages and lifecycleMessenger
options, so the follow-up release should be 0.7.0 under the documented
compatibility policy.

Add explicit state and audit visibility, bounded transition notices, and race-safe terminal recovery.\n\nRefs #49
@willytop8
willytop8 marked this pull request as ready for review August 2, 2026 21:11
@willytop8
willytop8 merged commit e93b3ef into main Aug 2, 2026
17 of 18 checks passed
@willytop8 willytop8 mentioned this pull request Aug 2, 2026
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.

Are there plans for further UX?

1 participant