Repository navigation
Release 3.5.1: fixes from a team's upgrade to 3.5.0 - #10
Merged
Merged
Conversation
- The stop hook reports an invalid .agent/paacm.json like the gate's own configuration errors instead of crashing, and an error while judging one project blocks that stop once instead of discarding the others' results. - A gate.log that cannot be written is a warning; the result and the exit line stand. - Exit 127 for a command named by a path is an ordinary failure; the hint, the stop message and the verify instructions say so. - The protect hook fails closed when git cannot say whether another worktree belongs to the same repository. - A continuation reuses a passing gate for the same working tree however old it is; a nudge is given once per working tree and phase; the fingerprint includes untracked files' size and modification time. - Untracked files named like secrets are withheld from the review input. - A test added after a blocked task's approval does not hold other worktrees. - An unreadable task state is reported when blocked tasks are checked. - The hook-skipping shell rule reads each git option one way only, so it runs in linear time. Each fix has a test in test/review-fixes.test.mjs that failed on 3.5.0.
- An error on a continuation lets the stop through as a hook error (stderr, exit 1), never silently. - The fingerprint uses lstat and folds an error code into the hash, so an untracked symbolic link loop does not break the gate. - Only the failing command's own not-found message counts, and only a path inside the project makes it an ordinary failure. - Secret-named untracked files are withheld from the whole repository and listed by repository-relative path. - The strict same-repository error names the folder and git's message.
…ool messages stay as they were - Only a passing result is reused on a continuation however old it is; a failing one is run again, since the agent may have fixed what the fingerprint cannot see. - The hint and the stop message keep 3.5.0's wording: a path inside the project no longer reaches them, and the added sentence invited working around a missing program.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Release 3.5.1: fixes for the problems that reviewers found in the 3.5.0 runtime while checking a team project's upgrade to 3.5.0. No change to the method. Nothing to configure when upgrading.
Fixes
Each fix has a test in
test/review-fixes.test.mjsthat failed before it: 12 tests failed on 3.5.0 (a3a7fa9), and 6 more failed before the fixes from two fresh-context reviews of this branch. One more test guards behaviour that a fix keeps (19 tests)..agent/paacm.jsoncrashed the stop hook (loadConfigoutside anytry). The hook is not fail-closed, so the turn ended without the gate (3.4.1 blocked). One project's error also discarded another project's blockcould not verify this task). Any other error blocks that stop once and names it; on the continuation the stop is let through as a hook error (stderr, exit 1), never silently. The other projects are still judgedgate.logthat could not be written madepaacm gatecrash after recording the resultpaacm gate: exitline stand. An untracked file that cannot be inspected (a symbolic link loop) no longer breaks the fingerprint/opt/tools/bin/x). The hint and stop message keep 3.5.0's wordingPATH,safe.directory), an edit in a sibling worktree was allowedsameRepository(…, { strict: true })throws with git's own message and the folder, and the fail-closed protect hook refuses the editlstat)review-inputincluded the content of untracked files, keys included.env,.env.*,*.pem,*.key,*.p12,*.pfx,id_rsa*and the other SSH keys), anywhere in the repository, are listed by repository-relative name onlystate.jsonsilently hid a blocked task from the check-coptions (about 40 hit the hook timeout)Deliberately not changed
git fetchfrom a local folder). The new troubleshooting entry says how to settle it.postEditand checks. Making that opt-in is a change to the method. It only applies when PAACM is installed as a plugin and the session folder is not a repository.catchinprune(session start) stays. Cleaning up old baselines must never fail a session start.Docs
CHANGELOG.md3.5.1,docs/project/requirements.mdrelease 3.5.1docs/guide/troubleshooting.md: the nudge, exit 127 for a path, and a new entry for "task … (in the worktree at …) is blocked"ALGORITHM.md§7 (exit 127)07-verify.mdandpaacm-verify(exit 127 for a path)Checks
node bin/paacm.mjs check --tier quick→ exit 0 (validate, build-drift, diff-whitespace,node --test179 pass / 0 fail)npx markdownlint-cli2@0.23.3 "**/*.md"→ 0 issuesPATH); CI covers the rest there