Skip to content

feat: add controllable goal lifecycle - #61

Merged
danyel117 merged 1 commit into
mainfrom
feat/issue-60-goal-lifecycle
Sep 28, 2026
Merged

danyel117 merged 1 commit into
mainfrom
feat/issue-60-goal-lifecycle

Conversation

@danyel117

Copy link
Copy Markdown
Contributor

Closes #60

Summary

  • add explicit stop/cancel, clear/archive, and replace lifecycle actions for V1 and V2
  • preserve compact per-session goal history with stable goal IDs and a versioned v1-to-v2 state migration
  • prevent stale in-flight continuations from mutating replacement goals, while preserving watchdog and restart behavior
  • expose lifecycle tools and history through commands, TUI parsing, localization, and documentation

Validation

  • bun run lint
  • bun run typecheck
  • bun test — 310 passing
  • bun run build
  • bun run pack:dry-run
  • git diff --check

Claude Opus audits

  1. Found five medium issues: new-goal suppression after stop/clear, stale in-flight continuation races, persistence compatibility, unbounded archives, and edits to closed goals. All fixed with regression coverage.
  2. Found two medium issues: create/replace clearing the current watchdog and unbounded archived evidence/blockers. Both fixed with regression coverage.
  3. Found one medium issue: V2 startup recovery replayed cancelled-goal transcripts. Fixed by using the shared closed-goal predicate and adding a regression test.

No known high or medium findings remain.

@danyel117
danyel117 merged commit df59435 into main Sep 28, 2026
5 checks passed
@danyel117
danyel117 deleted the feat/issue-60-goal-lifecycle branch September 28, 2026 06:54
@muhammad-fiaz

muhammad-fiaz commented Sep 28, 2026 •

Copy link
Copy Markdown

@danyel117

Could /goal support both replacing the current active goal and queuing multiple goals? For example, a new goal could either replace the current one or be added to a queue and automatically start after the current goal finishes.

This would allow multiple goals to be queued and executed sequentially within the same session.

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.

[Feature]: Add Goal stop, clear, and replacement support within the same thread

2 participants