feat(voyage)!: bulk content rewrite ultra -> voyage/trek prose [skip-docs]
Sed-pipeline (16 patterns, longest-match-first) sweeper residuelle ultra*-treff i prose, command-narrativ, agent-prompts, hook-kommentarer, doc-prosa. Pipeline-utvidelser fra V4-prompten: - BSD-syntax [[:<:]]ultra[[:>:]] istedenfor \bultra\b (BSD sed mangler \b) - 6 compound-patterns for ultraplan/ultraexecute/ultraresearch/ultrabrief/ ultrareview/ultracontinue uten -local-suffiks - ultra*-stats glob -> trek*-stats glob - Linje-eksklusjon redusert til ultra-cc-architect (Q8); session-state- eksklusjonen var over-protektiv - File-eksklusjon utvidet til settings.json, package.json, plugin.json, hele .claude/-treet (gitignored + V5-territorium) Q8-undantak holdt: architecture-discovery.mjs + project-discovery.mjs urort. Filnavn-konvensjon holdt: .session-state.local.json + *.local.* preservert. Manuell narrative-fix: tests/lib/agent-frontmatter.test.mjs linje 10 mangled "/ultra*-local" til "/voyage*-local" (ingen slik kommando finnes); korrigert til "/trek*". Residualer utenfor scope (V5 handterer): package.json + .claude-plugin/ plugin.json (Step 12-14 versjons-bump). .claude/* er gitignored spec-historikk med tilsiktet BEFORE/AFTER-narrativ. Part of voyage-rebrand session 3 (Wave 4 / Step 10). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
ca5a8cec67
commit
14ecda886c
81 changed files with 672 additions and 672 deletions
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: trekcontinue
|
||||
description: Resume the next session in a multi-session ultraplan project. Reads .session-state.local.json and immediately begins the next session.
|
||||
description: Resume the next session in a multi-session trekplan project. Reads .session-state.local.json and immediately begins the next session.
|
||||
argument-hint: "[<project-dir> | --help]"
|
||||
model: opus
|
||||
---
|
||||
|
|
@ -8,22 +8,22 @@ model: opus
|
|||
# Ultracontinue Local v1.0
|
||||
|
||||
Zero-friction multi-session resumption. In a fresh Claude Code session, type
|
||||
`/ultracontinue` — the command reads the per-project state file
|
||||
`/trekcontinue` — the command reads the per-project state file
|
||||
(`.claude/projects/<project>/.session-state.local.json`), shows 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, the
|
||||
`/ultraplan-end-session-local` helper, or — in the future — `graceful-handoff`).
|
||||
(`/trekexecute` Phase 8 / Phase 2.55 / Phase 4, the
|
||||
`/trekendsession` helper, or — in the future — `graceful-handoff`).
|
||||
This command only reads.
|
||||
|
||||
Pipeline position:
|
||||
|
||||
```
|
||||
/ultraplan-local → plan.md
|
||||
/ultraexecute-local → progress.json + .session-state.local.json
|
||||
/trekplan → plan.md
|
||||
/trekexecute → progress.json + .session-state.local.json
|
||||
... session boundary, fresh chat ...
|
||||
/ultracontinue → reads .session-state.local.json, starts next session
|
||||
/trekcontinue → reads .session-state.local.json, starts next session
|
||||
```
|
||||
|
||||
See **Handover 7** in `docs/HANDOVER-CONTRACTS.md` for the full schema.
|
||||
|
|
@ -43,14 +43,14 @@ the literal empty string `""`, or a positional project-dir — fall through to
|
|||
Phase 1. Do NOT print the usage block on empty args.
|
||||
|
||||
```
|
||||
/ultracontinue — Resume the next session in a multi-session ultraplan project.
|
||||
/trekcontinue — Resume the next session in a multi-session trekplan project.
|
||||
|
||||
Usage:
|
||||
/ultracontinue # auto-discover state file under cwd
|
||||
/ultracontinue <project-dir> # explicit project directory
|
||||
/ultracontinue --cleanup <project-dir> # dry-run: list stale files
|
||||
/ultracontinue --cleanup --confirm <project-dir> # actually delete (requires status: completed)
|
||||
/ultracontinue --help # this message
|
||||
/trekcontinue # auto-discover state file under cwd
|
||||
/trekcontinue <project-dir> # explicit project directory
|
||||
/trekcontinue --cleanup <project-dir> # dry-run: list stale files
|
||||
/trekcontinue --cleanup --confirm <project-dir> # actually delete (requires status: completed)
|
||||
/trekcontinue --help # this message
|
||||
|
||||
Reads .claude/projects/<project>/.session-state.local.json (per-project,
|
||||
gitignored). On a valid resumable state, prints a 3-line summary and begins
|
||||
|
|
@ -67,11 +67,11 @@ State-file schema (v1):
|
|||
(unknown top-level keys are tolerated — forward-compat for graceful-handoff v2.2)
|
||||
|
||||
Typical flow:
|
||||
/ultrabrief-local # produces brief.md
|
||||
/ultraplan-local --project ... # produces plan.md
|
||||
/ultraexecute-local --project .. # writes session-state on session-end
|
||||
/trekbrief # produces brief.md
|
||||
/trekplan --project ... # produces plan.md
|
||||
/trekexecute --project .. # writes session-state on session-end
|
||||
... (fresh Claude chat) ...
|
||||
/ultracontinue # reads session-state, runs next session
|
||||
/trekcontinue # reads session-state, runs next session
|
||||
```
|
||||
|
||||
## Phase 0.5 — Cleanup mode dispatch
|
||||
|
|
@ -89,10 +89,10 @@ irreversible. If `positional[0]` is missing, empty, or starts with `-`,
|
|||
print this usage block to stderr and exit non-zero:
|
||||
|
||||
```
|
||||
Error: /ultracontinue-local --cleanup requires <project-dir>.
|
||||
Error: /trekcontinue --cleanup requires <project-dir>.
|
||||
Usage:
|
||||
/ultracontinue-local --cleanup <project-dir> # dry-run: list stale files
|
||||
/ultracontinue-local --cleanup --confirm <project-dir> # actually delete (status: completed)
|
||||
/trekcontinue --cleanup <project-dir> # dry-run: list stale files
|
||||
/trekcontinue --cleanup --confirm <project-dir> # actually delete (status: completed)
|
||||
```
|
||||
|
||||
**Compute mode from parsed flags:**
|
||||
|
|
@ -117,7 +117,7 @@ booleans above. The validator emits a `{valid, errors, warnings, parsed}`
|
|||
JSON record. Print it to stdout. Exit with the validator's exit code.
|
||||
|
||||
**Cleanup is a terminal mode.** It must not fall through to Phase 1/2/3/4.
|
||||
Operators who want to resume after cleanup must invoke `/ultracontinue`
|
||||
Operators who want to resume after cleanup must invoke `/trekcontinue`
|
||||
again without `--cleanup`.
|
||||
|
||||
## Phase 1 — Resolve project directory
|
||||
|
|
@ -134,7 +134,7 @@ Print the following diagnostic to stderr and exit non-zero. Do NOT proceed.
|
|||
```
|
||||
Error: expected <project-dir>, got a markdown file path: <positional[0]>
|
||||
Did you mean to paste the file path as a project directory?
|
||||
Usage: /ultracontinue-local <project-dir>
|
||||
Usage: /trekcontinue <project-dir>
|
||||
```
|
||||
|
||||
### Step 1.b — Auto-discover candidates
|
||||
|
|
@ -157,17 +157,17 @@ resumable state wins.
|
|||
- **0 candidates and no explicit arg:** print SC-2 cold-start message and exit:
|
||||
```
|
||||
No active multi-session project here.
|
||||
Start with /ultrabrief-local or /ultraplan-local.
|
||||
Start with /trekbrief or /trekplan.
|
||||
```
|
||||
- **1 candidate (or explicit non-`.md` arg):** continue to Phase 2 with that path.
|
||||
- **>1 candidates and no explicit arg:** with the Date.parse sort applied, the
|
||||
newest resumable state wins automatically and the command continues to Phase 2
|
||||
with that path. (Operators who want a different candidate re-invoke as
|
||||
`/ultracontinue <project-dir>`.)
|
||||
`/trekcontinue <project-dir>`.)
|
||||
|
||||
## Phase 1.5 — Frontmatter consistency check
|
||||
|
||||
Bug 3 contract: producers (`/ultraexecute-local`, `/ultraplan-end-session-local`)
|
||||
Bug 3 contract: producers (`/trekexecute`, `/trekendsession`)
|
||||
write `NEXT-SESSION-PROMPT.local.md` with YAML frontmatter (`produced_by:`,
|
||||
`produced_at:`). Multiple producers may have written candidates in different
|
||||
locations; this phase refuses ambiguity before validating the state file.
|
||||
|
|
@ -197,7 +197,7 @@ After resolving the project directory and state-file path, look for two
|
|||
print the structured `errors[]` (each `[code] message` on its own line),
|
||||
list both candidate paths, and exit non-zero. Do NOT proceed to Phase 2.
|
||||
Resolve the conflict by deleting the stale candidate (run
|
||||
`/ultracontinue-local --cleanup --confirm <project-dir>` after the
|
||||
`/trekcontinue --cleanup --confirm <project-dir>` after the
|
||||
current session closes, or remove by hand).
|
||||
|
||||
- **If `valid: true` with a `NEXT_SESSION_PROMPT_WALL_CLOCK_DRIFT` warning**
|
||||
|
|
@ -277,8 +277,8 @@ Read the file at `next_session_brief_path` (it is the brief that the next
|
|||
session is supposed to execute — typically the same `brief.md` for
|
||||
single-brief multi-session plans, or a session-specific spec for parallel
|
||||
session decomposition). Understand the task and begin executing per the
|
||||
standard ultraplan-local pipeline. The user did not type a separate "start"
|
||||
command — `/ultracontinue` is the start.
|
||||
standard trekplan pipeline. The user did not type a separate "start"
|
||||
command — `/trekcontinue` is the start.
|
||||
|
||||
If the brief file does not exist (validator emits a warning but does not
|
||||
fail), print: `Warning: next_session_brief_path "{path}" does not exist on
|
||||
|
|
@ -295,7 +295,7 @@ if the env var is set; silently skip otherwise.
|
|||
|
||||
## Hard rules
|
||||
|
||||
- **Idempotent.** Running `/ultracontinue` twice in the same Claude session
|
||||
- **Idempotent.** Running `/trekcontinue` twice in the same Claude session
|
||||
does not advance state — the writer (Phase 8 / hook / helper) advances state
|
||||
only when a session completes.
|
||||
- **Zero secrets in the state file.** Status, paths, labels — never API keys,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue