You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Session Handoff [auto-2059]: A Heredoc Opener Holding (( Leaves Its Body in the Wait-Loop Check (#2059) #2061
Run local-strict-review, then drive the pull request to develop per drive-pr, its body carrying Closes on promotion: #2059, then close this lane out.
External blockers
None.
Internal dependencies
None beyond the order above. #2059 does not depend on the parked #1998 branch (feature/auto-1998, handoff #2057), which edits the same file. Base on develop, and expect that branch to rebase over this fix rather than the reverse.
State
No branch, worktree, or pull request yet. Develop at the time of picking holds unpromoted guard fixes (#2033), so re-derive the _heredoc_opener code from develop rather than from main.
Parked decisions
None on this lane. Decision #2060 names #2059 only as filed and staying open, and asks nothing about it.
What the last round did
Created by an unattended-handoff picker from the open backlog. No work done yet.
What not to repeat
Do not widen the fix into #2058's shlex-divergence shapes, which a separate issue owns and whose scope decision #2060 may still change.
Done. Branch feature/auto-2059, based on develop at dd4ca98e and pushed at b7559a93, holds three signed commits. No pull request is open. The worktree /home/pieter/repos/worktrees/ProjectTemplate-auto-2059 is still there, and it is clean.
In host-setup/agent-safety/claude/gh-write-guard.py, _heredoc_opener/_strip_heredoc_bodies become _heredoc_openers, _heredoc_body_end and _heredoc_readings.
A (( line forks the text: one reading that opens nothing, plus one per accepted << tag whose body a later line closes, up to 16 readings.
_check_unbounded_wait works in this order:
It allows any command naming no sleep once its quotes and backslashes are removed.
It denies any other command past the reading limit.
Otherwise it denies when any reading holds an unbounded wait.
There are nine new self-test rows, one sentence in README requirement 7, and one in module docstring item 7.
Passing: the self-test, unittest discover -s tests (1796 tests), ruff format and check, mypy, prose lint against origin/develop, the eol gate, spec/validate.py and build_dist.py --check.
A local-review receipt covers b7559a93.
Review. There were three local-strict-review passes, which found 7, 3 and 4 findings, with two rounds of edits between them. The third pass left two introduced findings open, and #2066 lists both. Five pre-existing findings are filed: #2062, #2063, #2064 and #2065, plus a multi-line-quote opener case that #1910 appears to cover.
Activity
ptr727 commentedon Sep 29, 2026
Parked on decision #2066
Done. Branch
feature/auto-2059, based on develop atdd4ca98eand pushed atb7559a93, holds three signed commits. No pull request is open. The worktree/home/pieter/repos/worktrees/ProjectTemplate-auto-2059is still there, and it is clean.host-setup/agent-safety/claude/gh-write-guard.py,_heredoc_opener/_strip_heredoc_bodiesbecome_heredoc_openers,_heredoc_body_endand_heredoc_readings.((line forks the text: one reading that opens nothing, plus one per accepted<<tag whose body a later line closes, up to 16 readings._check_unbounded_waitworks in this order:sleeponce its quotes and backslashes are removed.unittest discover -s tests(1796 tests), ruff format and check, mypy, prose lint againstorigin/develop, the eol gate,spec/validate.pyandbuild_dist.py --check.b7559a93.Review. There were three
local-strict-reviewpasses, which found 7, 3 and 4 findings, with two rounds of edits between them. The third pass left two introduced findings open, and #2066 lists both. Five pre-existing findings are filed: #2062, #2063, #2064 and #2065, plus a multi-line-quote opener case that #1910 appears to cover.Remaining, once #2066 is answered:
_check_unbounded_waitand the README.After that, open the pull request to develop with
Closes on promotion: #2059in its body, drive it perdrive-pr, then close this lane out.Waiting on decision #2066.
ptr727 commentedon Sep 29, 2026
Continued in #2074, round 2 on track
auto-2059.