@riddledc/riddle-proof 0.8.51 → 0.8.52

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.
Files changed (41) hide show
  1. package/dist/advanced/engine-harness.cjs +25 -15
  2. package/dist/advanced/engine-harness.js +2 -2
  3. package/dist/advanced/index.cjs +27 -15
  4. package/dist/advanced/index.d.cts +2 -2
  5. package/dist/advanced/index.d.ts +2 -2
  6. package/dist/advanced/index.js +4 -4
  7. package/dist/advanced/proof-run-core.cjs +24 -2
  8. package/dist/advanced/proof-run-core.d.cts +1 -1
  9. package/dist/advanced/proof-run-core.d.ts +1 -1
  10. package/dist/advanced/proof-run-core.js +5 -1
  11. package/dist/advanced/proof-run-engine.cjs +20 -2
  12. package/dist/advanced/proof-run-engine.d.cts +2 -2
  13. package/dist/advanced/proof-run-engine.d.ts +2 -2
  14. package/dist/advanced/proof-run-engine.js +2 -2
  15. package/dist/advanced/runner.js +2 -2
  16. package/dist/{chunk-DFQBQGSD.js → chunk-2CZORYB7.js} +1 -1
  17. package/dist/{chunk-X7SQTCIQ.js → chunk-EKZXU6MU.js} +24 -2
  18. package/dist/{chunk-AWM2BKDF.js → chunk-FWHJN3QG.js} +1 -1
  19. package/dist/{chunk-IOI6QR3B.js → chunk-VYJD6XYF.js} +1 -1
  20. package/dist/{chunk-ZHTJEZH5.js → chunk-WURLFN72.js} +8 -14
  21. package/dist/cli/index.js +3 -3
  22. package/dist/cli.cjs +25 -15
  23. package/dist/cli.js +3 -3
  24. package/dist/engine-harness.cjs +25 -15
  25. package/dist/engine-harness.js +2 -2
  26. package/dist/index.cjs +25 -15
  27. package/dist/index.js +3 -3
  28. package/dist/{proof-run-core-B1GeqkR8.d.cts → proof-run-core-7Dqm7RKM.d.cts} +6 -2
  29. package/dist/{proof-run-core-B1GeqkR8.d.ts → proof-run-core-7Dqm7RKM.d.ts} +6 -2
  30. package/dist/proof-run-core.cjs +24 -2
  31. package/dist/proof-run-core.d.cts +1 -1
  32. package/dist/proof-run-core.d.ts +1 -1
  33. package/dist/proof-run-core.js +5 -1
  34. package/dist/{proof-run-engine-BqaeqAze.d.ts → proof-run-engine-BqRoA3Do.d.ts} +1 -1
  35. package/dist/{proof-run-engine-4dM37pEx.d.cts → proof-run-engine-DpChFR5H.d.cts} +1 -1
  36. package/dist/proof-run-engine.cjs +20 -2
  37. package/dist/proof-run-engine.d.cts +2 -2
  38. package/dist/proof-run-engine.d.ts +2 -2
  39. package/dist/proof-run-engine.js +2 -2
  40. package/dist/runner.js +2 -2
  41. package/package.json +1 -1
@@ -31,6 +31,24 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
31
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
32
 
33
33
  // src/proof-run-core.ts
34
+ function canonicalProofAssessmentStageForDecision(decision) {
35
+ const normalized = typeof decision === "string" ? decision.trim() : "";
36
+ if (normalized === "ready_to_ship") return "ship";
37
+ if (normalized === "needs_richer_proof") return "author";
38
+ if (normalized === "revise_capture") return "verify";
39
+ if (normalized === "needs_recon") return "recon";
40
+ if (normalized === "needs_implementation") return "implement";
41
+ return null;
42
+ }
43
+ function normalizeProofAssessmentStageFields(assessment) {
44
+ const canonicalStage = canonicalProofAssessmentStageForDecision(assessment.decision);
45
+ if (!canonicalStage) return assessment;
46
+ return {
47
+ ...assessment,
48
+ recommended_stage: canonicalStage,
49
+ continue_with_stage: canonicalStage
50
+ };
51
+ }
34
52
  function normalizedMode(value) {
35
53
  return typeof value === "string" ? value.trim().toLowerCase() : "";
36
54
  }
@@ -866,10 +884,10 @@ function mergeStateFromParams(statePath, params) {
866
884
  state.proof_assessment_source = null;
867
885
  } else {
868
886
  const parsed = JSON.parse(raw);
869
- const assessment = {
887
+ const assessment = normalizeProofAssessmentStageFields({
870
888
  ...parsed,
871
889
  source: (parsed?.source || "supervising_agent").toString()
872
- };
890
+ });
873
891
  const readyBlocker = assessment?.decision === "ready_to_ship" ? visualDeltaShipGateReason({ ...state, proof_assessment: assessment, proof_assessment_source: assessment.source }) : null;
874
892
  if (readyBlocker) {
875
893
  assessment.blocked_decision = assessment.decision;
@@ -5010,10 +5028,7 @@ function isReadyShipGate(result) {
5010
5028
  return Boolean(gate && gate.ok === true);
5011
5029
  }
5012
5030
  function proofAssessmentRequestsShip(payload) {
5013
- const decision = String(payload.decision || "");
5014
- const recommendedStage = String(payload.recommended_stage || "");
5015
- const continueStage = String(payload.continue_with_stage || "");
5016
- return decision === "ready_to_ship" || recommendedStage === "ship" || continueStage === "ship";
5031
+ return String(payload.decision || "").trim() === "ready_to_ship";
5017
5032
  }
5018
5033
  function proofAssessmentHardBlockers(state, payload) {
5019
5034
  const blockers = proofAssessmentHardBlockersForState(state || {});
@@ -5031,12 +5046,7 @@ function proofAssessmentContinuation(result, payload) {
5031
5046
  return { ...baseContinuation(result), proof_assessment_json };
5032
5047
  }
5033
5048
  function defaultStageForProofCheckpointDecision(decision) {
5034
- if (decision === "ready_to_ship") return "ship";
5035
- if (decision === "needs_implementation") return "implement";
5036
- if (decision === "needs_recon") return "recon";
5037
- if (decision === "revise_capture") return "verify";
5038
- if (decision === "needs_richer_proof") return "author";
5039
- return null;
5049
+ return canonicalProofAssessmentStageForDecision(decision);
5040
5050
  }
5041
5051
  function checkpointContractFromPacket(packet) {
5042
5052
  return recordValue(packet.evidence_excerpt?.checkpoint_contract) || recordValue(recordValue(packet.state_excerpt?.stage_decision_request)?.checkpoint_contract) || null;
@@ -5062,7 +5072,7 @@ function proofAssessmentPayloadFromCheckpointResponse(response) {
5062
5072
  }
5063
5073
  const payload = recordValue(response.payload) || {};
5064
5074
  const stage = nonEmptyString(payload.continue_with_stage) || response.continue_with_stage || nonEmptyString(payload.recommended_stage) || defaultStageForProofCheckpointDecision(response.decision);
5065
- return compactRecord({
5075
+ return normalizeProofAssessmentStageFields(compactRecord({
5066
5076
  ...payload,
5067
5077
  decision: response.decision,
5068
5078
  summary: response.summary,
@@ -5073,7 +5083,7 @@ function proofAssessmentPayloadFromCheckpointResponse(response) {
5073
5083
  source: "supervising_agent",
5074
5084
  checkpoint_response_source: response.source || null,
5075
5085
  checkpoint_response_created_at: response.created_at
5076
- });
5086
+ }));
5077
5087
  }
5078
5088
  function reconAssessmentPayloadFromCheckpointResponse(response) {
5079
5089
  if (![
@@ -6023,7 +6033,7 @@ async function routeCheckpoint(request, state, result, agent, input) {
6023
6033
  }
6024
6034
  return { blocker };
6025
6035
  }
6026
- const payload = assessment.payload;
6036
+ const payload = normalizeProofAssessmentStageFields(assessment.payload);
6027
6037
  recordEvent(state, {
6028
6038
  kind: "agent.proof_assessment.completed",
6029
6039
  checkpoint,
@@ -2,10 +2,10 @@ import {
2
2
  createDisabledRiddleProofAgentAdapter,
3
3
  readRiddleProofRunStatus,
4
4
  runRiddleProofEngineHarness
5
- } from "../chunk-ZHTJEZH5.js";
5
+ } from "../chunk-WURLFN72.js";
6
6
  import "../chunk-M3IE3VNC.js";
7
7
  import "../chunk-RBAU2M4S.js";
8
- import "../chunk-X7SQTCIQ.js";
8
+ import "../chunk-EKZXU6MU.js";
9
9
  import "../chunk-AXWJJ2LC.js";
10
10
  import "../chunk-VY4Y5U57.js";
11
11
  import "../chunk-MLKGABMK.js";
@@ -39,6 +39,7 @@ __export(proof_run_core_exports, {
39
39
  WORKFLOW_STAGE_ORDER: () => WORKFLOW_STAGE_ORDER,
40
40
  buildCheckpointContract: () => buildCheckpointContract,
41
41
  buildSetupArgs: () => buildSetupArgs,
42
+ canonicalProofAssessmentStageForDecision: () => canonicalProofAssessmentStageForDecision,
42
43
  checkpointContinueStage: () => checkpointContinueStage,
43
44
  clearStageDecisionRequest: () => clearStageDecisionRequest,
44
45
  ensureAction: () => ensureAction,
@@ -46,6 +47,7 @@ __export(proof_run_core_exports, {
46
47
  invalidateVerifyEvidence: () => invalidateVerifyEvidence,
47
48
  mergeStateFromParams: () => mergeStateFromParams,
48
49
  noImplementationModeFor: () => noImplementationModeFor,
50
+ normalizeProofAssessmentStageFields: () => normalizeProofAssessmentStageFields,
49
51
  previewModeFromWorkflowMode: () => previewModeFromWorkflowMode,
50
52
  proofAssessmentHardBlockersForState: () => proofAssessmentHardBlockersForState,
51
53
  readState: () => readState,
@@ -62,6 +64,24 @@ __export(proof_run_core_exports, {
62
64
  workflowFile: () => workflowFile,
63
65
  writeState: () => writeState
64
66
  });
67
+ function canonicalProofAssessmentStageForDecision(decision) {
68
+ const normalized = typeof decision === "string" ? decision.trim() : "";
69
+ if (normalized === "ready_to_ship") return "ship";
70
+ if (normalized === "needs_richer_proof") return "author";
71
+ if (normalized === "revise_capture") return "verify";
72
+ if (normalized === "needs_recon") return "recon";
73
+ if (normalized === "needs_implementation") return "implement";
74
+ return null;
75
+ }
76
+ function normalizeProofAssessmentStageFields(assessment) {
77
+ const canonicalStage = canonicalProofAssessmentStageForDecision(assessment.decision);
78
+ if (!canonicalStage) return assessment;
79
+ return {
80
+ ...assessment,
81
+ recommended_stage: canonicalStage,
82
+ continue_with_stage: canonicalStage
83
+ };
84
+ }
65
85
  function normalizedMode(value) {
66
86
  return typeof value === "string" ? value.trim().toLowerCase() : "";
67
87
  }
@@ -897,10 +917,10 @@ function mergeStateFromParams(statePath, params) {
897
917
  state.proof_assessment_source = null;
898
918
  } else {
899
919
  const parsed = JSON.parse(raw);
900
- const assessment = {
920
+ const assessment = normalizeProofAssessmentStageFields({
901
921
  ...parsed,
902
922
  source: (parsed?.source || "supervising_agent").toString()
903
- };
923
+ });
904
924
  const readyBlocker = assessment?.decision === "ready_to_ship" ? visualDeltaShipGateReason({ ...state, proof_assessment: assessment, proof_assessment_source: assessment.source }) : null;
905
925
  if (readyBlocker) {
906
926
  assessment.blocked_decision = assessment.decision;
@@ -5547,10 +5567,7 @@ function isReadyShipGate(result) {
5547
5567
  return Boolean(gate && gate.ok === true);
5548
5568
  }
5549
5569
  function proofAssessmentRequestsShip(payload) {
5550
- const decision = String(payload.decision || "");
5551
- const recommendedStage = String(payload.recommended_stage || "");
5552
- const continueStage = String(payload.continue_with_stage || "");
5553
- return decision === "ready_to_ship" || recommendedStage === "ship" || continueStage === "ship";
5570
+ return String(payload.decision || "").trim() === "ready_to_ship";
5554
5571
  }
5555
5572
  function proofAssessmentHardBlockers(state, payload) {
5556
5573
  const blockers = proofAssessmentHardBlockersForState(state || {});
@@ -5568,12 +5585,7 @@ function proofAssessmentContinuation(result, payload) {
5568
5585
  return { ...baseContinuation(result), proof_assessment_json };
5569
5586
  }
5570
5587
  function defaultStageForProofCheckpointDecision(decision) {
5571
- if (decision === "ready_to_ship") return "ship";
5572
- if (decision === "needs_implementation") return "implement";
5573
- if (decision === "needs_recon") return "recon";
5574
- if (decision === "revise_capture") return "verify";
5575
- if (decision === "needs_richer_proof") return "author";
5576
- return null;
5588
+ return canonicalProofAssessmentStageForDecision(decision);
5577
5589
  }
5578
5590
  function checkpointContractFromPacket(packet) {
5579
5591
  return recordValue(packet.evidence_excerpt?.checkpoint_contract) || recordValue(recordValue(packet.state_excerpt?.stage_decision_request)?.checkpoint_contract) || null;
@@ -5599,7 +5611,7 @@ function proofAssessmentPayloadFromCheckpointResponse(response) {
5599
5611
  }
5600
5612
  const payload = recordValue(response.payload) || {};
5601
5613
  const stage = nonEmptyString(payload.continue_with_stage) || response.continue_with_stage || nonEmptyString(payload.recommended_stage) || defaultStageForProofCheckpointDecision(response.decision);
5602
- return compactRecord({
5614
+ return normalizeProofAssessmentStageFields(compactRecord({
5603
5615
  ...payload,
5604
5616
  decision: response.decision,
5605
5617
  summary: response.summary,
@@ -5610,7 +5622,7 @@ function proofAssessmentPayloadFromCheckpointResponse(response) {
5610
5622
  source: "supervising_agent",
5611
5623
  checkpoint_response_source: response.source || null,
5612
5624
  checkpoint_response_created_at: response.created_at
5613
- });
5625
+ }));
5614
5626
  }
5615
5627
  function reconAssessmentPayloadFromCheckpointResponse(response) {
5616
5628
  if (![
@@ -6560,7 +6572,7 @@ async function routeCheckpoint(request, state, result, agent, input) {
6560
6572
  }
6561
6573
  return { blocker };
6562
6574
  }
6563
- const payload = assessment.payload;
6575
+ const payload = normalizeProofAssessmentStageFields(assessment.payload);
6564
6576
  recordEvent(state, {
6565
6577
  kind: "agent.proof_assessment.completed",
6566
6578
  checkpoint,
@@ -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-B1GeqkR8.cjs';
4
- export { p as proofRunEngine } from '../proof-run-engine-4dM37pEx.cjs';
3
+ export { p as proofRunCore } from '../proof-run-core-7Dqm7RKM.cjs';
4
+ export { p as proofRunEngine } from '../proof-run-engine-DpChFR5H.cjs';
5
5
  import '../types.cjs';
@@ -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-B1GeqkR8.js';
4
- export { p as proofRunEngine } from '../proof-run-engine-BqaeqAze.js';
3
+ export { p as proofRunCore } from '../proof-run-core-7Dqm7RKM.js';
4
+ export { p as proofRunEngine } from '../proof-run-engine-BqRoA3Do.js';
5
5
  import '../types.js';
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  proof_run_engine_exports
3
- } from "../chunk-IOI6QR3B.js";
3
+ } from "../chunk-VYJD6XYF.js";
4
4
  import {
5
5
  runner_exports
6
- } from "../chunk-DFQBQGSD.js";
6
+ } from "../chunk-2CZORYB7.js";
7
7
  import {
8
8
  engine_harness_exports
9
- } from "../chunk-ZHTJEZH5.js";
9
+ } from "../chunk-WURLFN72.js";
10
10
  import "../chunk-M3IE3VNC.js";
11
11
  import "../chunk-RBAU2M4S.js";
12
12
  import {
13
13
  proof_run_core_exports
14
- } from "../chunk-X7SQTCIQ.js";
14
+ } from "../chunk-EKZXU6MU.js";
15
15
  import "../chunk-AXWJJ2LC.js";
16
16
  import "../chunk-VY4Y5U57.js";
17
17
  import "../chunk-MLKGABMK.js";
@@ -36,6 +36,7 @@ __export(proof_run_core_exports, {
36
36
  WORKFLOW_STAGE_ORDER: () => WORKFLOW_STAGE_ORDER,
37
37
  buildCheckpointContract: () => buildCheckpointContract,
38
38
  buildSetupArgs: () => buildSetupArgs,
39
+ canonicalProofAssessmentStageForDecision: () => canonicalProofAssessmentStageForDecision,
39
40
  checkpointContinueStage: () => checkpointContinueStage,
40
41
  clearStageDecisionRequest: () => clearStageDecisionRequest,
41
42
  ensureAction: () => ensureAction,
@@ -43,6 +44,7 @@ __export(proof_run_core_exports, {
43
44
  invalidateVerifyEvidence: () => invalidateVerifyEvidence,
44
45
  mergeStateFromParams: () => mergeStateFromParams,
45
46
  noImplementationModeFor: () => noImplementationModeFor,
47
+ normalizeProofAssessmentStageFields: () => normalizeProofAssessmentStageFields,
46
48
  previewModeFromWorkflowMode: () => previewModeFromWorkflowMode,
47
49
  proofAssessmentHardBlockersForState: () => proofAssessmentHardBlockersForState,
48
50
  readState: () => readState,
@@ -68,6 +70,24 @@ var import_node_path = __toESM(require("path"), 1);
68
70
  var import_node_url = require("url");
69
71
  var import_meta = {};
70
72
  var WORKFLOW_STAGE_ORDER = ["setup", "recon", "author", "implement", "verify", "ship"];
73
+ function canonicalProofAssessmentStageForDecision(decision) {
74
+ const normalized = typeof decision === "string" ? decision.trim() : "";
75
+ if (normalized === "ready_to_ship") return "ship";
76
+ if (normalized === "needs_richer_proof") return "author";
77
+ if (normalized === "revise_capture") return "verify";
78
+ if (normalized === "needs_recon") return "recon";
79
+ if (normalized === "needs_implementation") return "implement";
80
+ return null;
81
+ }
82
+ function normalizeProofAssessmentStageFields(assessment) {
83
+ const canonicalStage = canonicalProofAssessmentStageForDecision(assessment.decision);
84
+ if (!canonicalStage) return assessment;
85
+ return {
86
+ ...assessment,
87
+ recommended_stage: canonicalStage,
88
+ continue_with_stage: canonicalStage
89
+ };
90
+ }
71
91
  function normalizedMode(value) {
72
92
  return typeof value === "string" ? value.trim().toLowerCase() : "";
73
93
  }
@@ -1094,10 +1114,10 @@ function mergeStateFromParams(statePath, params) {
1094
1114
  state.proof_assessment_source = null;
1095
1115
  } else {
1096
1116
  const parsed = JSON.parse(raw);
1097
- const assessment = {
1117
+ const assessment = normalizeProofAssessmentStageFields({
1098
1118
  ...parsed,
1099
1119
  source: (parsed?.source || "supervising_agent").toString()
1100
- };
1120
+ });
1101
1121
  const readyBlocker = assessment?.decision === "ready_to_ship" ? visualDeltaShipGateReason({ ...state, proof_assessment: assessment, proof_assessment_source: assessment.source }) : null;
1102
1122
  if (readyBlocker) {
1103
1123
  assessment.blocked_decision = assessment.decision;
@@ -1267,6 +1287,7 @@ function summarizeState(state) {
1267
1287
  WORKFLOW_STAGE_ORDER,
1268
1288
  buildCheckpointContract,
1269
1289
  buildSetupArgs,
1290
+ canonicalProofAssessmentStageForDecision,
1270
1291
  checkpointContinueStage,
1271
1292
  clearStageDecisionRequest,
1272
1293
  ensureAction,
@@ -1274,6 +1295,7 @@ function summarizeState(state) {
1274
1295
  invalidateVerifyEvidence,
1275
1296
  mergeStateFromParams,
1276
1297
  noImplementationModeFor,
1298
+ normalizeProofAssessmentStageFields,
1277
1299
  previewModeFromWorkflowMode,
1278
1300
  proofAssessmentHardBlockersForState,
1279
1301
  readState,
@@ -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-B1GeqkR8.cjs';
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 canonicalProofAssessmentStageForDecision, h as checkpointContinueStage, i as clearStageDecisionRequest, j as ensureAction, k as ensureStageLoopState, l as invalidateVerifyEvidence, m as mergeStateFromParams, n as noImplementationModeFor, o as normalizeProofAssessmentStageFields, q as previewModeFromWorkflowMode, s as proofAssessmentHardBlockersForState, t as readState, u as recordStageAttempt, v as requiredBaselineLabelsForState, r as resolveConfig, w as resolveRiddleProofDir, x as setStageDecisionRequest, y as summarizeState, z as validateShipGate, A as visualDeltaForState, D as visualDeltaRequiredForState, E as visualDeltaShipGateReason, F as workflowFile, G as writeState } from '../proof-run-core-7Dqm7RKM.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-B1GeqkR8.js';
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 canonicalProofAssessmentStageForDecision, h as checkpointContinueStage, i as clearStageDecisionRequest, j as ensureAction, k as ensureStageLoopState, l as invalidateVerifyEvidence, m as mergeStateFromParams, n as noImplementationModeFor, o as normalizeProofAssessmentStageFields, q as previewModeFromWorkflowMode, s as proofAssessmentHardBlockersForState, t as readState, u as recordStageAttempt, v as requiredBaselineLabelsForState, r as resolveConfig, w as resolveRiddleProofDir, x as setStageDecisionRequest, y as summarizeState, z as validateShipGate, A as visualDeltaForState, D as visualDeltaRequiredForState, E as visualDeltaShipGateReason, F as workflowFile, G as writeState } from '../proof-run-core-7Dqm7RKM.js';
@@ -5,6 +5,7 @@ import {
5
5
  WORKFLOW_STAGE_ORDER,
6
6
  buildCheckpointContract,
7
7
  buildSetupArgs,
8
+ canonicalProofAssessmentStageForDecision,
8
9
  checkpointContinueStage,
9
10
  clearStageDecisionRequest,
10
11
  ensureAction,
@@ -12,6 +13,7 @@ import {
12
13
  invalidateVerifyEvidence,
13
14
  mergeStateFromParams,
14
15
  noImplementationModeFor,
16
+ normalizeProofAssessmentStageFields,
15
17
  previewModeFromWorkflowMode,
16
18
  proofAssessmentHardBlockersForState,
17
19
  readState,
@@ -27,7 +29,7 @@ import {
27
29
  visualDeltaShipGateReason,
28
30
  workflowFile,
29
31
  writeState
30
- } from "../chunk-X7SQTCIQ.js";
32
+ } from "../chunk-EKZXU6MU.js";
31
33
  import "../chunk-MLKGABMK.js";
32
34
  export {
33
35
  BUNDLED_RIDDLE_PROOF_DIR,
@@ -36,6 +38,7 @@ export {
36
38
  WORKFLOW_STAGE_ORDER,
37
39
  buildCheckpointContract,
38
40
  buildSetupArgs,
41
+ canonicalProofAssessmentStageForDecision,
39
42
  checkpointContinueStage,
40
43
  clearStageDecisionRequest,
41
44
  ensureAction,
@@ -43,6 +46,7 @@ export {
43
46
  invalidateVerifyEvidence,
44
47
  mergeStateFromParams,
45
48
  noImplementationModeFor,
49
+ normalizeProofAssessmentStageFields,
46
50
  previewModeFromWorkflowMode,
47
51
  proofAssessmentHardBlockersForState,
48
52
  readState,
@@ -47,6 +47,24 @@ var import_node_path = __toESM(require("path"), 1);
47
47
  var import_node_url = require("url");
48
48
  var import_meta = {};
49
49
  var WORKFLOW_STAGE_ORDER = ["setup", "recon", "author", "implement", "verify", "ship"];
50
+ function canonicalProofAssessmentStageForDecision(decision) {
51
+ const normalized = typeof decision === "string" ? decision.trim() : "";
52
+ if (normalized === "ready_to_ship") return "ship";
53
+ if (normalized === "needs_richer_proof") return "author";
54
+ if (normalized === "revise_capture") return "verify";
55
+ if (normalized === "needs_recon") return "recon";
56
+ if (normalized === "needs_implementation") return "implement";
57
+ return null;
58
+ }
59
+ function normalizeProofAssessmentStageFields(assessment) {
60
+ const canonicalStage = canonicalProofAssessmentStageForDecision(assessment.decision);
61
+ if (!canonicalStage) return assessment;
62
+ return {
63
+ ...assessment,
64
+ recommended_stage: canonicalStage,
65
+ continue_with_stage: canonicalStage
66
+ };
67
+ }
50
68
  function normalizedMode(value) {
51
69
  return typeof value === "string" ? value.trim().toLowerCase() : "";
52
70
  }
@@ -1073,10 +1091,10 @@ function mergeStateFromParams(statePath, params) {
1073
1091
  state.proof_assessment_source = null;
1074
1092
  } else {
1075
1093
  const parsed = JSON.parse(raw);
1076
- const assessment = {
1094
+ const assessment = normalizeProofAssessmentStageFields({
1077
1095
  ...parsed,
1078
1096
  source: (parsed?.source || "supervising_agent").toString()
1079
- };
1097
+ });
1080
1098
  const readyBlocker = assessment?.decision === "ready_to_ship" ? visualDeltaShipGateReason({ ...state, proof_assessment: assessment, proof_assessment_source: assessment.source }) : null;
1081
1099
  if (readyBlocker) {
1082
1100
  assessment.blocked_decision = assessment.decision;
@@ -1,2 +1,2 @@
1
- export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from '../proof-run-engine-4dM37pEx.cjs';
2
- import '../proof-run-core-B1GeqkR8.cjs';
1
+ export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from '../proof-run-engine-DpChFR5H.cjs';
2
+ import '../proof-run-core-7Dqm7RKM.cjs';
@@ -1,2 +1,2 @@
1
- export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from '../proof-run-engine-BqaeqAze.js';
2
- import '../proof-run-core-B1GeqkR8.js';
1
+ export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from '../proof-run-engine-BqRoA3Do.js';
2
+ import '../proof-run-core-7Dqm7RKM.js';
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createRiddleProofEngine,
3
3
  executeWorkflow
4
- } from "../chunk-IOI6QR3B.js";
5
- import "../chunk-X7SQTCIQ.js";
4
+ } from "../chunk-VYJD6XYF.js";
5
+ import "../chunk-EKZXU6MU.js";
6
6
  import "../chunk-MLKGABMK.js";
7
7
  export {
8
8
  createRiddleProofEngine,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  runRiddleProof
3
- } from "../chunk-DFQBQGSD.js";
3
+ } from "../chunk-2CZORYB7.js";
4
4
  import "../chunk-M3IE3VNC.js";
5
5
  import "../chunk-RBAU2M4S.js";
6
- import "../chunk-X7SQTCIQ.js";
6
+ import "../chunk-EKZXU6MU.js";
7
7
  import "../chunk-AXWJJ2LC.js";
8
8
  import "../chunk-VY4Y5U57.js";
9
9
  import "../chunk-MLKGABMK.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-M3IE3VNC.js";
7
7
  import {
8
8
  noImplementationModeFor
9
- } from "./chunk-X7SQTCIQ.js";
9
+ } from "./chunk-EKZXU6MU.js";
10
10
  import {
11
11
  createRunResult
12
12
  } from "./chunk-VY4Y5U57.js";
@@ -11,6 +11,7 @@ __export(proof_run_core_exports, {
11
11
  WORKFLOW_STAGE_ORDER: () => WORKFLOW_STAGE_ORDER,
12
12
  buildCheckpointContract: () => buildCheckpointContract,
13
13
  buildSetupArgs: () => buildSetupArgs,
14
+ canonicalProofAssessmentStageForDecision: () => canonicalProofAssessmentStageForDecision,
14
15
  checkpointContinueStage: () => checkpointContinueStage,
15
16
  clearStageDecisionRequest: () => clearStageDecisionRequest,
16
17
  ensureAction: () => ensureAction,
@@ -18,6 +19,7 @@ __export(proof_run_core_exports, {
18
19
  invalidateVerifyEvidence: () => invalidateVerifyEvidence,
19
20
  mergeStateFromParams: () => mergeStateFromParams,
20
21
  noImplementationModeFor: () => noImplementationModeFor,
22
+ normalizeProofAssessmentStageFields: () => normalizeProofAssessmentStageFields,
21
23
  previewModeFromWorkflowMode: () => previewModeFromWorkflowMode,
22
24
  proofAssessmentHardBlockersForState: () => proofAssessmentHardBlockersForState,
23
25
  readState: () => readState,
@@ -39,6 +41,24 @@ import { randomUUID } from "crypto";
39
41
  import path from "path";
40
42
  import { fileURLToPath } from "url";
41
43
  var WORKFLOW_STAGE_ORDER = ["setup", "recon", "author", "implement", "verify", "ship"];
44
+ function canonicalProofAssessmentStageForDecision(decision) {
45
+ const normalized = typeof decision === "string" ? decision.trim() : "";
46
+ if (normalized === "ready_to_ship") return "ship";
47
+ if (normalized === "needs_richer_proof") return "author";
48
+ if (normalized === "revise_capture") return "verify";
49
+ if (normalized === "needs_recon") return "recon";
50
+ if (normalized === "needs_implementation") return "implement";
51
+ return null;
52
+ }
53
+ function normalizeProofAssessmentStageFields(assessment) {
54
+ const canonicalStage = canonicalProofAssessmentStageForDecision(assessment.decision);
55
+ if (!canonicalStage) return assessment;
56
+ return {
57
+ ...assessment,
58
+ recommended_stage: canonicalStage,
59
+ continue_with_stage: canonicalStage
60
+ };
61
+ }
42
62
  function normalizedMode(value) {
43
63
  return typeof value === "string" ? value.trim().toLowerCase() : "";
44
64
  }
@@ -1065,10 +1085,10 @@ function mergeStateFromParams(statePath, params) {
1065
1085
  state.proof_assessment_source = null;
1066
1086
  } else {
1067
1087
  const parsed = JSON.parse(raw);
1068
- const assessment = {
1088
+ const assessment = normalizeProofAssessmentStageFields({
1069
1089
  ...parsed,
1070
1090
  source: (parsed?.source || "supervising_agent").toString()
1071
- };
1091
+ });
1072
1092
  const readyBlocker = assessment?.decision === "ready_to_ship" ? visualDeltaShipGateReason({ ...state, proof_assessment: assessment, proof_assessment_source: assessment.source }) : null;
1073
1093
  if (readyBlocker) {
1074
1094
  assessment.blocked_decision = assessment.decision;
@@ -1233,6 +1253,8 @@ function summarizeState(state) {
1233
1253
 
1234
1254
  export {
1235
1255
  WORKFLOW_STAGE_ORDER,
1256
+ canonicalProofAssessmentStageForDecision,
1257
+ normalizeProofAssessmentStageFields,
1236
1258
  previewModeFromWorkflowMode,
1237
1259
  noImplementationModeFor,
1238
1260
  CHECKPOINT_CONTRACT_VERSION,
@@ -28,7 +28,7 @@ import {
28
28
  createDisabledRiddleProofAgentAdapter,
29
29
  readRiddleProofRunStatus,
30
30
  runRiddleProofEngineHarness
31
- } from "./chunk-ZHTJEZH5.js";
31
+ } from "./chunk-WURLFN72.js";
32
32
  import {
33
33
  createCheckpointResponseTemplate
34
34
  } from "./chunk-AXWJJ2LC.js";
@@ -16,7 +16,7 @@ import {
16
16
  validateShipGate,
17
17
  workflowFile,
18
18
  writeState
19
- } from "./chunk-X7SQTCIQ.js";
19
+ } from "./chunk-EKZXU6MU.js";
20
20
  import {
21
21
  __export
22
22
  } from "./chunk-MLKGABMK.js";
@@ -10,12 +10,14 @@ import {
10
10
  createRiddleProofRunCard
11
11
  } from "./chunk-RBAU2M4S.js";
12
12
  import {
13
+ canonicalProofAssessmentStageForDecision,
13
14
  noImplementationModeFor,
15
+ normalizeProofAssessmentStageFields,
14
16
  proofAssessmentHardBlockersForState,
15
17
  visualDeltaForState,
16
18
  visualDeltaRequiredForState,
17
19
  visualDeltaShipGateReason
18
- } from "./chunk-X7SQTCIQ.js";
20
+ } from "./chunk-EKZXU6MU.js";
19
21
  import {
20
22
  authorPacketPayloadFromCheckpointResponse,
21
23
  buildCheckpointPacketForEngineResult,
@@ -357,10 +359,7 @@ function isReadyShipGate(result) {
357
359
  return Boolean(gate && gate.ok === true);
358
360
  }
359
361
  function proofAssessmentRequestsShip(payload) {
360
- const decision = String(payload.decision || "");
361
- const recommendedStage = String(payload.recommended_stage || "");
362
- const continueStage = String(payload.continue_with_stage || "");
363
- return decision === "ready_to_ship" || recommendedStage === "ship" || continueStage === "ship";
362
+ return String(payload.decision || "").trim() === "ready_to_ship";
364
363
  }
365
364
  function proofAssessmentHardBlockers(state, payload) {
366
365
  const blockers = proofAssessmentHardBlockersForState(state || {});
@@ -378,12 +377,7 @@ function proofAssessmentContinuation(result, payload) {
378
377
  return { ...baseContinuation(result), proof_assessment_json };
379
378
  }
380
379
  function defaultStageForProofCheckpointDecision(decision) {
381
- if (decision === "ready_to_ship") return "ship";
382
- if (decision === "needs_implementation") return "implement";
383
- if (decision === "needs_recon") return "recon";
384
- if (decision === "revise_capture") return "verify";
385
- if (decision === "needs_richer_proof") return "author";
386
- return null;
380
+ return canonicalProofAssessmentStageForDecision(decision);
387
381
  }
388
382
  function checkpointContractFromPacket(packet) {
389
383
  return recordValue(packet.evidence_excerpt?.checkpoint_contract) || recordValue(recordValue(packet.state_excerpt?.stage_decision_request)?.checkpoint_contract) || null;
@@ -409,7 +403,7 @@ function proofAssessmentPayloadFromCheckpointResponse(response) {
409
403
  }
410
404
  const payload = recordValue(response.payload) || {};
411
405
  const stage = nonEmptyString(payload.continue_with_stage) || response.continue_with_stage || nonEmptyString(payload.recommended_stage) || defaultStageForProofCheckpointDecision(response.decision);
412
- return compactRecord({
406
+ return normalizeProofAssessmentStageFields(compactRecord({
413
407
  ...payload,
414
408
  decision: response.decision,
415
409
  summary: response.summary,
@@ -420,7 +414,7 @@ function proofAssessmentPayloadFromCheckpointResponse(response) {
420
414
  source: "supervising_agent",
421
415
  checkpoint_response_source: response.source || null,
422
416
  checkpoint_response_created_at: response.created_at
423
- });
417
+ }));
424
418
  }
425
419
  function reconAssessmentPayloadFromCheckpointResponse(response) {
426
420
  if (![
@@ -1370,7 +1364,7 @@ async function routeCheckpoint(request, state, result, agent, input) {
1370
1364
  }
1371
1365
  return { blocker };
1372
1366
  }
1373
- const payload = assessment.payload;
1367
+ const payload = normalizeProofAssessmentStageFields(assessment.payload);
1374
1368
  recordEvent(state, {
1375
1369
  kind: "agent.proof_assessment.completed",
1376
1370
  checkpoint,
package/dist/cli/index.js CHANGED
@@ -1,11 +1,11 @@
1
- import "../chunk-AWM2BKDF.js";
1
+ import "../chunk-FWHJN3QG.js";
2
2
  import "../chunk-DI2XNGEZ.js";
3
3
  import "../chunk-6KYXX4OE.js";
4
4
  import "../chunk-EX7TO4I5.js";
5
- import "../chunk-ZHTJEZH5.js";
5
+ import "../chunk-WURLFN72.js";
6
6
  import "../chunk-M3IE3VNC.js";
7
7
  import "../chunk-RBAU2M4S.js";
8
- import "../chunk-X7SQTCIQ.js";
8
+ import "../chunk-EKZXU6MU.js";
9
9
  import "../chunk-AXWJJ2LC.js";
10
10
  import "../chunk-JFQXAJH2.js";
11
11
  import "../chunk-73EBR3YL.js";