You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Dev CI red at 1c441d9a: readiness-cutoff reap test (#6126) returns terminal_uncertain under full shard #6143
Dev CI is red at 1c441d9a (merge of #6126). The previous dev run at 98fab059 was green: https://github.com/Yeachan-Heo/gajae-code/actions/runs/36574549305. The range 98fab059..1c441d9a contains only #6126, which touches packages/coding-agent/src/sdk/broker/lifecycle.ts (+321/-204), test/sdk-broker-lifecycle-e2e.test.ts, and a changelog fragment.
test:@gajae-code/coding-agent:shard-6-of-8 runs sdk-broker-lifecycle-e2e.test.ts › createExternal reaps a synchronous Atomics.wait extension when readiness expires. This test was added by fix(sdk): reap unregistered hosts at readiness cutoff #6126. The expected result was certainty: "retryable", error.code: "readiness_timeout". The received result was certainty: "uncertain", error.code: "terminal_uncertain", with the message "Lifecycle startup cleanup could not be proven ... spawned process could not be verified dead" (lifecycle.ts:6980). On the fix(sdk): reap unregistered hosts at readiness cutoff #6126 head 850a0fc6, the targeted job passed. When the same test ran inside the full shard on the merge commit, the broker hit the unproven-exit path this PR was meant to remove.
test:@gajae-code/coding-agent:shard-8-of-8 runs sdk-lifecycle-terminal-evidence.test.ts › returns the real terminal outcome when a slow spawn is stamped by a concurrent recovery. The expected message contained "Lifecycle startup cleanup could not be proven ... Original launch failure: Session". The received message was "Lifecycle terminal evidence could not be verified after persistence" (broker.ts:5178). The test file and broker.ts are unchanged in the range. broker.ts imports ./lifecycle, which did change.
test:packages/coding-agent/test/sdk-broker-restart.test.ts › allows one owner during simultaneous primary lock takeover failed with Broker lock is held by a live owner (broker.ts:3820). The test file and broker.ts are unchanged in the range. This may be an unrelated timing flake, but it cannot be excluded because broker.ts depends on the changed lifecycle.ts.
Blob comparison (green 98fab059 vs red 1c441d9a)
path
green
red
src/sdk/broker/lifecycle.ts
23a00e5dc846
6c89b515169f (DIFF)
test/sdk-broker-lifecycle-e2e.test.ts
c595042a90d6
0dbae9e1f0d9 (DIFF)
src/sdk/broker/broker.ts
91629e241226
91629e241226
test/sdk-broker-restart.test.ts
7895fb277f45
7895fb277f45
test/sdk-lifecycle-terminal-evidence.test.ts
8f0bb352c59c
8f0bb352c59c
Assessment
At least failure 1 is attributable to #6126. The new readiness-cutoff reap test is not stable under full-shard load: exit proof still misses within the budget, and the broker falls back to terminal_uncertain. Failure 2 exercises the same cutoff/recovery interplay in lifecycle.ts. The evidence here comes from CI logs and a blob diff. No local reproduction has been done yet.
Suggested next step
Re-run the red shards on dev. If shard-6 fails again, the options are to tighten the proof budget handling in lifecycle.ts or to revert #6126. 008f7b14 (#6135) also modifies lifecycle.ts, so its Dev CI run will show whether that change also affects this.
Summary
Dev CI is red at
1c441d9a(merge of #6126). The previous dev run at98fab059was green: https://github.com/Yeachan-Heo/gajae-code/actions/runs/36574549305. The range98fab059..1c441d9acontains only #6126, which touchespackages/coding-agent/src/sdk/broker/lifecycle.ts(+321/-204),test/sdk-broker-lifecycle-e2e.test.ts, and a changelog fragment.Failing run: https://github.com/Yeachan-Heo/gajae-code/actions/runs/36580791654
Failures
test:@gajae-code/coding-agent:shard-6-of-8runssdk-broker-lifecycle-e2e.test.ts›createExternal reaps a synchronous Atomics.wait extension when readiness expires. This test was added by fix(sdk): reap unregistered hosts at readiness cutoff #6126. The expected result wascertainty: "retryable",error.code: "readiness_timeout". The received result wascertainty: "uncertain",error.code: "terminal_uncertain", with the message "Lifecycle startup cleanup could not be proven ... spawned process could not be verified dead" (lifecycle.ts:6980). On the fix(sdk): reap unregistered hosts at readiness cutoff #6126 head850a0fc6, the targeted job passed. When the same test ran inside the full shard on the merge commit, the broker hit the unproven-exit path this PR was meant to remove.test:@gajae-code/coding-agent:shard-8-of-8runssdk-lifecycle-terminal-evidence.test.ts›returns the real terminal outcome when a slow spawn is stamped by a concurrent recovery. The expected message contained "Lifecycle startup cleanup could not be proven ... Original launch failure: Session". The received message was "Lifecycle terminal evidence could not be verified after persistence" (broker.ts:5178). The test file andbroker.tsare unchanged in the range.broker.tsimports./lifecycle, which did change.test:packages/coding-agent/test/sdk-broker-restart.test.ts›allows one owner during simultaneous primary lock takeoverfailed withBroker lock is held by a live owner(broker.ts:3820). The test file andbroker.tsare unchanged in the range. This may be an unrelated timing flake, but it cannot be excluded becausebroker.tsdepends on the changedlifecycle.ts.Blob comparison (green
98fab059vs red1c441d9a)Assessment
At least failure 1 is attributable to #6126. The new readiness-cutoff reap test is not stable under full-shard load: exit proof still misses within the budget, and the broker falls back to
terminal_uncertain. Failure 2 exercises the same cutoff/recovery interplay inlifecycle.ts. The evidence here comes from CI logs and a blob diff. No local reproduction has been done yet.Suggested next step
Re-run the red shards on
dev. If shard-6 fails again, the options are to tighten the proof budget handling inlifecycle.tsor to revert #6126.008f7b14(#6135) also modifieslifecycle.ts, so its Dev CI run will show whether that change also affects this.