@riddledc/riddle-proof 0.8.21 → 0.8.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/advanced/engine-harness.cjs +12 -7
- package/dist/advanced/engine-harness.js +1 -1
- package/dist/advanced/index.cjs +12 -7
- package/dist/advanced/index.d.cts +2 -2
- package/dist/advanced/index.d.ts +2 -2
- package/dist/advanced/index.js +2 -2
- package/dist/advanced/proof-run-core.d.cts +1 -1
- package/dist/advanced/proof-run-core.d.ts +1 -1
- package/dist/advanced/proof-run-engine.cjs +12 -7
- package/dist/advanced/proof-run-engine.d.cts +2 -2
- package/dist/advanced/proof-run-engine.d.ts +2 -2
- package/dist/advanced/proof-run-engine.js +1 -1
- package/dist/{chunk-X4T3LNP2.js → chunk-KS3N5APP.js} +13 -7
- package/dist/{chunk-DAF4EX6A.js → chunk-UTQJHWCQ.js} +1 -1
- package/dist/cli/index.js +2 -2
- package/dist/cli.cjs +12 -7
- package/dist/cli.js +2 -2
- package/dist/engine-harness.cjs +12 -7
- package/dist/engine-harness.js +1 -1
- package/dist/index.cjs +12 -7
- package/dist/index.js +1 -1
- package/dist/{proof-run-core-C8FDUhle.d.ts → proof-run-core-CrpYH-qH.d.cts} +1 -1
- package/dist/{proof-run-core-C8FDUhle.d.cts → proof-run-core-CrpYH-qH.d.ts} +1 -1
- package/dist/proof-run-core.d.cts +1 -1
- package/dist/proof-run-core.d.ts +1 -1
- package/dist/{proof-run-engine-D80hVFMf.d.cts → proof-run-engine-C6vYAZd8.d.cts} +4 -4
- package/dist/{proof-run-engine-By7oLsF-.d.ts → proof-run-engine-h9C1lC0w.d.ts} +4 -4
- package/dist/proof-run-engine.cjs +12 -7
- package/dist/proof-run-engine.d.cts +2 -2
- package/dist/proof-run-engine.d.ts +2 -2
- package/dist/proof-run-engine.js +1 -1
- package/package.json +1 -1
- package/runtime/lib/verify.py +35 -0
- package/runtime/tests/recon_verify_smoke.py +101 -0
- package/runtime/tests/trust_boundary_regression.py +6 -0
- /package/dist/{chunk-FQA3XMZM.js → chunk-2DW2LBUD.js} +0 -0
|
@@ -2623,10 +2623,15 @@ ${implementRes.stderr || ""}`;
|
|
|
2623
2623
|
verifyContinueWithStage,
|
|
2624
2624
|
convergenceSignals
|
|
2625
2625
|
};
|
|
2626
|
-
const
|
|
2626
|
+
const conclusiveVerifyBlockers = proofAssessmentHardBlockersForState({
|
|
2627
|
+
...state,
|
|
2628
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || void 0,
|
|
2629
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || void 0
|
|
2630
|
+
});
|
|
2631
|
+
const structuredInteractionFailureSummary = stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers[0]);
|
|
2627
2632
|
if (verifyStatus !== "evidence_captured") {
|
|
2628
2633
|
const captureQuality = verifyDecisionRequest?.capture_quality || {};
|
|
2629
|
-
const captureTerminalBlocker = Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2634
|
+
const captureTerminalBlocker = conclusiveVerifyBlockers.length > 0 || Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2630
2635
|
if (!captureTerminalBlocker && (verifyContinueWithStage || verifyRecommendedStage || "author") === "author") {
|
|
2631
2636
|
updateState(config.statePath, (currentState) => {
|
|
2632
2637
|
currentState.author_status = "needs_authoring";
|
|
@@ -2640,7 +2645,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2640
2645
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2641
2646
|
autoApproved: verifyRes.autoApproved || false,
|
|
2642
2647
|
checkpoint: checkpointName,
|
|
2643
|
-
details: verifyDetails
|
|
2648
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2644
2649
|
});
|
|
2645
2650
|
return checkpoint(
|
|
2646
2651
|
"verify",
|
|
@@ -2653,7 +2658,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2653
2658
|
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyRecommendedStage || "author",
|
|
2654
2659
|
continueWithStage: captureTerminalBlocker ? null : verifyContinueWithStage || "author",
|
|
2655
2660
|
blocking: captureTerminalBlocker,
|
|
2656
|
-
details: verifyDetails,
|
|
2661
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2657
2662
|
verifyStatus,
|
|
2658
2663
|
verifySummary,
|
|
2659
2664
|
afterCdn: state?.after_cdn || null,
|
|
@@ -2664,12 +2669,12 @@ ${implementRes.stderr || ""}`;
|
|
|
2664
2669
|
}
|
|
2665
2670
|
);
|
|
2666
2671
|
}
|
|
2667
|
-
if (structuredInteractionFailureSummary) {
|
|
2672
|
+
if (conclusiveVerifyBlockers.length > 0 || structuredInteractionFailureSummary) {
|
|
2668
2673
|
const summary = structuredInteractionFailureSummary;
|
|
2669
2674
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2670
2675
|
autoApproved: verifyRes.autoApproved || false,
|
|
2671
2676
|
checkpoint: "verify_capture_blocked",
|
|
2672
|
-
details: verifyDetails
|
|
2677
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2673
2678
|
});
|
|
2674
2679
|
return checkpoint(
|
|
2675
2680
|
"verify",
|
|
@@ -2682,7 +2687,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2682
2687
|
recommendedAdvanceStage: null,
|
|
2683
2688
|
continueWithStage: null,
|
|
2684
2689
|
blocking: true,
|
|
2685
|
-
details: verifyDetails,
|
|
2690
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2686
2691
|
verifyStatus,
|
|
2687
2692
|
verifySummary,
|
|
2688
2693
|
afterCdn: state?.after_cdn || null,
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
createDisabledRiddleProofAgentAdapter,
|
|
3
3
|
readRiddleProofRunStatus,
|
|
4
4
|
runRiddleProofEngineHarness
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-2DW2LBUD.js";
|
|
6
6
|
import "../chunk-YZUVEJ5B.js";
|
|
7
7
|
import "../chunk-FMOYUYH2.js";
|
|
8
8
|
import "../chunk-FU73I4V3.js";
|
package/dist/advanced/index.cjs
CHANGED
|
@@ -2654,10 +2654,15 @@ ${implementRes.stderr || ""}`;
|
|
|
2654
2654
|
verifyContinueWithStage,
|
|
2655
2655
|
convergenceSignals
|
|
2656
2656
|
};
|
|
2657
|
-
const
|
|
2657
|
+
const conclusiveVerifyBlockers = proofAssessmentHardBlockersForState({
|
|
2658
|
+
...state,
|
|
2659
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || void 0,
|
|
2660
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || void 0
|
|
2661
|
+
});
|
|
2662
|
+
const structuredInteractionFailureSummary = stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers[0]);
|
|
2658
2663
|
if (verifyStatus !== "evidence_captured") {
|
|
2659
2664
|
const captureQuality = verifyDecisionRequest?.capture_quality || {};
|
|
2660
|
-
const captureTerminalBlocker = Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2665
|
+
const captureTerminalBlocker = conclusiveVerifyBlockers.length > 0 || Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2661
2666
|
if (!captureTerminalBlocker && (verifyContinueWithStage || verifyRecommendedStage || "author") === "author") {
|
|
2662
2667
|
updateState(config.statePath, (currentState) => {
|
|
2663
2668
|
currentState.author_status = "needs_authoring";
|
|
@@ -2671,7 +2676,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2671
2676
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2672
2677
|
autoApproved: verifyRes.autoApproved || false,
|
|
2673
2678
|
checkpoint: checkpointName,
|
|
2674
|
-
details: verifyDetails
|
|
2679
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2675
2680
|
});
|
|
2676
2681
|
return checkpoint(
|
|
2677
2682
|
"verify",
|
|
@@ -2684,7 +2689,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2684
2689
|
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyRecommendedStage || "author",
|
|
2685
2690
|
continueWithStage: captureTerminalBlocker ? null : verifyContinueWithStage || "author",
|
|
2686
2691
|
blocking: captureTerminalBlocker,
|
|
2687
|
-
details: verifyDetails,
|
|
2692
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2688
2693
|
verifyStatus,
|
|
2689
2694
|
verifySummary,
|
|
2690
2695
|
afterCdn: state?.after_cdn || null,
|
|
@@ -2695,12 +2700,12 @@ ${implementRes.stderr || ""}`;
|
|
|
2695
2700
|
}
|
|
2696
2701
|
);
|
|
2697
2702
|
}
|
|
2698
|
-
if (structuredInteractionFailureSummary) {
|
|
2703
|
+
if (conclusiveVerifyBlockers.length > 0 || structuredInteractionFailureSummary) {
|
|
2699
2704
|
const summary = structuredInteractionFailureSummary;
|
|
2700
2705
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2701
2706
|
autoApproved: verifyRes.autoApproved || false,
|
|
2702
2707
|
checkpoint: "verify_capture_blocked",
|
|
2703
|
-
details: verifyDetails
|
|
2708
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2704
2709
|
});
|
|
2705
2710
|
return checkpoint(
|
|
2706
2711
|
"verify",
|
|
@@ -2713,7 +2718,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2713
2718
|
recommendedAdvanceStage: null,
|
|
2714
2719
|
continueWithStage: null,
|
|
2715
2720
|
blocking: true,
|
|
2716
|
-
details: verifyDetails,
|
|
2721
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2717
2722
|
verifyStatus,
|
|
2718
2723
|
verifySummary,
|
|
2719
2724
|
afterCdn: state?.after_cdn || null,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { b as runner } from '../runner-4LJ5z0D-.cjs';
|
|
2
2
|
export { l as engineHarness } from '../engine-harness-LBfqbFSe.cjs';
|
|
3
|
-
export { p as proofRunCore } from '../proof-run-core-
|
|
4
|
-
export { p as proofRunEngine } from '../proof-run-engine-
|
|
3
|
+
export { p as proofRunCore } from '../proof-run-core-CrpYH-qH.cjs';
|
|
4
|
+
export { p as proofRunEngine } from '../proof-run-engine-C6vYAZd8.cjs';
|
|
5
5
|
import '../types.cjs';
|
package/dist/advanced/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { b as runner } from '../runner-BdQpOkZD.js';
|
|
2
2
|
export { l as engineHarness } from '../engine-harness-CMACHP6A.js';
|
|
3
|
-
export { p as proofRunCore } from '../proof-run-core-
|
|
4
|
-
export { p as proofRunEngine } from '../proof-run-engine-
|
|
3
|
+
export { p as proofRunCore } from '../proof-run-core-CrpYH-qH.js';
|
|
4
|
+
export { p as proofRunEngine } from '../proof-run-engine-h9C1lC0w.js';
|
|
5
5
|
import '../types.js';
|
package/dist/advanced/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
proof_run_engine_exports
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-KS3N5APP.js";
|
|
4
4
|
import {
|
|
5
5
|
runner_exports
|
|
6
6
|
} from "../chunk-P2RN2NYR.js";
|
|
7
7
|
import {
|
|
8
8
|
engine_harness_exports
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-2DW2LBUD.js";
|
|
10
10
|
import "../chunk-YZUVEJ5B.js";
|
|
11
11
|
import "../chunk-FMOYUYH2.js";
|
|
12
12
|
import {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { B as BUNDLED_RIDDLE_PROOF_DIR, C as CHECKPOINT_CONTRACT_VERSION, b as CheckpointInputContract, P as PluginConfig, R as RIDDLE_PROOF_DIR_CANDIDATES, S as ShipGateValidation, c as WORKFLOW_STAGE_ORDER, d as WorkflowAction, W as WorkflowParams, a as WorkflowStage, e as buildCheckpointContract, f as buildSetupArgs, g as checkpointContinueStage, h as clearStageDecisionRequest, i as ensureAction, j as ensureStageLoopState, k as invalidateVerifyEvidence, m as mergeStateFromParams, n as noImplementationModeFor, l as previewModeFromWorkflowMode, o as proofAssessmentHardBlockersForState, q as readState, s as recordStageAttempt, t as requiredBaselineLabelsForState, r as resolveConfig, u as resolveRiddleProofDir, v as setStageDecisionRequest, w as summarizeState, x as validateShipGate, y as visualDeltaForState, z as visualDeltaRequiredForState, A as visualDeltaShipGateReason, D as workflowFile, E as writeState } from '../proof-run-core-
|
|
1
|
+
export { B as BUNDLED_RIDDLE_PROOF_DIR, C as CHECKPOINT_CONTRACT_VERSION, b as CheckpointInputContract, P as PluginConfig, R as RIDDLE_PROOF_DIR_CANDIDATES, S as ShipGateValidation, c as WORKFLOW_STAGE_ORDER, d as WorkflowAction, W as WorkflowParams, a as WorkflowStage, e as buildCheckpointContract, f as buildSetupArgs, g as checkpointContinueStage, h as clearStageDecisionRequest, i as ensureAction, j as ensureStageLoopState, k as invalidateVerifyEvidence, m as mergeStateFromParams, n as noImplementationModeFor, l as previewModeFromWorkflowMode, o as proofAssessmentHardBlockersForState, q as readState, s as recordStageAttempt, t as requiredBaselineLabelsForState, r as resolveConfig, u as resolveRiddleProofDir, v as setStageDecisionRequest, w as summarizeState, x as validateShipGate, y as visualDeltaForState, z as visualDeltaRequiredForState, A as visualDeltaShipGateReason, D as workflowFile, E as writeState } from '../proof-run-core-CrpYH-qH.cjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { B as BUNDLED_RIDDLE_PROOF_DIR, C as CHECKPOINT_CONTRACT_VERSION, b as CheckpointInputContract, P as PluginConfig, R as RIDDLE_PROOF_DIR_CANDIDATES, S as ShipGateValidation, c as WORKFLOW_STAGE_ORDER, d as WorkflowAction, W as WorkflowParams, a as WorkflowStage, e as buildCheckpointContract, f as buildSetupArgs, g as checkpointContinueStage, h as clearStageDecisionRequest, i as ensureAction, j as ensureStageLoopState, k as invalidateVerifyEvidence, m as mergeStateFromParams, n as noImplementationModeFor, l as previewModeFromWorkflowMode, o as proofAssessmentHardBlockersForState, q as readState, s as recordStageAttempt, t as requiredBaselineLabelsForState, r as resolveConfig, u as resolveRiddleProofDir, v as setStageDecisionRequest, w as summarizeState, x as validateShipGate, y as visualDeltaForState, z as visualDeltaRequiredForState, A as visualDeltaShipGateReason, D as workflowFile, E as writeState } from '../proof-run-core-
|
|
1
|
+
export { B as BUNDLED_RIDDLE_PROOF_DIR, C as CHECKPOINT_CONTRACT_VERSION, b as CheckpointInputContract, P as PluginConfig, R as RIDDLE_PROOF_DIR_CANDIDATES, S as ShipGateValidation, c as WORKFLOW_STAGE_ORDER, d as WorkflowAction, W as WorkflowParams, a as WorkflowStage, e as buildCheckpointContract, f as buildSetupArgs, g as checkpointContinueStage, h as clearStageDecisionRequest, i as ensureAction, j as ensureStageLoopState, k as invalidateVerifyEvidence, m as mergeStateFromParams, n as noImplementationModeFor, l as previewModeFromWorkflowMode, o as proofAssessmentHardBlockersForState, q as readState, s as recordStageAttempt, t as requiredBaselineLabelsForState, r as resolveConfig, u as resolveRiddleProofDir, v as setStageDecisionRequest, w as summarizeState, x as validateShipGate, y as visualDeltaForState, z as visualDeltaRequiredForState, A as visualDeltaShipGateReason, D as workflowFile, E as writeState } from '../proof-run-core-CrpYH-qH.js';
|
|
@@ -2623,10 +2623,15 @@ ${implementRes.stderr || ""}`;
|
|
|
2623
2623
|
verifyContinueWithStage,
|
|
2624
2624
|
convergenceSignals
|
|
2625
2625
|
};
|
|
2626
|
-
const
|
|
2626
|
+
const conclusiveVerifyBlockers = proofAssessmentHardBlockersForState({
|
|
2627
|
+
...state,
|
|
2628
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || void 0,
|
|
2629
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || void 0
|
|
2630
|
+
});
|
|
2631
|
+
const structuredInteractionFailureSummary = stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers[0]);
|
|
2627
2632
|
if (verifyStatus !== "evidence_captured") {
|
|
2628
2633
|
const captureQuality = verifyDecisionRequest?.capture_quality || {};
|
|
2629
|
-
const captureTerminalBlocker = Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2634
|
+
const captureTerminalBlocker = conclusiveVerifyBlockers.length > 0 || Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2630
2635
|
if (!captureTerminalBlocker && (verifyContinueWithStage || verifyRecommendedStage || "author") === "author") {
|
|
2631
2636
|
updateState(config.statePath, (currentState) => {
|
|
2632
2637
|
currentState.author_status = "needs_authoring";
|
|
@@ -2640,7 +2645,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2640
2645
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2641
2646
|
autoApproved: verifyRes.autoApproved || false,
|
|
2642
2647
|
checkpoint: checkpointName,
|
|
2643
|
-
details: verifyDetails
|
|
2648
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2644
2649
|
});
|
|
2645
2650
|
return checkpoint(
|
|
2646
2651
|
"verify",
|
|
@@ -2653,7 +2658,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2653
2658
|
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyRecommendedStage || "author",
|
|
2654
2659
|
continueWithStage: captureTerminalBlocker ? null : verifyContinueWithStage || "author",
|
|
2655
2660
|
blocking: captureTerminalBlocker,
|
|
2656
|
-
details: verifyDetails,
|
|
2661
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2657
2662
|
verifyStatus,
|
|
2658
2663
|
verifySummary,
|
|
2659
2664
|
afterCdn: state?.after_cdn || null,
|
|
@@ -2664,12 +2669,12 @@ ${implementRes.stderr || ""}`;
|
|
|
2664
2669
|
}
|
|
2665
2670
|
);
|
|
2666
2671
|
}
|
|
2667
|
-
if (structuredInteractionFailureSummary) {
|
|
2672
|
+
if (conclusiveVerifyBlockers.length > 0 || structuredInteractionFailureSummary) {
|
|
2668
2673
|
const summary = structuredInteractionFailureSummary;
|
|
2669
2674
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2670
2675
|
autoApproved: verifyRes.autoApproved || false,
|
|
2671
2676
|
checkpoint: "verify_capture_blocked",
|
|
2672
|
-
details: verifyDetails
|
|
2677
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2673
2678
|
});
|
|
2674
2679
|
return checkpoint(
|
|
2675
2680
|
"verify",
|
|
@@ -2682,7 +2687,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2682
2687
|
recommendedAdvanceStage: null,
|
|
2683
2688
|
continueWithStage: null,
|
|
2684
2689
|
blocking: true,
|
|
2685
|
-
details: verifyDetails,
|
|
2690
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2686
2691
|
verifyStatus,
|
|
2687
2692
|
verifySummary,
|
|
2688
2693
|
afterCdn: state?.after_cdn || null,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from '../proof-run-engine-
|
|
2
|
-
import '../proof-run-core-
|
|
1
|
+
export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from '../proof-run-engine-C6vYAZd8.cjs';
|
|
2
|
+
import '../proof-run-core-CrpYH-qH.cjs';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from '../proof-run-engine-
|
|
2
|
-
import '../proof-run-core-
|
|
1
|
+
export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from '../proof-run-engine-h9C1lC0w.js';
|
|
2
|
+
import '../proof-run-core-CrpYH-qH.js';
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
invalidateVerifyEvidence,
|
|
8
8
|
mergeStateFromParams,
|
|
9
9
|
noImplementationModeFor,
|
|
10
|
+
proofAssessmentHardBlockersForState,
|
|
10
11
|
readState,
|
|
11
12
|
recordStageAttempt,
|
|
12
13
|
resolveConfig,
|
|
@@ -1511,10 +1512,15 @@ ${implementRes.stderr || ""}`;
|
|
|
1511
1512
|
verifyContinueWithStage,
|
|
1512
1513
|
convergenceSignals
|
|
1513
1514
|
};
|
|
1514
|
-
const
|
|
1515
|
+
const conclusiveVerifyBlockers = proofAssessmentHardBlockersForState({
|
|
1516
|
+
...state,
|
|
1517
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || void 0,
|
|
1518
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || void 0
|
|
1519
|
+
});
|
|
1520
|
+
const structuredInteractionFailureSummary = stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers[0]);
|
|
1515
1521
|
if (verifyStatus !== "evidence_captured") {
|
|
1516
1522
|
const captureQuality = verifyDecisionRequest?.capture_quality || {};
|
|
1517
|
-
const captureTerminalBlocker = Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
1523
|
+
const captureTerminalBlocker = conclusiveVerifyBlockers.length > 0 || Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
1518
1524
|
if (!captureTerminalBlocker && (verifyContinueWithStage || verifyRecommendedStage || "author") === "author") {
|
|
1519
1525
|
updateState(config.statePath, (currentState) => {
|
|
1520
1526
|
currentState.author_status = "needs_authoring";
|
|
@@ -1528,7 +1534,7 @@ ${implementRes.stderr || ""}`;
|
|
|
1528
1534
|
recordAttempt("verify", "checkpoint", summary, {
|
|
1529
1535
|
autoApproved: verifyRes.autoApproved || false,
|
|
1530
1536
|
checkpoint: checkpointName,
|
|
1531
|
-
details: verifyDetails
|
|
1537
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
1532
1538
|
});
|
|
1533
1539
|
return checkpoint(
|
|
1534
1540
|
"verify",
|
|
@@ -1541,7 +1547,7 @@ ${implementRes.stderr || ""}`;
|
|
|
1541
1547
|
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyRecommendedStage || "author",
|
|
1542
1548
|
continueWithStage: captureTerminalBlocker ? null : verifyContinueWithStage || "author",
|
|
1543
1549
|
blocking: captureTerminalBlocker,
|
|
1544
|
-
details: verifyDetails,
|
|
1550
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
1545
1551
|
verifyStatus,
|
|
1546
1552
|
verifySummary,
|
|
1547
1553
|
afterCdn: state?.after_cdn || null,
|
|
@@ -1552,12 +1558,12 @@ ${implementRes.stderr || ""}`;
|
|
|
1552
1558
|
}
|
|
1553
1559
|
);
|
|
1554
1560
|
}
|
|
1555
|
-
if (structuredInteractionFailureSummary) {
|
|
1561
|
+
if (conclusiveVerifyBlockers.length > 0 || structuredInteractionFailureSummary) {
|
|
1556
1562
|
const summary = structuredInteractionFailureSummary;
|
|
1557
1563
|
recordAttempt("verify", "checkpoint", summary, {
|
|
1558
1564
|
autoApproved: verifyRes.autoApproved || false,
|
|
1559
1565
|
checkpoint: "verify_capture_blocked",
|
|
1560
|
-
details: verifyDetails
|
|
1566
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
1561
1567
|
});
|
|
1562
1568
|
return checkpoint(
|
|
1563
1569
|
"verify",
|
|
@@ -1570,7 +1576,7 @@ ${implementRes.stderr || ""}`;
|
|
|
1570
1576
|
recommendedAdvanceStage: null,
|
|
1571
1577
|
continueWithStage: null,
|
|
1572
1578
|
blocking: true,
|
|
1573
|
-
details: verifyDetails,
|
|
1579
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
1574
1580
|
verifyStatus,
|
|
1575
1581
|
verifySummary,
|
|
1576
1582
|
afterCdn: state?.after_cdn || null,
|
package/dist/cli/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-UTQJHWCQ.js";
|
|
2
2
|
import "../chunk-PEWAIEER.js";
|
|
3
3
|
import "../chunk-TWTEUS7R.js";
|
|
4
|
-
import "../chunk-
|
|
4
|
+
import "../chunk-2DW2LBUD.js";
|
|
5
5
|
import "../chunk-YZUVEJ5B.js";
|
|
6
6
|
import "../chunk-FMOYUYH2.js";
|
|
7
7
|
import "../chunk-FU73I4V3.js";
|
package/dist/cli.cjs
CHANGED
|
@@ -2623,10 +2623,15 @@ ${implementRes.stderr || ""}`;
|
|
|
2623
2623
|
verifyContinueWithStage,
|
|
2624
2624
|
convergenceSignals
|
|
2625
2625
|
};
|
|
2626
|
-
const
|
|
2626
|
+
const conclusiveVerifyBlockers = proofAssessmentHardBlockersForState({
|
|
2627
|
+
...state,
|
|
2628
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || void 0,
|
|
2629
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || void 0
|
|
2630
|
+
});
|
|
2631
|
+
const structuredInteractionFailureSummary = stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers[0]);
|
|
2627
2632
|
if (verifyStatus !== "evidence_captured") {
|
|
2628
2633
|
const captureQuality = verifyDecisionRequest?.capture_quality || {};
|
|
2629
|
-
const captureTerminalBlocker = Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2634
|
+
const captureTerminalBlocker = conclusiveVerifyBlockers.length > 0 || Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2630
2635
|
if (!captureTerminalBlocker && (verifyContinueWithStage || verifyRecommendedStage || "author") === "author") {
|
|
2631
2636
|
updateState(config.statePath, (currentState) => {
|
|
2632
2637
|
currentState.author_status = "needs_authoring";
|
|
@@ -2640,7 +2645,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2640
2645
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2641
2646
|
autoApproved: verifyRes.autoApproved || false,
|
|
2642
2647
|
checkpoint: checkpointName,
|
|
2643
|
-
details: verifyDetails
|
|
2648
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2644
2649
|
});
|
|
2645
2650
|
return checkpoint(
|
|
2646
2651
|
"verify",
|
|
@@ -2653,7 +2658,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2653
2658
|
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyRecommendedStage || "author",
|
|
2654
2659
|
continueWithStage: captureTerminalBlocker ? null : verifyContinueWithStage || "author",
|
|
2655
2660
|
blocking: captureTerminalBlocker,
|
|
2656
|
-
details: verifyDetails,
|
|
2661
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2657
2662
|
verifyStatus,
|
|
2658
2663
|
verifySummary,
|
|
2659
2664
|
afterCdn: state?.after_cdn || null,
|
|
@@ -2664,12 +2669,12 @@ ${implementRes.stderr || ""}`;
|
|
|
2664
2669
|
}
|
|
2665
2670
|
);
|
|
2666
2671
|
}
|
|
2667
|
-
if (structuredInteractionFailureSummary) {
|
|
2672
|
+
if (conclusiveVerifyBlockers.length > 0 || structuredInteractionFailureSummary) {
|
|
2668
2673
|
const summary = structuredInteractionFailureSummary;
|
|
2669
2674
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2670
2675
|
autoApproved: verifyRes.autoApproved || false,
|
|
2671
2676
|
checkpoint: "verify_capture_blocked",
|
|
2672
|
-
details: verifyDetails
|
|
2677
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2673
2678
|
});
|
|
2674
2679
|
return checkpoint(
|
|
2675
2680
|
"verify",
|
|
@@ -2682,7 +2687,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2682
2687
|
recommendedAdvanceStage: null,
|
|
2683
2688
|
continueWithStage: null,
|
|
2684
2689
|
blocking: true,
|
|
2685
|
-
details: verifyDetails,
|
|
2690
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2686
2691
|
verifyStatus,
|
|
2687
2692
|
verifySummary,
|
|
2688
2693
|
afterCdn: state?.after_cdn || null,
|
package/dist/cli.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import "./chunk-
|
|
2
|
+
import "./chunk-UTQJHWCQ.js";
|
|
3
3
|
import "./chunk-PEWAIEER.js";
|
|
4
4
|
import "./chunk-TWTEUS7R.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-2DW2LBUD.js";
|
|
6
6
|
import "./chunk-YZUVEJ5B.js";
|
|
7
7
|
import "./chunk-FMOYUYH2.js";
|
|
8
8
|
import "./chunk-FU73I4V3.js";
|
package/dist/engine-harness.cjs
CHANGED
|
@@ -2623,10 +2623,15 @@ ${implementRes.stderr || ""}`;
|
|
|
2623
2623
|
verifyContinueWithStage,
|
|
2624
2624
|
convergenceSignals
|
|
2625
2625
|
};
|
|
2626
|
-
const
|
|
2626
|
+
const conclusiveVerifyBlockers = proofAssessmentHardBlockersForState({
|
|
2627
|
+
...state,
|
|
2628
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || void 0,
|
|
2629
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || void 0
|
|
2630
|
+
});
|
|
2631
|
+
const structuredInteractionFailureSummary = stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers[0]);
|
|
2627
2632
|
if (verifyStatus !== "evidence_captured") {
|
|
2628
2633
|
const captureQuality = verifyDecisionRequest?.capture_quality || {};
|
|
2629
|
-
const captureTerminalBlocker = Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2634
|
+
const captureTerminalBlocker = conclusiveVerifyBlockers.length > 0 || Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2630
2635
|
if (!captureTerminalBlocker && (verifyContinueWithStage || verifyRecommendedStage || "author") === "author") {
|
|
2631
2636
|
updateState(config.statePath, (currentState) => {
|
|
2632
2637
|
currentState.author_status = "needs_authoring";
|
|
@@ -2640,7 +2645,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2640
2645
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2641
2646
|
autoApproved: verifyRes.autoApproved || false,
|
|
2642
2647
|
checkpoint: checkpointName,
|
|
2643
|
-
details: verifyDetails
|
|
2648
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2644
2649
|
});
|
|
2645
2650
|
return checkpoint(
|
|
2646
2651
|
"verify",
|
|
@@ -2653,7 +2658,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2653
2658
|
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyRecommendedStage || "author",
|
|
2654
2659
|
continueWithStage: captureTerminalBlocker ? null : verifyContinueWithStage || "author",
|
|
2655
2660
|
blocking: captureTerminalBlocker,
|
|
2656
|
-
details: verifyDetails,
|
|
2661
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2657
2662
|
verifyStatus,
|
|
2658
2663
|
verifySummary,
|
|
2659
2664
|
afterCdn: state?.after_cdn || null,
|
|
@@ -2664,12 +2669,12 @@ ${implementRes.stderr || ""}`;
|
|
|
2664
2669
|
}
|
|
2665
2670
|
);
|
|
2666
2671
|
}
|
|
2667
|
-
if (structuredInteractionFailureSummary) {
|
|
2672
|
+
if (conclusiveVerifyBlockers.length > 0 || structuredInteractionFailureSummary) {
|
|
2668
2673
|
const summary = structuredInteractionFailureSummary;
|
|
2669
2674
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2670
2675
|
autoApproved: verifyRes.autoApproved || false,
|
|
2671
2676
|
checkpoint: "verify_capture_blocked",
|
|
2672
|
-
details: verifyDetails
|
|
2677
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2673
2678
|
});
|
|
2674
2679
|
return checkpoint(
|
|
2675
2680
|
"verify",
|
|
@@ -2682,7 +2687,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2682
2687
|
recommendedAdvanceStage: null,
|
|
2683
2688
|
continueWithStage: null,
|
|
2684
2689
|
blocking: true,
|
|
2685
|
-
details: verifyDetails,
|
|
2690
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2686
2691
|
verifyStatus,
|
|
2687
2692
|
verifySummary,
|
|
2688
2693
|
afterCdn: state?.after_cdn || null,
|
package/dist/engine-harness.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -2623,10 +2623,15 @@ ${implementRes.stderr || ""}`;
|
|
|
2623
2623
|
verifyContinueWithStage,
|
|
2624
2624
|
convergenceSignals
|
|
2625
2625
|
};
|
|
2626
|
-
const
|
|
2626
|
+
const conclusiveVerifyBlockers = proofAssessmentHardBlockersForState({
|
|
2627
|
+
...state,
|
|
2628
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || void 0,
|
|
2629
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || void 0
|
|
2630
|
+
});
|
|
2631
|
+
const structuredInteractionFailureSummary = stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers[0]);
|
|
2627
2632
|
if (verifyStatus !== "evidence_captured") {
|
|
2628
2633
|
const captureQuality = verifyDecisionRequest?.capture_quality || {};
|
|
2629
|
-
const captureTerminalBlocker = Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2634
|
+
const captureTerminalBlocker = conclusiveVerifyBlockers.length > 0 || Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2630
2635
|
if (!captureTerminalBlocker && (verifyContinueWithStage || verifyRecommendedStage || "author") === "author") {
|
|
2631
2636
|
updateState(config.statePath, (currentState) => {
|
|
2632
2637
|
currentState.author_status = "needs_authoring";
|
|
@@ -2640,7 +2645,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2640
2645
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2641
2646
|
autoApproved: verifyRes.autoApproved || false,
|
|
2642
2647
|
checkpoint: checkpointName,
|
|
2643
|
-
details: verifyDetails
|
|
2648
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2644
2649
|
});
|
|
2645
2650
|
return checkpoint(
|
|
2646
2651
|
"verify",
|
|
@@ -2653,7 +2658,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2653
2658
|
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyRecommendedStage || "author",
|
|
2654
2659
|
continueWithStage: captureTerminalBlocker ? null : verifyContinueWithStage || "author",
|
|
2655
2660
|
blocking: captureTerminalBlocker,
|
|
2656
|
-
details: verifyDetails,
|
|
2661
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2657
2662
|
verifyStatus,
|
|
2658
2663
|
verifySummary,
|
|
2659
2664
|
afterCdn: state?.after_cdn || null,
|
|
@@ -2664,12 +2669,12 @@ ${implementRes.stderr || ""}`;
|
|
|
2664
2669
|
}
|
|
2665
2670
|
);
|
|
2666
2671
|
}
|
|
2667
|
-
if (structuredInteractionFailureSummary) {
|
|
2672
|
+
if (conclusiveVerifyBlockers.length > 0 || structuredInteractionFailureSummary) {
|
|
2668
2673
|
const summary = structuredInteractionFailureSummary;
|
|
2669
2674
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2670
2675
|
autoApproved: verifyRes.autoApproved || false,
|
|
2671
2676
|
checkpoint: "verify_capture_blocked",
|
|
2672
|
-
details: verifyDetails
|
|
2677
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2673
2678
|
});
|
|
2674
2679
|
return checkpoint(
|
|
2675
2680
|
"verify",
|
|
@@ -2682,7 +2687,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2682
2687
|
recommendedAdvanceStage: null,
|
|
2683
2688
|
continueWithStage: null,
|
|
2684
2689
|
blocking: true,
|
|
2685
|
-
details: verifyDetails,
|
|
2690
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2686
2691
|
verifyStatus,
|
|
2687
2692
|
verifySummary,
|
|
2688
2693
|
afterCdn: state?.after_cdn || null,
|
package/dist/index.js
CHANGED
|
@@ -121,7 +121,7 @@ declare function buildSetupArgs(params: WorkflowParams, config: ReturnType<typeo
|
|
|
121
121
|
target_image_hash: string;
|
|
122
122
|
viewport_matrix_json: string;
|
|
123
123
|
deterministic_setup_json: string;
|
|
124
|
-
reference: "
|
|
124
|
+
reference: "prod" | "before" | "both";
|
|
125
125
|
base_branch: string;
|
|
126
126
|
before_ref: string;
|
|
127
127
|
allow_static_preview_fallback: string;
|
|
@@ -121,7 +121,7 @@ declare function buildSetupArgs(params: WorkflowParams, config: ReturnType<typeo
|
|
|
121
121
|
target_image_hash: string;
|
|
122
122
|
viewport_matrix_json: string;
|
|
123
123
|
deterministic_setup_json: string;
|
|
124
|
-
reference: "
|
|
124
|
+
reference: "prod" | "before" | "both";
|
|
125
125
|
base_branch: string;
|
|
126
126
|
before_ref: string;
|
|
127
127
|
allow_static_preview_fallback: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { B as BUNDLED_RIDDLE_PROOF_DIR, C as CHECKPOINT_CONTRACT_VERSION, b as CheckpointInputContract, P as PluginConfig, R as RIDDLE_PROOF_DIR_CANDIDATES, S as ShipGateValidation, c as WORKFLOW_STAGE_ORDER, d as WorkflowAction, W as WorkflowParams, a as WorkflowStage, e as buildCheckpointContract, f as buildSetupArgs, g as checkpointContinueStage, h as clearStageDecisionRequest, i as ensureAction, j as ensureStageLoopState, k as invalidateVerifyEvidence, m as mergeStateFromParams, n as noImplementationModeFor, l as previewModeFromWorkflowMode, o as proofAssessmentHardBlockersForState, q as readState, s as recordStageAttempt, t as requiredBaselineLabelsForState, r as resolveConfig, u as resolveRiddleProofDir, v as setStageDecisionRequest, w as summarizeState, x as validateShipGate, y as visualDeltaForState, z as visualDeltaRequiredForState, A as visualDeltaShipGateReason, D as workflowFile, E as writeState } from './proof-run-core-
|
|
1
|
+
export { B as BUNDLED_RIDDLE_PROOF_DIR, C as CHECKPOINT_CONTRACT_VERSION, b as CheckpointInputContract, P as PluginConfig, R as RIDDLE_PROOF_DIR_CANDIDATES, S as ShipGateValidation, c as WORKFLOW_STAGE_ORDER, d as WorkflowAction, W as WorkflowParams, a as WorkflowStage, e as buildCheckpointContract, f as buildSetupArgs, g as checkpointContinueStage, h as clearStageDecisionRequest, i as ensureAction, j as ensureStageLoopState, k as invalidateVerifyEvidence, m as mergeStateFromParams, n as noImplementationModeFor, l as previewModeFromWorkflowMode, o as proofAssessmentHardBlockersForState, q as readState, s as recordStageAttempt, t as requiredBaselineLabelsForState, r as resolveConfig, u as resolveRiddleProofDir, v as setStageDecisionRequest, w as summarizeState, x as validateShipGate, y as visualDeltaForState, z as visualDeltaRequiredForState, A as visualDeltaShipGateReason, D as workflowFile, E as writeState } from './proof-run-core-CrpYH-qH.cjs';
|
package/dist/proof-run-core.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { B as BUNDLED_RIDDLE_PROOF_DIR, C as CHECKPOINT_CONTRACT_VERSION, b as CheckpointInputContract, P as PluginConfig, R as RIDDLE_PROOF_DIR_CANDIDATES, S as ShipGateValidation, c as WORKFLOW_STAGE_ORDER, d as WorkflowAction, W as WorkflowParams, a as WorkflowStage, e as buildCheckpointContract, f as buildSetupArgs, g as checkpointContinueStage, h as clearStageDecisionRequest, i as ensureAction, j as ensureStageLoopState, k as invalidateVerifyEvidence, m as mergeStateFromParams, n as noImplementationModeFor, l as previewModeFromWorkflowMode, o as proofAssessmentHardBlockersForState, q as readState, s as recordStageAttempt, t as requiredBaselineLabelsForState, r as resolveConfig, u as resolveRiddleProofDir, v as setStageDecisionRequest, w as summarizeState, x as validateShipGate, y as visualDeltaForState, z as visualDeltaRequiredForState, A as visualDeltaShipGateReason, D as workflowFile, E as writeState } from './proof-run-core-
|
|
1
|
+
export { B as BUNDLED_RIDDLE_PROOF_DIR, C as CHECKPOINT_CONTRACT_VERSION, b as CheckpointInputContract, P as PluginConfig, R as RIDDLE_PROOF_DIR_CANDIDATES, S as ShipGateValidation, c as WORKFLOW_STAGE_ORDER, d as WorkflowAction, W as WorkflowParams, a as WorkflowStage, e as buildCheckpointContract, f as buildSetupArgs, g as checkpointContinueStage, h as clearStageDecisionRequest, i as ensureAction, j as ensureStageLoopState, k as invalidateVerifyEvidence, m as mergeStateFromParams, n as noImplementationModeFor, l as previewModeFromWorkflowMode, o as proofAssessmentHardBlockersForState, q as readState, s as recordStageAttempt, t as requiredBaselineLabelsForState, r as resolveConfig, u as resolveRiddleProofDir, v as setStageDecisionRequest, w as summarizeState, x as validateShipGate, y as visualDeltaForState, z as visualDeltaRequiredForState, A as visualDeltaShipGateReason, D as workflowFile, E as writeState } from './proof-run-core-CrpYH-qH.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { W as WorkflowParams, r as resolveConfig, P as PluginConfig, a as WorkflowStage } from './proof-run-core-
|
|
1
|
+
import { W as WorkflowParams, r as resolveConfig, P as PluginConfig, a as WorkflowStage } from './proof-run-core-CrpYH-qH.cjs';
|
|
2
2
|
|
|
3
3
|
declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, resolvedConfig?: ReturnType<typeof resolveConfig>): Promise<{
|
|
4
4
|
ok: boolean;
|
|
@@ -292,7 +292,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
292
292
|
blocking?: boolean;
|
|
293
293
|
details?: Record<string, unknown>;
|
|
294
294
|
ok: boolean;
|
|
295
|
-
action: "
|
|
295
|
+
action: "setup" | "recon" | "author" | "implement" | "verify" | "ship" | "run";
|
|
296
296
|
state_path: string;
|
|
297
297
|
stage: any;
|
|
298
298
|
summary: string;
|
|
@@ -382,7 +382,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
382
382
|
continueWithStage?: WorkflowStage | null;
|
|
383
383
|
blocking?: boolean;
|
|
384
384
|
details?: Record<string, unknown>;
|
|
385
|
-
action: "
|
|
385
|
+
action: "setup" | "recon" | "author" | "implement" | "verify" | "ship" | "run";
|
|
386
386
|
state_path: string;
|
|
387
387
|
stage: any;
|
|
388
388
|
checkpoint: string;
|
|
@@ -659,7 +659,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
659
659
|
error?: undefined;
|
|
660
660
|
} | {
|
|
661
661
|
ok: boolean;
|
|
662
|
-
action: "
|
|
662
|
+
action: "setup" | "recon" | "author" | "implement" | "verify" | "ship";
|
|
663
663
|
state_path: string;
|
|
664
664
|
stage: any;
|
|
665
665
|
summary: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { W as WorkflowParams, r as resolveConfig, P as PluginConfig, a as WorkflowStage } from './proof-run-core-
|
|
1
|
+
import { W as WorkflowParams, r as resolveConfig, P as PluginConfig, a as WorkflowStage } from './proof-run-core-CrpYH-qH.js';
|
|
2
2
|
|
|
3
3
|
declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, resolvedConfig?: ReturnType<typeof resolveConfig>): Promise<{
|
|
4
4
|
ok: boolean;
|
|
@@ -292,7 +292,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
292
292
|
blocking?: boolean;
|
|
293
293
|
details?: Record<string, unknown>;
|
|
294
294
|
ok: boolean;
|
|
295
|
-
action: "
|
|
295
|
+
action: "setup" | "recon" | "author" | "implement" | "verify" | "ship" | "run";
|
|
296
296
|
state_path: string;
|
|
297
297
|
stage: any;
|
|
298
298
|
summary: string;
|
|
@@ -382,7 +382,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
382
382
|
continueWithStage?: WorkflowStage | null;
|
|
383
383
|
blocking?: boolean;
|
|
384
384
|
details?: Record<string, unknown>;
|
|
385
|
-
action: "
|
|
385
|
+
action: "setup" | "recon" | "author" | "implement" | "verify" | "ship" | "run";
|
|
386
386
|
state_path: string;
|
|
387
387
|
stage: any;
|
|
388
388
|
checkpoint: string;
|
|
@@ -659,7 +659,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
659
659
|
error?: undefined;
|
|
660
660
|
} | {
|
|
661
661
|
ok: boolean;
|
|
662
|
-
action: "
|
|
662
|
+
action: "setup" | "recon" | "author" | "implement" | "verify" | "ship";
|
|
663
663
|
state_path: string;
|
|
664
664
|
stage: any;
|
|
665
665
|
summary: string;
|
|
@@ -2621,10 +2621,15 @@ ${implementRes.stderr || ""}`;
|
|
|
2621
2621
|
verifyContinueWithStage,
|
|
2622
2622
|
convergenceSignals
|
|
2623
2623
|
};
|
|
2624
|
-
const
|
|
2624
|
+
const conclusiveVerifyBlockers = proofAssessmentHardBlockersForState({
|
|
2625
|
+
...state,
|
|
2626
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || void 0,
|
|
2627
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || void 0
|
|
2628
|
+
});
|
|
2629
|
+
const structuredInteractionFailureSummary = stringValue(verifyDecisionRequest?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest?.structured_interaction_failure_summary) || stringValue(state?.structured_interaction_capture_failure_summary) || stringValue(state?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers[0]);
|
|
2625
2630
|
if (verifyStatus !== "evidence_captured") {
|
|
2626
2631
|
const captureQuality = verifyDecisionRequest?.capture_quality || {};
|
|
2627
|
-
const captureTerminalBlocker = Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2632
|
+
const captureTerminalBlocker = conclusiveVerifyBlockers.length > 0 || Boolean(structuredInteractionFailureSummary) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2628
2633
|
if (!captureTerminalBlocker && (verifyContinueWithStage || verifyRecommendedStage || "author") === "author") {
|
|
2629
2634
|
updateState(config.statePath, (currentState) => {
|
|
2630
2635
|
currentState.author_status = "needs_authoring";
|
|
@@ -2638,7 +2643,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2638
2643
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2639
2644
|
autoApproved: verifyRes.autoApproved || false,
|
|
2640
2645
|
checkpoint: checkpointName,
|
|
2641
|
-
details: verifyDetails
|
|
2646
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2642
2647
|
});
|
|
2643
2648
|
return checkpoint(
|
|
2644
2649
|
"verify",
|
|
@@ -2651,7 +2656,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2651
2656
|
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyRecommendedStage || "author",
|
|
2652
2657
|
continueWithStage: captureTerminalBlocker ? null : verifyContinueWithStage || "author",
|
|
2653
2658
|
blocking: captureTerminalBlocker,
|
|
2654
|
-
details: verifyDetails,
|
|
2659
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2655
2660
|
verifyStatus,
|
|
2656
2661
|
verifySummary,
|
|
2657
2662
|
afterCdn: state?.after_cdn || null,
|
|
@@ -2662,12 +2667,12 @@ ${implementRes.stderr || ""}`;
|
|
|
2662
2667
|
}
|
|
2663
2668
|
);
|
|
2664
2669
|
}
|
|
2665
|
-
if (structuredInteractionFailureSummary) {
|
|
2670
|
+
if (conclusiveVerifyBlockers.length > 0 || structuredInteractionFailureSummary) {
|
|
2666
2671
|
const summary = structuredInteractionFailureSummary;
|
|
2667
2672
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2668
2673
|
autoApproved: verifyRes.autoApproved || false,
|
|
2669
2674
|
checkpoint: "verify_capture_blocked",
|
|
2670
|
-
details: verifyDetails
|
|
2675
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers }
|
|
2671
2676
|
});
|
|
2672
2677
|
return checkpoint(
|
|
2673
2678
|
"verify",
|
|
@@ -2680,7 +2685,7 @@ ${implementRes.stderr || ""}`;
|
|
|
2680
2685
|
recommendedAdvanceStage: null,
|
|
2681
2686
|
continueWithStage: null,
|
|
2682
2687
|
blocking: true,
|
|
2683
|
-
details: verifyDetails,
|
|
2688
|
+
details: { ...verifyDetails, conclusiveVerifyBlockers },
|
|
2684
2689
|
verifyStatus,
|
|
2685
2690
|
verifySummary,
|
|
2686
2691
|
afterCdn: state?.after_cdn || null,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import './proof-run-core-
|
|
2
|
-
export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from './proof-run-engine-
|
|
1
|
+
import './proof-run-core-CrpYH-qH.cjs';
|
|
2
|
+
export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from './proof-run-engine-C6vYAZd8.cjs';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import './proof-run-core-
|
|
2
|
-
export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from './proof-run-engine-
|
|
1
|
+
import './proof-run-core-CrpYH-qH.js';
|
|
2
|
+
export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from './proof-run-engine-h9C1lC0w.js';
|
package/dist/proof-run-engine.js
CHANGED
package/package.json
CHANGED
package/runtime/lib/verify.py
CHANGED
|
@@ -2723,6 +2723,29 @@ def failed_interaction_evidence_summary(proof_evidence):
|
|
|
2723
2723
|
return summary
|
|
2724
2724
|
|
|
2725
2725
|
|
|
2726
|
+
def interaction_failed_evidence_after_script_error_summary(proof_evidence, capture_error):
|
|
2727
|
+
capture_error = str(capture_error or '').strip()
|
|
2728
|
+
if not capture_error:
|
|
2729
|
+
return ''
|
|
2730
|
+
failures = []
|
|
2731
|
+
for record in proof_evidence_records(proof_evidence):
|
|
2732
|
+
failures.extend(collect_interaction_failed_assertions(record))
|
|
2733
|
+
deduped = []
|
|
2734
|
+
seen = set()
|
|
2735
|
+
for failure in failures:
|
|
2736
|
+
failure = str(failure or '').strip()
|
|
2737
|
+
if not failure or failure in seen:
|
|
2738
|
+
continue
|
|
2739
|
+
seen.add(failure)
|
|
2740
|
+
deduped.append(failure)
|
|
2741
|
+
if not deduped:
|
|
2742
|
+
return ''
|
|
2743
|
+
summary = 'Interaction capture emitted failed structured proof evidence before the capture script completed.'
|
|
2744
|
+
summary += ' Failed checks: ' + ', '.join(deduped[:8]) + '.'
|
|
2745
|
+
summary += ' Capture script error: ' + capture_error[:300]
|
|
2746
|
+
return summary
|
|
2747
|
+
|
|
2748
|
+
|
|
2726
2749
|
def interaction_capture_failure_evidence_summary(proof_evidence):
|
|
2727
2750
|
for record in proof_evidence_records_deep(proof_evidence):
|
|
2728
2751
|
if not isinstance(record, dict):
|
|
@@ -4073,8 +4096,20 @@ structured_interaction_failure_summary = ''
|
|
|
4073
4096
|
structured_interaction_capture_failure_summary = ''
|
|
4074
4097
|
proof_evidence = evidence_bundle.get('proof_evidence')
|
|
4075
4098
|
if verification_mode in INTERACTION_MODES and proof_evidence is not None:
|
|
4099
|
+
capture_error_messages = []
|
|
4100
|
+
if isinstance(after_observation.get('details'), dict):
|
|
4101
|
+
capture_error_messages = [
|
|
4102
|
+
str(item).strip()
|
|
4103
|
+
for item in (after_observation.get('details') or {}).get('capture_error_messages') or []
|
|
4104
|
+
if str(item).strip()
|
|
4105
|
+
]
|
|
4076
4106
|
structured_interaction_failure_summary = failed_interaction_evidence_summary(proof_evidence)
|
|
4077
4107
|
structured_interaction_capture_failure_summary = interaction_capture_failure_evidence_summary(proof_evidence)
|
|
4108
|
+
if capture_error_messages and not structured_interaction_capture_failure_summary:
|
|
4109
|
+
structured_interaction_capture_failure_summary = interaction_failed_evidence_after_script_error_summary(
|
|
4110
|
+
proof_evidence,
|
|
4111
|
+
capture_error_messages[0],
|
|
4112
|
+
)
|
|
4078
4113
|
if structured_interaction_failure_summary:
|
|
4079
4114
|
summary_lines.append('Structured interaction evidence gate: ' + structured_interaction_failure_summary)
|
|
4080
4115
|
if structured_interaction_capture_failure_summary:
|
|
@@ -718,6 +718,47 @@ class FakeRiddle:
|
|
|
718
718
|
'proof.json': {'script_error': message},
|
|
719
719
|
},
|
|
720
720
|
}
|
|
721
|
+
if 'interactionThrownAfterFailedEvidence' in script:
|
|
722
|
+
message = 'Error: intentional-riddle-proof-0823-thrown-error-after-failed-evidence'
|
|
723
|
+
page_state = {
|
|
724
|
+
'bodyTextLength': 180,
|
|
725
|
+
'visibleTextSample': 'Riddle Proof homepage hero Start Free',
|
|
726
|
+
'interactiveElements': 4,
|
|
727
|
+
'visibleInteractiveElements': 4,
|
|
728
|
+
'pathname': '/',
|
|
729
|
+
'search': '',
|
|
730
|
+
'hash': '',
|
|
731
|
+
'title': 'Riddle',
|
|
732
|
+
'buttons': ['Start Free'],
|
|
733
|
+
'headings': ['Riddle Proof'],
|
|
734
|
+
'links': [],
|
|
735
|
+
'canvasCount': 0,
|
|
736
|
+
'largeVisibleElements': [{'tag': 'h1', 'text': 'Riddle Proof'}],
|
|
737
|
+
}
|
|
738
|
+
proof_evidence = {
|
|
739
|
+
'version': 'riddle-proof.interaction.v1',
|
|
740
|
+
'evidence_summary': 'Structured interaction evidence was emitted before the diagnostic script threw.',
|
|
741
|
+
'checks': {
|
|
742
|
+
'passed': False,
|
|
743
|
+
'success': False,
|
|
744
|
+
'proofReady': False,
|
|
745
|
+
},
|
|
746
|
+
'capture_error': message,
|
|
747
|
+
}
|
|
748
|
+
return {
|
|
749
|
+
'ok': True,
|
|
750
|
+
'screenshots': [{'url': 'https://cdn.example.com/thrown-error-failed-evidence.png'}],
|
|
751
|
+
'outputs': [{'name': 'after-thrown-error.png', 'url': 'https://cdn.example.com/thrown-error-failed-evidence.png'}],
|
|
752
|
+
'result': {'pageState': page_state, 'proofEvidence': proof_evidence},
|
|
753
|
+
'console': [
|
|
754
|
+
'RIDDLE_PROOF_STATE:' + json.dumps(page_state),
|
|
755
|
+
'RIDDLE_PROOF_EVIDENCE:' + json.dumps(proof_evidence),
|
|
756
|
+
'Uncaught exception: ' + message,
|
|
757
|
+
],
|
|
758
|
+
'_artifact_json': {
|
|
759
|
+
'proof.json': {'script_error': message},
|
|
760
|
+
},
|
|
761
|
+
}
|
|
721
762
|
if 'interactionThrownError' in script:
|
|
722
763
|
message = 'Error: intentional-riddle-proof-0811-thrown-error'
|
|
723
764
|
page_state = {
|
|
@@ -3449,6 +3490,65 @@ def run_verify_interaction_thrown_error_terminal_blocker():
|
|
|
3449
3490
|
shutil.rmtree(tempdir, ignore_errors=True)
|
|
3450
3491
|
|
|
3451
3492
|
|
|
3493
|
+
def run_verify_interaction_thrown_error_after_failed_evidence_terminal_blocker():
|
|
3494
|
+
tempdir = Path(tempfile.mkdtemp(prefix='riddle-proof-interaction-thrown-after-evidence-'))
|
|
3495
|
+
state_path = tempdir / 'state.json'
|
|
3496
|
+
try:
|
|
3497
|
+
state = base_state(tempdir, reference='before')
|
|
3498
|
+
state.update({
|
|
3499
|
+
'recon_status': 'ready_for_proof_plan',
|
|
3500
|
+
'author_status': 'ready',
|
|
3501
|
+
'proof_plan_status': 'ready',
|
|
3502
|
+
'implementation_status': 'changes_detected',
|
|
3503
|
+
'verification_mode': 'interaction',
|
|
3504
|
+
'server_path': '/',
|
|
3505
|
+
'before_cdn': 'https://cdn.example.com/before-home.png',
|
|
3506
|
+
'proof_plan': 'Run a diagnostic interaction script that emits failed proof evidence and then intentionally throws.',
|
|
3507
|
+
'capture_script': "interactionThrownAfterFailedEvidence();",
|
|
3508
|
+
'recon_results': {
|
|
3509
|
+
'baselines': {'before': {'path': '/', 'url': 'https://cdn.example.com/before-home.png'}},
|
|
3510
|
+
},
|
|
3511
|
+
})
|
|
3512
|
+
write_state(state_path, state)
|
|
3513
|
+
os.environ['RIDDLE_PROOF_STATE_FILE'] = str(state_path)
|
|
3514
|
+
|
|
3515
|
+
fake = FakeRiddle()
|
|
3516
|
+
load_util_with_fake(fake)
|
|
3517
|
+
load_module('verify_interaction_thrown_error_after_failed_evidence_terminal_blocker', VERIFY_PATH)
|
|
3518
|
+
after_verify = json.loads(state_path.read_text())
|
|
3519
|
+
|
|
3520
|
+
assert after_verify['verify_status'] == 'capture_incomplete'
|
|
3521
|
+
assert after_verify['merge_recommendation'] == 'do-not-merge'
|
|
3522
|
+
assert after_verify['proof_assessment_request'] == {}
|
|
3523
|
+
capture_quality = after_verify['verify_decision_request']['capture_quality']
|
|
3524
|
+
assert capture_quality['decision'] == 'failed_interaction_capture'
|
|
3525
|
+
assert capture_quality['recommended_stage'] is None
|
|
3526
|
+
assert capture_quality['continue_with_stage'] is None
|
|
3527
|
+
assert capture_quality['blocking'] is True
|
|
3528
|
+
assert capture_quality['terminal_blocker'] is True
|
|
3529
|
+
capture_quality_text = json.dumps(capture_quality, sort_keys=True)
|
|
3530
|
+
assert 'intentional-riddle-proof-0823-thrown-error-after-failed-evidence' in capture_quality_text
|
|
3531
|
+
assert 'proofReady' in capture_quality_text
|
|
3532
|
+
assert after_verify['structured_interaction_capture_failure_summary']
|
|
3533
|
+
evidence = after_verify['evidence_bundle']['proof_evidence']
|
|
3534
|
+
if isinstance(evidence, list):
|
|
3535
|
+
evidence = next(
|
|
3536
|
+
record for record in evidence_records(evidence)
|
|
3537
|
+
if isinstance(record.get('checks'), dict) and record['checks'].get('proofReady') is False
|
|
3538
|
+
)
|
|
3539
|
+
assert evidence['checks']['passed'] is False
|
|
3540
|
+
assert evidence['checks']['success'] is False
|
|
3541
|
+
assert evidence['checks']['proofReady'] is False
|
|
3542
|
+
assert 'Structured interaction capture blocker' in after_verify['proof_summary']
|
|
3543
|
+
return {
|
|
3544
|
+
'ok': True,
|
|
3545
|
+
'decision': capture_quality['decision'],
|
|
3546
|
+
'blocking': capture_quality['blocking'],
|
|
3547
|
+
}
|
|
3548
|
+
finally:
|
|
3549
|
+
shutil.rmtree(tempdir, ignore_errors=True)
|
|
3550
|
+
|
|
3551
|
+
|
|
3452
3552
|
def run_verify_capture_retry_surfaces_script_timeout():
|
|
3453
3553
|
tempdir = Path(tempfile.mkdtemp(prefix='riddle-proof-capture-timeout-'))
|
|
3454
3554
|
state_path = tempdir / 'state.json'
|
|
@@ -3878,6 +3978,7 @@ if __name__ == '__main__':
|
|
|
3878
3978
|
'verify_interaction_query_hash_pass_uses_proof_evidence_route': run_verify_interaction_query_hash_pass_uses_proof_evidence_route(),
|
|
3879
3979
|
'verify_interaction_explicit_expected_url_blocks_dropped_terminal_route': run_verify_interaction_explicit_expected_url_blocks_dropped_terminal_route(),
|
|
3880
3980
|
'verify_interaction_thrown_error_terminal_blocker': run_verify_interaction_thrown_error_terminal_blocker(),
|
|
3981
|
+
'verify_interaction_thrown_error_after_failed_evidence_terminal_blocker': run_verify_interaction_thrown_error_after_failed_evidence_terminal_blocker(),
|
|
3881
3982
|
'verify_capture_retry_surfaces_script_timeout': run_verify_capture_retry_surfaces_script_timeout(),
|
|
3882
3983
|
'missing_baseline_guard': run_verify_missing_baseline(),
|
|
3883
3984
|
'ship_supervisor_gate': run_ship_missing_supervisor_gate(),
|
|
@@ -97,6 +97,12 @@ CASES = [
|
|
|
97
97
|
'function': 'run_verify_interaction_thrown_error_terminal_blocker',
|
|
98
98
|
'expected_terminal': 'specific_blocker',
|
|
99
99
|
},
|
|
100
|
+
{
|
|
101
|
+
'name': 'interaction-thrown-error-after-failed-evidence-specific-blocker',
|
|
102
|
+
'covers': ['thrown errors', 'proof-evidence-present', 'invalid browser evidence'],
|
|
103
|
+
'function': 'run_verify_interaction_thrown_error_after_failed_evidence_terminal_blocker',
|
|
104
|
+
'expected_terminal': 'specific_blocker',
|
|
105
|
+
},
|
|
100
106
|
{
|
|
101
107
|
'name': 'structured-proof-without-screenshot-pass',
|
|
102
108
|
'covers': ['proof-evidence-present'],
|
|
File without changes
|