diff --git a/plugins/ultraplan-local/CLAUDE.md b/plugins/ultraplan-local/CLAUDE.md index 653c74e..e8f2bbd 100644 --- a/plugins/ultraplan-local/CLAUDE.md +++ b/plugins/ultraplan-local/CLAUDE.md @@ -1,6 +1,6 @@ # ultraplan-local -Deep implementation planning and research with an explicit brief step, specialized agent swarms, external research, adversarial review, session decomposition, disciplined execution, and headless support. A local alternative to Anthropic's Ultraplan. +Voyage — a contract-driven Claude Code pipeline: brief, research, plan, execute, review, continue. Deep implementation planning and research with specialized agent swarms, external research, adversarial review, session decomposition, disciplined execution, and headless support. **Design principle: Context Engineering** — build the right context by orchestrating specialized agents. Each step in the pipeline (brief → research → plan → execute) produces a structured artifact that the next step consumes. @@ -10,12 +10,13 @@ Deep implementation planning and research with an explicit brief step, specializ | Command | Description | Model | |---------|-------------|-------| -| `/ultrabrief-local` | Brief — interactive interview produces a task brief with explicit research plan; optionally orchestrates the pipeline | opus | -| `/ultraresearch-local` | Research — deep local + external research, produces structured research brief | opus | -| `/ultraplan-local` | Plan — brief-reviewer, explore, plan, review. Requires `--brief` or `--project`. Auto-discovers `architecture/overview.md` if present | opus | -| `/ultraexecute-local` | Execute — disciplined plan/session-spec executor with failure recovery | opus | -| `/ultrareview-local` | Review — independent post-hoc review of delivered code against the brief. Produces `review.md` with severity-tagged findings (Handover 6) | opus | -| `/ultracontinue-local` | Continue — resumes the next session of a multi-session ultraplan project. Reads `.session-state.local.json` (Handover 7) and immediately begins executing | opus | +| `/trekbrief` | Brief — interactive interview produces a task brief with explicit research plan; optionally orchestrates the pipeline | opus | +| `/trekresearch` | Research — deep local + external research, produces structured research brief | opus | +| `/trekplan` | Plan — brief-reviewer, explore, plan, review. Requires `--brief` or `--project`. Auto-discovers `architecture/overview.md` if present | opus | +| `/trekexecute` | Execute — disciplined plan/session-spec executor with failure recovery | opus | +| `/trekreview` | Review — independent post-hoc review of delivered code against the brief. Produces `review.md` with severity-tagged findings (Handover 6) | opus | +| `/trekcontinue` | Continue — resumes the next session of a multi-session voyage project. Reads `.session-state.local.json` (Handover 7) and immediately begins executing | opus | +| `/trekendsession` | End-session — mark the current session complete and write session-state pointing at the next session. Helper for informal multi-session flows | sonnet | ### /ultrabrief-local modes diff --git a/plugins/ultraplan-local/README.md b/plugins/ultraplan-local/README.md index 31707c9..cb35dbc 100644 --- a/plugins/ultraplan-local/README.md +++ b/plugins/ultraplan-local/README.md @@ -12,12 +12,12 @@ A [Claude Code](https://docs.anthropic.com/en/docs/claude-code) plugin for deep | Command | What it does | |---------|-------------| -| **`/ultrabrief-local`** | Brief — interactive interview produces a task brief with explicit research plan | -| **`/ultraresearch-local`** | Research — deep local + external research with triangulation | -| **`/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 | +| **`/trekbrief`** | Brief — interactive interview produces a task brief with explicit research plan | +| **`/trekresearch`** | Research — deep local + external research with triangulation | +| **`/trekplan`** | Plan — agent swarm exploration, Opus planning, adversarial review | +| **`/trekexecute`** | Execute — disciplined step-by-step implementation with failure recovery | +| **`/trekreview`** | Review — independent post-hoc review of delivered code against the brief, severity-tagged findings | +| **`/trekcontinue`** | 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`. @@ -25,11 +25,11 @@ Every artifact lives in one project directory: `.claude/projects/{YYYY-MM-DD}-{s | Command | Responsibility | Output | |---|---|---| -| `/ultrabrief-local` | **Capture intent** — intent, goal, non-goals, success criteria, and a research plan with explicit topics. Interactive only. | `brief.md` (task brief) | -| `/ultraresearch-local` | **Gather context** — code state, external docs, community, risk. Makes NO build decisions. | `research/NN-slug.md` (research brief) | -| `/ultraplan-local` | **Transform intent into an executable contract** — per-step YAML manifest, regex-validated checkpoints, verifiable paths. Plan-critic is a hard gate. Auto-discovers `architecture/overview.md` as priors when an opt-in upstream architect plugin (not bundled) is installed. | `plan.md` with Manifest blocks + `plan_version: 1.7` | -| `/ultraexecute-local` | **Execute the contract disciplined** — fresh verification, independent manifest audit, honest reporting. Does NOT compensate for weak plans — escalates. | `progress.json` + structured report + manifest-audit status | -| `/ultrareview-local` | **Close the loop** — independent post-hoc reviewer reads `brief.md` and the diff produced by execute, runs brief-conformance + code-correctness reviewers in parallel, dedups via Judge Agent. Severity-tagged findings (Critical/High/Medium/Low/Info) feed back into planning via Handover 6. | `review.md` (`type: ultrareview`) with stable 40-char hex finding-IDs | +| `/trekbrief` | **Capture intent** — intent, goal, non-goals, success criteria, and a research plan with explicit topics. Interactive only. | `brief.md` (task brief) | +| `/trekresearch` | **Gather context** — code state, external docs, community, risk. Makes NO build decisions. | `research/NN-slug.md` (research brief) | +| `/trekplan` | **Transform intent into an executable contract** — per-step YAML manifest, regex-validated checkpoints, verifiable paths. Plan-critic is a hard gate. Auto-discovers `architecture/overview.md` as priors when an opt-in upstream architect plugin (not bundled) is installed. | `plan.md` with Manifest blocks + `plan_version: 1.7` | +| `/trekexecute` | **Execute the contract disciplined** — fresh verification, independent manifest audit, honest reporting. Does NOT compensate for weak plans — escalates. | `progress.json` + structured report + manifest-audit status | +| `/trekreview` | **Close the loop** — independent post-hoc reviewer reads `brief.md` and the diff produced by execute, runs brief-conformance + code-correctness reviewers in parallel, dedups via Judge Agent. Severity-tagged findings (Critical/High/Medium/Low/Info) feed back into planning via Handover 6. | `review.md` (`type: ultrareview`) with stable 40-char hex finding-IDs | **Principle:** Each step consumes the previous step's structured artifact. If execute has to guess, the plan is weak and must be revised upstream — not patched downstream. @@ -68,28 +68,28 @@ Under the hood, `lib/util/autonomy-gate.mjs` runs a small state machine (`idle claude plugin marketplace add https://git.fromaitochitta.com/open/ktg-plugin-marketplace.git # Capture intent (interactive) -/ultrabrief-local Add user authentication with JWT tokens +/trekbrief Add user authentication with JWT tokens # → .claude/projects/2026-04-18-jwt-auth/brief.md # Research each topic identified in the brief (manual default) -/ultraresearch-local --project .claude/projects/2026-04-18-jwt-auth --external "What are current JWT best practices?" +/trekresearch --project .claude/projects/2026-04-18-jwt-auth --external "What are current JWT best practices?" # Plan from brief + research -/ultraplan-local --project .claude/projects/2026-04-18-jwt-auth +/trekplan --project .claude/projects/2026-04-18-jwt-auth # Execute -/ultraexecute-local --project .claude/projects/2026-04-18-jwt-auth +/trekexecute --project .claude/projects/2026-04-18-jwt-auth # Review (independent post-hoc verification of the diff against brief.md) -/ultrareview-local --project .claude/projects/2026-04-18-jwt-auth +/trekreview --project .claude/projects/2026-04-18-jwt-auth # → .claude/projects/2026-04-18-jwt-auth/review.md ``` -Or opt into auto-mode in `/ultrabrief-local` — it will run research and planning sequentially inline in the main context, and return when `plan.md` is ready. +Or opt into auto-mode in `/trekbrief` — it will run research and planning sequentially inline in the main context, and return when `plan.md` is ready. -If review finds issues, feed `review.md` back into planning to produce a remediation plan: `/ultraplan-local --brief .claude/projects/2026-04-18-jwt-auth/review.md`. The remediation plan carries `source_findings: [, ...]` in its frontmatter — full audit trail back to the consumed findings (Handover 6). +If review finds issues, feed `review.md` back into planning to produce a remediation plan: `/trekplan --brief .claude/projects/2026-04-18-jwt-auth/review.md`. The remediation plan carries `source_findings: [, ...]` in its frontmatter — full audit trail back to the consumed findings (Handover 6). -An optional architect step can sit between research and plan — `/ultraplan-local` auto-discovers an `architecture/overview.md` produced by an opt-in upstream architect plugin (not bundled here; the architect plugin is no longer publicly distributed, but the `architecture/overview.md` filesystem slot remains available for any compatible producer). +An optional architect step can sit between research and plan — `/trekplan` auto-discovers an `architecture/overview.md` produced by an opt-in upstream architect plugin (not bundled here; the architect plugin is no longer publicly distributed, but the `architecture/overview.md` filesystem slot remains available for any compatible producer). ## When to use it @@ -145,8 +145,8 @@ Output: `.claude/projects/{YYYY-MM-DD}-{slug}/brief.md` | Mode | Usage | Behavior | |------|-------|----------| -| **Default** | `/ultrabrief-local ` | Dynamic interview until quality gates pass. No question cap. | -| **Quick** | `/ultrabrief-local --quick ` | Starts compact (optional sections get at most one probe), still escalates on weak required sections or failed review gate. | +| **Default** | `/trekbrief ` | Dynamic interview until quality gates pass. No question cap. | +| **Quick** | `/trekbrief --quick ` | Starts compact (optional sections get at most one probe), still escalates on weak required sections or failed review gate. | `/ultrabrief-local` is **always interactive**. There is no foreground/background mode — the interview requires user input. @@ -183,12 +183,12 @@ Output: | Mode | Usage | Behavior | |------|-------|----------| -| **Default** | `/ultraresearch-local ` | Interview + research swarm (local + external + Gemini), foreground | -| **Project** | `/ultraresearch-local --project ` | Write brief into `{dir}/research/NN-slug.md` | -| **Quick** | `/ultraresearch-local --quick ` | Interview (short) + inline research, no agent swarm | -| **Local** | `/ultraresearch-local --local ` | Only codebase analysis agents (skip external + Gemini) | -| **External** | `/ultraresearch-local --external ` | Only external research agents (skip codebase analysis) | -| **Foreground** | `/ultraresearch-local --fg ` | No-op alias (foreground is default since v2.4.0) | +| **Default** | `/trekresearch ` | Interview + research swarm (local + external + Gemini), foreground | +| **Project** | `/trekresearch --project ` | Write brief into `{dir}/research/NN-slug.md` | +| **Quick** | `/trekresearch --quick ` | Interview (short) + inline research, no agent swarm | +| **Local** | `/trekresearch --local ` | Only codebase analysis agents (skip external + Gemini) | +| **External** | `/trekresearch --external ` | Only external research agents (skip codebase analysis) | +| **Foreground** | `/trekresearch --fg ` | No-op alias (foreground is default since v2.4.0) | Flags combine: `--project --external`. @@ -210,13 +210,13 @@ Output: | Mode | Usage | Behavior | |------|-------|----------| -| **Project** | `/ultraplan-local --project ` | Read `{dir}/brief.md` + auto-discover `{dir}/research/*.md`, write `{dir}/plan.md` | -| **Brief** | `/ultraplan-local --brief ` | Plan from a specific brief file | -| **Research-enriched** | `/ultraplan-local --project --research ` | Add extra research briefs beyond what is in `research/` | -| **Foreground** | `/ultraplan-local --project --fg` | No-op alias (foreground is default since v2.4.0) | -| **Quick** | `/ultraplan-local --project --quick` | No agent swarm, lightweight scan only | -| **Decompose** | `/ultraplan-local --decompose plan.md` | Split plan into headless session specs | -| **Export** | `/ultraplan-local --export pr plan.md` | PR description, issue comment, or clean markdown | +| **Project** | `/trekplan --project ` | Read `{dir}/brief.md` + auto-discover `{dir}/research/*.md`, write `{dir}/plan.md` | +| **Brief** | `/trekplan --brief ` | Plan from a specific brief file | +| **Research-enriched** | `/trekplan --project --research ` | Add extra research briefs beyond what is in `research/` | +| **Foreground** | `/trekplan --project --fg` | No-op alias (foreground is default since v2.4.0) | +| **Quick** | `/trekplan --project --quick` | No agent swarm, lightweight scan only | +| **Decompose** | `/trekplan --decompose plan.md` | Split plan into headless session specs | +| **Export** | `/trekplan --export pr plan.md` | PR description, issue comment, or clean markdown | `--brief` or `--project` is **required**. `/ultraplan-local` with no brief exits with an error and a pointer to `/ultrabrief-local`. @@ -256,14 +256,14 @@ Per step: apply Changes exactly as written → run Verify (exit code is truth) | Mode | Usage | Behavior | |------|-------|----------| -| **Project** | `/ultraexecute-local --project ` | Read `{dir}/plan.md`, write `{dir}/progress.json` | -| **Plan path** | `/ultraexecute-local plan.md` | Execute a specific plan file | -| **Resume** | `/ultraexecute-local --project --resume` | Resume from last progress checkpoint | -| **Dry run** | `/ultraexecute-local --project --dry-run` | Validate plan structure + preview sessions and billing | -| **Validate** | `/ultraexecute-local --project --validate` | Schema-only check — parse steps + manifests, report `READY \| FAIL`, no execution | -| **Single step** | `/ultraexecute-local --project --step 3` | Execute only step 3 | -| **Foreground** | `/ultraexecute-local --project --fg` | Force sequential, ignore Execution Strategy | -| **Single session** | `/ultraexecute-local --project --session 2` | Execute only session 2 from Execution Strategy | +| **Project** | `/trekexecute --project ` | Read `{dir}/plan.md`, write `{dir}/progress.json` | +| **Plan path** | `/trekexecute plan.md` | Execute a specific plan file | +| **Resume** | `/trekexecute --project --resume` | Resume from last progress checkpoint | +| **Dry run** | `/trekexecute --project --dry-run` | Validate plan structure + preview sessions and billing | +| **Validate** | `/trekexecute --project --validate` | Schema-only check — parse steps + manifests, report `READY \| FAIL`, no execution | +| **Single step** | `/trekexecute --project --step 3` | Execute only step 3 | +| **Foreground** | `/trekexecute --project --fg` | Force sequential, ignore Execution Strategy | +| **Single session** | `/trekexecute --project --session 2` | Execute only session 2 from Execution Strategy | ### Session-aware parallel execution (worktree-isolated) @@ -395,11 +395,11 @@ the iteration loop without ad-hoc conventions. | Mode | Command | Description | |------|---------|-------------| -| **Default** | `/ultrareview-local --project ` | brief-conformance + code-correctness reviewers in parallel, coordinator dedup + verdict, write `{dir}/review.md` | -| **Since ref** | `/ultrareview-local --project --since ` | Override "before" SHA for the diff range. Validated via `git rev-parse --verify` | -| **Quick** | `/ultrareview-local --project --quick` | Skip brief-conformance reviewer; skip coordinator's reasonableness filter — fast correctness-only pass | -| **Validate** | `/ultrareview-local --project --validate` | Schema-only check on existing `review.md`. No LLM calls | -| **Dry run** | `/ultrareview-local --project --dry-run` | Print discovered scope + triage map; skip writes | +| **Default** | `/trekreview --project ` | brief-conformance + code-correctness reviewers in parallel, coordinator dedup + verdict, write `{dir}/review.md` | +| **Since ref** | `/trekreview --project --since ` | Override "before" SHA for the diff range. Validated via `git rev-parse --verify` | +| **Quick** | `/trekreview --project --quick` | Skip brief-conformance reviewer; skip coordinator's reasonableness filter — fast correctness-only pass | +| **Validate** | `/trekreview --project --validate` | Schema-only check on existing `review.md`. No LLM calls | +| **Dry run** | `/trekreview --project --dry-run` | Print discovered scope + triage map; skip writes | ### What review produces @@ -419,10 +419,10 @@ A path-pattern classifier produces `{file → deep-review|summary-only|skip}` be ### Feedback loop (Handover 6) ```bash -/ultrareview-local --project +/trekreview --project # → review.md (BLOCKER + MAJOR findings) -/ultraplan-local --brief /review.md +/trekplan --brief /review.md # → plan.md with `source_findings: [, ...]` audit trail # (BLOCKER + MAJOR findings become plan goals; MINOR + SUGGESTION skipped for v1.0) ``` diff --git a/plugins/ultraplan-local/commands/ultrabrief-local.md b/plugins/ultraplan-local/commands/trekbrief.md similarity index 99% rename from plugins/ultraplan-local/commands/ultrabrief-local.md rename to plugins/ultraplan-local/commands/trekbrief.md index 853099a..021361e 100644 --- a/plugins/ultraplan-local/commands/ultrabrief-local.md +++ b/plugins/ultraplan-local/commands/trekbrief.md @@ -1,5 +1,5 @@ --- -name: ultrabrief-local +name: trekbrief description: Interactive interview that produces a task brief with explicit research plan. Feeds /ultraresearch-local and /ultraplan-local. Optionally orchestrates the full pipeline end-to-end. argument-hint: "[--quick] " model: opus @@ -296,7 +296,7 @@ iteration cap is hit). This ensures the brief that reaches `/ultraplan-local` has already survived a critical review. Read the brief template first: -`@${CLAUDE_PLUGIN_ROOT}/templates/ultrabrief-template.md` +`@${CLAUDE_PLUGIN_ROOT}/templates/trekbrief-template.md` ### Loop bound diff --git a/plugins/ultraplan-local/commands/ultracontinue-local.md b/plugins/ultraplan-local/commands/trekcontinue.md similarity index 99% rename from plugins/ultraplan-local/commands/ultracontinue-local.md rename to plugins/ultraplan-local/commands/trekcontinue.md index ee53e3d..9135cff 100644 --- a/plugins/ultraplan-local/commands/ultracontinue-local.md +++ b/plugins/ultraplan-local/commands/trekcontinue.md @@ -1,5 +1,5 @@ --- -name: ultracontinue-local +name: trekcontinue description: Resume the next session in a multi-session ultraplan project. Reads .session-state.local.json and immediately begins the next session. argument-hint: "[ | --help]" model: opus diff --git a/plugins/ultraplan-local/commands/ultraplan-end-session-local.md b/plugins/ultraplan-local/commands/trekendsession.md similarity index 99% rename from plugins/ultraplan-local/commands/ultraplan-end-session-local.md rename to plugins/ultraplan-local/commands/trekendsession.md index c26406c..c00af26 100644 --- a/plugins/ultraplan-local/commands/ultraplan-end-session-local.md +++ b/plugins/ultraplan-local/commands/trekendsession.md @@ -1,5 +1,5 @@ --- -name: ultraplan-end-session-local +name: trekendsession description: Mark the current session as complete and write session-state pointing at the next session. Helper for informal multi-session flows. argument-hint: " | --help" model: sonnet diff --git a/plugins/ultraplan-local/commands/ultraexecute-local.md b/plugins/ultraplan-local/commands/trekexecute.md similarity index 99% rename from plugins/ultraplan-local/commands/ultraexecute-local.md rename to plugins/ultraplan-local/commands/trekexecute.md index ebfeff2..512587c 100644 --- a/plugins/ultraplan-local/commands/ultraexecute-local.md +++ b/plugins/ultraplan-local/commands/trekexecute.md @@ -1,5 +1,5 @@ --- -name: ultraexecute-local +name: trekexecute description: Disciplined plan executor — single-session or multi-session with parallel orchestration, failure recovery, and headless support argument-hint: "[--project ] [--fg | --resume | --dry-run | --validate | --step N | --session N] [plan.md]" model: opus diff --git a/plugins/ultraplan-local/commands/ultraplan-local.md b/plugins/ultraplan-local/commands/trekplan.md similarity index 99% rename from plugins/ultraplan-local/commands/ultraplan-local.md rename to plugins/ultraplan-local/commands/trekplan.md index 1e0a78d..cc21999 100644 --- a/plugins/ultraplan-local/commands/ultraplan-local.md +++ b/plugins/ultraplan-local/commands/trekplan.md @@ -1,5 +1,5 @@ --- -name: ultraplan-local +name: trekplan description: Deep implementation planning from a task brief. Requires --brief or --project. Runs parallel specialized agents, optional external research, and adversarial review. argument-hint: "--brief | --project [--fg | --quick | --research | --decompose | --export ]" model: opus diff --git a/plugins/ultraplan-local/commands/ultraresearch-local.md b/plugins/ultraplan-local/commands/trekresearch.md similarity index 99% rename from plugins/ultraplan-local/commands/ultraresearch-local.md rename to plugins/ultraplan-local/commands/trekresearch.md index 305d8a4..f426025 100644 --- a/plugins/ultraplan-local/commands/ultraresearch-local.md +++ b/plugins/ultraplan-local/commands/trekresearch.md @@ -1,5 +1,5 @@ --- -name: ultraresearch-local +name: trekresearch description: Deep research combining local codebase analysis with external knowledge, producing structured research briefs with triangulation and confidence ratings argument-hint: "[--project ] [--quick | --local | --external | --fg] " model: opus diff --git a/plugins/ultraplan-local/commands/ultrareview-local.md b/plugins/ultraplan-local/commands/trekreview.md similarity index 99% rename from plugins/ultraplan-local/commands/ultrareview-local.md rename to plugins/ultraplan-local/commands/trekreview.md index c4d63fa..fb24084 100644 --- a/plugins/ultraplan-local/commands/ultrareview-local.md +++ b/plugins/ultraplan-local/commands/trekreview.md @@ -1,5 +1,5 @@ --- -name: ultrareview-local +name: trekreview description: | Independent post-hoc review of delivered code against the brief. Produces review.md with severity-tagged findings (BLOCKER/MAJOR/MINOR/SUGGESTION) diff --git a/plugins/ultraplan-local/templates/ultrabrief-template.md b/plugins/ultraplan-local/templates/trekbrief-template.md similarity index 100% rename from plugins/ultraplan-local/templates/ultrabrief-template.md rename to plugins/ultraplan-local/templates/trekbrief-template.md diff --git a/plugins/ultraplan-local/templates/ultrareview-template.md b/plugins/ultraplan-local/templates/trekreview-template.md similarity index 100% rename from plugins/ultraplan-local/templates/ultrareview-template.md rename to plugins/ultraplan-local/templates/trekreview-template.md diff --git a/plugins/ultraplan-local/tests/commands/ultracontinue.test.mjs b/plugins/ultraplan-local/tests/commands/trekcontinue.test.mjs similarity index 99% rename from plugins/ultraplan-local/tests/commands/ultracontinue.test.mjs rename to plugins/ultraplan-local/tests/commands/trekcontinue.test.mjs index ba3c53f..7195043 100644 --- a/plugins/ultraplan-local/tests/commands/ultracontinue.test.mjs +++ b/plugins/ultraplan-local/tests/commands/trekcontinue.test.mjs @@ -20,7 +20,7 @@ import { runHook } from '../helpers/hook-helper.mjs'; const HERE = dirname(fileURLToPath(import.meta.url)); const ROOT = join(HERE, '..', '..'); -const COMMAND_FILE = join(ROOT, 'commands', 'ultracontinue-local.md'); +const COMMAND_FILE = join(ROOT, 'commands', 'trekcontinue.md'); const PRE_BASH = join(ROOT, 'hooks', 'scripts', 'pre-bash-executor.mjs'); function readCommand() { diff --git a/plugins/ultraplan-local/tests/fixtures/ultrareview/README.md b/plugins/ultraplan-local/tests/fixtures/trekreview/README.md similarity index 100% rename from plugins/ultraplan-local/tests/fixtures/ultrareview/README.md rename to plugins/ultraplan-local/tests/fixtures/trekreview/README.md diff --git a/plugins/ultraplan-local/tests/fixtures/ultrareview/plan-with-source-findings.md b/plugins/ultraplan-local/tests/fixtures/trekreview/plan-with-source-findings.md similarity index 100% rename from plugins/ultraplan-local/tests/fixtures/ultrareview/plan-with-source-findings.md rename to plugins/ultraplan-local/tests/fixtures/trekreview/plan-with-source-findings.md diff --git a/plugins/ultraplan-local/tests/fixtures/ultrareview/review-run-A.md b/plugins/ultraplan-local/tests/fixtures/trekreview/review-run-A.md similarity index 100% rename from plugins/ultraplan-local/tests/fixtures/ultrareview/review-run-A.md rename to plugins/ultraplan-local/tests/fixtures/trekreview/review-run-A.md diff --git a/plugins/ultraplan-local/tests/fixtures/ultrareview/review-run-B.md b/plugins/ultraplan-local/tests/fixtures/trekreview/review-run-B.md similarity index 100% rename from plugins/ultraplan-local/tests/fixtures/ultrareview/review-run-B.md rename to plugins/ultraplan-local/tests/fixtures/trekreview/review-run-B.md diff --git a/plugins/ultraplan-local/tests/lib/doc-consistency.test.mjs b/plugins/ultraplan-local/tests/lib/doc-consistency.test.mjs index c075b89..23bc173 100644 --- a/plugins/ultraplan-local/tests/lib/doc-consistency.test.mjs +++ b/plugins/ultraplan-local/tests/lib/doc-consistency.test.mjs @@ -67,14 +67,14 @@ test('templates/plan-template.md declares plan_version: 1.7', () => { assert.match(tpl, /plan_version:\s*['"]?1\.7['"]?/); }); -test('commands/ultraexecute-local.md still parses v1.7 plan schema', () => { - const cmd = read('commands/ultraexecute-local.md'); +test('commands/trekexecute.md still parses v1.7 plan schema', () => { + const cmd = read('commands/trekexecute.md'); const tpl = read('templates/plan-template.md'); const tplVersion = (tpl.match(/plan_version:\s*['"]?([\d.]+)['"]?/) || [])[1]; assert.ok(tplVersion, 'templates/plan-template.md missing plan_version'); assert.ok( cmd.includes(`plan_version`) || cmd.includes(`Step N:`) || cmd.includes('### Step '), - 'commands/ultraexecute-local.md should reference v1.7 plan-schema parsing', + 'commands/trekexecute.md should reference v1.7 plan-schema parsing', ); }); @@ -96,7 +96,7 @@ test('settings.json no longer carries vestigial exploration block', () => { test('CLAUDE.md mentions all five pipeline commands', () => { const md = read('CLAUDE.md'); - for (const c of ['/ultrabrief-local', '/ultraresearch-local', '/ultraplan-local', '/ultraexecute-local', '/ultrareview-local']) { + for (const c of ['/trekbrief', '/trekresearch', '/trekplan', '/trekexecute', '/trekreview']) { assert.ok(md.includes(c), `CLAUDE.md missing reference to ${c}`); } }); @@ -114,7 +114,7 @@ test('HANDOVER-CONTRACTS.md contains Handover 7 section (session-state)', () => assert.ok( text.includes('## Handover 7'), 'docs/HANDOVER-CONTRACTS.md should document Handover 7 (.session-state.local.json) ' + - 'consumed by /ultracontinue', + 'consumed by /trekcontinue', ); assert.ok( text.includes('.session-state.local.json'), @@ -136,7 +136,7 @@ test('session-state-validator has CLI shim', () => { assert.ok( text.includes('import.meta.url === '), 'lib/validators/session-state-validator.mjs should expose the standard CLI shim ' + - '(if (import.meta.url === `file://${process.argv[1]}`)) so /ultracontinue can call it from Bash', + '(if (import.meta.url === `file://${process.argv[1]}`)) so /trekcontinue can call it from Bash', ); }); @@ -145,7 +145,7 @@ test('next-session-prompt-validator has CLI shim', () => { assert.ok( text.includes('import.meta.url === '), 'lib/validators/next-session-prompt-validator.mjs should expose the standard CLI shim ' + - '(if (import.meta.url === `file://${process.argv[1]}`)) so /ultracontinue Phase 1.5 can call it from Bash', + '(if (import.meta.url === `file://${process.argv[1]}`)) so /trekcontinue Phase 1.5 can call it from Bash', ); }); @@ -177,11 +177,11 @@ test('HANDOVER-CONTRACTS.md Handover 7 § Lifecycle names --cleanup and produced ); }); -test('CLAUDE.md mentions /ultracontinue-local command', () => { +test('CLAUDE.md mentions /trekcontinue command', () => { const md = read('CLAUDE.md'); assert.ok( - md.includes('/ultracontinue-local') || md.includes('ultracontinue-local'), - 'CLAUDE.md should document /ultracontinue-local in the Commands table ' + + md.includes('/trekcontinue') || md.includes('trekcontinue'), + 'CLAUDE.md should document /trekcontinue in the Commands table ' + '(added in v3.3.0 alongside the new command file)', ); }); @@ -216,12 +216,12 @@ test('headless-launch-template.md mirrors Phase 2.6 hardenings', () => { }); test('Phase 9 prose mandates parallel single-message dispatch + inline dedup', () => { - const cmd = read('commands/ultraplan-local.md'); + const cmd = read('commands/trekplan.md'); const orch = read('agents/planning-orchestrator.md'); // Single-message reinforcement appears in both (command + orchestrator) assert.ok( cmd.includes('single assistant message turn'), - 'commands/ultraplan-local.md Phase 9 should reinforce single-message parallel dispatch', + 'commands/trekplan.md Phase 9 should reinforce single-message parallel dispatch', ); assert.ok( orch.includes('single assistant message turn'), @@ -230,7 +230,7 @@ test('Phase 9 prose mandates parallel single-message dispatch + inline dedup', ( // Dedup CLI shim is wired in both assert.ok( cmd.includes('plan-review-dedup.mjs'), - 'commands/ultraplan-local.md Phase 9 should call lib/review/plan-review-dedup.mjs after both reviewers complete', + 'commands/trekplan.md Phase 9 should call lib/review/plan-review-dedup.mjs after both reviewers complete', ); assert.ok( orch.includes('plan-review-dedup.mjs'), @@ -238,8 +238,8 @@ test('Phase 9 prose mandates parallel single-message dispatch + inline dedup', ( ); }); -test('commands/ultraplan-local.md Phase 8 seals Opus-4.7 schema-drift defense', () => { - const cmd = read('commands/ultraplan-local.md'); +test('commands/trekplan.md Phase 8 seals Opus-4.7 schema-drift defense', () => { + const cmd = read('commands/trekplan.md'); // Locate Phase 8 section const phase8Start = cmd.indexOf('## Phase 8'); assert.ok(phase8Start >= 0, 'Phase 8 heading missing'); diff --git a/plugins/ultraplan-local/tests/lib/gates-flag-coverage.test.mjs b/plugins/ultraplan-local/tests/lib/gates-flag-coverage.test.mjs index 29d4893..bbc4890 100644 --- a/plugins/ultraplan-local/tests/lib/gates-flag-coverage.test.mjs +++ b/plugins/ultraplan-local/tests/lib/gates-flag-coverage.test.mjs @@ -15,10 +15,10 @@ const ROOT = join(HERE, '..', '..'); function read(rel) { return readFileSync(join(ROOT, rel), 'utf-8'); } const COMMANDS = [ - 'commands/ultrabrief-local.md', - 'commands/ultraresearch-local.md', - 'commands/ultraplan-local.md', - 'commands/ultraexecute-local.md', + 'commands/trekbrief.md', + 'commands/trekresearch.md', + 'commands/trekplan.md', + 'commands/trekexecute.md', ]; for (const cmdPath of COMMANDS) { @@ -39,10 +39,10 @@ for (const cmdPath of COMMANDS) { }); } -test('commands/ultraexecute-local.md mentions MAIN_MERGE_GATE', () => { - const text = read('commands/ultraexecute-local.md'); +test('commands/trekexecute.md mentions MAIN_MERGE_GATE', () => { + const text = read('commands/trekexecute.md'); assert.ok( text.includes('MAIN_MERGE_GATE'), - 'commands/ultraexecute-local.md should name MAIN_MERGE_GATE — the only boundary that always pauses regardless of --gates', + 'commands/trekexecute.md should name MAIN_MERGE_GATE — the only boundary that always pauses regardless of --gates', ); }); diff --git a/plugins/ultraplan-local/tests/lib/main-merge-gate.test.mjs b/plugins/ultraplan-local/tests/lib/main-merge-gate.test.mjs index 7c11e8b..0060cff 100644 --- a/plugins/ultraplan-local/tests/lib/main-merge-gate.test.mjs +++ b/plugins/ultraplan-local/tests/lib/main-merge-gate.test.mjs @@ -1,5 +1,5 @@ // tests/lib/main-merge-gate.test.mjs -// Step 12 (plan-v2) — pin that commands/ultraexecute-local.md Phase 8 +// Step 12 (plan-v2) — pin that commands/trekexecute.md Phase 8 // names the main-merge-gate lifecycle event, the decline + recovery // surface, and the always-on gate prose. @@ -11,12 +11,12 @@ import { fileURLToPath } from 'node:url'; const HERE = dirname(fileURLToPath(import.meta.url)); const ROOT = join(HERE, '..', '..'); -const CMD = readFileSync(join(ROOT, 'commands/ultraexecute-local.md'), 'utf-8'); +const CMD = readFileSync(join(ROOT, 'commands/trekexecute.md'), 'utf-8'); test('Phase 8 names the main-merge-gate lifecycle event', () => { assert.ok( CMD.includes('main-merge-gate'), - 'commands/ultraexecute-local.md should emit `main-merge-gate` from Phase 8', + 'commands/trekexecute.md should emit `main-merge-gate` from Phase 8', ); }); diff --git a/plugins/ultraplan-local/tests/lib/review-determinism.test.mjs b/plugins/ultraplan-local/tests/lib/review-determinism.test.mjs index 5d96921..a405c65 100644 --- a/plugins/ultraplan-local/tests/lib/review-determinism.test.mjs +++ b/plugins/ultraplan-local/tests/lib/review-determinism.test.mjs @@ -9,7 +9,7 @@ // // This test exercises the Jaccard PIPELINE on a known input. It does NOT // measure real-LLM determinism — that is deferred to v1.1, see -// tests/fixtures/ultrareview/README.md. +// tests/fixtures/trekreview/README.md. import { test } from 'node:test'; import { strict as assert } from 'node:assert'; @@ -35,8 +35,8 @@ function loadFindings(rel) { } test('review determinism — Jaccard of fixture run-A vs run-B meets SC4 threshold (0.70)', () => { - const a = loadFindings('tests/fixtures/ultrareview/review-run-A.md'); - const b = loadFindings('tests/fixtures/ultrareview/review-run-B.md'); + const a = loadFindings('tests/fixtures/trekreview/review-run-A.md'); + const b = loadFindings('tests/fixtures/trekreview/review-run-B.md'); const jaccard = jaccardSimilarity(a, b); assert.ok( jaccard >= SC4_THRESHOLD, @@ -46,7 +46,7 @@ test('review determinism — Jaccard of fixture run-A vs run-B meets SC4 thresho }); test('review determinism — finding IDs are 40-char hex', () => { - for (const rel of ['tests/fixtures/ultrareview/review-run-A.md', 'tests/fixtures/ultrareview/review-run-B.md']) { + for (const rel of ['tests/fixtures/trekreview/review-run-A.md', 'tests/fixtures/trekreview/review-run-B.md']) { const findings = loadFindings(rel); for (const id of findings) { assert.ok( @@ -58,7 +58,7 @@ test('review determinism — finding IDs are 40-char hex', () => { }); test('review determinism — no duplicate IDs within run', () => { - for (const rel of ['tests/fixtures/ultrareview/review-run-A.md', 'tests/fixtures/ultrareview/review-run-B.md']) { + for (const rel of ['tests/fixtures/trekreview/review-run-A.md', 'tests/fixtures/trekreview/review-run-B.md']) { const findings = loadFindings(rel); assert.strictEqual( new Set(findings).size, diff --git a/plugins/ultraplan-local/tests/lib/source-findings.test.mjs b/plugins/ultraplan-local/tests/lib/source-findings.test.mjs index a9559f2..f64c408 100644 --- a/plugins/ultraplan-local/tests/lib/source-findings.test.mjs +++ b/plugins/ultraplan-local/tests/lib/source-findings.test.mjs @@ -24,7 +24,7 @@ import { validatePlan } from '../../lib/validators/plan-validator.mjs'; const HERE = dirname(fileURLToPath(import.meta.url)); const ROOT = join(HERE, '..', '..'); -const FIXTURE = join(ROOT, 'tests/fixtures/ultrareview/plan-with-source-findings.md'); +const FIXTURE = join(ROOT, 'tests/fixtures/trekreview/plan-with-source-findings.md'); const HEX_ID_RE = /^[0-9a-f]{40}$/; diff --git a/plugins/ultraplan-local/tests/synthetic/review-determinism.test.mjs b/plugins/ultraplan-local/tests/synthetic/review-determinism.test.mjs index 05b9155..10ff98e 100644 --- a/plugins/ultraplan-local/tests/synthetic/review-determinism.test.mjs +++ b/plugins/ultraplan-local/tests/synthetic/review-determinism.test.mjs @@ -6,7 +6,7 @@ // // This is the SC7 (higher) floor. The companion // tests/lib/review-determinism.test.mjs holds the SC4 (0.70) floor against -// tests/fixtures/ultrareview/. Both pairs coexist on purpose: the lower +// tests/fixtures/trekreview/. Both pairs coexist on purpose: the lower // floor protects against pipeline regressions, the higher one anchors the // determinism aspiration set in the speedup brief. diff --git a/plugins/ultraplan-local/tests/synthetic/review-run-A.md b/plugins/ultraplan-local/tests/synthetic/review-run-A.md index a7b6856..2c5de65 100644 --- a/plugins/ultraplan-local/tests/synthetic/review-run-A.md +++ b/plugins/ultraplan-local/tests/synthetic/review-run-A.md @@ -52,7 +52,7 @@ this file's frontmatter and computes `jaccardSimilarity(findingsA, findingsB)`. The test asserts the similarity is at or above the SC7 brief threshold (0.833). -This fixture is distinct from `tests/fixtures/ultrareview/review-run-A.md`, +This fixture is distinct from `tests/fixtures/trekreview/review-run-A.md`, which feeds the existing `tests/lib/review-determinism.test.mjs` against the v1.0 SC4 floor (0.70). The synthetic pair pushes the floor higher per SC7.