diff --git a/scripts/run-pi-subagent-packaged-smoke.mjs b/scripts/run-pi-subagent-packaged-smoke.mjs index bda432e..5114f98 100644 --- a/scripts/run-pi-subagent-packaged-smoke.mjs +++ b/scripts/run-pi-subagent-packaged-smoke.mjs @@ -190,10 +190,14 @@ async function waitForResilienceProof(electronApplication, predicate, message) { throw new Error(`${message}: ${JSON.stringify(latest?.resilience)}`); } -function assertResilienceTerminal(status, expectedRunStatus = 'error') { +function assertResilienceTerminal( + status, + expectedRunStatus = 'error', + expectedErrorCode = 'CODING_RUNTIME_START_FAILED', +) { if (status?.target?.workerStatus !== 'error' || status?.target?.runStatus !== expectedRunStatus - || status?.target?.errorCode !== 'CODING_RUNTIME_START_FAILED' + || status?.target?.errorCode !== expectedErrorCode || status?.target?.recoverable !== true || status?.target?.bindingPreserved !== true || status?.other?.bindingPreserved !== true) { @@ -494,7 +498,11 @@ export async function runPackagedProductProof(options) { ); const protocolFailure = await evaluateProof(electronApplication, 'resilience.inject-protocol'); assertPackagedMain(protocolFailure); - assertResilienceTerminal(protocolFailure.resilience.status); + assertResilienceTerminal( + protocolFailure.resilience.status, + 'error', + 'CODING_RUNTIME_PROTOCOL_ERROR', + ); if (protocolFailure.resilience.terminalizationMs > 2_000) { throw new Error(`Packaged protocol convergence exceeded 2s: ${protocolFailure.resilience.terminalizationMs}`); }