From 27d5d8918f64f3f75c8ebdcc8132a143a80a4476 Mon Sep 17 00:00:00 2001 From: brother7 <7brother7@gmail.com> Date: Tue, 25 Aug 2026 12:04:30 +0800 Subject: [PATCH] test(pi): assert protocol failure fidelity --- scripts/run-pi-subagent-packaged-smoke.mjs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) 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}`); }