8000 fix(e2e-live): Claude's prompt back on stdin; final-gate persona defers to the gate's suppression check (run 22) by adeelahmad · Pull Request #40 · adeelahmad/aloop · GitHub
[go: up one dir, main page]

Skip to content

fix(e2e-live): Claude's prompt back on stdin; final-gate persona defers to the gate's suppression check (run 22) - #40

Merged
adeelahmad merged 1 commit into
masterfrom
claude/project-thread-qerfr9
Oct 18, 2026
Merged

adeelahmad merged 1 commit into
masterfrom
claude/project-thread-qerfr9

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Requested by Adeel · project thread

Before: since #38, make e2e-live YES=1 on Claude Code exits in 2 seconds with "Input must be provided": the prompt was passed after --allowedTools, which takes every following word as a tool name. Separately, live run 22 showed the final-gate persona failing a sprint on #[allow(dead_code)] in tests/common/mod.rs, a pattern the deterministic gate accepts, which cost a second GREEN dispatch and a final-gate retry.

After: the Claude prompt goes on stdin again (--dry-run prints prompt: stdin). The final-gate persona names exactly assert_no_suppression's patterns, defers to selfcheck final-gate, and says a dead-code allow in shared test helpers is not a suppression.

How: both fixes test-first. e2e-live-hosts.test.py now asserts the Claude command carries no prompt argument. The new suppression-contract.test.py parses the gate's pattern list from _gatelib.sh and fails if the persona drifts from it. A final-gate eval case covers run 22's situation. Run 22 is recorded in the evidence ledger and ROADMAP M0.8 (13/13, 16m18s, $1.14, 2 wakes, 0 plugin reads, 3 blocks). TRACKING and CHANGELOG are updated. make ci is green locally. Live run 23 (wordfreq under the model gate) is running on this head.


Generated by Claude Code

…rs to the gate's suppression check (run 22)

e2e-live.sh (#38) passed the Claude prompt as an argument after --allowedTools, which takes
every following word, so `claude -p` got no prompt and exited in 2s ("Input must be
provided"). The prompt goes on stdin again; --dry-run says so (test: e2e-live-hosts).

Live run 22 (wordfreq, 361f8d7): 13/13, 16m18s, $1.14, 2 wakes, 0 plugin reads, 3 blocks.
The final-gate persona failed the sprint on RED's #![allow(dead_code)] in tests/common/mod.rs
by its own open-ended grep, costing a GREEN re-dispatch. The persona now names exactly
assert_no_suppression's patterns and defers to `selfcheck final-gate` (test:
suppression-contract.test.py; eval final-gate #4). Ledger, ROADMAP M0.8, TRACKING, CHANGELOG.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015QxyVf3NgwsgRyYpBgDDTC
@adeelahmad
adeelahmad merged commit 3a1a221 into master Oct 18, 2026
4 checks passed
adeelahmad pushed a commit that referenced this pull request Oct 18, 2026
…s run 23

The other thread's run 22 (wordfreq before the gate: $1.14, 16m18s, 3 blocks) landed first; both
rows are kept and the comparison now reads against it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014j4wLin3oJTtnvjE9Lq2VV
adeelahmad pushed a commit that referenced this pull request Oct 18, 2026
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015QxyVf3NgwsgRyYpBgDDTC
adeelahmad pushed a commit that referenced this pull request Oct 18, 2026
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015QxyVf3NgwsgRyYpBgDDTC
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.

2 participants

0