From 7a90d348ad4e9b55f5e3242171b38d0e134c7e99 Mon Sep 17 00:00:00 2001 From: Kjell Tore Guttormsen Date: Tue, 5 May 2026 15:37:52 +0200 Subject: [PATCH] =?UTF-8?q?feat(voyage)!:=20marketplace=20handoff=20?= =?UTF-8?q?=E2=80=94=20rename=20plugins/ultraplan-local=20to=20plugins/voy?= =?UTF-8?q?age=20[skip-docs]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Session 5 of voyage-rebrand (V6). Operator-authorized cross-plugin scope. - git mv plugins/ultraplan-local plugins/voyage (rename detected, history preserved) - .claude-plugin/marketplace.json: voyage entry replaces ultraplan-local - CLAUDE.md: voyage row in plugin list, voyage in design-system consumer list - README.md: bulk rename ultra*-local commands -> trek* commands; ultraplan-local refs -> voyage; type discriminators (type: trekbrief/trekreview); session-title pattern (voyage::); v4.0.0 release-note paragraph - plugins/voyage/.claude-plugin/plugin.json: homepage/repository URLs point to monorepo voyage path - plugins/voyage/verify.sh: drop URL whitelist exception (no longer needed) Closes voyage-rebrand. bash plugins/voyage/verify.sh PASS 7/7. npm test 361/361. --- .claude-plugin/marketplace.json | 6 ++-- CLAUDE.md | 4 +-- README.md | 34 ++++++++++--------- .../.claude-plugin/plugin.json | 4 +-- .../.forgejo/ISSUE_TEMPLATE/bug_report.yaml | 0 .../ISSUE_TEMPLATE/feature_request.yaml | 0 .../{ultraplan-local => voyage}/.gitignore | 0 .../{ultraplan-local => voyage}/CHANGELOG.md | 0 plugins/{ultraplan-local => voyage}/CLAUDE.md | 0 .../CONTRIBUTING.md | 0 .../{ultraplan-local => voyage}/GOVERNANCE.md | 0 plugins/{ultraplan-local => voyage}/LICENSE | 0 .../{ultraplan-local => voyage}/MIGRATION.md | 0 plugins/{ultraplan-local => voyage}/README.md | 0 .../{ultraplan-local => voyage}/SECURITY.md | 0 .../{ultraplan-local => voyage}/TRADEMARKS.md | 0 .../agents/architecture-mapper.md | 0 .../agents/brief-conformance-reviewer.md | 0 .../agents/brief-reviewer.md | 0 .../agents/code-correctness-reviewer.md | 0 .../agents/community-researcher.md | 0 .../agents/contrarian-researcher.md | 0 .../agents/convention-scanner.md | 0 .../agents/dependency-tracer.md | 0 .../agents/docs-researcher.md | 0 .../agents/gemini-bridge.md | 0 .../agents/git-historian.md | 0 .../agents/plan-critic.md | 0 .../agents/planning-orchestrator.md | 0 .../agents/research-orchestrator.md | 0 .../agents/research-scout.md | 0 .../agents/review-coordinator.md | 0 .../agents/review-orchestrator.md | 0 .../agents/risk-assessor.md | 0 .../agents/scope-guardian.md | 0 .../agents/security-researcher.md | 0 .../agents/session-decomposer.md | 0 .../agents/task-finder.md | 0 .../agents/test-strategist.md | 0 .../commands/trekbrief.md | 0 .../commands/trekcontinue.md | 0 .../commands/trekendsession.md | 0 .../commands/trekexecute.md | 0 .../commands/trekplan.md | 0 .../commands/trekresearch.md | 0 .../commands/trekreview.md | 0 .../docs/HANDOVER-CONTRACTS.md | 0 .../docs/subagent-delegation-audit.md | 0 .../01-add-verbose-flag/REGENERATED.md | 0 .../examples/01-add-verbose-flag/brief.md | 0 .../examples/01-add-verbose-flag/plan.md | 0 .../01-add-verbose-flag/progress.json | 0 .../research/01-cli-parser-conventions.md | 0 .../examples/02-real-cli/REGENERATED.md | 0 .../examples/02-real-cli/fixtures/poem.txt | 0 .../examples/02-real-cli/fixtures/sample.txt | 0 .../examples/02-real-cli/tally.mjs | 0 .../examples/02-real-cli/tests/tally.test.mjs | 0 .../examples/README.md | 0 .../hooks/hooks.json | 0 .../hooks/scripts/post-bash-stats.mjs | 0 .../hooks/scripts/post-compact-flush.mjs | 0 .../hooks/scripts/pre-bash-executor.mjs | 0 .../hooks/scripts/pre-compact-flush.mjs | 0 .../hooks/scripts/pre-write-executor.mjs | 0 .../hooks/scripts/session-title.mjs | 0 .../lib/parsers/arg-parser.mjs | 0 .../lib/parsers/bash-normalize.mjs | 0 .../lib/parsers/finding-id.mjs | 0 .../lib/parsers/jaccard.mjs | 0 .../lib/parsers/manifest-yaml.mjs | 0 .../lib/parsers/plan-schema.mjs | 0 .../lib/parsers/project-discovery.mjs | 0 .../lib/review/plan-review-dedup.mjs | 0 .../lib/review/rule-catalogue.mjs | 0 .../lib/stats/cache-analyzer.mjs | 0 .../lib/stats/event-emit.mjs | 0 .../lib/util/atomic-write.mjs | 0 .../lib/util/autonomy-gate.mjs | 0 .../lib/util/cleanup.mjs | 0 .../lib/util/frontmatter.mjs | 0 .../lib/util/result.mjs | 0 .../lib/validators/architecture-discovery.mjs | 0 .../lib/validators/brief-validator.mjs | 0 .../next-session-prompt-validator.mjs | 0 .../lib/validators/plan-validator.mjs | 0 .../lib/validators/progress-validator.mjs | 0 .../lib/validators/research-validator.mjs | 0 .../lib/validators/review-validator.mjs | 0 .../validators/session-state-validator.mjs | 0 .../{ultraplan-local => voyage}/package.json | 0 .../scripts/q3-cache-prefix-experiment.mjs | 0 .../{ultraplan-local => voyage}/settings.json | 0 .../templates/headless-launch-template.md | 0 .../templates/plan-template.md | 0 .../templates/research-brief-template.md | 0 .../templates/session-spec-template.md | 0 .../templates/spec-template.md | 0 .../templates/trekbrief-template.md | 0 .../templates/trekreview-template.md | 0 .../tests/commands/trekcontinue.test.mjs | 0 .../tests/fixtures/plan-fase-narrative.md | 0 .../fixtures/session-state/malformed.json | 0 .../session-state/valid-in-progress.json | 0 .../tests/fixtures/trekreview/README.md | 0 .../trekreview/plan-with-source-findings.md | 0 .../tests/fixtures/trekreview/review-run-A.md | 0 .../tests/fixtures/trekreview/review-run-B.md | 0 .../tests/helpers/hook-helper.mjs | 0 .../tests/hooks/bash-guard.test.mjs | 0 .../tests/hooks/path-guard.test.mjs | 0 .../tests/hooks/post-compact-flush.test.mjs | 0 .../tests/hooks/worktree-guard.test.mjs | 0 .../tests/lib/agent-frontmatter.test.mjs | 0 .../tests/lib/arg-parser.test.mjs | 0 .../tests/lib/atomic-write.test.mjs | 0 .../tests/lib/autonomy-gate.test.mjs | 0 .../tests/lib/bash-normalize.test.mjs | 0 .../tests/lib/cleanup.test.mjs | 0 .../tests/lib/doc-consistency.test.mjs | 0 .../tests/lib/finding-id.test.mjs | 0 .../tests/lib/frontmatter.test.mjs | 0 .../tests/lib/gates-flag-coverage.test.mjs | 0 .../tests/lib/jaccard.test.mjs | 0 .../tests/lib/main-merge-gate.test.mjs | 0 .../lib/manifest-schema-extensions.test.mjs | 0 .../tests/lib/manifest-yaml.test.mjs | 0 .../tests/lib/plan-review-dedup.test.mjs | 0 .../tests/lib/plan-schema.test.mjs | 0 .../tests/lib/project-discovery.test.mjs | 0 .../tests/lib/review-determinism.test.mjs | 0 .../tests/lib/rule-catalogue.test.mjs | 0 .../tests/lib/source-findings.test.mjs | 0 .../tests/lib/stats-event-emit.test.mjs | 0 .../tests/synthetic/plan-determinism.test.mjs | 0 .../tests/synthetic/plan-run-A.md | 0 .../tests/synthetic/plan-run-B.md | 0 .../synthetic/review-determinism.test.mjs | 0 .../tests/synthetic/review-run-A.md | 0 .../tests/synthetic/review-run-B.md | 0 .../architecture-discovery.test.mjs | 0 .../tests/validators/brief-validator.test.mjs | 0 .../next-session-prompt-validator.test.mjs | 0 .../tests/validators/plan-validator.test.mjs | 0 .../validators/progress-validator.test.mjs | 0 .../validators/research-validator.test.mjs | 0 .../validators/review-validator.test.mjs | 0 .../session-state-validator.test.mjs | 0 plugins/{ultraplan-local => voyage}/verify.sh | 11 +----- 149 files changed, 26 insertions(+), 33 deletions(-) rename plugins/{ultraplan-local => voyage}/.claude-plugin/plugin.json (67%) rename plugins/{ultraplan-local => voyage}/.forgejo/ISSUE_TEMPLATE/bug_report.yaml (100%) rename plugins/{ultraplan-local => voyage}/.forgejo/ISSUE_TEMPLATE/feature_request.yaml (100%) rename plugins/{ultraplan-local => voyage}/.gitignore (100%) rename plugins/{ultraplan-local => voyage}/CHANGELOG.md (100%) rename plugins/{ultraplan-local => voyage}/CLAUDE.md (100%) rename plugins/{ultraplan-local => voyage}/CONTRIBUTING.md (100%) rename plugins/{ultraplan-local => voyage}/GOVERNANCE.md (100%) rename plugins/{ultraplan-local => voyage}/LICENSE (100%) rename plugins/{ultraplan-local => voyage}/MIGRATION.md (100%) rename plugins/{ultraplan-local => voyage}/README.md (100%) rename plugins/{ultraplan-local => voyage}/SECURITY.md (100%) rename plugins/{ultraplan-local => voyage}/TRADEMARKS.md (100%) rename plugins/{ultraplan-local => voyage}/agents/architecture-mapper.md (100%) rename plugins/{ultraplan-local => voyage}/agents/brief-conformance-reviewer.md (100%) rename plugins/{ultraplan-local => voyage}/agents/brief-reviewer.md (100%) rename plugins/{ultraplan-local => voyage}/agents/code-correctness-reviewer.md (100%) rename plugins/{ultraplan-local => voyage}/agents/community-researcher.md (100%) rename plugins/{ultraplan-local => voyage}/agents/contrarian-researcher.md (100%) rename plugins/{ultraplan-local => voyage}/agents/convention-scanner.md (100%) rename plugins/{ultraplan-local => voyage}/agents/dependency-tracer.md (100%) rename plugins/{ultraplan-local => voyage}/agents/docs-researcher.md (100%) rename plugins/{ultraplan-local => voyage}/agents/gemini-bridge.md (100%) rename plugins/{ultraplan-local => voyage}/agents/git-historian.md (100%) rename plugins/{ultraplan-local => voyage}/agents/plan-critic.md (100%) rename plugins/{ultraplan-local => voyage}/agents/planning-orchestrator.md (100%) rename plugins/{ultraplan-local => voyage}/agents/research-orchestrator.md (100%) rename plugins/{ultraplan-local => voyage}/agents/research-scout.md (100%) rename plugins/{ultraplan-local => voyage}/agents/review-coordinator.md (100%) rename plugins/{ultraplan-local => voyage}/agents/review-orchestrator.md (100%) rename plugins/{ultraplan-local => voyage}/agents/risk-assessor.md (100%) rename plugins/{ultraplan-local => voyage}/agents/scope-guardian.md (100%) rename plugins/{ultraplan-local => voyage}/agents/security-researcher.md (100%) rename plugins/{ultraplan-local => voyage}/agents/session-decomposer.md (100%) rename plugins/{ultraplan-local => voyage}/agents/task-finder.md (100%) rename plugins/{ultraplan-local => voyage}/agents/test-strategist.md (100%) rename plugins/{ultraplan-local => voyage}/commands/trekbrief.md (100%) rename plugins/{ultraplan-local => voyage}/commands/trekcontinue.md (100%) rename plugins/{ultraplan-local => voyage}/commands/trekendsession.md (100%) rename plugins/{ultraplan-local => voyage}/commands/trekexecute.md (100%) rename plugins/{ultraplan-local => voyage}/commands/trekplan.md (100%) rename plugins/{ultraplan-local => voyage}/commands/trekresearch.md (100%) rename plugins/{ultraplan-local => voyage}/commands/trekreview.md (100%) rename plugins/{ultraplan-local => voyage}/docs/HANDOVER-CONTRACTS.md (100%) rename plugins/{ultraplan-local => voyage}/docs/subagent-delegation-audit.md (100%) rename plugins/{ultraplan-local => voyage}/examples/01-add-verbose-flag/REGENERATED.md (100%) rename plugins/{ultraplan-local => voyage}/examples/01-add-verbose-flag/brief.md (100%) rename plugins/{ultraplan-local => voyage}/examples/01-add-verbose-flag/plan.md (100%) rename plugins/{ultraplan-local => voyage}/examples/01-add-verbose-flag/progress.json (100%) rename plugins/{ultraplan-local => voyage}/examples/01-add-verbose-flag/research/01-cli-parser-conventions.md (100%) rename plugins/{ultraplan-local => voyage}/examples/02-real-cli/REGENERATED.md (100%) rename plugins/{ultraplan-local => voyage}/examples/02-real-cli/fixtures/poem.txt (100%) rename plugins/{ultraplan-local => voyage}/examples/02-real-cli/fixtures/sample.txt (100%) rename plugins/{ultraplan-local => voyage}/examples/02-real-cli/tally.mjs (100%) rename plugins/{ultraplan-local => voyage}/examples/02-real-cli/tests/tally.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/examples/README.md (100%) rename plugins/{ultraplan-local => voyage}/hooks/hooks.json (100%) rename plugins/{ultraplan-local => voyage}/hooks/scripts/post-bash-stats.mjs (100%) rename plugins/{ultraplan-local => voyage}/hooks/scripts/post-compact-flush.mjs (100%) rename plugins/{ultraplan-local => voyage}/hooks/scripts/pre-bash-executor.mjs (100%) rename plugins/{ultraplan-local => voyage}/hooks/scripts/pre-compact-flush.mjs (100%) rename plugins/{ultraplan-local => voyage}/hooks/scripts/pre-write-executor.mjs (100%) rename plugins/{ultraplan-local => voyage}/hooks/scripts/session-title.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/parsers/arg-parser.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/parsers/bash-normalize.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/parsers/finding-id.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/parsers/jaccard.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/parsers/manifest-yaml.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/parsers/plan-schema.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/parsers/project-discovery.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/review/plan-review-dedup.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/review/rule-catalogue.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/stats/cache-analyzer.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/stats/event-emit.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/util/atomic-write.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/util/autonomy-gate.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/util/cleanup.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/util/frontmatter.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/util/result.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/validators/architecture-discovery.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/validators/brief-validator.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/validators/next-session-prompt-validator.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/validators/plan-validator.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/validators/progress-validator.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/validators/research-validator.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/validators/review-validator.mjs (100%) rename plugins/{ultraplan-local => voyage}/lib/validators/session-state-validator.mjs (100%) rename plugins/{ultraplan-local => voyage}/package.json (100%) rename plugins/{ultraplan-local => voyage}/scripts/q3-cache-prefix-experiment.mjs (100%) rename plugins/{ultraplan-local => voyage}/settings.json (100%) rename plugins/{ultraplan-local => voyage}/templates/headless-launch-template.md (100%) rename plugins/{ultraplan-local => voyage}/templates/plan-template.md (100%) rename plugins/{ultraplan-local => voyage}/templates/research-brief-template.md (100%) rename plugins/{ultraplan-local => voyage}/templates/session-spec-template.md (100%) rename plugins/{ultraplan-local => voyage}/templates/spec-template.md (100%) rename plugins/{ultraplan-local => voyage}/templates/trekbrief-template.md (100%) rename plugins/{ultraplan-local => voyage}/templates/trekreview-template.md (100%) rename plugins/{ultraplan-local => voyage}/tests/commands/trekcontinue.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/fixtures/plan-fase-narrative.md (100%) rename plugins/{ultraplan-local => voyage}/tests/fixtures/session-state/malformed.json (100%) rename plugins/{ultraplan-local => voyage}/tests/fixtures/session-state/valid-in-progress.json (100%) rename plugins/{ultraplan-local => voyage}/tests/fixtures/trekreview/README.md (100%) rename plugins/{ultraplan-local => voyage}/tests/fixtures/trekreview/plan-with-source-findings.md (100%) rename plugins/{ultraplan-local => voyage}/tests/fixtures/trekreview/review-run-A.md (100%) rename plugins/{ultraplan-local => voyage}/tests/fixtures/trekreview/review-run-B.md (100%) rename plugins/{ultraplan-local => voyage}/tests/helpers/hook-helper.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/hooks/bash-guard.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/hooks/path-guard.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/hooks/post-compact-flush.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/hooks/worktree-guard.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/agent-frontmatter.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/arg-parser.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/atomic-write.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/autonomy-gate.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/bash-normalize.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/cleanup.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/doc-consistency.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/finding-id.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/frontmatter.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/gates-flag-coverage.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/jaccard.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/main-merge-gate.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/manifest-schema-extensions.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/manifest-yaml.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/plan-review-dedup.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/plan-schema.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/project-discovery.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/review-determinism.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/rule-catalogue.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/source-findings.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/lib/stats-event-emit.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/synthetic/plan-determinism.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/synthetic/plan-run-A.md (100%) rename plugins/{ultraplan-local => voyage}/tests/synthetic/plan-run-B.md (100%) rename plugins/{ultraplan-local => voyage}/tests/synthetic/review-determinism.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/synthetic/review-run-A.md (100%) rename plugins/{ultraplan-local => voyage}/tests/synthetic/review-run-B.md (100%) rename plugins/{ultraplan-local => voyage}/tests/validators/architecture-discovery.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/validators/brief-validator.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/validators/next-session-prompt-validator.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/validators/plan-validator.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/validators/progress-validator.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/validators/research-validator.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/validators/review-validator.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/tests/validators/session-state-validator.test.mjs (100%) rename plugins/{ultraplan-local => voyage}/verify.sh (92%) 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 }