Repository navigation
v1.3.1
Highlights
- Every ruling reaches every agent. Pre-flight and adjudicator rulings are kept for the whole run and given to every task prompt and final lens under "Rulings already made for this run (binding)", so implementers no longer re-decide settled points.
- Fix commits get their own messages. A task fix round commits with
fix: address review findings for Task <id>(a batch:for Batch <first>-<last>), the final fix withfix: address the final review findings, and a post-integration fix withfix: make the post-integration check pass. A retry that adds to a task's first commit with no review findings behind it useschore: continue Task <id>. Reviewers are told these are not commit-rule findings (in nw1, 9 of 19 final findings were repeated commit messages). - Less repeated work at the end of a run. The project checks run once at the delivered commit, before the final re-review, and the re-review is given their result instead of rerunning the suite.
run-checkswrites command output to a log file and prints one JSON line with a tail of each command. - Fewer, sharper warnings.
cannot_verifyentries are structured ({requirement, source, why, check_by}) and only ones that name a plan or spec source become acceptance warnings. Minor findings from approved task reviews go to the final lenses as a checklist (T<n>-<k>), and the ones no lens raised are listed infinal.task_minors_open. Final findings on the exact same file and line (or the same commit) are combined, keeping the other texts asalso_reported.
What changed
- Agent heads are checked: a head an agent reports must be a commit sha (7 to 40 hex digits). Anything else (in a live test run the final fix reported
see-below) counts as no head, and a final fix that reports one leaves its findings open and its commits marked unreviewed. - derive-lanes: a
;inside parentheses or backticks no longer splits a Files clause, so notes such as(lines 34, 64; required keys)keep the paths after them. A line that leaves a backtick or(open falls back to splitting on every;, with a warning. - Shadow repos: the shadow repo's config sets
core.autocrlf=false, so lane worktrees hold the project's exact bytes and writeback keeps CRLF files as they are.abs_dirignoresCDPATH. - Manifest and records:
hooksis optional (defaults to{}); the result records every agent's model and effort (agent_settings); the dry run returnsnotices(the launch line computed by the script);ledger ended DIR STATUS AGENTS RULINGSrecords a launch's spend. - run-report: reads effort from the run's own record, and prints
unavailableinstead of 0 when no output-token count is complete. - Git identity: before building a manifest, the skill checks that the project has a git identity (
git var GIT_COMMITTER_IDENT), since every task commits and a missing identity fails partway through a run. - Docs: the Workflow concurrency cap (
CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS), that the launch message reaches every agent with priority over the plan (so answer the dry-run table with a plain yes), reasons that earlier trims cut from SKILL.md restored (still under 3000 words), and Windows support is no longer called preliminary. - Node 22 is the minimum for the test suite (Node 18 and 20 are end of life); CI's Node 18 job is now Node 22.
Testing
node --test tests/: 675 tests. Linux and macOS: 674 pass, 1 Windows-only test skipped. Windows (windows-latest): 664 pass, 11 skipped, the same tests and reasons as in 1.3.0.- Built by a parallel-lanes run (r131) that ended accepted: 9 tasks reviewed and approved, post-integration and E2E checks passed, and 9 of 10 final findings fixed (1 declined with a reason). A full review of that run, plus a live run of the new workflow on a throwaway project, found seven more issues, fixed before release (the head check above, the derive-lanes fallback, the continuation message only on retries, a resume note that no longer warns, and test and doc fixes).
Compatibility
- Manifests and ledgers from 1.3.0 keep working.
- Shadow mode, once after upgrading: a shadow made by 1.3.0 lacked
core.autocrlf=false. On a machine withcore.autocrlf=true(Git for Windows' default), the first setup after the upgrade sees every text file in its lane worktrees as modified, lists them as discarded edits, saves a preserved ref, and checks them out again. Nothing a task committed is lost.
Upgrade
In your clone:
git pull && bash install.shThen restart Claude Code, or run /clear, so the hooks reload.