-
v5.11.0 Stable
released this
2026-09-23 10:33:44 +00:00 | 260 commits to main since this releaseAdded
- Intent approval gate.
/trekplan(both--briefand--project, also
--quick, no override flag) runslib/validators/intent-approval.mjs --check
before it reads the brief. It halts onBRIEF_INTENT_NOT_APPROVED,
BRIEF_INTENT_APPROVAL_STALEorBRIEF_INTENT_APPROVAL_INVALID, and an
approval check that cannot run halts too. The marker isintent_approved_hash
(sha256 over the normalized## Intent+## Goal) plusintent_approved_at.
Editing either section after approval makes it stale./trekbriefPhase 4h
shows Intent and Goal verbatim and stamps only on "Approve".
/trekbrief --approve <project-dir | brief-file>does that step alone for a brief
from any producer. A##line inside a code block or HTML comment is not a
heading, and each section must appear exactly once. The marker is a trace that the
step ran against this text, not a signature: any session on the same machine can
stamp. scripts/yardstick.mjsprints Voyage's three numbers (use, trust,
interrupts) with the denominator and the source each one was read from. It
exits non-zero while any number cannot be counted, and today it is RED.scripts/end-state-gate.mjscounts the distance to "Voyage is finished"
(defects, experiments, dormant agents, open decisions). It is fail-closed: an
entry whose check cannot run counts as open.- Plugin eval suite (
evals/,docs/proevesett.md): eight cases run as
realclaude -pchildren with only Voyage loaded, deterministic graders,
and each expectation committed before its first run. Measured stability: every
case 5 of 5 over three full runs, and the sequencing-gate case 15 of 15. lib/stats/stats-append.mjs:/trekbriefand/trekplanstats records
land in the data dir the yardstick reads whenCLAUDE_PLUGIN_DATAis empty,
and a failed write is reported, not skipped silently.intent_approved
reaches the OTel field allowlist.
Changed
- Handover 1 (PUBLIC CONTRACT): a brief from any producer now stops at
/trekplanuntil its intent is approved. The schema change is additive (two
optional fields, nobrief_versionbump). The requirement sits in the
consumer. Seedocs/HANDOVER-CONTRACTS.md§Handover 1. - The arg parser has a CLI.
/trekreviewruns it with$ARGUMENTSand relays
Error: --project <dir> is required.from code (it passed"$@", which the
Bash tool never has, so the parser never ran).
Fixed
/trekexecuteruns the plan's## Verificationon the single-session path
too (D-03), and/trekreviewruns the brief's success-criteria commands and
gives the reviewer the result (D-04), throughlib/verification/criteria-runner.mjs.- The criteria runner screens with an allowlist of test runners, not a
denylist, and refuses writes a brief may not perform. A backticked span runs only
when it is a command, and the runner reads the repo's own plan format. - The end-state gate can no longer be turned green by editing its own ledger,
and a behaviour probe must fell a stub, not just name a test. - The review gold-scorer key separator is written as an escape, not a raw
NUL byte. The/trekresearchswarm engine points only at the External agents block. - Docs no longer claim an opus orchestrator: the commands follow the session model.
Removed
/trekplan's "execute with team" path: Claude Code 2.1.178 removed
TeamCreate/TeamDelete, so it always fell back to sequential execution.TaskCreate/TaskUpdatefrom/trekplan's tool lists. Claude Code 2.1.233
stopped offering them on current models, and no prose called them.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
4 downloads
- Intent approval gate.