docs(ultraplan-local): document /ultracontinue in README + CLAUDE

- README: version badge 3.2.0 → 3.3.0, "Six commands" intro, /ultracontinue row in command table, full /ultracontinue-local section with modes + schema v1 + /ultraplan-end-session helper + typical flow.
- CLAUDE.md: extend validators list (atomic-write util, session-state-validator), bump test count 109 → 185, "7 pipeline handovers" line, Continue paragraph in Architecture, .session-state.local.json + Continue stats in State, Session-state entry in Terminology.

Step 11 of /ultracontinue v3.3.0.
This commit is contained in:
Kjell Tore Guttormsen 2026-05-01 21:01:34 +02:00
commit 1dad53a1e4
2 changed files with 82 additions and 11 deletions

View file

@ -1,12 +1,12 @@
# ultraplan-local — Brief, Research, Plan, Execute, Review
# ultraplan-local — Brief, Research, Plan, Execute, Review, Continue
![Version](https://img.shields.io/badge/version-3.2.0-blue)
![Version](https://img.shields.io/badge/version-3.3.0-blue)
![License](https://img.shields.io/badge/license-MIT-green)
![Platform](https://img.shields.io/badge/platform-Claude%20Code-purple)
*AI-generated: all code produced by Claude Code through dialog-driven development. [Full disclosure →](../../README.md#ai-generated-code-disclosure)*
A [Claude Code](https://docs.anthropic.com/en/docs/claude-code) plugin for deep implementation planning, multi-source research, autonomous execution, and independent post-hoc review. Five commands, one pipeline:
A [Claude Code](https://docs.anthropic.com/en/docs/claude-code) plugin for deep implementation planning, multi-source research, autonomous execution, independent post-hoc review, and zero-friction multi-session resumption. Six commands, one pipeline:
| Command | What it does |
|---------|-------------|
@ -15,6 +15,7 @@ A [Claude Code](https://docs.anthropic.com/en/docs/claude-code) plugin for deep
| **`/ultraplan-local`** | Plan — agent swarm exploration, Opus planning, adversarial review |
| **`/ultraexecute-local`** | Execute — disciplined step-by-step implementation with failure recovery |
| **`/ultrareview-local`** | Review — independent post-hoc review of delivered code against the brief, severity-tagged findings |
| **`/ultracontinue-local`** | Continue — read `.session-state.local.json` and resume the next session in a multi-session project |
Every artifact lives in one project directory: `.claude/projects/{YYYY-MM-DD}-{slug}/` contains `brief.md`, `research/NN-*.md`, `plan.md`, `sessions/`, `progress.json`, and `review.md`.
@ -416,6 +417,70 @@ The plan's optional `source_findings:` frontmatter list is the audit trail back
---
## `/ultracontinue-local` — Resume
Zero-friction multi-session resumption. Type `/ultracontinue` in a fresh
Claude Code session — the command reads the per-project state file
(`.claude/projects/<project>/.session-state.local.json`), prints a 3-line
summary, and immediately begins executing the next session.
The state file is the contract — any session-end mechanism may write it
(`/ultraexecute-local` Phase 8 / Phase 2.55 / Phase 4 do so automatically;
the `/ultraplan-end-session-local` helper writes it for informal flows;
`graceful-handoff` may converge on it in a future release). `/ultracontinue`
only reads. See **Handover 7** in `docs/HANDOVER-CONTRACTS.md` for the full
schema and producer/consumer contract.
### Modes
| Mode | Command | Description |
|------|---------|-------------|
| **Default** | `/ultracontinue` | Auto-discover `.session-state.local.json` under cwd, validate, narrate, and begin executing the next session |
| **Explicit** | `/ultracontinue <project-dir>` | Use the named project directory; helpful when several active projects coexist under cwd |
| **Help** | `/ultracontinue --help` | Print usage block and the schema-v1 reference |
### Schema v1 — `.session-state.local.json`
| Field | Type | Required | Notes |
|---|---|---|---|
| `schema_version` | number | yes | Must be `1` |
| `project` | string | yes | Project directory path |
| `next_session_brief_path` | string | yes | Validator soft-checks file existence (warning, not error) |
| `next_session_label` | string | yes | Human-readable label for the next session (e.g. "Session 2 of 5") |
| `status` | enum | yes | `in_progress` \| `partial` \| `failed` \| `stopped` \| `completed` (`completed` → no further sessions to resume) |
| `updated_at` | string | yes | ISO-8601 timestamp |
Forward-compat: unknown top-level keys are ignored (no errors, no warnings) — the same drift-WARN principle as Handover 3, so future producers (e.g. graceful-handoff v2.2) can extend the schema additively.
### `/ultraplan-end-session-local` helper
For informal multi-session flows that don't run through `/ultraexecute-local`
(ad-hoc release runs, manual handovers), use the helper to write the state
file at session-end:
```bash
/ultraplan-end-session-local .claude/projects/2026-05-01-feature/brief.md "Session 2 of 3"
# Writes .session-state.local.json with status=in_progress.
# Then in a fresh chat: /ultracontinue
```
Both arguments are required. No interactive prompt — headless-safe.
### Typical flow
```bash
# Session 1 (long-running formal pipeline)
/ultraplan-local --project .claude/projects/2026-05-01-feature
/ultraexecute-local --project .claude/projects/2026-05-01-feature
# ... ultraexecute Phase 8 writes .session-state.local.json on session-end ...
# (chat boundary — fresh Claude Code session)
/ultracontinue
# → reads state, prints 3-line summary, begins next session
```
---
## The full pipeline
```
@ -584,7 +649,7 @@ Top-level layout:
```
ultraplan-local/
├── agents/ 23 specialized agents (sonnet for exploration + review, opus for orchestration)
├── commands/ 5 slash commands (ultrabrief, ultraresearch, ultraplan, ultraexecute, ultrareview)
├── commands/ 6 slash commands (ultrabrief, ultraresearch, ultraplan, ultraexecute, ultrareview, ultracontinue) + ultraplan-end-session helper
├── templates/ Frontmatter templates for brief, research, plan, session, launch
├── hooks/ 5 hooks (pre-bash, pre-write, session-title, post-bash-stats, pre-compact-flush)
├── lib/ Zero-dep parsers and validators (CLI shims under lib/validators/)