Skip to content

feat: add the burnlist lifecycle CLI#3

Merged
alowpoly merged 5 commits into
mainfrom
feat/lifecycle-cli
Jul 13, 2026
Merged

feat: add the burnlist lifecycle CLI#3
alowpoly merged 5 commits into
mainfrom
feat/lifecycle-cli

Conversation

@apresmoi

Copy link
Copy Markdown
Collaborator

Adds the authoring/execution CLI for burnlists: create, inspect, and move
them through their lifecycle from the terminal.

New commands:

  • burnlist new — allocate a collision-safe id and scaffold a draft
  • burnlist show <id>[#item] — read-only view + a copy handle (repoKey/id#item) and, when a dashboard is running, its URL
  • burnlist ready/start/close — move a burnlist draft → ready → inprogress → completed, each gated and atomic
  • burnlist burn <id> <item> — complete an active item (ledger + delete + --check)

Lifecycle moves take a per-id lock, revalidate under it, publish with a single
rename, and append the completion digest idempotently before closing — so a
reader or the dashboard never observes a half-moved burnlist.

Under the hood, plan parsing/validation is extracted from the dashboard server
into src/server/plan-model.mjs (byte-identical) so the CLI and the read-only
observer share one implementation. The dashboard stays a pure observer; only
the CLI mutates canonical state.

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.

2 participants