@riddledc/riddle-proof 0.8.29 → 0.8.30
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 +56 -1
- package/dist/advanced/engine-harness.js +1 -1
- package/dist/advanced/index.cjs +56 -1
- package/dist/advanced/index.js +2 -2
- package/dist/advanced/proof-run-engine.cjs +56 -1
- package/dist/advanced/proof-run-engine.js +1 -1
- package/dist/{chunk-YC77HZVF.js → chunk-32RE64IO.js} +56 -1
- package/dist/{chunk-FJPZZ4JO.js → chunk-XJA2GDVN.js} +1 -1
- package/dist/cli/index.js +2 -2
- package/dist/cli.cjs +56 -1
- package/dist/cli.js +2 -2
- package/dist/engine-harness.cjs +56 -1
- package/dist/engine-harness.js +1 -1
- package/dist/index.cjs +56 -1
- package/dist/index.js +1 -1
- package/dist/proof-run-engine.cjs +56 -1
- package/dist/proof-run-engine.js +1 -1
- package/package.json +1 -1
- package/runtime/lib/verify.py +13 -1
- package/runtime/tests/recon_verify_smoke.py +5 -1
- /package/dist/{chunk-AM3K5FPW.js → chunk-UWO4YR7I.js} +0 -0
|
@@ -2684,6 +2684,60 @@ ${implementRes.stderr || ""}`;
|
|
|
2684
2684
|
verifyRes = runOne("verify");
|
|
2685
2685
|
executed.push(executedStep(verifyRes));
|
|
2686
2686
|
if (!verifyRes.ok || verifyRes.haltedForApproval) {
|
|
2687
|
+
const failedVerifyState = readState(config.statePath);
|
|
2688
|
+
const failedVerifyStatus = failedVerifyState?.verify_status || "";
|
|
2689
|
+
if (!verifyRes.haltedForApproval && (failedVerifyStatus === "capture_incomplete" || failedVerifyStatus === "capture_error")) {
|
|
2690
|
+
const verifyDecisionRequest2 = failedVerifyState?.verify_decision_request || null;
|
|
2691
|
+
const captureQuality = verifyDecisionRequest2?.capture_quality || {};
|
|
2692
|
+
const conclusiveVerifyBlockers2 = proofAssessmentHardBlockersForState({
|
|
2693
|
+
...failedVerifyState,
|
|
2694
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || void 0,
|
|
2695
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || void 0
|
|
2696
|
+
});
|
|
2697
|
+
const structuredInteractionFailureSummary2 = stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers2[0]);
|
|
2698
|
+
const captureTerminalBlocker = failedVerifyStatus === "capture_error" || conclusiveVerifyBlockers2.length > 0 || Boolean(structuredInteractionFailureSummary2) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2699
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2700
|
+
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2701
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary2 || stringValue(verifyDecisionRequest2?.summary) || stringValue(failedVerifyState?.verify_summary) || stringValue(failedVerifyState?.proof_summary) || stringValue(verifyRes.error) || "Verify capture failed before the evidence could be judged.";
|
|
2702
|
+
const failedVerifyDetails = {
|
|
2703
|
+
executed,
|
|
2704
|
+
verifyStatus: failedVerifyStatus,
|
|
2705
|
+
verifySummary: failedVerifyState?.verify_summary || failedVerifyState?.proof_summary || null,
|
|
2706
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2707
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2708
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2709
|
+
conclusiveVerifyBlockers: conclusiveVerifyBlockers2,
|
|
2710
|
+
verifyError: verifyRes.error || null,
|
|
2711
|
+
verifyStdout: verifyRes.stdout || "",
|
|
2712
|
+
verifyStderr: verifyRes.stderr || ""
|
|
2713
|
+
};
|
|
2714
|
+
recordAttempt("verify", "checkpoint", summary, {
|
|
2715
|
+
autoApproved: verifyRes.autoApproved || false,
|
|
2716
|
+
checkpoint: checkpointName,
|
|
2717
|
+
error: verifyRes.error || null,
|
|
2718
|
+
details: failedVerifyDetails
|
|
2719
|
+
});
|
|
2720
|
+
return checkpoint(
|
|
2721
|
+
"verify",
|
|
2722
|
+
checkpointName,
|
|
2723
|
+
summary,
|
|
2724
|
+
{
|
|
2725
|
+
ok: true,
|
|
2726
|
+
nextActions: captureTerminalBlocker ? ["inspect_after_capture", "report_specific_browser_evidence_blocker", "start_a_new_run_after_the_product_or_script_is_fixed"] : ["inspect_after_capture", "continue_internal_loop_with_checkpoint", "return_to_recon_if_baseline_is_wrong"],
|
|
2727
|
+
advanceOptions: needsImplementation ? ["author", "implement", "ship", "verify", "recon"] : ["author", "verify", "recon"],
|
|
2728
|
+
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.recommended_stage || verifyDecisionRequest2?.continue_with_stage || "author",
|
|
2729
|
+
continueWithStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.continue_with_stage || verifyDecisionRequest2?.recommended_stage || "author",
|
|
2730
|
+
blocking: captureTerminalBlocker,
|
|
2731
|
+
details: failedVerifyDetails,
|
|
2732
|
+
verifyStatus: failedVerifyStatus,
|
|
2733
|
+
verifySummary: failedVerifyDetails.verifySummary,
|
|
2734
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2735
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2736
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2737
|
+
executed
|
|
2738
|
+
}
|
|
2739
|
+
);
|
|
2740
|
+
}
|
|
2687
2741
|
return failedRun("verify", verifyRes.haltedForApproval ? "verify halted for approval" : "verify failed", verifyRes, {
|
|
2688
2742
|
checkpoint: "verify_failed",
|
|
2689
2743
|
details: { executed },
|
|
@@ -2737,8 +2791,9 @@ ${implementRes.stderr || ""}`;
|
|
|
2737
2791
|
});
|
|
2738
2792
|
state = readState(config.statePath);
|
|
2739
2793
|
}
|
|
2794
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2740
2795
|
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2741
|
-
const summary = structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2796
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2742
2797
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2743
2798
|
autoApproved: verifyRes.autoApproved || false,
|
|
2744
2799
|
checkpoint: checkpointName,
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
createDisabledRiddleProofAgentAdapter,
|
|
3
3
|
readRiddleProofRunStatus,
|
|
4
4
|
runRiddleProofEngineHarness
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-UWO4YR7I.js";
|
|
6
6
|
import "../chunk-ZQWVXQKJ.js";
|
|
7
7
|
import "../chunk-RDPG554T.js";
|
|
8
8
|
import "../chunk-K6HZUSHH.js";
|
package/dist/advanced/index.cjs
CHANGED
|
@@ -2715,6 +2715,60 @@ ${implementRes.stderr || ""}`;
|
|
|
2715
2715
|
verifyRes = runOne("verify");
|
|
2716
2716
|
executed.push(executedStep(verifyRes));
|
|
2717
2717
|
if (!verifyRes.ok || verifyRes.haltedForApproval) {
|
|
2718
|
+
const failedVerifyState = readState(config.statePath);
|
|
2719
|
+
const failedVerifyStatus = failedVerifyState?.verify_status || "";
|
|
2720
|
+
if (!verifyRes.haltedForApproval && (failedVerifyStatus === "capture_incomplete" || failedVerifyStatus === "capture_error")) {
|
|
2721
|
+
const verifyDecisionRequest2 = failedVerifyState?.verify_decision_request || null;
|
|
2722
|
+
const captureQuality = verifyDecisionRequest2?.capture_quality || {};
|
|
2723
|
+
const conclusiveVerifyBlockers2 = proofAssessmentHardBlockersForState({
|
|
2724
|
+
...failedVerifyState,
|
|
2725
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || void 0,
|
|
2726
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || void 0
|
|
2727
|
+
});
|
|
2728
|
+
const structuredInteractionFailureSummary2 = stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers2[0]);
|
|
2729
|
+
const captureTerminalBlocker = failedVerifyStatus === "capture_error" || conclusiveVerifyBlockers2.length > 0 || Boolean(structuredInteractionFailureSummary2) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2730
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2731
|
+
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2732
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary2 || stringValue(verifyDecisionRequest2?.summary) || stringValue(failedVerifyState?.verify_summary) || stringValue(failedVerifyState?.proof_summary) || stringValue(verifyRes.error) || "Verify capture failed before the evidence could be judged.";
|
|
2733
|
+
const failedVerifyDetails = {
|
|
2734
|
+
executed,
|
|
2735
|
+
verifyStatus: failedVerifyStatus,
|
|
2736
|
+
verifySummary: failedVerifyState?.verify_summary || failedVerifyState?.proof_summary || null,
|
|
2737
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2738
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2739
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2740
|
+
conclusiveVerifyBlockers: conclusiveVerifyBlockers2,
|
|
2741
|
+
verifyError: verifyRes.error || null,
|
|
2742
|
+
verifyStdout: verifyRes.stdout || "",
|
|
2743
|
+
verifyStderr: verifyRes.stderr || ""
|
|
2744
|
+
};
|
|
2745
|
+
recordAttempt("verify", "checkpoint", summary, {
|
|
2746
|
+
autoApproved: verifyRes.autoApproved || false,
|
|
2747
|
+
checkpoint: checkpointName,
|
|
2748
|
+
error: verifyRes.error || null,
|
|
2749
|
+
details: failedVerifyDetails
|
|
2750
|
+
});
|
|
2751
|
+
return checkpoint(
|
|
2752
|
+
"verify",
|
|
2753
|
+
checkpointName,
|
|
2754
|
+
summary,
|
|
2755
|
+
{
|
|
2756
|
+
ok: true,
|
|
2757
|
+
nextActions: captureTerminalBlocker ? ["inspect_after_capture", "report_specific_browser_evidence_blocker", "start_a_new_run_after_the_product_or_script_is_fixed"] : ["inspect_after_capture", "continue_internal_loop_with_checkpoint", "return_to_recon_if_baseline_is_wrong"],
|
|
2758
|
+
advanceOptions: needsImplementation ? ["author", "implement", "ship", "verify", "recon"] : ["author", "verify", "recon"],
|
|
2759
|
+
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.recommended_stage || verifyDecisionRequest2?.continue_with_stage || "author",
|
|
2760
|
+
continueWithStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.continue_with_stage || verifyDecisionRequest2?.recommended_stage || "author",
|
|
2761
|
+
blocking: captureTerminalBlocker,
|
|
2762
|
+
details: failedVerifyDetails,
|
|
2763
|
+
verifyStatus: failedVerifyStatus,
|
|
2764
|
+
verifySummary: failedVerifyDetails.verifySummary,
|
|
2765
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2766
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2767
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2768
|
+
executed
|
|
2769
|
+
}
|
|
2770
|
+
);
|
|
2771
|
+
}
|
|
2718
2772
|
return failedRun("verify", verifyRes.haltedForApproval ? "verify halted for approval" : "verify failed", verifyRes, {
|
|
2719
2773
|
checkpoint: "verify_failed",
|
|
2720
2774
|
details: { executed },
|
|
@@ -2768,8 +2822,9 @@ ${implementRes.stderr || ""}`;
|
|
|
2768
2822
|
});
|
|
2769
2823
|
state = readState(config.statePath);
|
|
2770
2824
|
}
|
|
2825
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2771
2826
|
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2772
|
-
const summary = structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2827
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2773
2828
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2774
2829
|
autoApproved: verifyRes.autoApproved || false,
|
|
2775
2830
|
checkpoint: checkpointName,
|
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-32RE64IO.js";
|
|
4
4
|
import {
|
|
5
5
|
runner_exports
|
|
6
6
|
} from "../chunk-3OTO7IDH.js";
|
|
7
7
|
import {
|
|
8
8
|
engine_harness_exports
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-UWO4YR7I.js";
|
|
10
10
|
import "../chunk-ZQWVXQKJ.js";
|
|
11
11
|
import "../chunk-RDPG554T.js";
|
|
12
12
|
import {
|
|
@@ -2684,6 +2684,60 @@ ${implementRes.stderr || ""}`;
|
|
|
2684
2684
|
verifyRes = runOne("verify");
|
|
2685
2685
|
executed.push(executedStep(verifyRes));
|
|
2686
2686
|
if (!verifyRes.ok || verifyRes.haltedForApproval) {
|
|
2687
|
+
const failedVerifyState = readState(config.statePath);
|
|
2688
|
+
const failedVerifyStatus = failedVerifyState?.verify_status || "";
|
|
2689
|
+
if (!verifyRes.haltedForApproval && (failedVerifyStatus === "capture_incomplete" || failedVerifyStatus === "capture_error")) {
|
|
2690
|
+
const verifyDecisionRequest2 = failedVerifyState?.verify_decision_request || null;
|
|
2691
|
+
const captureQuality = verifyDecisionRequest2?.capture_quality || {};
|
|
2692
|
+
const conclusiveVerifyBlockers2 = proofAssessmentHardBlockersForState({
|
|
2693
|
+
...failedVerifyState,
|
|
2694
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || void 0,
|
|
2695
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || void 0
|
|
2696
|
+
});
|
|
2697
|
+
const structuredInteractionFailureSummary2 = stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers2[0]);
|
|
2698
|
+
const captureTerminalBlocker = failedVerifyStatus === "capture_error" || conclusiveVerifyBlockers2.length > 0 || Boolean(structuredInteractionFailureSummary2) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2699
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2700
|
+
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2701
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary2 || stringValue(verifyDecisionRequest2?.summary) || stringValue(failedVerifyState?.verify_summary) || stringValue(failedVerifyState?.proof_summary) || stringValue(verifyRes.error) || "Verify capture failed before the evidence could be judged.";
|
|
2702
|
+
const failedVerifyDetails = {
|
|
2703
|
+
executed,
|
|
2704
|
+
verifyStatus: failedVerifyStatus,
|
|
2705
|
+
verifySummary: failedVerifyState?.verify_summary || failedVerifyState?.proof_summary || null,
|
|
2706
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2707
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2708
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2709
|
+
conclusiveVerifyBlockers: conclusiveVerifyBlockers2,
|
|
2710
|
+
verifyError: verifyRes.error || null,
|
|
2711
|
+
verifyStdout: verifyRes.stdout || "",
|
|
2712
|
+
verifyStderr: verifyRes.stderr || ""
|
|
2713
|
+
};
|
|
2714
|
+
recordAttempt("verify", "checkpoint", summary, {
|
|
2715
|
+
autoApproved: verifyRes.autoApproved || false,
|
|
2716
|
+
checkpoint: checkpointName,
|
|
2717
|
+
error: verifyRes.error || null,
|
|
2718
|
+
details: failedVerifyDetails
|
|
2719
|
+
});
|
|
2720
|
+
return checkpoint(
|
|
2721
|
+
"verify",
|
|
2722
|
+
checkpointName,
|
|
2723
|
+
summary,
|
|
2724
|
+
{
|
|
2725
|
+
ok: true,
|
|
2726
|
+
nextActions: captureTerminalBlocker ? ["inspect_after_capture", "report_specific_browser_evidence_blocker", "start_a_new_run_after_the_product_or_script_is_fixed"] : ["inspect_after_capture", "continue_internal_loop_with_checkpoint", "return_to_recon_if_baseline_is_wrong"],
|
|
2727
|
+
advanceOptions: needsImplementation ? ["author", "implement", "ship", "verify", "recon"] : ["author", "verify", "recon"],
|
|
2728
|
+
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.recommended_stage || verifyDecisionRequest2?.continue_with_stage || "author",
|
|
2729
|
+
continueWithStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.continue_with_stage || verifyDecisionRequest2?.recommended_stage || "author",
|
|
2730
|
+
blocking: captureTerminalBlocker,
|
|
2731
|
+
details: failedVerifyDetails,
|
|
2732
|
+
verifyStatus: failedVerifyStatus,
|
|
2733
|
+
verifySummary: failedVerifyDetails.verifySummary,
|
|
2734
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2735
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2736
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2737
|
+
executed
|
|
2738
|
+
}
|
|
2739
|
+
);
|
|
2740
|
+
}
|
|
2687
2741
|
return failedRun("verify", verifyRes.haltedForApproval ? "verify halted for approval" : "verify failed", verifyRes, {
|
|
2688
2742
|
checkpoint: "verify_failed",
|
|
2689
2743
|
details: { executed },
|
|
@@ -2737,8 +2791,9 @@ ${implementRes.stderr || ""}`;
|
|
|
2737
2791
|
});
|
|
2738
2792
|
state = readState(config.statePath);
|
|
2739
2793
|
}
|
|
2794
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2740
2795
|
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2741
|
-
const summary = structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2796
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2742
2797
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2743
2798
|
autoApproved: verifyRes.autoApproved || false,
|
|
2744
2799
|
checkpoint: checkpointName,
|
|
@@ -1476,6 +1476,60 @@ ${implementRes.stderr || ""}`;
|
|
|
1476
1476
|
verifyRes = runOne("verify");
|
|
1477
1477
|
executed.push(executedStep(verifyRes));
|
|
1478
1478
|
if (!verifyRes.ok || verifyRes.haltedForApproval) {
|
|
1479
|
+
const failedVerifyState = readState(config.statePath);
|
|
1480
|
+
const failedVerifyStatus = failedVerifyState?.verify_status || "";
|
|
1481
|
+
if (!verifyRes.haltedForApproval && (failedVerifyStatus === "capture_incomplete" || failedVerifyStatus === "capture_error")) {
|
|
1482
|
+
const verifyDecisionRequest2 = failedVerifyState?.verify_decision_request || null;
|
|
1483
|
+
const captureQuality = verifyDecisionRequest2?.capture_quality || {};
|
|
1484
|
+
const conclusiveVerifyBlockers2 = proofAssessmentHardBlockersForState({
|
|
1485
|
+
...failedVerifyState,
|
|
1486
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || void 0,
|
|
1487
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || void 0
|
|
1488
|
+
});
|
|
1489
|
+
const structuredInteractionFailureSummary2 = stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers2[0]);
|
|
1490
|
+
const captureTerminalBlocker = failedVerifyStatus === "capture_error" || conclusiveVerifyBlockers2.length > 0 || Boolean(structuredInteractionFailureSummary2) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
1491
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
1492
|
+
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
1493
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary2 || stringValue(verifyDecisionRequest2?.summary) || stringValue(failedVerifyState?.verify_summary) || stringValue(failedVerifyState?.proof_summary) || stringValue(verifyRes.error) || "Verify capture failed before the evidence could be judged.";
|
|
1494
|
+
const failedVerifyDetails = {
|
|
1495
|
+
executed,
|
|
1496
|
+
verifyStatus: failedVerifyStatus,
|
|
1497
|
+
verifySummary: failedVerifyState?.verify_summary || failedVerifyState?.proof_summary || null,
|
|
1498
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
1499
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
1500
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
1501
|
+
conclusiveVerifyBlockers: conclusiveVerifyBlockers2,
|
|
1502
|
+
verifyError: verifyRes.error || null,
|
|
1503
|
+
verifyStdout: verifyRes.stdout || "",
|
|
1504
|
+
verifyStderr: verifyRes.stderr || ""
|
|
1505
|
+
};
|
|
1506
|
+
recordAttempt("verify", "checkpoint", summary, {
|
|
1507
|
+
autoApproved: verifyRes.autoApproved || false,
|
|
1508
|
+
checkpoint: checkpointName,
|
|
1509
|
+
error: verifyRes.error || null,
|
|
1510
|
+
details: failedVerifyDetails
|
|
1511
|
+
});
|
|
1512
|
+
return checkpoint(
|
|
1513
|
+
"verify",
|
|
1514
|
+
checkpointName,
|
|
1515
|
+
summary,
|
|
1516
|
+
{
|
|
1517
|
+
ok: true,
|
|
1518
|
+
nextActions: captureTerminalBlocker ? ["inspect_after_capture", "report_specific_browser_evidence_blocker", "start_a_new_run_after_the_product_or_script_is_fixed"] : ["inspect_after_capture", "continue_internal_loop_with_checkpoint", "return_to_recon_if_baseline_is_wrong"],
|
|
1519
|
+
advanceOptions: needsImplementation ? ["author", "implement", "ship", "verify", "recon"] : ["author", "verify", "recon"],
|
|
1520
|
+
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.recommended_stage || verifyDecisionRequest2?.continue_with_stage || "author",
|
|
1521
|
+
continueWithStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.continue_with_stage || verifyDecisionRequest2?.recommended_stage || "author",
|
|
1522
|
+
blocking: captureTerminalBlocker,
|
|
1523
|
+
details: failedVerifyDetails,
|
|
1524
|
+
verifyStatus: failedVerifyStatus,
|
|
1525
|
+
verifySummary: failedVerifyDetails.verifySummary,
|
|
1526
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
1527
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
1528
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
1529
|
+
executed
|
|
1530
|
+
}
|
|
1531
|
+
);
|
|
1532
|
+
}
|
|
1479
1533
|
return failedRun("verify", verifyRes.haltedForApproval ? "verify halted for approval" : "verify failed", verifyRes, {
|
|
1480
1534
|
checkpoint: "verify_failed",
|
|
1481
1535
|
details: { executed },
|
|
@@ -1529,8 +1583,9 @@ ${implementRes.stderr || ""}`;
|
|
|
1529
1583
|
});
|
|
1530
1584
|
state = readState(config.statePath);
|
|
1531
1585
|
}
|
|
1586
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
1532
1587
|
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
1533
|
-
const summary = structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
1588
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
1534
1589
|
recordAttempt("verify", "checkpoint", summary, {
|
|
1535
1590
|
autoApproved: verifyRes.autoApproved || false,
|
|
1536
1591
|
checkpoint: checkpointName,
|
package/dist/cli/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-XJA2GDVN.js";
|
|
2
2
|
import "../chunk-PEWAIEER.js";
|
|
3
3
|
import "../chunk-TWTEUS7R.js";
|
|
4
|
-
import "../chunk-
|
|
4
|
+
import "../chunk-UWO4YR7I.js";
|
|
5
5
|
import "../chunk-ZQWVXQKJ.js";
|
|
6
6
|
import "../chunk-RDPG554T.js";
|
|
7
7
|
import "../chunk-K6HZUSHH.js";
|
package/dist/cli.cjs
CHANGED
|
@@ -2684,6 +2684,60 @@ ${implementRes.stderr || ""}`;
|
|
|
2684
2684
|
verifyRes = runOne("verify");
|
|
2685
2685
|
executed.push(executedStep(verifyRes));
|
|
2686
2686
|
if (!verifyRes.ok || verifyRes.haltedForApproval) {
|
|
2687
|
+
const failedVerifyState = readState(config.statePath);
|
|
2688
|
+
const failedVerifyStatus = failedVerifyState?.verify_status || "";
|
|
2689
|
+
if (!verifyRes.haltedForApproval && (failedVerifyStatus === "capture_incomplete" || failedVerifyStatus === "capture_error")) {
|
|
2690
|
+
const verifyDecisionRequest2 = failedVerifyState?.verify_decision_request || null;
|
|
2691
|
+
const captureQuality = verifyDecisionRequest2?.capture_quality || {};
|
|
2692
|
+
const conclusiveVerifyBlockers2 = proofAssessmentHardBlockersForState({
|
|
2693
|
+
...failedVerifyState,
|
|
2694
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || void 0,
|
|
2695
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || void 0
|
|
2696
|
+
});
|
|
2697
|
+
const structuredInteractionFailureSummary2 = stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers2[0]);
|
|
2698
|
+
const captureTerminalBlocker = failedVerifyStatus === "capture_error" || conclusiveVerifyBlockers2.length > 0 || Boolean(structuredInteractionFailureSummary2) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2699
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2700
|
+
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2701
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary2 || stringValue(verifyDecisionRequest2?.summary) || stringValue(failedVerifyState?.verify_summary) || stringValue(failedVerifyState?.proof_summary) || stringValue(verifyRes.error) || "Verify capture failed before the evidence could be judged.";
|
|
2702
|
+
const failedVerifyDetails = {
|
|
2703
|
+
executed,
|
|
2704
|
+
verifyStatus: failedVerifyStatus,
|
|
2705
|
+
verifySummary: failedVerifyState?.verify_summary || failedVerifyState?.proof_summary || null,
|
|
2706
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2707
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2708
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2709
|
+
conclusiveVerifyBlockers: conclusiveVerifyBlockers2,
|
|
2710
|
+
verifyError: verifyRes.error || null,
|
|
2711
|
+
verifyStdout: verifyRes.stdout || "",
|
|
2712
|
+
verifyStderr: verifyRes.stderr || ""
|
|
2713
|
+
};
|
|
2714
|
+
recordAttempt("verify", "checkpoint", summary, {
|
|
2715
|
+
autoApproved: verifyRes.autoApproved || false,
|
|
2716
|
+
checkpoint: checkpointName,
|
|
2717
|
+
error: verifyRes.error || null,
|
|
2718
|
+
details: failedVerifyDetails
|
|
2719
|
+
});
|
|
2720
|
+
return checkpoint(
|
|
2721
|
+
"verify",
|
|
2722
|
+
checkpointName,
|
|
2723
|
+
summary,
|
|
2724
|
+
{
|
|
2725
|
+
ok: true,
|
|
2726
|
+
nextActions: captureTerminalBlocker ? ["inspect_after_capture", "report_specific_browser_evidence_blocker", "start_a_new_run_after_the_product_or_script_is_fixed"] : ["inspect_after_capture", "continue_internal_loop_with_checkpoint", "return_to_recon_if_baseline_is_wrong"],
|
|
2727
|
+
advanceOptions: needsImplementation ? ["author", "implement", "ship", "verify", "recon"] : ["author", "verify", "recon"],
|
|
2728
|
+
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.recommended_stage || verifyDecisionRequest2?.continue_with_stage || "author",
|
|
2729
|
+
continueWithStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.continue_with_stage || verifyDecisionRequest2?.recommended_stage || "author",
|
|
2730
|
+
blocking: captureTerminalBlocker,
|
|
2731
|
+
details: failedVerifyDetails,
|
|
2732
|
+
verifyStatus: failedVerifyStatus,
|
|
2733
|
+
verifySummary: failedVerifyDetails.verifySummary,
|
|
2734
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2735
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2736
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2737
|
+
executed
|
|
2738
|
+
}
|
|
2739
|
+
);
|
|
2740
|
+
}
|
|
2687
2741
|
return failedRun("verify", verifyRes.haltedForApproval ? "verify halted for approval" : "verify failed", verifyRes, {
|
|
2688
2742
|
checkpoint: "verify_failed",
|
|
2689
2743
|
details: { executed },
|
|
@@ -2737,8 +2791,9 @@ ${implementRes.stderr || ""}`;
|
|
|
2737
2791
|
});
|
|
2738
2792
|
state = readState(config.statePath);
|
|
2739
2793
|
}
|
|
2794
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2740
2795
|
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2741
|
-
const summary = structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2796
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2742
2797
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2743
2798
|
autoApproved: verifyRes.autoApproved || false,
|
|
2744
2799
|
checkpoint: checkpointName,
|
package/dist/cli.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import "./chunk-
|
|
2
|
+
import "./chunk-XJA2GDVN.js";
|
|
3
3
|
import "./chunk-PEWAIEER.js";
|
|
4
4
|
import "./chunk-TWTEUS7R.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-UWO4YR7I.js";
|
|
6
6
|
import "./chunk-ZQWVXQKJ.js";
|
|
7
7
|
import "./chunk-RDPG554T.js";
|
|
8
8
|
import "./chunk-K6HZUSHH.js";
|
package/dist/engine-harness.cjs
CHANGED
|
@@ -2684,6 +2684,60 @@ ${implementRes.stderr || ""}`;
|
|
|
2684
2684
|
verifyRes = runOne("verify");
|
|
2685
2685
|
executed.push(executedStep(verifyRes));
|
|
2686
2686
|
if (!verifyRes.ok || verifyRes.haltedForApproval) {
|
|
2687
|
+
const failedVerifyState = readState(config.statePath);
|
|
2688
|
+
const failedVerifyStatus = failedVerifyState?.verify_status || "";
|
|
2689
|
+
if (!verifyRes.haltedForApproval && (failedVerifyStatus === "capture_incomplete" || failedVerifyStatus === "capture_error")) {
|
|
2690
|
+
const verifyDecisionRequest2 = failedVerifyState?.verify_decision_request || null;
|
|
2691
|
+
const captureQuality = verifyDecisionRequest2?.capture_quality || {};
|
|
2692
|
+
const conclusiveVerifyBlockers2 = proofAssessmentHardBlockersForState({
|
|
2693
|
+
...failedVerifyState,
|
|
2694
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || void 0,
|
|
2695
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || void 0
|
|
2696
|
+
});
|
|
2697
|
+
const structuredInteractionFailureSummary2 = stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers2[0]);
|
|
2698
|
+
const captureTerminalBlocker = failedVerifyStatus === "capture_error" || conclusiveVerifyBlockers2.length > 0 || Boolean(structuredInteractionFailureSummary2) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2699
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2700
|
+
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2701
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary2 || stringValue(verifyDecisionRequest2?.summary) || stringValue(failedVerifyState?.verify_summary) || stringValue(failedVerifyState?.proof_summary) || stringValue(verifyRes.error) || "Verify capture failed before the evidence could be judged.";
|
|
2702
|
+
const failedVerifyDetails = {
|
|
2703
|
+
executed,
|
|
2704
|
+
verifyStatus: failedVerifyStatus,
|
|
2705
|
+
verifySummary: failedVerifyState?.verify_summary || failedVerifyState?.proof_summary || null,
|
|
2706
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2707
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2708
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2709
|
+
conclusiveVerifyBlockers: conclusiveVerifyBlockers2,
|
|
2710
|
+
verifyError: verifyRes.error || null,
|
|
2711
|
+
verifyStdout: verifyRes.stdout || "",
|
|
2712
|
+
verifyStderr: verifyRes.stderr || ""
|
|
2713
|
+
};
|
|
2714
|
+
recordAttempt("verify", "checkpoint", summary, {
|
|
2715
|
+
autoApproved: verifyRes.autoApproved || false,
|
|
2716
|
+
checkpoint: checkpointName,
|
|
2717
|
+
error: verifyRes.error || null,
|
|
2718
|
+
details: failedVerifyDetails
|
|
2719
|
+
});
|
|
2720
|
+
return checkpoint(
|
|
2721
|
+
"verify",
|
|
2722
|
+
checkpointName,
|
|
2723
|
+
summary,
|
|
2724
|
+
{
|
|
2725
|
+
ok: true,
|
|
2726
|
+
nextActions: captureTerminalBlocker ? ["inspect_after_capture", "report_specific_browser_evidence_blocker", "start_a_new_run_after_the_product_or_script_is_fixed"] : ["inspect_after_capture", "continue_internal_loop_with_checkpoint", "return_to_recon_if_baseline_is_wrong"],
|
|
2727
|
+
advanceOptions: needsImplementation ? ["author", "implement", "ship", "verify", "recon"] : ["author", "verify", "recon"],
|
|
2728
|
+
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.recommended_stage || verifyDecisionRequest2?.continue_with_stage || "author",
|
|
2729
|
+
continueWithStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.continue_with_stage || verifyDecisionRequest2?.recommended_stage || "author",
|
|
2730
|
+
blocking: captureTerminalBlocker,
|
|
2731
|
+
details: failedVerifyDetails,
|
|
2732
|
+
verifyStatus: failedVerifyStatus,
|
|
2733
|
+
verifySummary: failedVerifyDetails.verifySummary,
|
|
2734
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2735
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2736
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2737
|
+
executed
|
|
2738
|
+
}
|
|
2739
|
+
);
|
|
2740
|
+
}
|
|
2687
2741
|
return failedRun("verify", verifyRes.haltedForApproval ? "verify halted for approval" : "verify failed", verifyRes, {
|
|
2688
2742
|
checkpoint: "verify_failed",
|
|
2689
2743
|
details: { executed },
|
|
@@ -2737,8 +2791,9 @@ ${implementRes.stderr || ""}`;
|
|
|
2737
2791
|
});
|
|
2738
2792
|
state = readState(config.statePath);
|
|
2739
2793
|
}
|
|
2794
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2740
2795
|
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2741
|
-
const summary = structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2796
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2742
2797
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2743
2798
|
autoApproved: verifyRes.autoApproved || false,
|
|
2744
2799
|
checkpoint: checkpointName,
|
package/dist/engine-harness.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -2684,6 +2684,60 @@ ${implementRes.stderr || ""}`;
|
|
|
2684
2684
|
verifyRes = runOne("verify");
|
|
2685
2685
|
executed.push(executedStep(verifyRes));
|
|
2686
2686
|
if (!verifyRes.ok || verifyRes.haltedForApproval) {
|
|
2687
|
+
const failedVerifyState = readState(config.statePath);
|
|
2688
|
+
const failedVerifyStatus = failedVerifyState?.verify_status || "";
|
|
2689
|
+
if (!verifyRes.haltedForApproval && (failedVerifyStatus === "capture_incomplete" || failedVerifyStatus === "capture_error")) {
|
|
2690
|
+
const verifyDecisionRequest2 = failedVerifyState?.verify_decision_request || null;
|
|
2691
|
+
const captureQuality = verifyDecisionRequest2?.capture_quality || {};
|
|
2692
|
+
const conclusiveVerifyBlockers2 = proofAssessmentHardBlockersForState({
|
|
2693
|
+
...failedVerifyState,
|
|
2694
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || void 0,
|
|
2695
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || void 0
|
|
2696
|
+
});
|
|
2697
|
+
const structuredInteractionFailureSummary2 = stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers2[0]);
|
|
2698
|
+
const captureTerminalBlocker = failedVerifyStatus === "capture_error" || conclusiveVerifyBlockers2.length > 0 || Boolean(structuredInteractionFailureSummary2) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2699
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2700
|
+
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2701
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary2 || stringValue(verifyDecisionRequest2?.summary) || stringValue(failedVerifyState?.verify_summary) || stringValue(failedVerifyState?.proof_summary) || stringValue(verifyRes.error) || "Verify capture failed before the evidence could be judged.";
|
|
2702
|
+
const failedVerifyDetails = {
|
|
2703
|
+
executed,
|
|
2704
|
+
verifyStatus: failedVerifyStatus,
|
|
2705
|
+
verifySummary: failedVerifyState?.verify_summary || failedVerifyState?.proof_summary || null,
|
|
2706
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2707
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2708
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2709
|
+
conclusiveVerifyBlockers: conclusiveVerifyBlockers2,
|
|
2710
|
+
verifyError: verifyRes.error || null,
|
|
2711
|
+
verifyStdout: verifyRes.stdout || "",
|
|
2712
|
+
verifyStderr: verifyRes.stderr || ""
|
|
2713
|
+
};
|
|
2714
|
+
recordAttempt("verify", "checkpoint", summary, {
|
|
2715
|
+
autoApproved: verifyRes.autoApproved || false,
|
|
2716
|
+
checkpoint: checkpointName,
|
|
2717
|
+
error: verifyRes.error || null,
|
|
2718
|
+
details: failedVerifyDetails
|
|
2719
|
+
});
|
|
2720
|
+
return checkpoint(
|
|
2721
|
+
"verify",
|
|
2722
|
+
checkpointName,
|
|
2723
|
+
summary,
|
|
2724
|
+
{
|
|
2725
|
+
ok: true,
|
|
2726
|
+
nextActions: captureTerminalBlocker ? ["inspect_after_capture", "report_specific_browser_evidence_blocker", "start_a_new_run_after_the_product_or_script_is_fixed"] : ["inspect_after_capture", "continue_internal_loop_with_checkpoint", "return_to_recon_if_baseline_is_wrong"],
|
|
2727
|
+
advanceOptions: needsImplementation ? ["author", "implement", "ship", "verify", "recon"] : ["author", "verify", "recon"],
|
|
2728
|
+
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.recommended_stage || verifyDecisionRequest2?.continue_with_stage || "author",
|
|
2729
|
+
continueWithStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.continue_with_stage || verifyDecisionRequest2?.recommended_stage || "author",
|
|
2730
|
+
blocking: captureTerminalBlocker,
|
|
2731
|
+
details: failedVerifyDetails,
|
|
2732
|
+
verifyStatus: failedVerifyStatus,
|
|
2733
|
+
verifySummary: failedVerifyDetails.verifySummary,
|
|
2734
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2735
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2736
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2737
|
+
executed
|
|
2738
|
+
}
|
|
2739
|
+
);
|
|
2740
|
+
}
|
|
2687
2741
|
return failedRun("verify", verifyRes.haltedForApproval ? "verify halted for approval" : "verify failed", verifyRes, {
|
|
2688
2742
|
checkpoint: "verify_failed",
|
|
2689
2743
|
details: { executed },
|
|
@@ -2737,8 +2791,9 @@ ${implementRes.stderr || ""}`;
|
|
|
2737
2791
|
});
|
|
2738
2792
|
state = readState(config.statePath);
|
|
2739
2793
|
}
|
|
2794
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2740
2795
|
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2741
|
-
const summary = structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2796
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2742
2797
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2743
2798
|
autoApproved: verifyRes.autoApproved || false,
|
|
2744
2799
|
checkpoint: checkpointName,
|
package/dist/index.js
CHANGED
|
@@ -2682,6 +2682,60 @@ ${implementRes.stderr || ""}`;
|
|
|
2682
2682
|
verifyRes = runOne("verify");
|
|
2683
2683
|
executed.push(executedStep(verifyRes));
|
|
2684
2684
|
if (!verifyRes.ok || verifyRes.haltedForApproval) {
|
|
2685
|
+
const failedVerifyState = readState(config.statePath);
|
|
2686
|
+
const failedVerifyStatus = failedVerifyState?.verify_status || "";
|
|
2687
|
+
if (!verifyRes.haltedForApproval && (failedVerifyStatus === "capture_incomplete" || failedVerifyStatus === "capture_error")) {
|
|
2688
|
+
const verifyDecisionRequest2 = failedVerifyState?.verify_decision_request || null;
|
|
2689
|
+
const captureQuality = verifyDecisionRequest2?.capture_quality || {};
|
|
2690
|
+
const conclusiveVerifyBlockers2 = proofAssessmentHardBlockersForState({
|
|
2691
|
+
...failedVerifyState,
|
|
2692
|
+
structured_interaction_capture_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || void 0,
|
|
2693
|
+
structured_interaction_failure_summary: stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || void 0
|
|
2694
|
+
});
|
|
2695
|
+
const structuredInteractionFailureSummary2 = stringValue(verifyDecisionRequest2?.structured_interaction_capture_failure_summary) || stringValue(verifyDecisionRequest2?.structured_interaction_failure_summary) || stringValue(failedVerifyState?.structured_interaction_capture_failure_summary) || stringValue(failedVerifyState?.structured_interaction_failure_summary) || stringValue(conclusiveVerifyBlockers2[0]);
|
|
2696
|
+
const captureTerminalBlocker = failedVerifyStatus === "capture_error" || conclusiveVerifyBlockers2.length > 0 || Boolean(structuredInteractionFailureSummary2) || captureQuality?.terminal_blocker === true || captureQuality?.blocking === true;
|
|
2697
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2698
|
+
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2699
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary2 || stringValue(verifyDecisionRequest2?.summary) || stringValue(failedVerifyState?.verify_summary) || stringValue(failedVerifyState?.proof_summary) || stringValue(verifyRes.error) || "Verify capture failed before the evidence could be judged.";
|
|
2700
|
+
const failedVerifyDetails = {
|
|
2701
|
+
executed,
|
|
2702
|
+
verifyStatus: failedVerifyStatus,
|
|
2703
|
+
verifySummary: failedVerifyState?.verify_summary || failedVerifyState?.proof_summary || null,
|
|
2704
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2705
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2706
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2707
|
+
conclusiveVerifyBlockers: conclusiveVerifyBlockers2,
|
|
2708
|
+
verifyError: verifyRes.error || null,
|
|
2709
|
+
verifyStdout: verifyRes.stdout || "",
|
|
2710
|
+
verifyStderr: verifyRes.stderr || ""
|
|
2711
|
+
};
|
|
2712
|
+
recordAttempt("verify", "checkpoint", summary, {
|
|
2713
|
+
autoApproved: verifyRes.autoApproved || false,
|
|
2714
|
+
checkpoint: checkpointName,
|
|
2715
|
+
error: verifyRes.error || null,
|
|
2716
|
+
details: failedVerifyDetails
|
|
2717
|
+
});
|
|
2718
|
+
return checkpoint(
|
|
2719
|
+
"verify",
|
|
2720
|
+
checkpointName,
|
|
2721
|
+
summary,
|
|
2722
|
+
{
|
|
2723
|
+
ok: true,
|
|
2724
|
+
nextActions: captureTerminalBlocker ? ["inspect_after_capture", "report_specific_browser_evidence_blocker", "start_a_new_run_after_the_product_or_script_is_fixed"] : ["inspect_after_capture", "continue_internal_loop_with_checkpoint", "return_to_recon_if_baseline_is_wrong"],
|
|
2725
|
+
advanceOptions: needsImplementation ? ["author", "implement", "ship", "verify", "recon"] : ["author", "verify", "recon"],
|
|
2726
|
+
recommendedAdvanceStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.recommended_stage || verifyDecisionRequest2?.continue_with_stage || "author",
|
|
2727
|
+
continueWithStage: captureTerminalBlocker ? null : verifyDecisionRequest2?.continue_with_stage || verifyDecisionRequest2?.recommended_stage || "author",
|
|
2728
|
+
blocking: captureTerminalBlocker,
|
|
2729
|
+
details: failedVerifyDetails,
|
|
2730
|
+
verifyStatus: failedVerifyStatus,
|
|
2731
|
+
verifySummary: failedVerifyDetails.verifySummary,
|
|
2732
|
+
afterCdn: failedVerifyState?.after_cdn || null,
|
|
2733
|
+
mergeRecommendation: failedVerifyState?.merge_recommendation || null,
|
|
2734
|
+
verifyDecisionRequest: verifyDecisionRequest2,
|
|
2735
|
+
executed
|
|
2736
|
+
}
|
|
2737
|
+
);
|
|
2738
|
+
}
|
|
2685
2739
|
return failedRun("verify", verifyRes.haltedForApproval ? "verify halted for approval" : "verify failed", verifyRes, {
|
|
2686
2740
|
checkpoint: "verify_failed",
|
|
2687
2741
|
details: { executed },
|
|
@@ -2735,8 +2789,9 @@ ${implementRes.stderr || ""}`;
|
|
|
2735
2789
|
});
|
|
2736
2790
|
state = readState(config.statePath);
|
|
2737
2791
|
}
|
|
2792
|
+
const terminalCaptureQualitySummary = captureQuality?.terminal_blocker === true || captureQuality?.blocking === true ? stringValue(captureQuality?.summary) : "";
|
|
2738
2793
|
const checkpointName = captureTerminalBlocker ? "verify_capture_blocked" : "verify_capture_retry";
|
|
2739
|
-
const summary = structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2794
|
+
const summary = terminalCaptureQualitySummary || structuredInteractionFailureSummary || stringValue(proofAssessment.summary) || "Verify ran, but the proof packet still needs internal capture-plan work before it should ship.";
|
|
2740
2795
|
recordAttempt("verify", "checkpoint", summary, {
|
|
2741
2796
|
autoApproved: verifyRes.autoApproved || false,
|
|
2742
2797
|
checkpoint: checkpointName,
|
package/dist/proof-run-engine.js
CHANGED
package/package.json
CHANGED
package/runtime/lib/verify.py
CHANGED
|
@@ -3222,7 +3222,7 @@ def evaluate_capture_quality(payload, expected_path, verification_mode='proof'):
|
|
|
3222
3222
|
}
|
|
3223
3223
|
|
|
3224
3224
|
|
|
3225
|
-
def build_capture_retry_decision(after_observation, required_baseline_present, proof_evidence_blocker='', route_expectation=None):
|
|
3225
|
+
def build_capture_retry_decision(after_observation, required_baseline_present, proof_evidence_blocker='', route_expectation=None, verification_mode=''):
|
|
3226
3226
|
reasons = []
|
|
3227
3227
|
if not required_baseline_present:
|
|
3228
3228
|
reasons.append('Recon baseline is missing, so verify should return to recon instead of guessing a new reference context.')
|
|
@@ -3361,6 +3361,17 @@ def build_capture_retry_decision(after_observation, required_baseline_present, p
|
|
|
3361
3361
|
elif error_messages:
|
|
3362
3362
|
reasons.append('Capture script error: ' + error_messages[0][:500])
|
|
3363
3363
|
summary = 'Verify capture script failed: ' + error_messages[0][:300]
|
|
3364
|
+
reasons.append('The capture script produced a concrete browser/runtime failure, so this run should block with that exact evidence instead of re-authoring in a loop.')
|
|
3365
|
+
return {
|
|
3366
|
+
'decision': 'failed_interaction_capture' if normalized_verification_mode(verification_mode) in INTERACTION_MODES else 'failed_capture',
|
|
3367
|
+
'summary': summary,
|
|
3368
|
+
'recommended_stage': None,
|
|
3369
|
+
'continue_with_stage': None,
|
|
3370
|
+
'blocking': True,
|
|
3371
|
+
'terminal_blocker': True,
|
|
3372
|
+
'reasons': reasons,
|
|
3373
|
+
'mismatch': None,
|
|
3374
|
+
}
|
|
3364
3375
|
else:
|
|
3365
3376
|
summary = 'Verify needs another internal capture iteration before the evidence can be judged.'
|
|
3366
3377
|
reasons.append('The capture plan itself needs revision, so author should tighten the proof script or framing inputs.')
|
|
@@ -4248,6 +4259,7 @@ else:
|
|
|
4248
4259
|
required_baseline_present,
|
|
4249
4260
|
proof_evidence_blocker or structured_interaction_capture_failure_summary,
|
|
4250
4261
|
s.get('route_expectation') or {},
|
|
4262
|
+
s.get('verification_mode') or '',
|
|
4251
4263
|
)
|
|
4252
4264
|
if visual_delta_recovery:
|
|
4253
4265
|
observation_reason = str(after_observation.get('reason') or '')
|
|
@@ -3709,11 +3709,15 @@ def run_verify_capture_retry_surfaces_script_timeout():
|
|
|
3709
3709
|
|
|
3710
3710
|
assert after_verify['verify_status'] == 'capture_incomplete'
|
|
3711
3711
|
capture_quality = after_verify['verify_decision_request']['capture_quality']
|
|
3712
|
-
assert capture_quality['recommended_stage']
|
|
3712
|
+
assert capture_quality['recommended_stage'] is None
|
|
3713
|
+
assert capture_quality['continue_with_stage'] is None
|
|
3714
|
+
assert capture_quality['blocking'] is True
|
|
3715
|
+
assert capture_quality['terminal_blocker'] is True
|
|
3713
3716
|
capture_quality_text = json.dumps(capture_quality, sort_keys=True)
|
|
3714
3717
|
assert 'locator.click: Timeout 30000ms exceeded' in capture_quality_text
|
|
3715
3718
|
return {
|
|
3716
3719
|
'ok': True,
|
|
3720
|
+
'decision': capture_quality['decision'],
|
|
3717
3721
|
'summary': capture_quality['summary'],
|
|
3718
3722
|
}
|
|
3719
3723
|
finally:
|
|
File without changes
|