v1.0.7
Install:
pi install git:github.com/edxeth/pi-ralph-loop@v1.0.7Or latest:
pi install git:github.com/edxeth/pi-ralph-loopπ Bug Fixes
Noisy verification gates no longer block the loop
Refs: da41d1b, 4b087d8
Verification gates (the verification_gates commands Ralph runs before accepting <promise>NEXT</promise> or <promise>COMPLETE</promise>) could be misclassified as failures when a command passed but printed a lot of output. The old runner buffered gate output in memory with a fixed maxBuffer, so a gate that exited 0 while emitting ~20 KB+ of logs hit ENOBUFS and was treated as failing. That rejected NEXT, so no fresh iteration session ever started and the loop appeared to hang until it timed out.
Gate execution now runs in a dedicated child runner that streams stdout/stderr and caps what it keeps incrementally, instead of relying on a single in-memory buffer. A passing-but-chatty gate is now correctly accepted, NEXT advances, and the next iteration session opens as expected. Genuine failures (non-zero exit, timeout, signal) still report a capped, truncated diagnostic so output stays bounded.
π§ Other Changes
Add direct dev dependency on @earendil-works/pi-tui
Refs: da41d1b
@earendil-works/pi-tui is now declared as a direct dev dependency. It was previously only available transitively through runtime modules that the test suite imports, so this pins it explicitly for a reliable test environment.
Regression coverage for the noisy-gate handoff
Refs: 34d15b5, 172ce39
Added a PI_RALPH_LIVE regression test that reproduces the original symptom: a 2-item bundle driven by a deterministic fake provider (no network) with a gate that passes while emitting ~20 KB of output. It asserts NEXT is accepted (bundle_rejection_count 0), a fresh session opens for iteration 2, and the loop reaches stop_reason: complete. The test also fails fast (~4s) with a diagnostic naming the observed stop_reason and bundle_rejection_count when the handoff regresses, instead of hanging until the 150s timeout.