Repository navigation
Harden bounded real-client capture and preserve the accepted 0.1.7 profile #244
Copy link
Copy link
Open
Labels
P1Priority 1: current iteration goalPriority 1: current iteration goalcampaign:0.1.8-beta70.1.8 Beta7 stability and release-evidence campaign0.1.8 Beta7 stability and release-evidence campaignenhancementNew feature or requestNew feature or requestready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agentwayfinder:taskWayfinder implementation taskWayfinder implementation task
Description
Context
Follow-up from the exact-SHA 0.1.7 qualification and PR #243. The accepted 0.1.7 candidate and its mixed automatic/manual profile remain immutable and reproducible.
0.1.8 uses the real Codex CLI as its only product-level acceptance seam. This issue hardens the shared capture/process infrastructure used by both profiles; the new declarative 0.1.8 profile itself belongs to #255.
Scope
- Preserve the accepted 0.1.7 profile, ordering, run binding, and artifacts as a versioned legacy profile.
- Make process output capture incrementally bounded instead of calling
ReadToEndAsyncbefore truncation. - Use independent stdout/stderr rings with an explicit truncation/overflow result.
- Parse JSONL incrementally when it is case evidence; do not retain the complete raw stream.
- Ensure every transient root and child process is cleaned up on success, failure, timeout, cancellation, and harness interruption.
- Make failure timing assertions phase-local so cold Windows startup cannot masquerade as a slow failure classifier.
- Extend the evidence schema so cleanup and truncation outcomes are machine-readable.
0.1.8 boundary
- No Desktop, ZCode, or other GUI/manual interaction is part of 0.1.8 qualification.
- 0.1.8 Beta7: Add the versioned CLI-only release-verification profile #255 declares and executes the versioned 0.1.8 CLI-only cases.
- The shared runner may support both profiles, but changing 0.1.8 must not silently rewrite the accepted 0.1.7 matrix.
- The 0.1.8 evidence budgets are enforced by 0.1.8 RC1: Aggregate six fixed regression batches and publish promotion evidence #257: 64 KiB incremental rings per stdout/stderr stream, <=256 KiB successful case, <=4 MiB failed case, and <=16 MiB durable run upload.
Acceptance criteria
- The accepted 0.1.7 profile can still be selected and produces the same case contract without changing its historical qualified artifact.
- The 0.1.8 CLI-only profile can reuse the shared process/capture seam without opening GUI clients or requesting manual evidence.
- Output exactly below, at, and above each configured bound is covered by deterministic fixtures.
- Overflow/truncation is explicit and fails closed whenever the omitted stream is required case evidence.
- JSONL parsing and stdout/stderr draining remain bounded under long output and backpressure.
- Success, ordinary failure, timeout, cancellation, and abrupt child/Gateway exit all prove process teardown and transient-root deletion.
- Phase-local timeout tests are independent of preflight and cold client startup.
-
docs/agents/real-client-e2e.mddocuments profile selection, bounds, cleanup, and unattended watchdog use.
Scope guard
Test infrastructure only. Do not alter provider routing, runtime translation, release-channel behavior, or the accepted 0.1.7 artifact in this issue.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P1Priority 1: current iteration goalPriority 1: current iteration goalcampaign:0.1.8-beta70.1.8 Beta7 stability and release-evidence campaign0.1.8 Beta7 stability and release-evidence campaignenhancementNew feature or requestNew feature or requestready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agentwayfinder:taskWayfinder implementation taskWayfinder implementation task
Activity
[-]Run automatic real-client cases before manual evidence and harden bounded capture[/-][+]Harden bounded real-client capture and preserve the accepted 0.1.7 profile[/+]