Skip to content

Release 1.6.6: short task-checks command - #32

Merged
noderaven merged 15 commits into
mainfrom
release-1.6.6
Oct 16, 2026
Merged

noderaven merged 15 commits into
mainfrom
release-1.6.6

Conversation

@noderaven

Copy link
Copy Markdown
Owner

Release 1.6.6: short task-checks command.

On e1a, 7 of 40 task-checks calls never ran: the Bash tool on Windows fails a command of about 7,000 characters or more, and those commands were 6,907 characters or longer. The command carried every path in the task's Files list (--declared) and the lane's check commands twice (--lane-cmd and --wide-cmd), so it grew with the task.

Now setup's owner map (owners.json) records each task's declared Files list, and the engine passes a fingerprint of it instead: --declared-from-owners N:HHHHHHHH, the path count and a 32-bit FNV-1a hash of the paths. task-checks reads the list from the owner map and checks it against the fingerprint; on a mismatch it writes an error record and exits 3, so a wrong list never decides the check policy. When the wide list equals the lane list the engine passes --wide-as-lane instead of repeating the commands. The command no longer grows with the Files list (1 file and 200 files differ by at most 2 characters), and an e1a-sized unit's command is under 4,000 characters.

Also in this release:

  • start-task --scope takes --declared-from-owners with --owners the same way; when it cannot build the list from the owner map it says so in the scope section instead of guessing.
  • The agent rules name the limit: the Bash tool fails on a command of about 7,000 characters, a long heredoc included; to add to an existing file such as a report, Read it and then Edit it, or Write the whole file. The fix prompts say "add ... with your file-editing tools" instead of "append".
  • The dry run warns when a unit's task-checks command or the integration checks command is over 6,000 characters, and suggests shortening the project's check commands, for example with a wrapper script.
  • --declared and --wide-cmd still work for a call made by hand.

Testing: built by a parallel-lanes run on 1.6.5 (r166): 7 tasks in a prelude, 3 lanes and a join in two waves, each task implemented and reviewed, then integration, a three-lens final review (7 minor findings, 5 fixed; 2 declined, both about the engine's own join-wave merge messages, which have no conventional prefix: left for a later release) and a verify run. Fingerprint fixtures are shared by the Python and JavaScript tests, including quotes, spaces, non-ASCII paths and a lone surrogate. An end-to-end test on real git checks that the engine-built command gives the same check policy as the old long form. Full suite on Windows (Python 3.15): 1715 tests, 1699 pass, 16 skipped, 0 fail. Not run: a validation run on a real project.

@noderaven
noderaven merged commit 225c65a into main Oct 16, 2026
4 checks passed
@noderaven
noderaven deleted the release-1.6.6 branch October 16, 2026 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant