v3.2.1 — bounded payload transport and repair exhaustion
Highlights
- Replaces unbounded adaptive runtime stdin reads with one bounded strict UTF-8 frame: 30-second wall-clock deadline, 4 MB ceiling, and structured timeout/size/encoding failures.
- Freezes generated Pack transport to direct
tty:falseinvocation, one compact JSON frame, same-session polling, and explicit completion checks; fixed-byte readers,dd,stty, heredocs, and extra pipelines are forbidden. - Raises the default repair allowance to five attempts beyond the initial execution and terminates deterministic exhaustion without three mechanical observation turns.
- Adds typed
STOP_LOOP.stop_basisbranches for three observations, deterministic repair exhaustion, and applied user decisions, while preserving the three-observation safeguard for other blockers. - Synchronizes runtime, schemas, validator, scaffold, SKILL, Adaptive contract, bilingual README, generated fixtures, changelog, and version metadata.
Validation
- Local complete discovery: 404 tests, PASS
- Local branch coverage: 81.49% (threshold 80%)
- Exact 5000 malformed-input + 5000 persistent-state fuzz: PASS
- Isolated and real CODEX_HOME installs: validators PASS, 20/20 source/install SHA-256 equality
- App smoke: 12,417-byte open-stdin materialization PASS; partial frame failed closed after 30.072s with PID reaped; repair-limit=1 fixture reached
FINALIZATION_ACKED; task read and automation pause remained responsive - PR CI, merged-main CI, and tag quick CI: PASS
Evidence and scope
- PR: #5
- Merged-main CI: https://github.com/amanayayatu-tech/loop-skill/actions/runs/29303122235
- Tag CI: https://github.com/amanayayatu-tech/loop-skill/actions/runs/29304278686
This release fixes the repository runtime and generated Pack protocol. It does not claim to fix Codex app-server process-group cancellation or orphan reaping; the repository includes a separate upstream recommendation for that control-plane work.