Repository navigation
fix: live e2e run 10 gaps — report append from a worktree, stale task.env copy, stuck-worker release, test temp-dir leak - #13
Merged
Conversation
….env copy is not tampering Live e2e run 10 (wordfreq, rebuilt tools): 12/12, $1.20, but 45 blocks and 45 min. - Claude Code's Write/Edit refuse a path outside the worker's worktree, and docs/agents/ lives only in the main tree; a RED worker stopped 29 times without trying a shell append. The comms gate's block and the worker personas now say to use a heredoc append. - A worktree task.env copy older than the contract (a re-dispatch bumped ATTEMPT) is stale, not tampering; a copy edited by the worker is newer and still blocks. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015QxyVf3NgwsgRyYpBgDDTC
…host checks, e2e intents) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015QxyVf3NgwsgRyYpBgDDTC
Every host test left its temp dir behind, and the Codex and OpenCode ones set a fake CLAUDE_PLUGIN_DATA that made the SessionStart hook start a real background cargo build over the fake tools (~500MB per run). 57 leaked dirs filled the disk and killed e2e live run 11 with ENOSPC. The tests now remove their dir on exit and set AGENTIC_NO_AUTOINSTALL=1; e2e-live drops its cargo target dirs after the run. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015QxyVf3NgwsgRyYpBgDDTC
Live run 10 lost 29 minutes to a RED worker that stopped 29 times on one unchanged block. The gate library now logs a checksum of each block reason and the worktree; the third identical host-run block for one gate, task, attempt and worktree releases the stop unverified, leaves .agentic/state/stuck/<task>.<attempt> with the reason, and budget watch prints a STUCK line once so the supervisor re-dispatches with feedback or re-plans. Not a pass, never merged. A different reason or a new attempt resets the count; self-checks never release. 7 conformance checks. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015QxyVf3NgwsgRyYpBgDDTC
Resolves the gate-verdict log (stuck release + the aladdin.event stream), budget watch (STUCK lines + breach class), the Codex test env, the bin README and the CHANGELOG. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015QxyVf3NgwsgRyYpBgDDTC
Run 11 (wordfreq, all run-10 fixes): 12/12, 12m56s, $0.86, 6 blocks, down from 44m48s, $1.20 and 45 blocks in run 10. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015QxyVf3NgwsgRyYpBgDDTC
…ORY_DIR in the dispatch gate, stuck release on OpenCode Run 11 (12/12, 12m56s, $0.86, 6 blocks) left three avoidable blocks. The planner was told only "failed the schema" and rewrote every artifact twice (12 of 25 verdicts): the block now carries md-db's diagnostics and hints. The structural reviewer's contract had no STORY_DIR (a whole-wave review has no single story): gate-dispatch now requires an existing STORY_DIR and names the sprint dir for a wave review. OpenCode reported a stuck release as a plain pass: it now says released unverified, do not merge. make test-hosts masked a failing node test as "node not found". Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015QxyVf3NgwsgRyYpBgDDTC
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.
Requested by Adeel · project thread
Before: live e2e run 10 (the wordfreq intent, with the rebuilt ctx-symbols) passed 12/12 for $1.20, and the false "duplicate definition" halts from runs 8 and 9 are gone (0 HIGH findings). But it took 44m48s and hit 45 gate blocks. A RED worker tried to write its report to the story's
output.mdwith the Write and Edit tools; Claude Code's worktree isolation refuses a path outside the worktree, anddocs/agents/lives only in the main tree. The gate said only "no output.md", so the worker stopped 29 times without trying a shell append and sat for 29 minutes until the supervisor discarded it. Three more blocks called a staletask.envcopy tampering after a re-dispatch bumpedATTEMPTin the contract. Separately, the host tests leaked a temp dir per run and the Codex and OpenCode ones started a real background cargo build over their fake tools (~500MB each); 57 leaked dirs filled the disk and killed live run 11 with ENOSPC.After: the comms gate's block says how to append (a heredoc from the worktree, and why Write/Edit fail), the red, green, scaffolder and structural-reviewer personas say the same, and a worktree copy older than the contract is treated as stale and ignored. A worker that hits the same gate block 3 times in a row (one gate, task, attempt and worktree) is released unverified: not a pass, never merged; the gate leaves
.agentic/state/stuck/<task>.<attempt>with the reason andbudget watchprints aSTUCKline once so the supervisor re-dispatches with feedback or re-plans. The host tests remove their temp dir on exit and setAGENTIC_NO_AUTOINSTALL=1;e2e-livedrops its cargo target dirs after the run.How:
validate_commscarries the how-to in both its "no output.md" and "no block" messages.load_task_envcompares the copy against the contract only when the copy is at least as new. Every gate verdict now logs its worktree and a checksum of the block reason;_gate_stuckcounts the trailing identical host-run blocks for the key. Nine new conformance cases, all red before the change (54/54 now).make cigreen locally and on CI.Measured: the wordfreq rerun with these fixes (run 11): 12/12, 12m56s, $0.86, 6 blocks (run 10: 44m48s, $1.20, 45 blocks).
🤖 Generated with Claude Code
https://claude.ai/code/session_015QxyVf3NgwsgRyYpBgDDTC