TRACE v1.0.0
[1.0.0] - 2026-08-16
Breaking: the plugin is renamed and split into four. playbook@ai-playbook no longer exists. See the migration guide — it doubles as an agent runbook.
Changed
playbook→trace, and one plugin became four. The marketplace is nowtrace; the plugins aretrace(docs core:init,agents-md-setup,scaffold-docs,adr,distil,doctor),trace-plan(spec,epic, the viewer),trace-git(commit-message,pr-description), andtrace-full, a dependency-only bundle that installs all three. The word playbook now means only the prose deliverable underdeliverable/playbook/.- Every slash command is renamed.
/playbook:init→/trace:init,/playbook:spec-workflow→/trace-plan:spec,/playbook:epic-workflow→/trace-plan:epic,/playbook:commit-message→/trace-git:commit-message, and so on for the rest. - The per-scope state folder moved from
.claude/.playbook/to.claude/.trace/. Resolution reads the old path as a fallback, and/trace:initmigrates it on next run, so existing adopters keep their configured docs folder. - Add-ons no longer read core's shared files. A plugin cannot read outside its own directory once installed, so
/trace-plan:specnow delegates the ADR gate to/trace:adrinstead of readingadr-criteria.md, and/trace-git:pr-descriptiondetects ADRs from the diff paths instead of resolving the docs folder.authoring-rules.mdis the one file that still crosses a boundary;scripts/sync-shared.jskeeps the copies identical and the release preflight fails on drift.
Fixed
doctorsilently stopped checking a file after a stray inline```.stripCodetreated any triple-backtick as a fence opener, so a mid-sentence one matched its end-of-input fallback and blanked the rest of the document — every link after that point went unchecked, with no error and no warning. A fence now only counts when it opens a line. This surfaced a genuinely broken ADR reference in TRACE's own working notes that had been passingcheckthe whole time.
Added
- The viewer reuses an open tab instead of spawning a new one. Opening a plan or epic used to hand the URL straight to the OS, so every run added another browser tab. The server now carries a focus channel: the open hooks park a target with
POST /api/focus, every viewer page pollsGET /api/focuson the same 1.5s cadence as its content refresh, and the first page to poll claims the target and navigates itself. A claim is consumed on read, so exactly one tab moves however many are open. Pages also poll the moment they become visible, so a throttled background tab catches up immediately when you switch to it. When no tab is listening — nothing open, or nothing polled for 90 seconds — the hooks open a browser exactly as before. - Opt-out. Installing
tracealone gives the docs core and nothing else — no plan viewer, no npm-built bundle, and none of the planning or git skill descriptions in your context. The add-ons depend ontrace, so any of them pulls the core in automatically.