diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json
index e141648..b12843b 100644
--- a/.claude-plugin/marketplace.json
+++ b/.claude-plugin/marketplace.json
@@ -21,9 +21,9 @@
"description": "Multi-agent workflow for analyzing, reporting, and optimizing Claude Code configuration across your entire machine"
},
{
- "name": "ultraplan-local",
- "source": "./plugins/ultraplan-local",
- "description": "Six-command context-engineering pipeline (brief → research → plan → execute → review → continue) with specialized agent swarms, external research triangulation, adversarial review, post-hoc independent review with Handover 6 feedback loop, multi-session resumption, session decomposition, and headless execution"
+ "name": "voyage",
+ "source": "./plugins/voyage",
+ "description": "Voyage — brief, research, plan, execute, review, continue. Contract-driven Claude Code pipeline with specialized agent swarms, external research triangulation, adversarial review, post-hoc independent review with Handover 6 feedback loop, multi-session resumption, session decomposition, and headless execution."
},
{
"name": "linkedin-thought-leadership",
diff --git a/CLAUDE.md b/CLAUDE.md
index b97f5f0..15429b6 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -13,10 +13,10 @@ plugins/
llm-security/ v6.0.0 — Security scanning, auditing, threat modeling
ms-ai-architect/ v1.12.0 — Microsoft AI architecture (Cosmo Skyberg persona) + manual KB-refresh slash command
okr/ v1.0.0 — OKR guidance for Norwegian public sector
- ultraplan-local/ v3.4.0 — Brief, research, plan, execute, review, continue (six-command universal pipeline + multi-session resumption + --gates autonomy chain)
+ voyage/ v4.0.0 — Brief, research, plan, execute, review, continue. Contract-driven Claude Code pipeline (six-command universal pipeline + multi-session resumption + --gates autonomy chain)
shared/
- playground-design-system/ v0.1 — Aksel/Digdir-aligned CSS design system + JSON schemas + self-hosted Inter/JetBrains Mono/Source Serif 4 fonts (Tier 1+2+3 wave 1+wave 2 = 20 Tier 3 components total). Consumed by ms-ai-architect, okr, llm-security, ultraplan-local, config-audit
+ playground-design-system/ v0.1 — Aksel/Digdir-aligned CSS design system + JSON schemas + self-hosted Inter/JetBrains Mono/Source Serif 4 fonts (Tier 1+2+3 wave 1+wave 2 = 20 Tier 3 components total). Consumed by ms-ai-architect, okr, llm-security, voyage, config-audit
playground-examples/ — Reference scenarios (ROS-Lier, OKR-Bærum, security-Direktorat) + showcase landing + 12 isolated Tier 3 wave 2 component demos under components/
```
diff --git a/README.md b/README.md
index 0180b92..3aa5ad4 100644
--- a/README.md
+++ b/README.md
@@ -73,38 +73,40 @@ Key commands: `/config-audit posture`, `/config-audit feature-gap`, `/config-aud
---
-### [Ultra {brief | research | plan | execute | review | continue} - local](plugins/ultraplan-local/) `v3.4.1`
+### [Voyage](plugins/voyage/) `v4.0.0`
Deep requirements gathering, research, implementation planning, self-verifying execution, independent post-hoc review, and zero-friction multi-session resumption with specialized agent swarms, adversarial review, and failure recovery. Six-command (brief, research, plan, execute, review, continue) universal pipeline.
+v4.0.0 (breaking) renames the plugin from `ultraplan-local` to **Voyage** and all seven commands from `/ultra*-local` to `/trek*` to remove name collision with Anthropic's `/ultraplan` and `/ultrareview` features. No migration path — fork-and-own users re-fork from main. See `plugins/voyage/TRADEMARKS.md` and `plugins/voyage/CHANGELOG.md`.
+
Six commands, one pipeline with clear division of labor:
-- **`/ultrabrief-local`** — Capture intent. Dynamic, quality-gated interview: a section-driven completeness loop (Phase 3) followed by a `brief-reviewer` stop-gate (Phase 4, max 3 review iterations). Required sections must reach an initial-signal gate AND pass review across completeness, consistency, testability, scope clarity, and research-plan validity before `brief.md` is written. Identifies research topics with copy-paste-ready `/ultraresearch-local` commands. Optional auto-orchestration runs research + planning in foreground. Always interactive.
-- **`/ultraresearch-local`** — Gather context. Deep multi-source research with triangulation: 5 local agents + 4 external agents + Gemini bridge, producing structured briefs with confidence ratings. Makes no build decisions.
-- **`/ultraplan-local`** — Transform intent into an executable contract. Per-step YAML manifests (`expected_paths`, `commit_message_pattern`, `bash_syntax_check`). Plan-critic is a hard gate on manifest quality. Requires a task brief as input (`--brief` or `--project`). Auto-discovers `architecture/overview.md` when produced upstream and cross-references its `cc_features_proposed` against exploration findings.
-- **`/ultraexecute-local`** — Execute the contract disciplined. Manifest-based verification, independent Phase 7.5 audit from git log + filesystem (ignores agent bookkeeping), Phase 7.6 bounded recovery dispatch for missing steps. Step 0 pre-flight catches sandbox push-denial before any work. `--validate` mode offers a fast schema-only sanity-check between planning and execution.
-- **`/ultrareview-local`** — Close the iteration loop. Independent post-hoc reviewer reads `brief.md` from scratch and evaluates the diff produced by execute. Two parallel reviewers (brief-conformance + code-correctness) plus a Judge Agent (review-coordinator) for dedup and reasonableness filtering. Severity-tagged findings (Critical/High/Medium/Low/Info) with stable 40-char hex IDs feed back into planning via Handover 6 (`/ultraplan-local --brief review.md` → remediation plan with `source_findings:` audit trail).
-- **`/ultracontinue-local`** — Zero-friction multi-session resumption. In a fresh chat, type `/ultracontinue` — reads `.session-state.local.json` (Handover 7), prints a 3-line summary, and immediately begins executing the next session. Any session-end mechanism may write the state file (`/ultraexecute-local` Phase 8/2.55/4 do so automatically; `/ultraplan-end-session-local` helper writes it for informal flows). Forward-compat schema (unknown top-level keys ignored) so future producers can extend additively.
+- **`/trekbrief`** — Capture intent. Dynamic, quality-gated interview: a section-driven completeness loop (Phase 3) followed by a `brief-reviewer` stop-gate (Phase 4, max 3 review iterations). Required sections must reach an initial-signal gate AND pass review across completeness, consistency, testability, scope clarity, and research-plan validity before `brief.md` is written. Identifies research topics with copy-paste-ready `/trekresearch` commands. Optional auto-orchestration runs research + planning in foreground. Always interactive.
+- **`/trekresearch`** — Gather context. Deep multi-source research with triangulation: 5 local agents + 4 external agents + Gemini bridge, producing structured briefs with confidence ratings. Makes no build decisions.
+- **`/trekplan`** — Transform intent into an executable contract. Per-step YAML manifests (`expected_paths`, `commit_message_pattern`, `bash_syntax_check`). Plan-critic is a hard gate on manifest quality. Requires a task brief as input (`--brief` or `--project`). Auto-discovers `architecture/overview.md` when produced upstream and cross-references its `cc_features_proposed` against exploration findings.
+- **`/trekexecute`** — Execute the contract disciplined. Manifest-based verification, independent Phase 7.5 audit from git log + filesystem (ignores agent bookkeeping), Phase 7.6 bounded recovery dispatch for missing steps. Step 0 pre-flight catches sandbox push-denial before any work. `--validate` mode offers a fast schema-only sanity-check between planning and execution.
+- **`/trekreview`** — Close the iteration loop. Independent post-hoc reviewer reads `brief.md` from scratch and evaluates the diff produced by execute. Two parallel reviewers (brief-conformance + code-correctness) plus a Judge Agent (review-coordinator) for dedup and reasonableness filtering. Severity-tagged findings (Critical/High/Medium/Low/Info) with stable 40-char hex IDs feed back into planning via Handover 6 (`/trekplan --brief review.md` → remediation plan with `source_findings:` audit trail).
+- **`/trekcontinue`** — Zero-friction multi-session resumption. In a fresh chat, type `/trekcontinue` — reads `.session-state.local.json` (Handover 7), prints a 3-line summary, and immediately begins executing the next session. Any session-end mechanism may write the state file (`/trekexecute` Phase 8/2.55/4 do so automatically; `/trekendsession` helper writes it for informal flows). Forward-compat schema (unknown top-level keys ignored) so future producers can extend additively.
-All artifacts land in one project directory: `.claude/projects/{YYYY-MM-DD}-{slug}/` contains `brief.md`, `research/NN-*.md`, `plan.md`, `sessions/`, `progress.json`, `review.md`, and `.session-state.local.json` (gitignored). `--project
` works across `/ultraresearch-local`, `/ultraplan-local`, `/ultraexecute-local`, `/ultrareview-local`, and (optionally) `/ultracontinue-local`.
+All artifacts land in one project directory: `.claude/projects/{YYYY-MM-DD}-{slug}/` contains `brief.md`, `research/NN-*.md`, `plan.md`, `sessions/`, `progress.json`, `review.md`, and `.session-state.local.json` (gitignored). `--project ` works across `/trekresearch`, `/trekplan`, `/trekexecute`, `/trekreview`, and (optionally) `/trekcontinue`.
-v3.4.0 (non-breaking) adds the **autonomy chain from brief approval to main-merge** plus parallel-wave hardenings. New `lib/util/autonomy-gate.mjs` state machine (`idle → approved → executing → merge-pending → main-merged`), `lib/review/plan-review-dedup.mjs` for Phase 9 inline dedup, `lib/stats/event-emit.mjs` for autonomy-gate transitions and main-merge gate, and `--gates {open|closed|adaptive}` flag on all four pipeline commands. `commands/ultraplan-local.md` Phase 8 seals Opus-4.7 plan/list-emission schema-drift via `plan-validator --strict`. `commands/ultraexecute-local.md` Phase 2.6 wave-executor adds 11 hardenings for plugin-in-monorepo + gitignored-state topology (GIT_OPTIONAL_LOCKS, --max-turns, --max-budget-usd, scoped --allowedTools, push-before-cleanup ordering). New `hooks/scripts/post-compact-flush.mjs` PostCompact hook re-injects session-state after compaction. SC7 synthetic determinism floor (Jaccard ≥ 0.833) for plan + review fixtures. Hook baseline regression pins. Architecture decision: Path B (sequential `--no-ff` parallel waves with manifest-driven failure recovery) ships; Path C (cache-first hybrid) deferred to v3.5.0 contingent on cache-telemetry harvest.
+v3.4.0 (non-breaking) adds the **autonomy chain from brief approval to main-merge** plus parallel-wave hardenings. New `lib/util/autonomy-gate.mjs` state machine (`idle → approved → executing → merge-pending → main-merged`), `lib/review/plan-review-dedup.mjs` for Phase 9 inline dedup, `lib/stats/event-emit.mjs` for autonomy-gate transitions and main-merge gate, and `--gates {open|closed|adaptive}` flag on all four pipeline commands. `commands/trekplan.md` Phase 8 seals Opus-4.7 plan/list-emission schema-drift via `plan-validator --strict`. `commands/trekexecute.md` Phase 2.6 wave-executor adds 11 hardenings for plugin-in-monorepo + gitignored-state topology (GIT_OPTIONAL_LOCKS, --max-turns, --max-budget-usd, scoped --allowedTools, push-before-cleanup ordering). New `hooks/scripts/post-compact-flush.mjs` PostCompact hook re-injects session-state after compaction. SC7 synthetic determinism floor (Jaccard ≥ 0.833) for plan + review fixtures. Hook baseline regression pins. Architecture decision: Path B (sequential `--no-ff` parallel waves with manifest-driven failure recovery) ships; Path C (cache-first hybrid) deferred to v3.5.0 contingent on cache-telemetry harvest.
-v3.3.0 (non-breaking) adds `/ultracontinue-local` as the sixth command and the contracted **Handover 7 (.session-state.local.json)** for zero-friction multi-session resumption. New `lib/validators/session-state-validator.mjs` (schema v1, forward-compat — unknown top-level keys ignored), `lib/util/atomic-write.mjs` extracted from `pre-compact-flush.mjs` for tmp+rename writes, and `/ultraplan-end-session-local` helper for informal multi-session flows. `/ultraexecute-local` Phase 8 / 2.55 / 4 now write the state file alongside `progress.json`. `pre-compact-flush.mjs` also refreshes the state file before context compaction (monotonic; never advances to non-resumable status). 22 new tests (163 → 185 green).
+v3.3.0 (non-breaking) adds `/trekcontinue` as the sixth command and the contracted **Handover 7 (.session-state.local.json)** for zero-friction multi-session resumption. New `lib/validators/session-state-validator.mjs` (schema v1, forward-compat — unknown top-level keys ignored), `lib/util/atomic-write.mjs` extracted from `pre-compact-flush.mjs` for tmp+rename writes, and `/trekendsession` helper for informal multi-session flows. `/trekexecute` Phase 8 / 2.55 / 4 now write the state file alongside `progress.json`. `pre-compact-flush.mjs` also refreshes the state file before context compaction (monotonic; never advances to non-resumable status). 22 new tests (163 → 185 green).
-v3.2.0 (non-breaking) adds `/ultrareview-local` as the fifth command and the contracted **Handover 6 (review → plan)** feedback loop. New artifact type `type: ultrareview` validated by `lib/validators/review-validator.mjs`, stable 40-char SHA1 finding-IDs from `lib/parsers/finding-id.mjs`, Jaccard similarity for determinism testing (`lib/parsers/jaccard.mjs`), and a 12-key version-pinned rule catalogue (`lib/review/rule-catalogue.mjs`). Four new agents (review-orchestrator, brief-conformance-reviewer, code-correctness-reviewer, review-coordinator) implementing the Judge-Agent dedup pattern. `/ultraplan-local` now consumes `--brief review.md` (BLOCKER + MAJOR findings become plan goals) and writes `source_findings: [, ...]` audit trail. `brief-validator` accepts both `type: ultrabrief` and `type: ultrareview`.
+v3.2.0 (non-breaking) adds `/trekreview` as the fifth command and the contracted **Handover 6 (review → plan)** feedback loop. New artifact type `type: trekreview` validated by `lib/validators/review-validator.mjs`, stable 40-char SHA1 finding-IDs from `lib/parsers/finding-id.mjs`, Jaccard similarity for determinism testing (`lib/parsers/jaccard.mjs`), and a 12-key version-pinned rule catalogue (`lib/review/rule-catalogue.mjs`). Four new agents (review-orchestrator, brief-conformance-reviewer, code-correctness-reviewer, review-coordinator) implementing the Judge-Agent dedup pattern. `/trekplan` now consumes `--brief review.md` (BLOCKER + MAJOR findings become plan goals) and writes `source_findings: [, ...]` audit trail. `brief-validator` accepts both `type: trekbrief` and `type: trekreview`.
-v3.0.0 extracts the Claude-Code-specific architecture phase to a separate plugin. The planning pipeline now stays technology-agnostic; CC-feature matching becomes opt-in. The plan command still auto-discovers `architecture/overview.md` if produced upstream — the contract is filesystem-level, not code-level. Non-breaking for users of brief/research/plan/execute. See `plugins/ultraplan-local/CHANGELOG.md` for migration steps.
+v3.0.0 extracts the Claude-Code-specific architecture phase to a separate plugin. The planning pipeline now stays technology-agnostic; CC-feature matching becomes opt-in. The plan command still auto-discovers `architecture/overview.md` if produced upstream — the contract is filesystem-level, not code-level. Non-breaking for users of brief/research/plan/execute. See `plugins/voyage/CHANGELOG.md` for migration steps.
v2.4.0 (breaking, default behavior) removes background mode. The commands now run foreground in the main context because the harness does not expose the Agent tool to sub-agents — background orchestrators silently degraded the swarm to inline reasoning without external research tools. The `--fg` flag is preserved as a no-op alias for backward compatibility. Source: github.com/anthropics/claude-code/issues/19077.
-v2.1 (non-breaking) replaced the hardcoded Q1–Q8 interview with a dynamic, quality-gated loop; `brief-reviewer` emits machine-readable per-dimension JSON scores so `/ultrabrief-local` can use it as an internal stop-gate. v2.0 (breaking) extracted the interview from planning: briefs are reviewable artifacts that downstream agents (`brief-reviewer`, `plan-critic`, `scope-guardian`) validate independently. `/ultraplan-local` requires `--brief` or `--project`. See `plugins/ultraplan-local/MIGRATION.md`.
+v2.1 (non-breaking) replaced the hardcoded Q1–Q8 interview with a dynamic, quality-gated loop; `brief-reviewer` emits machine-readable per-dimension JSON scores so `/trekbrief` can use it as an internal stop-gate. v2.0 (breaking) extracted the interview from planning: briefs are reviewable artifacts that downstream agents (`brief-reviewer`, `plan-critic`, `scope-guardian`) validate independently. `/trekplan` requires `--brief` or `--project`. See `plugins/voyage/MIGRATION.md`.
v1.7 self-verifying chain (preserved): a step may not be marked `completed` unless its manifest verifies. v1.8 Opus 4.7 literalism fixes (preserved): literal Step+Manifest template, forbidden narrative headers, schema self-check.
v3.1.0 (in progress) adds a `lib/`-tree of zero-dep validators (`brief-validator`, `research-validator`, `plan-validator`, `progress-validator`, `architecture-discovery`) wired into the four commands as CLI shims, plus 109 `node:test` cases and a doc-consistency invariant test. The Phase 5.5 schema self-check now runs as `node lib/validators/plan-validator.mjs --strict` instead of three `grep -cE` calls — same checks, single source of truth, machine-readable error codes. Architecture discovery treats the upstream `architecture/overview.md` contract as drift-WARN, never drift-FAIL. Forking the plugin? `npm test` is the readiness gate.
-v3.1.0 also adds: `docs/HANDOVER-CONTRACTS.md` as the single source of truth for the 5 pipeline handovers (extended to 6 in v3.2.0, then to 7 in v3.3.0); PreCompact-hook (`pre-compact-flush.mjs`, CC v2.1.105+) that fixes the documented progress.json drift bug — `--resume` now works after long conversations; UserPromptSubmit-hook that sets session titles `ultra::` for headless multiplexing (CC v2.1.94+); PostToolUse-hook that captures Bash `duration_ms` per call (CC v2.1.97+); semantic plan-critic rubric that catches paraphrased deferred decisions ("implement as needed", "wire it up") instead of just exact-string blacklist; `examples/01-add-verbose-flag/` showing a calibrated end-to-end pipeline run; `SECURITY.md` boilerplate; `docs/architect-bridge-test.md` smoke checklist.
+v3.1.0 also adds: `docs/HANDOVER-CONTRACTS.md` as the single source of truth for the 5 pipeline handovers (extended to 6 in v3.2.0, then to 7 in v3.3.0); PreCompact-hook (`pre-compact-flush.mjs`, CC v2.1.105+) that fixes the documented progress.json drift bug — `--resume` now works after long conversations; UserPromptSubmit-hook that sets session titles `voyage::` for headless multiplexing (CC v2.1.94+); PostToolUse-hook that captures Bash `duration_ms` per call (CC v2.1.97+); semantic plan-critic rubric that catches paraphrased deferred decisions ("implement as needed", "wire it up") instead of just exact-string blacklist; `examples/01-add-verbose-flag/` showing a calibrated end-to-end pipeline run; `SECURITY.md` boilerplate; `docs/architect-bridge-test.md` smoke checklist.
Defense-in-depth security: plugin hooks block destructive commands and sensitive path writes, prompt-level denylist works in headless sessions, pre-execution plan scan catches dangerous commands before they run, scoped `--allowedTools` replaces `--dangerously-skip-permissions` in parallel sessions. Recommended hardening: `disableSkillShellExecution: true` for fork-ers handling untrusted plans (CC v2.1.91+).
@@ -112,7 +114,7 @@ Modes: default, brief-driven, project-scoped, research-enriched, foreground, qui
23 specialized agents · 6 commands (+ 1 helper) · 5 plugin hooks · 185 tests · No cloud dependency
-→ [Full documentation](plugins/ultraplan-local/README.md) · [Migration guide](plugins/ultraplan-local/MIGRATION.md)
+→ [Full documentation](plugins/voyage/README.md) · [Migration guide](plugins/voyage/MIGRATION.md)
---
@@ -258,7 +260,7 @@ Activate with `/config` → **Output style** → **Human-Friendly**.
Shared design system for plugin Playgrounds — visual self-service UIs that complement terminal slash-commands. Aksel/Digdir-aligned aesthetics, WCAG 2.1 AA compliance, light + dark themes, A4 print stylesheets with B/W severity patterns.
-Targets five plugins: `ms-ai-architect`, `okr`, `llm-security`, `ultraplan-local`, `config-audit`. Built for Norwegian public sector decision-makers (kommunaldirektører, sikkerhetsoffiserer, OKR-koordinatorer) plus developer power-users — one visual family, two information densities.
+Targets five plugins: `ms-ai-architect`, `okr`, `llm-security`, `voyage`, `config-audit`. Built for Norwegian public sector decision-makers (kommunaldirektører, sikkerhetsoffiserer, OKR-koordinatorer) plus developer power-users — one visual family, two information densities.
- **Tokens** — Inter/JetBrains Mono/Source Serif 4 (all self-hosted, OFL 1.1), body 17px, Digdir blue `#0062BA`, deuteranopia-safe severity ramp, distinct severity-red vs failure-red, plugin-scope colors, semantic CSS custom properties
- **Tier 1 components** — radar/spider, 5×5 matrix-heatmap (bottom-left origin, ROS/DPIA), findings-browser, critique-card, wizard/stepper, live-meter with antipattern lints
diff --git a/plugins/ultraplan-local/.claude-plugin/plugin.json b/plugins/voyage/.claude-plugin/plugin.json
similarity index 67%
rename from plugins/ultraplan-local/.claude-plugin/plugin.json
rename to plugins/voyage/.claude-plugin/plugin.json
index 3b62d17..b84358a 100644
--- a/plugins/ultraplan-local/.claude-plugin/plugin.json
+++ b/plugins/voyage/.claude-plugin/plugin.json
@@ -5,8 +5,8 @@
"author": {
"name": "Kjell Tore Guttormsen"
},
- "homepage": "https://git.fromaitochitta.com/open/ultraplan-local",
- "repository": "https://git.fromaitochitta.com/open/ultraplan-local.git",
+ "homepage": "https://git.fromaitochitta.com/open/ktg-plugin-marketplace/src/branch/main/plugins/voyage",
+ "repository": "https://git.fromaitochitta.com/open/ktg-plugin-marketplace.git",
"license": "MIT",
"keywords": ["voyage", "trek", "planning", "implementation", "research", "context-engineering", "agents", "adversarial-review", "headless", "execution"]
}
diff --git a/plugins/ultraplan-local/.forgejo/ISSUE_TEMPLATE/bug_report.yaml b/plugins/voyage/.forgejo/ISSUE_TEMPLATE/bug_report.yaml
similarity index 100%
rename from plugins/ultraplan-local/.forgejo/ISSUE_TEMPLATE/bug_report.yaml
rename to plugins/voyage/.forgejo/ISSUE_TEMPLATE/bug_report.yaml
diff --git a/plugins/ultraplan-local/.forgejo/ISSUE_TEMPLATE/feature_request.yaml b/plugins/voyage/.forgejo/ISSUE_TEMPLATE/feature_request.yaml
similarity index 100%
rename from plugins/ultraplan-local/.forgejo/ISSUE_TEMPLATE/feature_request.yaml
rename to plugins/voyage/.forgejo/ISSUE_TEMPLATE/feature_request.yaml
diff --git a/plugins/ultraplan-local/.gitignore b/plugins/voyage/.gitignore
similarity index 100%
rename from plugins/ultraplan-local/.gitignore
rename to plugins/voyage/.gitignore
diff --git a/plugins/ultraplan-local/CHANGELOG.md b/plugins/voyage/CHANGELOG.md
similarity index 100%
rename from plugins/ultraplan-local/CHANGELOG.md
rename to plugins/voyage/CHANGELOG.md
diff --git a/plugins/ultraplan-local/CLAUDE.md b/plugins/voyage/CLAUDE.md
similarity index 100%
rename from plugins/ultraplan-local/CLAUDE.md
rename to plugins/voyage/CLAUDE.md
diff --git a/plugins/ultraplan-local/CONTRIBUTING.md b/plugins/voyage/CONTRIBUTING.md
similarity index 100%
rename from plugins/ultraplan-local/CONTRIBUTING.md
rename to plugins/voyage/CONTRIBUTING.md
diff --git a/plugins/ultraplan-local/GOVERNANCE.md b/plugins/voyage/GOVERNANCE.md
similarity index 100%
rename from plugins/ultraplan-local/GOVERNANCE.md
rename to plugins/voyage/GOVERNANCE.md
diff --git a/plugins/ultraplan-local/LICENSE b/plugins/voyage/LICENSE
similarity index 100%
rename from plugins/ultraplan-local/LICENSE
rename to plugins/voyage/LICENSE
diff --git a/plugins/ultraplan-local/MIGRATION.md b/plugins/voyage/MIGRATION.md
similarity index 100%
rename from plugins/ultraplan-local/MIGRATION.md
rename to plugins/voyage/MIGRATION.md
diff --git a/plugins/ultraplan-local/README.md b/plugins/voyage/README.md
similarity index 100%
rename from plugins/ultraplan-local/README.md
rename to plugins/voyage/README.md
diff --git a/plugins/ultraplan-local/SECURITY.md b/plugins/voyage/SECURITY.md
similarity index 100%
rename from plugins/ultraplan-local/SECURITY.md
rename to plugins/voyage/SECURITY.md
diff --git a/plugins/ultraplan-local/TRADEMARKS.md b/plugins/voyage/TRADEMARKS.md
similarity index 100%
rename from plugins/ultraplan-local/TRADEMARKS.md
rename to plugins/voyage/TRADEMARKS.md
diff --git a/plugins/ultraplan-local/agents/architecture-mapper.md b/plugins/voyage/agents/architecture-mapper.md
similarity index 100%
rename from plugins/ultraplan-local/agents/architecture-mapper.md
rename to plugins/voyage/agents/architecture-mapper.md
diff --git a/plugins/ultraplan-local/agents/brief-conformance-reviewer.md b/plugins/voyage/agents/brief-conformance-reviewer.md
similarity index 100%
rename from plugins/ultraplan-local/agents/brief-conformance-reviewer.md
rename to plugins/voyage/agents/brief-conformance-reviewer.md
diff --git a/plugins/ultraplan-local/agents/brief-reviewer.md b/plugins/voyage/agents/brief-reviewer.md
similarity index 100%
rename from plugins/ultraplan-local/agents/brief-reviewer.md
rename to plugins/voyage/agents/brief-reviewer.md
diff --git a/plugins/ultraplan-local/agents/code-correctness-reviewer.md b/plugins/voyage/agents/code-correctness-reviewer.md
similarity index 100%
rename from plugins/ultraplan-local/agents/code-correctness-reviewer.md
rename to plugins/voyage/agents/code-correctness-reviewer.md
diff --git a/plugins/ultraplan-local/agents/community-researcher.md b/plugins/voyage/agents/community-researcher.md
similarity index 100%
rename from plugins/ultraplan-local/agents/community-researcher.md
rename to plugins/voyage/agents/community-researcher.md
diff --git a/plugins/ultraplan-local/agents/contrarian-researcher.md b/plugins/voyage/agents/contrarian-researcher.md
similarity index 100%
rename from plugins/ultraplan-local/agents/contrarian-researcher.md
rename to plugins/voyage/agents/contrarian-researcher.md
diff --git a/plugins/ultraplan-local/agents/convention-scanner.md b/plugins/voyage/agents/convention-scanner.md
similarity index 100%
rename from plugins/ultraplan-local/agents/convention-scanner.md
rename to plugins/voyage/agents/convention-scanner.md
diff --git a/plugins/ultraplan-local/agents/dependency-tracer.md b/plugins/voyage/agents/dependency-tracer.md
similarity index 100%
rename from plugins/ultraplan-local/agents/dependency-tracer.md
rename to plugins/voyage/agents/dependency-tracer.md
diff --git a/plugins/ultraplan-local/agents/docs-researcher.md b/plugins/voyage/agents/docs-researcher.md
similarity index 100%
rename from plugins/ultraplan-local/agents/docs-researcher.md
rename to plugins/voyage/agents/docs-researcher.md
diff --git a/plugins/ultraplan-local/agents/gemini-bridge.md b/plugins/voyage/agents/gemini-bridge.md
similarity index 100%
rename from plugins/ultraplan-local/agents/gemini-bridge.md
rename to plugins/voyage/agents/gemini-bridge.md
diff --git a/plugins/ultraplan-local/agents/git-historian.md b/plugins/voyage/agents/git-historian.md
similarity index 100%
rename from plugins/ultraplan-local/agents/git-historian.md
rename to plugins/voyage/agents/git-historian.md
diff --git a/plugins/ultraplan-local/agents/plan-critic.md b/plugins/voyage/agents/plan-critic.md
similarity index 100%
rename from plugins/ultraplan-local/agents/plan-critic.md
rename to plugins/voyage/agents/plan-critic.md
diff --git a/plugins/ultraplan-local/agents/planning-orchestrator.md b/plugins/voyage/agents/planning-orchestrator.md
similarity index 100%
rename from plugins/ultraplan-local/agents/planning-orchestrator.md
rename to plugins/voyage/agents/planning-orchestrator.md
diff --git a/plugins/ultraplan-local/agents/research-orchestrator.md b/plugins/voyage/agents/research-orchestrator.md
similarity index 100%
rename from plugins/ultraplan-local/agents/research-orchestrator.md
rename to plugins/voyage/agents/research-orchestrator.md
diff --git a/plugins/ultraplan-local/agents/research-scout.md b/plugins/voyage/agents/research-scout.md
similarity index 100%
rename from plugins/ultraplan-local/agents/research-scout.md
rename to plugins/voyage/agents/research-scout.md
diff --git a/plugins/ultraplan-local/agents/review-coordinator.md b/plugins/voyage/agents/review-coordinator.md
similarity index 100%
rename from plugins/ultraplan-local/agents/review-coordinator.md
rename to plugins/voyage/agents/review-coordinator.md
diff --git a/plugins/ultraplan-local/agents/review-orchestrator.md b/plugins/voyage/agents/review-orchestrator.md
similarity index 100%
rename from plugins/ultraplan-local/agents/review-orchestrator.md
rename to plugins/voyage/agents/review-orchestrator.md
diff --git a/plugins/ultraplan-local/agents/risk-assessor.md b/plugins/voyage/agents/risk-assessor.md
similarity index 100%
rename from plugins/ultraplan-local/agents/risk-assessor.md
rename to plugins/voyage/agents/risk-assessor.md
diff --git a/plugins/ultraplan-local/agents/scope-guardian.md b/plugins/voyage/agents/scope-guardian.md
similarity index 100%
rename from plugins/ultraplan-local/agents/scope-guardian.md
rename to plugins/voyage/agents/scope-guardian.md
diff --git a/plugins/ultraplan-local/agents/security-researcher.md b/plugins/voyage/agents/security-researcher.md
similarity index 100%
rename from plugins/ultraplan-local/agents/security-researcher.md
rename to plugins/voyage/agents/security-researcher.md
diff --git a/plugins/ultraplan-local/agents/session-decomposer.md b/plugins/voyage/agents/session-decomposer.md
similarity index 100%
rename from plugins/ultraplan-local/agents/session-decomposer.md
rename to plugins/voyage/agents/session-decomposer.md
diff --git a/plugins/ultraplan-local/agents/task-finder.md b/plugins/voyage/agents/task-finder.md
similarity index 100%
rename from plugins/ultraplan-local/agents/task-finder.md
rename to plugins/voyage/agents/task-finder.md
diff --git a/plugins/ultraplan-local/agents/test-strategist.md b/plugins/voyage/agents/test-strategist.md
similarity index 100%
rename from plugins/ultraplan-local/agents/test-strategist.md
rename to plugins/voyage/agents/test-strategist.md
diff --git a/plugins/ultraplan-local/commands/trekbrief.md b/plugins/voyage/commands/trekbrief.md
similarity index 100%
rename from plugins/ultraplan-local/commands/trekbrief.md
rename to plugins/voyage/commands/trekbrief.md
diff --git a/plugins/ultraplan-local/commands/trekcontinue.md b/plugins/voyage/commands/trekcontinue.md
similarity index 100%
rename from plugins/ultraplan-local/commands/trekcontinue.md
rename to plugins/voyage/commands/trekcontinue.md
diff --git a/plugins/ultraplan-local/commands/trekendsession.md b/plugins/voyage/commands/trekendsession.md
similarity index 100%
rename from plugins/ultraplan-local/commands/trekendsession.md
rename to plugins/voyage/commands/trekendsession.md
diff --git a/plugins/ultraplan-local/commands/trekexecute.md b/plugins/voyage/commands/trekexecute.md
similarity index 100%
rename from plugins/ultraplan-local/commands/trekexecute.md
rename to plugins/voyage/commands/trekexecute.md
diff --git a/plugins/ultraplan-local/commands/trekplan.md b/plugins/voyage/commands/trekplan.md
similarity index 100%
rename from plugins/ultraplan-local/commands/trekplan.md
rename to plugins/voyage/commands/trekplan.md
diff --git a/plugins/ultraplan-local/commands/trekresearch.md b/plugins/voyage/commands/trekresearch.md
similarity index 100%
rename from plugins/ultraplan-local/commands/trekresearch.md
rename to plugins/voyage/commands/trekresearch.md
diff --git a/plugins/ultraplan-local/commands/trekreview.md b/plugins/voyage/commands/trekreview.md
similarity index 100%
rename from plugins/ultraplan-local/commands/trekreview.md
rename to plugins/voyage/commands/trekreview.md
diff --git a/plugins/ultraplan-local/docs/HANDOVER-CONTRACTS.md b/plugins/voyage/docs/HANDOVER-CONTRACTS.md
similarity index 100%
rename from plugins/ultraplan-local/docs/HANDOVER-CONTRACTS.md
rename to plugins/voyage/docs/HANDOVER-CONTRACTS.md
diff --git a/plugins/ultraplan-local/docs/subagent-delegation-audit.md b/plugins/voyage/docs/subagent-delegation-audit.md
similarity index 100%
rename from plugins/ultraplan-local/docs/subagent-delegation-audit.md
rename to plugins/voyage/docs/subagent-delegation-audit.md
diff --git a/plugins/ultraplan-local/examples/01-add-verbose-flag/REGENERATED.md b/plugins/voyage/examples/01-add-verbose-flag/REGENERATED.md
similarity index 100%
rename from plugins/ultraplan-local/examples/01-add-verbose-flag/REGENERATED.md
rename to plugins/voyage/examples/01-add-verbose-flag/REGENERATED.md
diff --git a/plugins/ultraplan-local/examples/01-add-verbose-flag/brief.md b/plugins/voyage/examples/01-add-verbose-flag/brief.md
similarity index 100%
rename from plugins/ultraplan-local/examples/01-add-verbose-flag/brief.md
rename to plugins/voyage/examples/01-add-verbose-flag/brief.md
diff --git a/plugins/ultraplan-local/examples/01-add-verbose-flag/plan.md b/plugins/voyage/examples/01-add-verbose-flag/plan.md
similarity index 100%
rename from plugins/ultraplan-local/examples/01-add-verbose-flag/plan.md
rename to plugins/voyage/examples/01-add-verbose-flag/plan.md
diff --git a/plugins/ultraplan-local/examples/01-add-verbose-flag/progress.json b/plugins/voyage/examples/01-add-verbose-flag/progress.json
similarity index 100%
rename from plugins/ultraplan-local/examples/01-add-verbose-flag/progress.json
rename to plugins/voyage/examples/01-add-verbose-flag/progress.json
diff --git a/plugins/ultraplan-local/examples/01-add-verbose-flag/research/01-cli-parser-conventions.md b/plugins/voyage/examples/01-add-verbose-flag/research/01-cli-parser-conventions.md
similarity index 100%
rename from plugins/ultraplan-local/examples/01-add-verbose-flag/research/01-cli-parser-conventions.md
rename to plugins/voyage/examples/01-add-verbose-flag/research/01-cli-parser-conventions.md
diff --git a/plugins/ultraplan-local/examples/02-real-cli/REGENERATED.md b/plugins/voyage/examples/02-real-cli/REGENERATED.md
similarity index 100%
rename from plugins/ultraplan-local/examples/02-real-cli/REGENERATED.md
rename to plugins/voyage/examples/02-real-cli/REGENERATED.md
diff --git a/plugins/ultraplan-local/examples/02-real-cli/fixtures/poem.txt b/plugins/voyage/examples/02-real-cli/fixtures/poem.txt
similarity index 100%
rename from plugins/ultraplan-local/examples/02-real-cli/fixtures/poem.txt
rename to plugins/voyage/examples/02-real-cli/fixtures/poem.txt
diff --git a/plugins/ultraplan-local/examples/02-real-cli/fixtures/sample.txt b/plugins/voyage/examples/02-real-cli/fixtures/sample.txt
similarity index 100%
rename from plugins/ultraplan-local/examples/02-real-cli/fixtures/sample.txt
rename to plugins/voyage/examples/02-real-cli/fixtures/sample.txt
diff --git a/plugins/ultraplan-local/examples/02-real-cli/tally.mjs b/plugins/voyage/examples/02-real-cli/tally.mjs
similarity index 100%
rename from plugins/ultraplan-local/examples/02-real-cli/tally.mjs
rename to plugins/voyage/examples/02-real-cli/tally.mjs
diff --git a/plugins/ultraplan-local/examples/02-real-cli/tests/tally.test.mjs b/plugins/voyage/examples/02-real-cli/tests/tally.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/examples/02-real-cli/tests/tally.test.mjs
rename to plugins/voyage/examples/02-real-cli/tests/tally.test.mjs
diff --git a/plugins/ultraplan-local/examples/README.md b/plugins/voyage/examples/README.md
similarity index 100%
rename from plugins/ultraplan-local/examples/README.md
rename to plugins/voyage/examples/README.md
diff --git a/plugins/ultraplan-local/hooks/hooks.json b/plugins/voyage/hooks/hooks.json
similarity index 100%
rename from plugins/ultraplan-local/hooks/hooks.json
rename to plugins/voyage/hooks/hooks.json
diff --git a/plugins/ultraplan-local/hooks/scripts/post-bash-stats.mjs b/plugins/voyage/hooks/scripts/post-bash-stats.mjs
similarity index 100%
rename from plugins/ultraplan-local/hooks/scripts/post-bash-stats.mjs
rename to plugins/voyage/hooks/scripts/post-bash-stats.mjs
diff --git a/plugins/ultraplan-local/hooks/scripts/post-compact-flush.mjs b/plugins/voyage/hooks/scripts/post-compact-flush.mjs
similarity index 100%
rename from plugins/ultraplan-local/hooks/scripts/post-compact-flush.mjs
rename to plugins/voyage/hooks/scripts/post-compact-flush.mjs
diff --git a/plugins/ultraplan-local/hooks/scripts/pre-bash-executor.mjs b/plugins/voyage/hooks/scripts/pre-bash-executor.mjs
similarity index 100%
rename from plugins/ultraplan-local/hooks/scripts/pre-bash-executor.mjs
rename to plugins/voyage/hooks/scripts/pre-bash-executor.mjs
diff --git a/plugins/ultraplan-local/hooks/scripts/pre-compact-flush.mjs b/plugins/voyage/hooks/scripts/pre-compact-flush.mjs
similarity index 100%
rename from plugins/ultraplan-local/hooks/scripts/pre-compact-flush.mjs
rename to plugins/voyage/hooks/scripts/pre-compact-flush.mjs
diff --git a/plugins/ultraplan-local/hooks/scripts/pre-write-executor.mjs b/plugins/voyage/hooks/scripts/pre-write-executor.mjs
similarity index 100%
rename from plugins/ultraplan-local/hooks/scripts/pre-write-executor.mjs
rename to plugins/voyage/hooks/scripts/pre-write-executor.mjs
diff --git a/plugins/ultraplan-local/hooks/scripts/session-title.mjs b/plugins/voyage/hooks/scripts/session-title.mjs
similarity index 100%
rename from plugins/ultraplan-local/hooks/scripts/session-title.mjs
rename to plugins/voyage/hooks/scripts/session-title.mjs
diff --git a/plugins/ultraplan-local/lib/parsers/arg-parser.mjs b/plugins/voyage/lib/parsers/arg-parser.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/parsers/arg-parser.mjs
rename to plugins/voyage/lib/parsers/arg-parser.mjs
diff --git a/plugins/ultraplan-local/lib/parsers/bash-normalize.mjs b/plugins/voyage/lib/parsers/bash-normalize.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/parsers/bash-normalize.mjs
rename to plugins/voyage/lib/parsers/bash-normalize.mjs
diff --git a/plugins/ultraplan-local/lib/parsers/finding-id.mjs b/plugins/voyage/lib/parsers/finding-id.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/parsers/finding-id.mjs
rename to plugins/voyage/lib/parsers/finding-id.mjs
diff --git a/plugins/ultraplan-local/lib/parsers/jaccard.mjs b/plugins/voyage/lib/parsers/jaccard.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/parsers/jaccard.mjs
rename to plugins/voyage/lib/parsers/jaccard.mjs
diff --git a/plugins/ultraplan-local/lib/parsers/manifest-yaml.mjs b/plugins/voyage/lib/parsers/manifest-yaml.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/parsers/manifest-yaml.mjs
rename to plugins/voyage/lib/parsers/manifest-yaml.mjs
diff --git a/plugins/ultraplan-local/lib/parsers/plan-schema.mjs b/plugins/voyage/lib/parsers/plan-schema.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/parsers/plan-schema.mjs
rename to plugins/voyage/lib/parsers/plan-schema.mjs
diff --git a/plugins/ultraplan-local/lib/parsers/project-discovery.mjs b/plugins/voyage/lib/parsers/project-discovery.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/parsers/project-discovery.mjs
rename to plugins/voyage/lib/parsers/project-discovery.mjs
diff --git a/plugins/ultraplan-local/lib/review/plan-review-dedup.mjs b/plugins/voyage/lib/review/plan-review-dedup.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/review/plan-review-dedup.mjs
rename to plugins/voyage/lib/review/plan-review-dedup.mjs
diff --git a/plugins/ultraplan-local/lib/review/rule-catalogue.mjs b/plugins/voyage/lib/review/rule-catalogue.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/review/rule-catalogue.mjs
rename to plugins/voyage/lib/review/rule-catalogue.mjs
diff --git a/plugins/ultraplan-local/lib/stats/cache-analyzer.mjs b/plugins/voyage/lib/stats/cache-analyzer.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/stats/cache-analyzer.mjs
rename to plugins/voyage/lib/stats/cache-analyzer.mjs
diff --git a/plugins/ultraplan-local/lib/stats/event-emit.mjs b/plugins/voyage/lib/stats/event-emit.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/stats/event-emit.mjs
rename to plugins/voyage/lib/stats/event-emit.mjs
diff --git a/plugins/ultraplan-local/lib/util/atomic-write.mjs b/plugins/voyage/lib/util/atomic-write.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/util/atomic-write.mjs
rename to plugins/voyage/lib/util/atomic-write.mjs
diff --git a/plugins/ultraplan-local/lib/util/autonomy-gate.mjs b/plugins/voyage/lib/util/autonomy-gate.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/util/autonomy-gate.mjs
rename to plugins/voyage/lib/util/autonomy-gate.mjs
diff --git a/plugins/ultraplan-local/lib/util/cleanup.mjs b/plugins/voyage/lib/util/cleanup.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/util/cleanup.mjs
rename to plugins/voyage/lib/util/cleanup.mjs
diff --git a/plugins/ultraplan-local/lib/util/frontmatter.mjs b/plugins/voyage/lib/util/frontmatter.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/util/frontmatter.mjs
rename to plugins/voyage/lib/util/frontmatter.mjs
diff --git a/plugins/ultraplan-local/lib/util/result.mjs b/plugins/voyage/lib/util/result.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/util/result.mjs
rename to plugins/voyage/lib/util/result.mjs
diff --git a/plugins/ultraplan-local/lib/validators/architecture-discovery.mjs b/plugins/voyage/lib/validators/architecture-discovery.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/validators/architecture-discovery.mjs
rename to plugins/voyage/lib/validators/architecture-discovery.mjs
diff --git a/plugins/ultraplan-local/lib/validators/brief-validator.mjs b/plugins/voyage/lib/validators/brief-validator.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/validators/brief-validator.mjs
rename to plugins/voyage/lib/validators/brief-validator.mjs
diff --git a/plugins/ultraplan-local/lib/validators/next-session-prompt-validator.mjs b/plugins/voyage/lib/validators/next-session-prompt-validator.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/validators/next-session-prompt-validator.mjs
rename to plugins/voyage/lib/validators/next-session-prompt-validator.mjs
diff --git a/plugins/ultraplan-local/lib/validators/plan-validator.mjs b/plugins/voyage/lib/validators/plan-validator.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/validators/plan-validator.mjs
rename to plugins/voyage/lib/validators/plan-validator.mjs
diff --git a/plugins/ultraplan-local/lib/validators/progress-validator.mjs b/plugins/voyage/lib/validators/progress-validator.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/validators/progress-validator.mjs
rename to plugins/voyage/lib/validators/progress-validator.mjs
diff --git a/plugins/ultraplan-local/lib/validators/research-validator.mjs b/plugins/voyage/lib/validators/research-validator.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/validators/research-validator.mjs
rename to plugins/voyage/lib/validators/research-validator.mjs
diff --git a/plugins/ultraplan-local/lib/validators/review-validator.mjs b/plugins/voyage/lib/validators/review-validator.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/validators/review-validator.mjs
rename to plugins/voyage/lib/validators/review-validator.mjs
diff --git a/plugins/ultraplan-local/lib/validators/session-state-validator.mjs b/plugins/voyage/lib/validators/session-state-validator.mjs
similarity index 100%
rename from plugins/ultraplan-local/lib/validators/session-state-validator.mjs
rename to plugins/voyage/lib/validators/session-state-validator.mjs
diff --git a/plugins/ultraplan-local/package.json b/plugins/voyage/package.json
similarity index 100%
rename from plugins/ultraplan-local/package.json
rename to plugins/voyage/package.json
diff --git a/plugins/ultraplan-local/scripts/q3-cache-prefix-experiment.mjs b/plugins/voyage/scripts/q3-cache-prefix-experiment.mjs
similarity index 100%
rename from plugins/ultraplan-local/scripts/q3-cache-prefix-experiment.mjs
rename to plugins/voyage/scripts/q3-cache-prefix-experiment.mjs
diff --git a/plugins/ultraplan-local/settings.json b/plugins/voyage/settings.json
similarity index 100%
rename from plugins/ultraplan-local/settings.json
rename to plugins/voyage/settings.json
diff --git a/plugins/ultraplan-local/templates/headless-launch-template.md b/plugins/voyage/templates/headless-launch-template.md
similarity index 100%
rename from plugins/ultraplan-local/templates/headless-launch-template.md
rename to plugins/voyage/templates/headless-launch-template.md
diff --git a/plugins/ultraplan-local/templates/plan-template.md b/plugins/voyage/templates/plan-template.md
similarity index 100%
rename from plugins/ultraplan-local/templates/plan-template.md
rename to plugins/voyage/templates/plan-template.md
diff --git a/plugins/ultraplan-local/templates/research-brief-template.md b/plugins/voyage/templates/research-brief-template.md
similarity index 100%
rename from plugins/ultraplan-local/templates/research-brief-template.md
rename to plugins/voyage/templates/research-brief-template.md
diff --git a/plugins/ultraplan-local/templates/session-spec-template.md b/plugins/voyage/templates/session-spec-template.md
similarity index 100%
rename from plugins/ultraplan-local/templates/session-spec-template.md
rename to plugins/voyage/templates/session-spec-template.md
diff --git a/plugins/ultraplan-local/templates/spec-template.md b/plugins/voyage/templates/spec-template.md
similarity index 100%
rename from plugins/ultraplan-local/templates/spec-template.md
rename to plugins/voyage/templates/spec-template.md
diff --git a/plugins/ultraplan-local/templates/trekbrief-template.md b/plugins/voyage/templates/trekbrief-template.md
similarity index 100%
rename from plugins/ultraplan-local/templates/trekbrief-template.md
rename to plugins/voyage/templates/trekbrief-template.md
diff --git a/plugins/ultraplan-local/templates/trekreview-template.md b/plugins/voyage/templates/trekreview-template.md
similarity index 100%
rename from plugins/ultraplan-local/templates/trekreview-template.md
rename to plugins/voyage/templates/trekreview-template.md
diff --git a/plugins/ultraplan-local/tests/commands/trekcontinue.test.mjs b/plugins/voyage/tests/commands/trekcontinue.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/commands/trekcontinue.test.mjs
rename to plugins/voyage/tests/commands/trekcontinue.test.mjs
diff --git a/plugins/ultraplan-local/tests/fixtures/plan-fase-narrative.md b/plugins/voyage/tests/fixtures/plan-fase-narrative.md
similarity index 100%
rename from plugins/ultraplan-local/tests/fixtures/plan-fase-narrative.md
rename to plugins/voyage/tests/fixtures/plan-fase-narrative.md
diff --git a/plugins/ultraplan-local/tests/fixtures/session-state/malformed.json b/plugins/voyage/tests/fixtures/session-state/malformed.json
similarity index 100%
rename from plugins/ultraplan-local/tests/fixtures/session-state/malformed.json
rename to plugins/voyage/tests/fixtures/session-state/malformed.json
diff --git a/plugins/ultraplan-local/tests/fixtures/session-state/valid-in-progress.json b/plugins/voyage/tests/fixtures/session-state/valid-in-progress.json
similarity index 100%
rename from plugins/ultraplan-local/tests/fixtures/session-state/valid-in-progress.json
rename to plugins/voyage/tests/fixtures/session-state/valid-in-progress.json
diff --git a/plugins/ultraplan-local/tests/fixtures/trekreview/README.md b/plugins/voyage/tests/fixtures/trekreview/README.md
similarity index 100%
rename from plugins/ultraplan-local/tests/fixtures/trekreview/README.md
rename to plugins/voyage/tests/fixtures/trekreview/README.md
diff --git a/plugins/ultraplan-local/tests/fixtures/trekreview/plan-with-source-findings.md b/plugins/voyage/tests/fixtures/trekreview/plan-with-source-findings.md
similarity index 100%
rename from plugins/ultraplan-local/tests/fixtures/trekreview/plan-with-source-findings.md
rename to plugins/voyage/tests/fixtures/trekreview/plan-with-source-findings.md
diff --git a/plugins/ultraplan-local/tests/fixtures/trekreview/review-run-A.md b/plugins/voyage/tests/fixtures/trekreview/review-run-A.md
similarity index 100%
rename from plugins/ultraplan-local/tests/fixtures/trekreview/review-run-A.md
rename to plugins/voyage/tests/fixtures/trekreview/review-run-A.md
diff --git a/plugins/ultraplan-local/tests/fixtures/trekreview/review-run-B.md b/plugins/voyage/tests/fixtures/trekreview/review-run-B.md
similarity index 100%
rename from plugins/ultraplan-local/tests/fixtures/trekreview/review-run-B.md
rename to plugins/voyage/tests/fixtures/trekreview/review-run-B.md
diff --git a/plugins/ultraplan-local/tests/helpers/hook-helper.mjs b/plugins/voyage/tests/helpers/hook-helper.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/helpers/hook-helper.mjs
rename to plugins/voyage/tests/helpers/hook-helper.mjs
diff --git a/plugins/ultraplan-local/tests/hooks/bash-guard.test.mjs b/plugins/voyage/tests/hooks/bash-guard.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/hooks/bash-guard.test.mjs
rename to plugins/voyage/tests/hooks/bash-guard.test.mjs
diff --git a/plugins/ultraplan-local/tests/hooks/path-guard.test.mjs b/plugins/voyage/tests/hooks/path-guard.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/hooks/path-guard.test.mjs
rename to plugins/voyage/tests/hooks/path-guard.test.mjs
diff --git a/plugins/ultraplan-local/tests/hooks/post-compact-flush.test.mjs b/plugins/voyage/tests/hooks/post-compact-flush.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/hooks/post-compact-flush.test.mjs
rename to plugins/voyage/tests/hooks/post-compact-flush.test.mjs
diff --git a/plugins/ultraplan-local/tests/hooks/worktree-guard.test.mjs b/plugins/voyage/tests/hooks/worktree-guard.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/hooks/worktree-guard.test.mjs
rename to plugins/voyage/tests/hooks/worktree-guard.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/agent-frontmatter.test.mjs b/plugins/voyage/tests/lib/agent-frontmatter.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/agent-frontmatter.test.mjs
rename to plugins/voyage/tests/lib/agent-frontmatter.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/arg-parser.test.mjs b/plugins/voyage/tests/lib/arg-parser.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/arg-parser.test.mjs
rename to plugins/voyage/tests/lib/arg-parser.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/atomic-write.test.mjs b/plugins/voyage/tests/lib/atomic-write.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/atomic-write.test.mjs
rename to plugins/voyage/tests/lib/atomic-write.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/autonomy-gate.test.mjs b/plugins/voyage/tests/lib/autonomy-gate.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/autonomy-gate.test.mjs
rename to plugins/voyage/tests/lib/autonomy-gate.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/bash-normalize.test.mjs b/plugins/voyage/tests/lib/bash-normalize.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/bash-normalize.test.mjs
rename to plugins/voyage/tests/lib/bash-normalize.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/cleanup.test.mjs b/plugins/voyage/tests/lib/cleanup.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/cleanup.test.mjs
rename to plugins/voyage/tests/lib/cleanup.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/doc-consistency.test.mjs b/plugins/voyage/tests/lib/doc-consistency.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/doc-consistency.test.mjs
rename to plugins/voyage/tests/lib/doc-consistency.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/finding-id.test.mjs b/plugins/voyage/tests/lib/finding-id.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/finding-id.test.mjs
rename to plugins/voyage/tests/lib/finding-id.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/frontmatter.test.mjs b/plugins/voyage/tests/lib/frontmatter.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/frontmatter.test.mjs
rename to plugins/voyage/tests/lib/frontmatter.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/gates-flag-coverage.test.mjs b/plugins/voyage/tests/lib/gates-flag-coverage.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/gates-flag-coverage.test.mjs
rename to plugins/voyage/tests/lib/gates-flag-coverage.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/jaccard.test.mjs b/plugins/voyage/tests/lib/jaccard.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/jaccard.test.mjs
rename to plugins/voyage/tests/lib/jaccard.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/main-merge-gate.test.mjs b/plugins/voyage/tests/lib/main-merge-gate.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/main-merge-gate.test.mjs
rename to plugins/voyage/tests/lib/main-merge-gate.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/manifest-schema-extensions.test.mjs b/plugins/voyage/tests/lib/manifest-schema-extensions.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/manifest-schema-extensions.test.mjs
rename to plugins/voyage/tests/lib/manifest-schema-extensions.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/manifest-yaml.test.mjs b/plugins/voyage/tests/lib/manifest-yaml.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/manifest-yaml.test.mjs
rename to plugins/voyage/tests/lib/manifest-yaml.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/plan-review-dedup.test.mjs b/plugins/voyage/tests/lib/plan-review-dedup.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/plan-review-dedup.test.mjs
rename to plugins/voyage/tests/lib/plan-review-dedup.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/plan-schema.test.mjs b/plugins/voyage/tests/lib/plan-schema.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/plan-schema.test.mjs
rename to plugins/voyage/tests/lib/plan-schema.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/project-discovery.test.mjs b/plugins/voyage/tests/lib/project-discovery.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/project-discovery.test.mjs
rename to plugins/voyage/tests/lib/project-discovery.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/review-determinism.test.mjs b/plugins/voyage/tests/lib/review-determinism.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/review-determinism.test.mjs
rename to plugins/voyage/tests/lib/review-determinism.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/rule-catalogue.test.mjs b/plugins/voyage/tests/lib/rule-catalogue.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/rule-catalogue.test.mjs
rename to plugins/voyage/tests/lib/rule-catalogue.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/source-findings.test.mjs b/plugins/voyage/tests/lib/source-findings.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/source-findings.test.mjs
rename to plugins/voyage/tests/lib/source-findings.test.mjs
diff --git a/plugins/ultraplan-local/tests/lib/stats-event-emit.test.mjs b/plugins/voyage/tests/lib/stats-event-emit.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/lib/stats-event-emit.test.mjs
rename to plugins/voyage/tests/lib/stats-event-emit.test.mjs
diff --git a/plugins/ultraplan-local/tests/synthetic/plan-determinism.test.mjs b/plugins/voyage/tests/synthetic/plan-determinism.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/synthetic/plan-determinism.test.mjs
rename to plugins/voyage/tests/synthetic/plan-determinism.test.mjs
diff --git a/plugins/ultraplan-local/tests/synthetic/plan-run-A.md b/plugins/voyage/tests/synthetic/plan-run-A.md
similarity index 100%
rename from plugins/ultraplan-local/tests/synthetic/plan-run-A.md
rename to plugins/voyage/tests/synthetic/plan-run-A.md
diff --git a/plugins/ultraplan-local/tests/synthetic/plan-run-B.md b/plugins/voyage/tests/synthetic/plan-run-B.md
similarity index 100%
rename from plugins/ultraplan-local/tests/synthetic/plan-run-B.md
rename to plugins/voyage/tests/synthetic/plan-run-B.md
diff --git a/plugins/ultraplan-local/tests/synthetic/review-determinism.test.mjs b/plugins/voyage/tests/synthetic/review-determinism.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/synthetic/review-determinism.test.mjs
rename to plugins/voyage/tests/synthetic/review-determinism.test.mjs
diff --git a/plugins/ultraplan-local/tests/synthetic/review-run-A.md b/plugins/voyage/tests/synthetic/review-run-A.md
similarity index 100%
rename from plugins/ultraplan-local/tests/synthetic/review-run-A.md
rename to plugins/voyage/tests/synthetic/review-run-A.md
diff --git a/plugins/ultraplan-local/tests/synthetic/review-run-B.md b/plugins/voyage/tests/synthetic/review-run-B.md
similarity index 100%
rename from plugins/ultraplan-local/tests/synthetic/review-run-B.md
rename to plugins/voyage/tests/synthetic/review-run-B.md
diff --git a/plugins/ultraplan-local/tests/validators/architecture-discovery.test.mjs b/plugins/voyage/tests/validators/architecture-discovery.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/validators/architecture-discovery.test.mjs
rename to plugins/voyage/tests/validators/architecture-discovery.test.mjs
diff --git a/plugins/ultraplan-local/tests/validators/brief-validator.test.mjs b/plugins/voyage/tests/validators/brief-validator.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/validators/brief-validator.test.mjs
rename to plugins/voyage/tests/validators/brief-validator.test.mjs
diff --git a/plugins/ultraplan-local/tests/validators/next-session-prompt-validator.test.mjs b/plugins/voyage/tests/validators/next-session-prompt-validator.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/validators/next-session-prompt-validator.test.mjs
rename to plugins/voyage/tests/validators/next-session-prompt-validator.test.mjs
diff --git a/plugins/ultraplan-local/tests/validators/plan-validator.test.mjs b/plugins/voyage/tests/validators/plan-validator.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/validators/plan-validator.test.mjs
rename to plugins/voyage/tests/validators/plan-validator.test.mjs
diff --git a/plugins/ultraplan-local/tests/validators/progress-validator.test.mjs b/plugins/voyage/tests/validators/progress-validator.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/validators/progress-validator.test.mjs
rename to plugins/voyage/tests/validators/progress-validator.test.mjs
diff --git a/plugins/ultraplan-local/tests/validators/research-validator.test.mjs b/plugins/voyage/tests/validators/research-validator.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/validators/research-validator.test.mjs
rename to plugins/voyage/tests/validators/research-validator.test.mjs
diff --git a/plugins/ultraplan-local/tests/validators/review-validator.test.mjs b/plugins/voyage/tests/validators/review-validator.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/validators/review-validator.test.mjs
rename to plugins/voyage/tests/validators/review-validator.test.mjs
diff --git a/plugins/ultraplan-local/tests/validators/session-state-validator.test.mjs b/plugins/voyage/tests/validators/session-state-validator.test.mjs
similarity index 100%
rename from plugins/ultraplan-local/tests/validators/session-state-validator.test.mjs
rename to plugins/voyage/tests/validators/session-state-validator.test.mjs
diff --git a/plugins/ultraplan-local/verify.sh b/plugins/voyage/verify.sh
similarity index 92%
rename from plugins/ultraplan-local/verify.sh
rename to plugins/voyage/verify.sh
index f6db3c2..08f9f9a 100755
--- a/plugins/ultraplan-local/verify.sh
+++ b/plugins/voyage/verify.sh
@@ -46,10 +46,7 @@ tracked_sources() {
'*.md' '*.mjs' '*.json' '*.sh' '*.yml' '*.yaml' 2>/dev/null
}
-# Per-file ultra/-local check. Special-cases .claude-plugin/plugin.json:
-# its homepage/repository URLs preserve the legacy "ultraplan-local" path
-# through Session 5 to avoid a 404 window during the Forgejo directory
-# rename. Session 5 will close this exception.
+# Per-file ultra/-local check.
#
# SC2 uses a refined pattern that matches `/cmd-local` command suffixes
# but NOT the `--local` CLI flag (legitimate `/trekresearch --local` mode).
@@ -59,12 +56,6 @@ file_has_forbidden_match() {
if [ "$pattern" = "-local" ]; then
resolved='/[a-zA-Z0-9_-]+-local'
fi
- if [ "$f" = ".claude-plugin/plugin.json" ]; then
- grep -E -- "$resolved" "$f" 2>/dev/null \
- | grep -v -E '"(homepage|repository)":' \
- | grep -q .
- return $?
- fi
grep -q -E -- "$resolved" "$f" 2>/dev/null
}