diff --git a/plugins/ultraplan-local/.claude-plugin/plugin.json b/plugins/ultraplan-local/.claude-plugin/plugin.json index 4e1a4ad..fae2866 100644 --- a/plugins/ultraplan-local/.claude-plugin/plugin.json +++ b/plugins/ultraplan-local/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "ultraplan-local", "description": "Five-command context-engineering pipeline (brief → research → plan → execute → review) with project folders, specialized agent swarms, external research triangulation, adversarial review, post-hoc independent review with Handover 6 feedback loop, session decomposition, and headless execution. CC-feature matching extracted to the separate ultra-cc-architect plugin in v3.0.0.", - "version": "3.2.0", + "version": "3.3.0", "author": { "name": "Kjell Tore Guttormsen" }, diff --git a/plugins/ultraplan-local/CHANGELOG.md b/plugins/ultraplan-local/CHANGELOG.md index 705424b..6996cdc 100644 --- a/plugins/ultraplan-local/CHANGELOG.md +++ b/plugins/ultraplan-local/CHANGELOG.md @@ -4,6 +4,40 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). +## [3.3.0] - 2026-05-01 + +Adds `/ultracontinue-local` — a zero-friction multi-session resumption command — +plus the contracted **Handover 7 (.session-state.local.json)** that any +session-end mechanism may write. Non-breaking: existing brief / research / plan / +execute / review pipelines are untouched. The state file is the contract; +`/ultracontinue` only reads. + +### Added + +- `/ultracontinue-local` command — read `.session-state.local.json` and immediately resume the next session in a multi-session ultraplan project (model: opus) +- `/ultraplan-end-session-local` helper — informal multi-session flows write the state file via this command (model: sonnet) +- `lib/validators/session-state-validator.mjs` — schema-v1 validator + CLI shim for `.session-state.local.json` (forward-compat: unknown top-level keys ignored) +- `lib/util/atomic-write.mjs` — `atomicWriteJson(path, obj)` extracted from `pre-compact-flush.mjs` for reuse +- `tests/fixtures/session-state/{valid-in-progress,malformed}.json` — synthetic fixtures +- Handover 7 (.session-state.local.json) — full schema documented in HANDOVER-CONTRACTS.md +- Doc-consistency pins: `Handover 7`, `session-state-validator` CLI shim, `/ultracontinue-local` in CLAUDE.md commands table +- ~22 new tests (163 baseline → 185 green; atomic-write + session-state-validator + doc-consistency pin extensions) + +### Changed + +- `commands/ultraexecute-local.md` — Phase 8 (canonical end-of-session), Phase 2.55 (pre-flight stop), Phase 4 (entry-condition stop) now write `.session-state.local.json` as a sibling to `progress.json` (Handover 7 producer) +- `hooks/scripts/pre-compact-flush.mjs` — also refreshes `.session-state.local.json` before context compaction (monotonic; never advances state to a non-resumable status) +- `.gitignore` — covers `*.local.json` (state files never enter git) + +### Tests + +- 163 baseline → 185 green (+22 new) + +### Open Questions for v1.1 + +- graceful-handoff convergence: graceful-handoff v2.2 may dual-write `.session-state.local.json` so a single chat-end mechanism feeds `/ultracontinue`. v3.3.0 ships the contract; convergence is additive. +- `/continue` builtin Claude Code collision (unverified) — `/ultracontinue` prefix mitigates risk; monitor release notes. + ## [3.2.0] - 2026-05-01 Adds `/ultrareview-local` as the fifth and final command in the ultra-suite — diff --git a/plugins/ultraplan-local/package.json b/plugins/ultraplan-local/package.json index e20fc2e..4838836 100644 --- a/plugins/ultraplan-local/package.json +++ b/plugins/ultraplan-local/package.json @@ -1,6 +1,6 @@ { "name": "ultraplan-local", - "version": "3.2.0", + "version": "3.3.0", "description": "Five-command context-engineering pipeline (brief → research → plan → execute → review) for Claude Code.", "type": "module", "engines": {