feat(voyage)!: rename commands, templates, fixtures for v4.0.0 [skip-docs]

This commit is contained in:
Kjell Tore Guttormsen 2026-05-05 14:13:44 +02:00
commit 47a4ad47d8
23 changed files with 99 additions and 98 deletions

View file

@ -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

View file

@ -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: [<id>, ...]` 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: [<id>, ...]` 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 <task>` | Dynamic interview until quality gates pass. No question cap. |
| **Quick** | `/ultrabrief-local --quick <task>` | Starts compact (optional sections get at most one probe), still escalates on weak required sections or failed review gate. |
| **Default** | `/trekbrief <task>` | Dynamic interview until quality gates pass. No question cap. |
| **Quick** | `/trekbrief --quick <task>` | 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 <question>` | Interview + research swarm (local + external + Gemini), foreground |
| **Project** | `/ultraresearch-local --project <dir> <question>` | Write brief into `{dir}/research/NN-slug.md` |
| **Quick** | `/ultraresearch-local --quick <question>` | Interview (short) + inline research, no agent swarm |
| **Local** | `/ultraresearch-local --local <question>` | Only codebase analysis agents (skip external + Gemini) |
| **External** | `/ultraresearch-local --external <question>` | Only external research agents (skip codebase analysis) |
| **Foreground** | `/ultraresearch-local --fg <question>` | No-op alias (foreground is default since v2.4.0) |
| **Default** | `/trekresearch <question>` | Interview + research swarm (local + external + Gemini), foreground |
| **Project** | `/trekresearch --project <dir> <question>` | Write brief into `{dir}/research/NN-slug.md` |
| **Quick** | `/trekresearch --quick <question>` | Interview (short) + inline research, no agent swarm |
| **Local** | `/trekresearch --local <question>` | Only codebase analysis agents (skip external + Gemini) |
| **External** | `/trekresearch --external <question>` | Only external research agents (skip codebase analysis) |
| **Foreground** | `/trekresearch --fg <question>` | No-op alias (foreground is default since v2.4.0) |
Flags combine: `--project <dir> --external`.
@ -210,13 +210,13 @@ Output:
| Mode | Usage | Behavior |
|------|-------|----------|
| **Project** | `/ultraplan-local --project <dir>` | Read `{dir}/brief.md` + auto-discover `{dir}/research/*.md`, write `{dir}/plan.md` |
| **Brief** | `/ultraplan-local --brief <path>` | Plan from a specific brief file |
| **Research-enriched** | `/ultraplan-local --project <dir> --research <brief>` | Add extra research briefs beyond what is in `research/` |
| **Foreground** | `/ultraplan-local --project <dir> --fg` | No-op alias (foreground is default since v2.4.0) |
| **Quick** | `/ultraplan-local --project <dir> --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 <dir>` | Read `{dir}/brief.md` + auto-discover `{dir}/research/*.md`, write `{dir}/plan.md` |
| **Brief** | `/trekplan --brief <path>` | Plan from a specific brief file |
| **Research-enriched** | `/trekplan --project <dir> --research <brief>` | Add extra research briefs beyond what is in `research/` |
| **Foreground** | `/trekplan --project <dir> --fg` | No-op alias (foreground is default since v2.4.0) |
| **Quick** | `/trekplan --project <dir> --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 <dir>` | Read `{dir}/plan.md`, write `{dir}/progress.json` |
| **Plan path** | `/ultraexecute-local plan.md` | Execute a specific plan file |
| **Resume** | `/ultraexecute-local --project <dir> --resume` | Resume from last progress checkpoint |
| **Dry run** | `/ultraexecute-local --project <dir> --dry-run` | Validate plan structure + preview sessions and billing |
| **Validate** | `/ultraexecute-local --project <dir> --validate` | Schema-only check — parse steps + manifests, report `READY \| FAIL`, no execution |
| **Single step** | `/ultraexecute-local --project <dir> --step 3` | Execute only step 3 |
| **Foreground** | `/ultraexecute-local --project <dir> --fg` | Force sequential, ignore Execution Strategy |
| **Single session** | `/ultraexecute-local --project <dir> --session 2` | Execute only session 2 from Execution Strategy |
| **Project** | `/trekexecute --project <dir>` | Read `{dir}/plan.md`, write `{dir}/progress.json` |
| **Plan path** | `/trekexecute plan.md` | Execute a specific plan file |
| **Resume** | `/trekexecute --project <dir> --resume` | Resume from last progress checkpoint |
| **Dry run** | `/trekexecute --project <dir> --dry-run` | Validate plan structure + preview sessions and billing |
| **Validate** | `/trekexecute --project <dir> --validate` | Schema-only check — parse steps + manifests, report `READY \| FAIL`, no execution |
| **Single step** | `/trekexecute --project <dir> --step 3` | Execute only step 3 |
| **Foreground** | `/trekexecute --project <dir> --fg` | Force sequential, ignore Execution Strategy |
| **Single session** | `/trekexecute --project <dir> --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 <dir>` | brief-conformance + code-correctness reviewers in parallel, coordinator dedup + verdict, write `{dir}/review.md` |
| **Since ref** | `/ultrareview-local --project <dir> --since <ref>` | Override "before" SHA for the diff range. Validated via `git rev-parse --verify` |
| **Quick** | `/ultrareview-local --project <dir> --quick` | Skip brief-conformance reviewer; skip coordinator's reasonableness filter — fast correctness-only pass |
| **Validate** | `/ultrareview-local --project <dir> --validate` | Schema-only check on existing `review.md`. No LLM calls |
| **Dry run** | `/ultrareview-local --project <dir> --dry-run` | Print discovered scope + triage map; skip writes |
| **Default** | `/trekreview --project <dir>` | brief-conformance + code-correctness reviewers in parallel, coordinator dedup + verdict, write `{dir}/review.md` |
| **Since ref** | `/trekreview --project <dir> --since <ref>` | Override "before" SHA for the diff range. Validated via `git rev-parse --verify` |
| **Quick** | `/trekreview --project <dir> --quick` | Skip brief-conformance reviewer; skip coordinator's reasonableness filter — fast correctness-only pass |
| **Validate** | `/trekreview --project <dir> --validate` | Schema-only check on existing `review.md`. No LLM calls |
| **Dry run** | `/trekreview --project <dir> --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 <dir>
/trekreview --project <dir>
# → review.md (BLOCKER + MAJOR findings)
/ultraplan-local --brief <dir>/review.md
/trekplan --brief <dir>/review.md
# → plan.md with `source_findings: [<id>, ...]` audit trail
# (BLOCKER + MAJOR findings become plan goals; MINOR + SUGGESTION skipped for v1.0)
```

View file

@ -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] <task description>"
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

View file

@ -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: "[<project-dir> | --help]"
model: opus

View file

@ -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: "<next-brief-path> <next-label> | --help"
model: sonnet

View file

@ -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 <dir>] [--fg | --resume | --dry-run | --validate | --step N | --session N] [plan.md]"
model: opus

View file

@ -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 <path> | --project <dir> [--fg | --quick | --research <brief> | --decompose <plan> | --export <fmt> <plan>]"
model: opus

View file

@ -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 <dir>] [--quick | --local | --external | --fg] <research question>"
model: opus

View file

@ -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)

View file

@ -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() {

View file

@ -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');

View file

@ -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',
);
});

View file

@ -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',
);
});

View file

@ -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,

View file

@ -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}$/;

View file

@ -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.

View file

@ -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.