@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
package/dist/cli.cjs CHANGED
@@ -31,6 +31,24 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
31
31
  ));
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;
@@ -5095,10 +5113,7 @@ function isReadyShipGate(result) {
5095
5113
  return Boolean(gate && gate.ok === true);
5096
5114
  }
5097
5115
  function proofAssessmentRequestsShip(payload) {
5098
- const decision = String(payload.decision || "");
5099
- const recommendedStage = String(payload.recommended_stage || "");
5100
- const continueStage = String(payload.continue_with_stage || "");
5101
- return decision === "ready_to_ship" || recommendedStage === "ship" || continueStage === "ship";
5116
+ return String(payload.decision || "").trim() === "ready_to_ship";
5102
5117
  }
5103
5118
  function proofAssessmentHardBlockers(state, payload) {
5104
5119
  const blockers = proofAssessmentHardBlockersForState(state || {});
@@ -5116,12 +5131,7 @@ function proofAssessmentContinuation(result, payload) {
5116
5131
  return { ...baseContinuation(result), proof_assessment_json };
5117
5132
  }
5118
5133
  function defaultStageForProofCheckpointDecision(decision) {
5119
- if (decision === "ready_to_ship") return "ship";
5120
- if (decision === "needs_implementation") return "implement";
5121
- if (decision === "needs_recon") return "recon";
5122
- if (decision === "revise_capture") return "verify";
5123
- if (decision === "needs_richer_proof") return "author";
5124
- return null;
5134
+ return canonicalProofAssessmentStageForDecision(decision);
5125
5135
  }
5126
5136
  function checkpointContractFromPacket(packet) {
5127
5137
  return recordValue(packet.evidence_excerpt?.checkpoint_contract) || recordValue(recordValue(packet.state_excerpt?.stage_decision_request)?.checkpoint_contract) || null;
@@ -5147,7 +5157,7 @@ function proofAssessmentPayloadFromCheckpointResponse(response) {
5147
5157
  }
5148
5158
  const payload = recordValue(response.payload) || {};
5149
5159
  const stage = nonEmptyString(payload.continue_with_stage) || response.continue_with_stage || nonEmptyString(payload.recommended_stage) || defaultStageForProofCheckpointDecision(response.decision);
5150
- return compactRecord({
5160
+ return normalizeProofAssessmentStageFields(compactRecord({
5151
5161
  ...payload,
5152
5162
  decision: response.decision,
5153
5163
  summary: response.summary,
@@ -5158,7 +5168,7 @@ function proofAssessmentPayloadFromCheckpointResponse(response) {
5158
5168
  source: "supervising_agent",
5159
5169
  checkpoint_response_source: response.source || null,
5160
5170
  checkpoint_response_created_at: response.created_at
5161
- });
5171
+ }));
5162
5172
  }
5163
5173
  function reconAssessmentPayloadFromCheckpointResponse(response) {
5164
5174
  if (![
@@ -6108,7 +6118,7 @@ async function routeCheckpoint(request, state, result, agent, input) {
6108
6118
  }
6109
6119
  return { blocker };
6110
6120
  }
6111
- const payload = assessment.payload;
6121
+ const payload = normalizeProofAssessmentStageFields(assessment.payload);
6112
6122
  recordEvent(state, {
6113
6123
  kind: "agent.proof_assessment.completed",
6114
6124
  checkpoint,
package/dist/cli.js CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
- import "./chunk-AWM2BKDF.js";
2
+ import "./chunk-FWHJN3QG.js";
3
3
  import "./chunk-DI2XNGEZ.js";
4
4
  import "./chunk-6KYXX4OE.js";
5
5
  import "./chunk-EX7TO4I5.js";
6
- import "./chunk-ZHTJEZH5.js";
6
+ import "./chunk-WURLFN72.js";
7
7
  import "./chunk-M3IE3VNC.js";
8
8
  import "./chunk-RBAU2M4S.js";
9
- import "./chunk-X7SQTCIQ.js";
9
+ import "./chunk-EKZXU6MU.js";
10
10
  import "./chunk-AXWJJ2LC.js";
11
11
  import "./chunk-JFQXAJH2.js";
12
12
  import "./chunk-73EBR3YL.js";
@@ -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;
@@ -5008,10 +5026,7 @@ function isReadyShipGate(result) {
5008
5026
  return Boolean(gate && gate.ok === true);
5009
5027
  }
5010
5028
  function proofAssessmentRequestsShip(payload) {
5011
- const decision = String(payload.decision || "");
5012
- const recommendedStage = String(payload.recommended_stage || "");
5013
- const continueStage = String(payload.continue_with_stage || "");
5014
- return decision === "ready_to_ship" || recommendedStage === "ship" || continueStage === "ship";
5029
+ return String(payload.decision || "").trim() === "ready_to_ship";
5015
5030
  }
5016
5031
  function proofAssessmentHardBlockers(state, payload) {
5017
5032
  const blockers = proofAssessmentHardBlockersForState(state || {});
@@ -5029,12 +5044,7 @@ function proofAssessmentContinuation(result, payload) {
5029
5044
  return { ...baseContinuation(result), proof_assessment_json };
5030
5045
  }
5031
5046
  function defaultStageForProofCheckpointDecision(decision) {
5032
- if (decision === "ready_to_ship") return "ship";
5033
- if (decision === "needs_implementation") return "implement";
5034
- if (decision === "needs_recon") return "recon";
5035
- if (decision === "revise_capture") return "verify";
5036
- if (decision === "needs_richer_proof") return "author";
5037
- return null;
5047
+ return canonicalProofAssessmentStageForDecision(decision);
5038
5048
  }
5039
5049
  function checkpointContractFromPacket(packet) {
5040
5050
  return recordValue(packet.evidence_excerpt?.checkpoint_contract) || recordValue(recordValue(packet.state_excerpt?.stage_decision_request)?.checkpoint_contract) || null;
@@ -5060,7 +5070,7 @@ function proofAssessmentPayloadFromCheckpointResponse(response) {
5060
5070
  }
5061
5071
  const payload = recordValue(response.payload) || {};
5062
5072
  const stage = nonEmptyString(payload.continue_with_stage) || response.continue_with_stage || nonEmptyString(payload.recommended_stage) || defaultStageForProofCheckpointDecision(response.decision);
5063
- return compactRecord({
5073
+ return normalizeProofAssessmentStageFields(compactRecord({
5064
5074
  ...payload,
5065
5075
  decision: response.decision,
5066
5076
  summary: response.summary,
@@ -5071,7 +5081,7 @@ function proofAssessmentPayloadFromCheckpointResponse(response) {
5071
5081
  source: "supervising_agent",
5072
5082
  checkpoint_response_source: response.source || null,
5073
5083
  checkpoint_response_created_at: response.created_at
5074
- });
5084
+ }));
5075
5085
  }
5076
5086
  function reconAssessmentPayloadFromCheckpointResponse(response) {
5077
5087
  if (![
@@ -6021,7 +6031,7 @@ async function routeCheckpoint(request, state, result, agent, input) {
6021
6031
  }
6022
6032
  return { blocker };
6023
6033
  }
6024
- const payload = assessment.payload;
6034
+ const payload = normalizeProofAssessmentStageFields(assessment.payload);
6025
6035
  recordEvent(state, {
6026
6036
  kind: "agent.proof_assessment.completed",
6027
6037
  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";
package/dist/index.cjs CHANGED
@@ -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;
@@ -5762,10 +5780,7 @@ function isReadyShipGate(result) {
5762
5780
  return Boolean(gate && gate.ok === true);
5763
5781
  }
5764
5782
  function proofAssessmentRequestsShip(payload) {
5765
- const decision = String(payload.decision || "");
5766
- const recommendedStage = String(payload.recommended_stage || "");
5767
- const continueStage = String(payload.continue_with_stage || "");
5768
- return decision === "ready_to_ship" || recommendedStage === "ship" || continueStage === "ship";
5783
+ return String(payload.decision || "").trim() === "ready_to_ship";
5769
5784
  }
5770
5785
  function proofAssessmentHardBlockers(state, payload) {
5771
5786
  const blockers = proofAssessmentHardBlockersForState(state || {});
@@ -5783,12 +5798,7 @@ function proofAssessmentContinuation(result, payload) {
5783
5798
  return { ...baseContinuation(result), proof_assessment_json };
5784
5799
  }
5785
5800
  function defaultStageForProofCheckpointDecision(decision) {
5786
- if (decision === "ready_to_ship") return "ship";
5787
- if (decision === "needs_implementation") return "implement";
5788
- if (decision === "needs_recon") return "recon";
5789
- if (decision === "revise_capture") return "verify";
5790
- if (decision === "needs_richer_proof") return "author";
5791
- return null;
5801
+ return canonicalProofAssessmentStageForDecision(decision);
5792
5802
  }
5793
5803
  function checkpointContractFromPacket(packet) {
5794
5804
  return recordValue(packet.evidence_excerpt?.checkpoint_contract) || recordValue(recordValue(packet.state_excerpt?.stage_decision_request)?.checkpoint_contract) || null;
@@ -5814,7 +5824,7 @@ function proofAssessmentPayloadFromCheckpointResponse(response) {
5814
5824
  }
5815
5825
  const payload = recordValue(response.payload) || {};
5816
5826
  const stage = nonEmptyString(payload.continue_with_stage) || response.continue_with_stage || nonEmptyString(payload.recommended_stage) || defaultStageForProofCheckpointDecision(response.decision);
5817
- return compactRecord({
5827
+ return normalizeProofAssessmentStageFields(compactRecord({
5818
5828
  ...payload,
5819
5829
  decision: response.decision,
5820
5830
  summary: response.summary,
@@ -5825,7 +5835,7 @@ function proofAssessmentPayloadFromCheckpointResponse(response) {
5825
5835
  source: "supervising_agent",
5826
5836
  checkpoint_response_source: response.source || null,
5827
5837
  checkpoint_response_created_at: response.created_at
5828
- });
5838
+ }));
5829
5839
  }
5830
5840
  function reconAssessmentPayloadFromCheckpointResponse(response) {
5831
5841
  if (![
@@ -6775,7 +6785,7 @@ async function routeCheckpoint(request, state, result, agent, input) {
6775
6785
  }
6776
6786
  return { blocker };
6777
6787
  }
6778
- const payload = assessment.payload;
6788
+ const payload = normalizeProofAssessmentStageFields(assessment.payload);
6779
6789
  recordEvent(state, {
6780
6790
  kind: "agent.proof_assessment.completed",
6781
6791
  checkpoint,
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runRiddleProof
3
- } from "./chunk-DFQBQGSD.js";
3
+ } from "./chunk-2CZORYB7.js";
4
4
  import "./chunk-6F4PWJZI.js";
5
5
  import {
6
6
  RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION,
@@ -102,7 +102,7 @@ import {
102
102
  createDisabledRiddleProofAgentAdapter,
103
103
  readRiddleProofRunStatus,
104
104
  runRiddleProofEngineHarness
105
- } from "./chunk-ZHTJEZH5.js";
105
+ } from "./chunk-WURLFN72.js";
106
106
  import {
107
107
  RIDDLE_PROOF_RUN_STATE_VERSION,
108
108
  appendRunEvent,
@@ -119,7 +119,7 @@ import {
119
119
  RIDDLE_PROOF_RUN_CARD_VERSION,
120
120
  createRiddleProofRunCard
121
121
  } from "./chunk-RBAU2M4S.js";
122
- import "./chunk-X7SQTCIQ.js";
122
+ import "./chunk-EKZXU6MU.js";
123
123
  import {
124
124
  RIDDLE_PROOF_CHECKPOINT_PACKET_VERSION,
125
125
  RIDDLE_PROOF_CHECKPOINT_RESPONSE_VERSION,
@@ -62,6 +62,8 @@ interface WorkflowParams {
62
62
  update_base_checkout?: boolean;
63
63
  advance_stage?: WorkflowStage;
64
64
  }
65
+ declare function canonicalProofAssessmentStageForDecision(decision: unknown): WorkflowStage | null;
66
+ declare function normalizeProofAssessmentStageFields<T extends Record<string, unknown>>(assessment: T): T;
65
67
  declare function previewModeFromWorkflowMode(value: unknown): "server" | "static" | undefined;
66
68
  declare function noImplementationModeFor(params?: unknown, state?: unknown): boolean;
67
69
  interface PluginConfig {
@@ -335,6 +337,7 @@ type proofRunCore_WorkflowParams = WorkflowParams;
335
337
  type proofRunCore_WorkflowStage = WorkflowStage;
336
338
  declare const proofRunCore_buildCheckpointContract: typeof buildCheckpointContract;
337
339
  declare const proofRunCore_buildSetupArgs: typeof buildSetupArgs;
340
+ declare const proofRunCore_canonicalProofAssessmentStageForDecision: typeof canonicalProofAssessmentStageForDecision;
338
341
  declare const proofRunCore_checkpointContinueStage: typeof checkpointContinueStage;
339
342
  declare const proofRunCore_clearStageDecisionRequest: typeof clearStageDecisionRequest;
340
343
  declare const proofRunCore_ensureAction: typeof ensureAction;
@@ -342,6 +345,7 @@ declare const proofRunCore_ensureStageLoopState: typeof ensureStageLoopState;
342
345
  declare const proofRunCore_invalidateVerifyEvidence: typeof invalidateVerifyEvidence;
343
346
  declare const proofRunCore_mergeStateFromParams: typeof mergeStateFromParams;
344
347
  declare const proofRunCore_noImplementationModeFor: typeof noImplementationModeFor;
348
+ declare const proofRunCore_normalizeProofAssessmentStageFields: typeof normalizeProofAssessmentStageFields;
345
349
  declare const proofRunCore_previewModeFromWorkflowMode: typeof previewModeFromWorkflowMode;
346
350
  declare const proofRunCore_proofAssessmentHardBlockersForState: typeof proofAssessmentHardBlockersForState;
347
351
  declare const proofRunCore_readState: typeof readState;
@@ -358,7 +362,7 @@ declare const proofRunCore_visualDeltaShipGateReason: typeof visualDeltaShipGate
358
362
  declare const proofRunCore_workflowFile: typeof workflowFile;
359
363
  declare const proofRunCore_writeState: typeof writeState;
360
364
  declare namespace proofRunCore {
361
- export { proofRunCore_BUNDLED_RIDDLE_PROOF_DIR as BUNDLED_RIDDLE_PROOF_DIR, proofRunCore_CHECKPOINT_CONTRACT_VERSION as CHECKPOINT_CONTRACT_VERSION, type proofRunCore_CheckpointInputContract as CheckpointInputContract, type proofRunCore_PluginConfig as PluginConfig, proofRunCore_RIDDLE_PROOF_DIR_CANDIDATES as RIDDLE_PROOF_DIR_CANDIDATES, type proofRunCore_ShipGateValidation as ShipGateValidation, proofRunCore_WORKFLOW_STAGE_ORDER as WORKFLOW_STAGE_ORDER, type proofRunCore_WorkflowAction as WorkflowAction, type proofRunCore_WorkflowParams as WorkflowParams, type proofRunCore_WorkflowStage as WorkflowStage, proofRunCore_buildCheckpointContract as buildCheckpointContract, proofRunCore_buildSetupArgs as buildSetupArgs, proofRunCore_checkpointContinueStage as checkpointContinueStage, proofRunCore_clearStageDecisionRequest as clearStageDecisionRequest, proofRunCore_ensureAction as ensureAction, proofRunCore_ensureStageLoopState as ensureStageLoopState, proofRunCore_invalidateVerifyEvidence as invalidateVerifyEvidence, proofRunCore_mergeStateFromParams as mergeStateFromParams, proofRunCore_noImplementationModeFor as noImplementationModeFor, proofRunCore_previewModeFromWorkflowMode as previewModeFromWorkflowMode, proofRunCore_proofAssessmentHardBlockersForState as proofAssessmentHardBlockersForState, proofRunCore_readState as readState, proofRunCore_recordStageAttempt as recordStageAttempt, proofRunCore_requiredBaselineLabelsForState as requiredBaselineLabelsForState, proofRunCore_resolveConfig as resolveConfig, proofRunCore_resolveRiddleProofDir as resolveRiddleProofDir, proofRunCore_setStageDecisionRequest as setStageDecisionRequest, proofRunCore_summarizeState as summarizeState, proofRunCore_validateShipGate as validateShipGate, proofRunCore_visualDeltaForState as visualDeltaForState, proofRunCore_visualDeltaRequiredForState as visualDeltaRequiredForState, proofRunCore_visualDeltaShipGateReason as visualDeltaShipGateReason, proofRunCore_workflowFile as workflowFile, proofRunCore_writeState as writeState };
365
+ export { proofRunCore_BUNDLED_RIDDLE_PROOF_DIR as BUNDLED_RIDDLE_PROOF_DIR, proofRunCore_CHECKPOINT_CONTRACT_VERSION as CHECKPOINT_CONTRACT_VERSION, type proofRunCore_CheckpointInputContract as CheckpointInputContract, type proofRunCore_PluginConfig as PluginConfig, proofRunCore_RIDDLE_PROOF_DIR_CANDIDATES as RIDDLE_PROOF_DIR_CANDIDATES, type proofRunCore_ShipGateValidation as ShipGateValidation, proofRunCore_WORKFLOW_STAGE_ORDER as WORKFLOW_STAGE_ORDER, type proofRunCore_WorkflowAction as WorkflowAction, type proofRunCore_WorkflowParams as WorkflowParams, type proofRunCore_WorkflowStage as WorkflowStage, proofRunCore_buildCheckpointContract as buildCheckpointContract, proofRunCore_buildSetupArgs as buildSetupArgs, proofRunCore_canonicalProofAssessmentStageForDecision as canonicalProofAssessmentStageForDecision, proofRunCore_checkpointContinueStage as checkpointContinueStage, proofRunCore_clearStageDecisionRequest as clearStageDecisionRequest, proofRunCore_ensureAction as ensureAction, proofRunCore_ensureStageLoopState as ensureStageLoopState, proofRunCore_invalidateVerifyEvidence as invalidateVerifyEvidence, proofRunCore_mergeStateFromParams as mergeStateFromParams, proofRunCore_noImplementationModeFor as noImplementationModeFor, proofRunCore_normalizeProofAssessmentStageFields as normalizeProofAssessmentStageFields, proofRunCore_previewModeFromWorkflowMode as previewModeFromWorkflowMode, proofRunCore_proofAssessmentHardBlockersForState as proofAssessmentHardBlockersForState, proofRunCore_readState as readState, proofRunCore_recordStageAttempt as recordStageAttempt, proofRunCore_requiredBaselineLabelsForState as requiredBaselineLabelsForState, proofRunCore_resolveConfig as resolveConfig, proofRunCore_resolveRiddleProofDir as resolveRiddleProofDir, proofRunCore_setStageDecisionRequest as setStageDecisionRequest, proofRunCore_summarizeState as summarizeState, proofRunCore_validateShipGate as validateShipGate, proofRunCore_visualDeltaForState as visualDeltaForState, proofRunCore_visualDeltaRequiredForState as visualDeltaRequiredForState, proofRunCore_visualDeltaShipGateReason as visualDeltaShipGateReason, proofRunCore_workflowFile as workflowFile, proofRunCore_writeState as writeState };
362
366
  }
363
367
 
364
- export { visualDeltaShipGateReason as A, BUNDLED_RIDDLE_PROOF_DIR as B, CHECKPOINT_CONTRACT_VERSION as C, workflowFile as D, writeState as E, type PluginConfig as P, RIDDLE_PROOF_DIR_CANDIDATES as R, type ShipGateValidation as S, type WorkflowParams as W, type WorkflowStage as a, type CheckpointInputContract as b, WORKFLOW_STAGE_ORDER as c, type WorkflowAction as d, buildCheckpointContract as e, buildSetupArgs as f, checkpointContinueStage as g, clearStageDecisionRequest as h, ensureAction as i, ensureStageLoopState as j, invalidateVerifyEvidence as k, previewModeFromWorkflowMode as l, mergeStateFromParams as m, noImplementationModeFor as n, proofAssessmentHardBlockersForState as o, proofRunCore as p, readState as q, resolveConfig as r, recordStageAttempt as s, requiredBaselineLabelsForState as t, resolveRiddleProofDir as u, setStageDecisionRequest as v, summarizeState as w, validateShipGate as x, visualDeltaForState as y, visualDeltaRequiredForState as z };
368
+ export { visualDeltaForState as A, BUNDLED_RIDDLE_PROOF_DIR as B, CHECKPOINT_CONTRACT_VERSION as C, visualDeltaRequiredForState as D, visualDeltaShipGateReason as E, workflowFile as F, writeState as G, type PluginConfig as P, RIDDLE_PROOF_DIR_CANDIDATES as R, type ShipGateValidation as S, type WorkflowParams as W, type WorkflowStage as a, type CheckpointInputContract as b, WORKFLOW_STAGE_ORDER as c, type WorkflowAction as d, buildCheckpointContract as e, buildSetupArgs as f, canonicalProofAssessmentStageForDecision as g, checkpointContinueStage as h, clearStageDecisionRequest as i, ensureAction as j, ensureStageLoopState as k, invalidateVerifyEvidence as l, mergeStateFromParams as m, noImplementationModeFor as n, normalizeProofAssessmentStageFields as o, proofRunCore as p, previewModeFromWorkflowMode as q, resolveConfig as r, proofAssessmentHardBlockersForState as s, readState as t, recordStageAttempt as u, requiredBaselineLabelsForState as v, resolveRiddleProofDir as w, setStageDecisionRequest as x, summarizeState as y, validateShipGate as z };
@@ -62,6 +62,8 @@ interface WorkflowParams {
62
62
  update_base_checkout?: boolean;
63
63
  advance_stage?: WorkflowStage;
64
64
  }
65
+ declare function canonicalProofAssessmentStageForDecision(decision: unknown): WorkflowStage | null;
66
+ declare function normalizeProofAssessmentStageFields<T extends Record<string, unknown>>(assessment: T): T;
65
67
  declare function previewModeFromWorkflowMode(value: unknown): "server" | "static" | undefined;
66
68
  declare function noImplementationModeFor(params?: unknown, state?: unknown): boolean;
67
69
  interface PluginConfig {
@@ -335,6 +337,7 @@ type proofRunCore_WorkflowParams = WorkflowParams;
335
337
  type proofRunCore_WorkflowStage = WorkflowStage;
336
338
  declare const proofRunCore_buildCheckpointContract: typeof buildCheckpointContract;
337
339
  declare const proofRunCore_buildSetupArgs: typeof buildSetupArgs;
340
+ declare const proofRunCore_canonicalProofAssessmentStageForDecision: typeof canonicalProofAssessmentStageForDecision;
338
341
  declare const proofRunCore_checkpointContinueStage: typeof checkpointContinueStage;
339
342
  declare const proofRunCore_clearStageDecisionRequest: typeof clearStageDecisionRequest;
340
343
  declare const proofRunCore_ensureAction: typeof ensureAction;
@@ -342,6 +345,7 @@ declare const proofRunCore_ensureStageLoopState: typeof ensureStageLoopState;
342
345
  declare const proofRunCore_invalidateVerifyEvidence: typeof invalidateVerifyEvidence;
343
346
  declare const proofRunCore_mergeStateFromParams: typeof mergeStateFromParams;
344
347
  declare const proofRunCore_noImplementationModeFor: typeof noImplementationModeFor;
348
+ declare const proofRunCore_normalizeProofAssessmentStageFields: typeof normalizeProofAssessmentStageFields;
345
349
  declare const proofRunCore_previewModeFromWorkflowMode: typeof previewModeFromWorkflowMode;
346
350
  declare const proofRunCore_proofAssessmentHardBlockersForState: typeof proofAssessmentHardBlockersForState;
347
351
  declare const proofRunCore_readState: typeof readState;
@@ -358,7 +362,7 @@ declare const proofRunCore_visualDeltaShipGateReason: typeof visualDeltaShipGate
358
362
  declare const proofRunCore_workflowFile: typeof workflowFile;
359
363
  declare const proofRunCore_writeState: typeof writeState;
360
364
  declare namespace proofRunCore {
361
- export { proofRunCore_BUNDLED_RIDDLE_PROOF_DIR as BUNDLED_RIDDLE_PROOF_DIR, proofRunCore_CHECKPOINT_CONTRACT_VERSION as CHECKPOINT_CONTRACT_VERSION, type proofRunCore_CheckpointInputContract as CheckpointInputContract, type proofRunCore_PluginConfig as PluginConfig, proofRunCore_RIDDLE_PROOF_DIR_CANDIDATES as RIDDLE_PROOF_DIR_CANDIDATES, type proofRunCore_ShipGateValidation as ShipGateValidation, proofRunCore_WORKFLOW_STAGE_ORDER as WORKFLOW_STAGE_ORDER, type proofRunCore_WorkflowAction as WorkflowAction, type proofRunCore_WorkflowParams as WorkflowParams, type proofRunCore_WorkflowStage as WorkflowStage, proofRunCore_buildCheckpointContract as buildCheckpointContract, proofRunCore_buildSetupArgs as buildSetupArgs, proofRunCore_checkpointContinueStage as checkpointContinueStage, proofRunCore_clearStageDecisionRequest as clearStageDecisionRequest, proofRunCore_ensureAction as ensureAction, proofRunCore_ensureStageLoopState as ensureStageLoopState, proofRunCore_invalidateVerifyEvidence as invalidateVerifyEvidence, proofRunCore_mergeStateFromParams as mergeStateFromParams, proofRunCore_noImplementationModeFor as noImplementationModeFor, proofRunCore_previewModeFromWorkflowMode as previewModeFromWorkflowMode, proofRunCore_proofAssessmentHardBlockersForState as proofAssessmentHardBlockersForState, proofRunCore_readState as readState, proofRunCore_recordStageAttempt as recordStageAttempt, proofRunCore_requiredBaselineLabelsForState as requiredBaselineLabelsForState, proofRunCore_resolveConfig as resolveConfig, proofRunCore_resolveRiddleProofDir as resolveRiddleProofDir, proofRunCore_setStageDecisionRequest as setStageDecisionRequest, proofRunCore_summarizeState as summarizeState, proofRunCore_validateShipGate as validateShipGate, proofRunCore_visualDeltaForState as visualDeltaForState, proofRunCore_visualDeltaRequiredForState as visualDeltaRequiredForState, proofRunCore_visualDeltaShipGateReason as visualDeltaShipGateReason, proofRunCore_workflowFile as workflowFile, proofRunCore_writeState as writeState };
365
+ export { proofRunCore_BUNDLED_RIDDLE_PROOF_DIR as BUNDLED_RIDDLE_PROOF_DIR, proofRunCore_CHECKPOINT_CONTRACT_VERSION as CHECKPOINT_CONTRACT_VERSION, type proofRunCore_CheckpointInputContract as CheckpointInputContract, type proofRunCore_PluginConfig as PluginConfig, proofRunCore_RIDDLE_PROOF_DIR_CANDIDATES as RIDDLE_PROOF_DIR_CANDIDATES, type proofRunCore_ShipGateValidation as ShipGateValidation, proofRunCore_WORKFLOW_STAGE_ORDER as WORKFLOW_STAGE_ORDER, type proofRunCore_WorkflowAction as WorkflowAction, type proofRunCore_WorkflowParams as WorkflowParams, type proofRunCore_WorkflowStage as WorkflowStage, proofRunCore_buildCheckpointContract as buildCheckpointContract, proofRunCore_buildSetupArgs as buildSetupArgs, proofRunCore_canonicalProofAssessmentStageForDecision as canonicalProofAssessmentStageForDecision, proofRunCore_checkpointContinueStage as checkpointContinueStage, proofRunCore_clearStageDecisionRequest as clearStageDecisionRequest, proofRunCore_ensureAction as ensureAction, proofRunCore_ensureStageLoopState as ensureStageLoopState, proofRunCore_invalidateVerifyEvidence as invalidateVerifyEvidence, proofRunCore_mergeStateFromParams as mergeStateFromParams, proofRunCore_noImplementationModeFor as noImplementationModeFor, proofRunCore_normalizeProofAssessmentStageFields as normalizeProofAssessmentStageFields, proofRunCore_previewModeFromWorkflowMode as previewModeFromWorkflowMode, proofRunCore_proofAssessmentHardBlockersForState as proofAssessmentHardBlockersForState, proofRunCore_readState as readState, proofRunCore_recordStageAttempt as recordStageAttempt, proofRunCore_requiredBaselineLabelsForState as requiredBaselineLabelsForState, proofRunCore_resolveConfig as resolveConfig, proofRunCore_resolveRiddleProofDir as resolveRiddleProofDir, proofRunCore_setStageDecisionRequest as setStageDecisionRequest, proofRunCore_summarizeState as summarizeState, proofRunCore_validateShipGate as validateShipGate, proofRunCore_visualDeltaForState as visualDeltaForState, proofRunCore_visualDeltaRequiredForState as visualDeltaRequiredForState, proofRunCore_visualDeltaShipGateReason as visualDeltaShipGateReason, proofRunCore_workflowFile as workflowFile, proofRunCore_writeState as writeState };
362
366
  }
363
367
 
364
- export { visualDeltaShipGateReason as A, BUNDLED_RIDDLE_PROOF_DIR as B, CHECKPOINT_CONTRACT_VERSION as C, workflowFile as D, writeState as E, type PluginConfig as P, RIDDLE_PROOF_DIR_CANDIDATES as R, type ShipGateValidation as S, type WorkflowParams as W, type WorkflowStage as a, type CheckpointInputContract as b, WORKFLOW_STAGE_ORDER as c, type WorkflowAction as d, buildCheckpointContract as e, buildSetupArgs as f, checkpointContinueStage as g, clearStageDecisionRequest as h, ensureAction as i, ensureStageLoopState as j, invalidateVerifyEvidence as k, previewModeFromWorkflowMode as l, mergeStateFromParams as m, noImplementationModeFor as n, proofAssessmentHardBlockersForState as o, proofRunCore as p, readState as q, resolveConfig as r, recordStageAttempt as s, requiredBaselineLabelsForState as t, resolveRiddleProofDir as u, setStageDecisionRequest as v, summarizeState as w, validateShipGate as x, visualDeltaForState as y, visualDeltaRequiredForState as z };
368
+ export { visualDeltaForState as A, BUNDLED_RIDDLE_PROOF_DIR as B, CHECKPOINT_CONTRACT_VERSION as C, visualDeltaRequiredForState as D, visualDeltaShipGateReason as E, workflowFile as F, writeState as G, type PluginConfig as P, RIDDLE_PROOF_DIR_CANDIDATES as R, type ShipGateValidation as S, type WorkflowParams as W, type WorkflowStage as a, type CheckpointInputContract as b, WORKFLOW_STAGE_ORDER as c, type WorkflowAction as d, buildCheckpointContract as e, buildSetupArgs as f, canonicalProofAssessmentStageForDecision as g, checkpointContinueStage as h, clearStageDecisionRequest as i, ensureAction as j, ensureStageLoopState as k, invalidateVerifyEvidence as l, mergeStateFromParams as m, noImplementationModeFor as n, normalizeProofAssessmentStageFields as o, proofRunCore as p, previewModeFromWorkflowMode as q, resolveConfig as r, proofAssessmentHardBlockersForState as s, readState as t, recordStageAttempt as u, requiredBaselineLabelsForState as v, resolveRiddleProofDir as w, setStageDecisionRequest as x, summarizeState as y, validateShipGate as z };
@@ -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,
@@ -66,6 +68,24 @@ var import_node_path = __toESM(require("path"), 1);
66
68
  var import_node_url = require("url");
67
69
  var import_meta = {};
68
70
  var WORKFLOW_STAGE_ORDER = ["setup", "recon", "author", "implement", "verify", "ship"];
71
+ function canonicalProofAssessmentStageForDecision(decision) {
72
+ const normalized = typeof decision === "string" ? decision.trim() : "";
73
+ if (normalized === "ready_to_ship") return "ship";
74
+ if (normalized === "needs_richer_proof") return "author";
75
+ if (normalized === "revise_capture") return "verify";
76
+ if (normalized === "needs_recon") return "recon";
77
+ if (normalized === "needs_implementation") return "implement";
78
+ return null;
79
+ }
80
+ function normalizeProofAssessmentStageFields(assessment) {
81
+ const canonicalStage = canonicalProofAssessmentStageForDecision(assessment.decision);
82
+ if (!canonicalStage) return assessment;
83
+ return {
84
+ ...assessment,
85
+ recommended_stage: canonicalStage,
86
+ continue_with_stage: canonicalStage
87
+ };
88
+ }
69
89
  function normalizedMode(value) {
70
90
  return typeof value === "string" ? value.trim().toLowerCase() : "";
71
91
  }
@@ -1092,10 +1112,10 @@ function mergeStateFromParams(statePath, params) {
1092
1112
  state.proof_assessment_source = null;
1093
1113
  } else {
1094
1114
  const parsed = JSON.parse(raw);
1095
- const assessment = {
1115
+ const assessment = normalizeProofAssessmentStageFields({
1096
1116
  ...parsed,
1097
1117
  source: (parsed?.source || "supervising_agent").toString()
1098
- };
1118
+ });
1099
1119
  const readyBlocker = assessment?.decision === "ready_to_ship" ? visualDeltaShipGateReason({ ...state, proof_assessment: assessment, proof_assessment_source: assessment.source }) : null;
1100
1120
  if (readyBlocker) {
1101
1121
  assessment.blocked_decision = assessment.decision;
@@ -1265,6 +1285,7 @@ function summarizeState(state) {
1265
1285
  WORKFLOW_STAGE_ORDER,
1266
1286
  buildCheckpointContract,
1267
1287
  buildSetupArgs,
1288
+ canonicalProofAssessmentStageForDecision,
1268
1289
  checkpointContinueStage,
1269
1290
  clearStageDecisionRequest,
1270
1291
  ensureAction,
@@ -1272,6 +1293,7 @@ function summarizeState(state) {
1272
1293
  invalidateVerifyEvidence,
1273
1294
  mergeStateFromParams,
1274
1295
  noImplementationModeFor,
1296
+ normalizeProofAssessmentStageFields,
1275
1297
  previewModeFromWorkflowMode,
1276
1298
  proofAssessmentHardBlockersForState,
1277
1299
  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,
@@ -1,4 +1,4 @@
1
- import { W as WorkflowParams, r as resolveConfig, P as PluginConfig, a as WorkflowStage } from './proof-run-core-B1GeqkR8.js';
1
+ import { W as WorkflowParams, r as resolveConfig, P as PluginConfig, a as WorkflowStage } from './proof-run-core-7Dqm7RKM.js';
2
2
 
3
3
  declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, resolvedConfig?: ReturnType<typeof resolveConfig>): Promise<{
4
4
  ok: boolean;
@@ -1,4 +1,4 @@
1
- import { W as WorkflowParams, r as resolveConfig, P as PluginConfig, a as WorkflowStage } from './proof-run-core-B1GeqkR8.cjs';
1
+ import { W as WorkflowParams, r as resolveConfig, P as PluginConfig, a as WorkflowStage } from './proof-run-core-7Dqm7RKM.cjs';
2
2
 
3
3
  declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, resolvedConfig?: ReturnType<typeof resolveConfig>): Promise<{
4
4
  ok: boolean;
@@ -45,6 +45,24 @@ var import_node_path = __toESM(require("path"), 1);
45
45
  var import_node_url = require("url");
46
46
  var import_meta = {};
47
47
  var WORKFLOW_STAGE_ORDER = ["setup", "recon", "author", "implement", "verify", "ship"];
48
+ function canonicalProofAssessmentStageForDecision(decision) {
49
+ const normalized = typeof decision === "string" ? decision.trim() : "";
50
+ if (normalized === "ready_to_ship") return "ship";
51
+ if (normalized === "needs_richer_proof") return "author";
52
+ if (normalized === "revise_capture") return "verify";
53
+ if (normalized === "needs_recon") return "recon";
54
+ if (normalized === "needs_implementation") return "implement";
55
+ return null;
56
+ }
57
+ function normalizeProofAssessmentStageFields(assessment) {
58
+ const canonicalStage = canonicalProofAssessmentStageForDecision(assessment.decision);
59
+ if (!canonicalStage) return assessment;
60
+ return {
61
+ ...assessment,
62
+ recommended_stage: canonicalStage,
63
+ continue_with_stage: canonicalStage
64
+ };
65
+ }
48
66
  function normalizedMode(value) {
49
67
  return typeof value === "string" ? value.trim().toLowerCase() : "";
50
68
  }
@@ -1071,10 +1089,10 @@ function mergeStateFromParams(statePath, params) {
1071
1089
  state.proof_assessment_source = null;
1072
1090
  } else {
1073
1091
  const parsed = JSON.parse(raw);
1074
- const assessment = {
1092
+ const assessment = normalizeProofAssessmentStageFields({
1075
1093
  ...parsed,
1076
1094
  source: (parsed?.source || "supervising_agent").toString()
1077
- };
1095
+ });
1078
1096
  const readyBlocker = assessment?.decision === "ready_to_ship" ? visualDeltaShipGateReason({ ...state, proof_assessment: assessment, proof_assessment_source: assessment.source }) : null;
1079
1097
  if (readyBlocker) {
1080
1098
  assessment.blocked_decision = assessment.decision;
@@ -1,2 +1,2 @@
1
- import './proof-run-core-B1GeqkR8.cjs';
2
- export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from './proof-run-engine-4dM37pEx.cjs';
1
+ import './proof-run-core-7Dqm7RKM.cjs';
2
+ export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from './proof-run-engine-DpChFR5H.cjs';
@@ -1,2 +1,2 @@
1
- import './proof-run-core-B1GeqkR8.js';
2
- export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from './proof-run-engine-BqaeqAze.js';
1
+ import './proof-run-core-7Dqm7RKM.js';
2
+ export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from './proof-run-engine-BqRoA3Do.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,
package/dist/runner.js CHANGED
@@ -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";