@riddledc/riddle-proof 0.8.54 → 0.8.56
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/adapters/codex-exec-agent.js +2 -2
- package/dist/adapters/codex.js +2 -2
- package/dist/adapters/local-agent.js +2 -2
- package/dist/adapters/openclaw.js +5 -5
- package/dist/advanced/engine-harness.cjs +129 -22
- package/dist/advanced/engine-harness.js +5 -5
- package/dist/advanced/index.cjs +130 -23
- package/dist/advanced/index.d.cts +1 -1
- package/dist/advanced/index.d.ts +1 -1
- package/dist/advanced/index.js +6 -6
- package/dist/advanced/proof-run-engine.d.cts +1 -1
- package/dist/advanced/proof-run-engine.d.ts +1 -1
- package/dist/advanced/runner.cjs +59 -1
- package/dist/advanced/runner.js +5 -5
- package/dist/checkpoint.cjs +4 -0
- package/dist/checkpoint.js +2 -2
- package/dist/{chunk-ECLGGGAI.js → chunk-54DIEDR3.js} +3 -3
- package/dist/{chunk-VY4Y5U57.js → chunk-CUBYSWZT.js} +57 -0
- package/dist/{chunk-IV4DVWPR.js → chunk-GHBNDHG7.js} +67 -25
- package/dist/{chunk-S5DX7Z6X.js → chunk-JLOZTVXU.js} +3 -3
- package/dist/{chunk-JJ4IWRMJ.js → chunk-KNPCWWF3.js} +8 -3
- package/dist/{chunk-BLM5EIBA.js → chunk-MOTQNIZX.js} +5 -1
- package/dist/{chunk-73EBR3YL.js → chunk-RS4HJLJQ.js} +1 -1
- package/dist/{chunk-LNWJAHAQ.js → chunk-TTB3ZAVX.js} +2 -2
- package/dist/{chunk-WDIKPIMB.js → chunk-UZIX7M7D.js} +11 -4
- package/dist/cli/index.js +7 -7
- package/dist/cli.cjs +129 -22
- package/dist/cli.js +7 -7
- package/dist/codex-exec-agent.js +2 -2
- package/dist/engine-harness.cjs +129 -22
- package/dist/engine-harness.js +5 -5
- package/dist/index.cjs +136 -23
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +14 -8
- package/dist/local-agent.js +2 -2
- package/dist/openclaw.js +5 -5
- package/dist/{proof-run-engine-MiKZt9oY.d.ts → proof-run-engine-BqRoA3Do.d.ts} +3 -3
- package/dist/{proof-run-engine-Baiv6l3A.d.cts → proof-run-engine-DpChFR5H.d.cts} +3 -3
- package/dist/proof-run-engine.d.cts +1 -1
- package/dist/proof-run-engine.d.ts +1 -1
- package/dist/result.cjs +62 -2
- package/dist/result.d.cts +17 -2
- package/dist/result.d.ts +17 -2
- package/dist/result.js +9 -3
- package/dist/run-card.cjs +43 -0
- package/dist/run-card.js +3 -3
- package/dist/runner.cjs +59 -1
- package/dist/runner.js +5 -5
- package/dist/spec/checkpoint.cjs +4 -0
- package/dist/spec/checkpoint.js +2 -2
- package/dist/spec/index.cjs +74 -1
- package/dist/spec/index.d.cts +1 -1
- package/dist/spec/index.d.ts +1 -1
- package/dist/spec/index.js +11 -5
- package/dist/spec/result.cjs +62 -2
- package/dist/spec/result.d.cts +1 -1
- package/dist/spec/result.d.ts +1 -1
- package/dist/spec/result.js +9 -3
- package/dist/spec/run-card.cjs +43 -0
- package/dist/spec/run-card.js +3 -3
- package/dist/spec/state.cjs +52 -1
- package/dist/spec/state.js +4 -4
- package/dist/state.cjs +52 -1
- package/dist/state.js +4 -4
- package/dist/types.d.cts +17 -0
- package/dist/types.d.ts +17 -0
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -3419,6 +3419,9 @@ var import_node_crypto3 = __toESM(require("crypto"), 1);
|
|
|
3419
3419
|
function isTerminalStatus(status) {
|
|
3420
3420
|
return status === "blocked" || status === "failed" || status === "ready_to_ship" || status === "shipped" || status === "completed";
|
|
3421
3421
|
}
|
|
3422
|
+
function isProtectedFinalStatus(status) {
|
|
3423
|
+
return status === "ready_to_ship" || status === "shipped" || status === "completed";
|
|
3424
|
+
}
|
|
3422
3425
|
function isSuccessfulStatus(status) {
|
|
3423
3426
|
return status !== "blocked" && status !== "failed";
|
|
3424
3427
|
}
|
|
@@ -3516,6 +3519,9 @@ function normalizeTerminalMetadata(input) {
|
|
|
3516
3519
|
pr_state: prState,
|
|
3517
3520
|
marked_ready: markedReady,
|
|
3518
3521
|
left_draft: leftDraft,
|
|
3522
|
+
ship_held: firstBoolean(riddleState.ship_held, result.ship_held, result.shipHeld, details.ship_held, details.shipHeld, shipReport.ship_held, shipReport.shipHeld),
|
|
3523
|
+
shipping_disabled: firstBoolean(riddleState.shipping_disabled, result.shipping_disabled, result.shippingDisabled, details.shipping_disabled, details.shippingDisabled, shipReport.shipping_disabled, shipReport.shippingDisabled),
|
|
3524
|
+
ship_authorized: firstBoolean(riddleState.ship_authorized, result.ship_authorized, result.shipAuthorized, details.ship_authorized, details.shipAuthorized, shipReport.ship_authorized, shipReport.shipAuthorized),
|
|
3519
3525
|
ci_status: firstNonEmptyString(riddleState.ci_status, result.ci_status, result.ciStatus, details.ci_status, details.ciStatus, shipReport.ci_status),
|
|
3520
3526
|
ship_commit: firstNonEmptyString(riddleState.ship_commit, result.ship_commit, result.shipCommit, details.ship_commit, details.shipCommit, shipReport.shipped_commit, shipReport.ship_commit),
|
|
3521
3527
|
ship_remote_head: firstNonEmptyString(riddleState.ship_remote_head, result.ship_remote_head, result.shipRemoteHead, details.ship_remote_head, details.shipRemoteHead, shipReport.ship_remote_head),
|
|
@@ -3549,6 +3555,9 @@ function applyTerminalMetadata(state, metadata) {
|
|
|
3549
3555
|
if (prBranch) state.pr_branch = prBranch;
|
|
3550
3556
|
if (typeof metadata.marked_ready === "boolean") state.marked_ready = metadata.marked_ready;
|
|
3551
3557
|
if (typeof metadata.left_draft === "boolean") state.left_draft = metadata.left_draft;
|
|
3558
|
+
if (typeof metadata.ship_held === "boolean") state.ship_held = metadata.ship_held;
|
|
3559
|
+
if (typeof metadata.shipping_disabled === "boolean") state.shipping_disabled = metadata.shipping_disabled;
|
|
3560
|
+
if (typeof metadata.ship_authorized === "boolean") state.ship_authorized = metadata.ship_authorized;
|
|
3552
3561
|
const ciStatus = nonEmptyString(metadata.ci_status);
|
|
3553
3562
|
if (ciStatus) state.ci_status = ciStatus;
|
|
3554
3563
|
const shipCommit = nonEmptyString(metadata.ship_commit);
|
|
@@ -3580,12 +3589,54 @@ function applyTerminalMetadata(state, metadata) {
|
|
|
3580
3589
|
if (typeof metadata.finalized === "boolean") state.finalized = metadata.finalized;
|
|
3581
3590
|
return state;
|
|
3582
3591
|
}
|
|
3592
|
+
function shipControlStateFor(input) {
|
|
3593
|
+
const state = input.state;
|
|
3594
|
+
const status = input.status || state.status;
|
|
3595
|
+
const raw = recordValue(input.raw) || {};
|
|
3596
|
+
const shipReport = recordValue(state.ship_report) || {};
|
|
3597
|
+
const prState = recordValue(state.pr_state) || {};
|
|
3598
|
+
const shippingDisabled = firstBoolean(
|
|
3599
|
+
raw.shipping_disabled,
|
|
3600
|
+
raw.shippingDisabled,
|
|
3601
|
+
state.shipping_disabled,
|
|
3602
|
+
shipReport.shipping_disabled,
|
|
3603
|
+
shipReport.shippingDisabled
|
|
3604
|
+
) ?? state.request?.ship_mode === "none";
|
|
3605
|
+
const explicitAuthorized = firstBoolean(
|
|
3606
|
+
raw.ship_authorized,
|
|
3607
|
+
raw.shipAuthorized,
|
|
3608
|
+
state.ship_authorized,
|
|
3609
|
+
shipReport.ship_authorized,
|
|
3610
|
+
shipReport.shipAuthorized
|
|
3611
|
+
);
|
|
3612
|
+
const authorizationEvidence = Boolean(
|
|
3613
|
+
status === "shipped" || state.marked_ready === true || shipReport.marked_ready === true || prState.status === "merged" || state.merge_commit || state.merged_at
|
|
3614
|
+
);
|
|
3615
|
+
const inferredAuthorized = explicitAuthorized ?? authorizationEvidence;
|
|
3616
|
+
const rawHeld = firstBoolean(raw.ship_held, raw.shipHeld);
|
|
3617
|
+
const inferredHeld = status === "ready_to_ship" && shippingDisabled && !inferredAuthorized;
|
|
3618
|
+
const shipHeld = rawHeld ?? (state.ship_held === true || inferredHeld);
|
|
3619
|
+
return {
|
|
3620
|
+
ship_held: shipHeld,
|
|
3621
|
+
shipping_disabled: shippingDisabled,
|
|
3622
|
+
ship_authorized: shipHeld ? false : inferredAuthorized
|
|
3623
|
+
};
|
|
3624
|
+
}
|
|
3625
|
+
function applyShipControlState(state, input = {}) {
|
|
3626
|
+
const control = shipControlStateFor({ state, status: input.status, raw: input.raw });
|
|
3627
|
+
state.ship_held = control.ship_held;
|
|
3628
|
+
state.shipping_disabled = control.shipping_disabled;
|
|
3629
|
+
state.ship_authorized = control.ship_authorized;
|
|
3630
|
+
return state;
|
|
3631
|
+
}
|
|
3583
3632
|
function createRunResult(input) {
|
|
3584
3633
|
const status = input.status || input.state.status;
|
|
3585
3634
|
const ok = isSuccessfulStatus(status);
|
|
3586
3635
|
const state = input.metadata ? applyTerminalMetadata(input.state, input.metadata) : input.state;
|
|
3587
3636
|
state.status = status;
|
|
3588
3637
|
state.ok = ok;
|
|
3638
|
+
if (isProtectedFinalStatus(status)) state.finalized = true;
|
|
3639
|
+
applyShipControlState(state, { status, raw: input.raw });
|
|
3589
3640
|
return compactRecord({
|
|
3590
3641
|
ok,
|
|
3591
3642
|
status,
|
|
@@ -3603,6 +3654,9 @@ function createRunResult(input) {
|
|
|
3603
3654
|
pr_state: state.pr_state,
|
|
3604
3655
|
marked_ready: state.marked_ready,
|
|
3605
3656
|
left_draft: state.left_draft,
|
|
3657
|
+
ship_held: state.ship_held,
|
|
3658
|
+
shipping_disabled: state.shipping_disabled,
|
|
3659
|
+
ship_authorized: state.ship_authorized,
|
|
3606
3660
|
ci_status: state.ci_status,
|
|
3607
3661
|
ship_commit: state.ship_commit,
|
|
3608
3662
|
ship_remote_head: state.ship_remote_head,
|
|
@@ -4329,6 +4383,8 @@ function checkpointSummaryFromState(state, engineStatePath2) {
|
|
|
4329
4383
|
const packets = history.filter((entry) => entry.packet);
|
|
4330
4384
|
const responses = acceptedCheckpointResponseEntries(state);
|
|
4331
4385
|
const duplicateResponses = events.filter((event) => event.kind === "checkpoint.response.duplicate");
|
|
4386
|
+
const rejectedResponses = events.filter((event) => event.kind === "checkpoint.response.rejected");
|
|
4387
|
+
const ignoredResponses = events.filter((event) => event.kind === "checkpoint.response.ignored");
|
|
4332
4388
|
const latestPacketEntry = [...history].reverse().find((entry) => entry.packet);
|
|
4333
4389
|
const latestResponseEntry = [...responses].reverse().find((entry) => entry.response);
|
|
4334
4390
|
const latestPacket = state.checkpoint_packet || latestPacketEntry?.packet;
|
|
@@ -4344,6 +4400,8 @@ function checkpointSummaryFromState(state, engineStatePath2) {
|
|
|
4344
4400
|
packet_count: packets.length,
|
|
4345
4401
|
response_count: responses.length,
|
|
4346
4402
|
duplicate_response_count: duplicateResponses.length,
|
|
4403
|
+
rejected_response_count: rejectedResponses.length,
|
|
4404
|
+
ignored_response_count: ignoredResponses.length,
|
|
4347
4405
|
latest_checkpoint: state.checkpoint_packet?.checkpoint || latestResponse?.checkpoint || state.last_checkpoint || null,
|
|
4348
4406
|
latest_stage: state.checkpoint_packet?.stage || latestResponse?.continue_with_stage || state.current_stage || null,
|
|
4349
4407
|
latest_kind: state.checkpoint_packet?.kind || latestPacket?.kind || null,
|
|
@@ -4582,6 +4640,7 @@ function createRiddleProofRunCard(state, input = {}) {
|
|
|
4582
4640
|
const visualDelta = visualDeltaFrom({ fullRiddleState: fullState, runState: state });
|
|
4583
4641
|
const artifacts = artifactsFrom({ fullRiddleState: fullState, runState: state });
|
|
4584
4642
|
const viewportMatrix = viewportMatrixFrom({ fullRiddleState: fullState, runState: state });
|
|
4643
|
+
const shipControl = shipControlStateFor({ state });
|
|
4585
4644
|
return {
|
|
4586
4645
|
version: RIDDLE_PROOF_RUN_CARD_VERSION,
|
|
4587
4646
|
run_id: state.run_id || "unknown",
|
|
@@ -4635,6 +4694,9 @@ function createRiddleProofRunCard(state, input = {}) {
|
|
|
4635
4694
|
stop_condition: compactRecord({
|
|
4636
4695
|
status: state.status,
|
|
4637
4696
|
terminal: isTerminalStatus(state.status),
|
|
4697
|
+
ship_held: shipControl.ship_held,
|
|
4698
|
+
shipping_disabled: shipControl.shipping_disabled,
|
|
4699
|
+
ship_authorized: shipControl.ship_authorized,
|
|
4638
4700
|
blocker_code: state.blocker?.code || null,
|
|
4639
4701
|
blocker_message: state.blocker?.message || null,
|
|
4640
4702
|
proof_decision: state.proof_decision,
|
|
@@ -4795,7 +4857,8 @@ function appendStageHeartbeat(state, input) {
|
|
|
4795
4857
|
function createRunStatusSnapshot(state, at = timestamp2()) {
|
|
4796
4858
|
const latestEvent = state.events[state.events.length - 1];
|
|
4797
4859
|
const runId = state.run_id || "unknown";
|
|
4798
|
-
const
|
|
4860
|
+
const shipControl = shipControlStateFor({ state });
|
|
4861
|
+
const existingRunCardCurrent = state.run_card?.status === state.status && state.run_card.stop_condition?.status === state.status && state.run_card.stop_condition?.terminal === isTerminalStatus(state.status) && state.run_card.stop_condition?.monitor_should_continue === !isTerminalStatus(state.status) && state.run_card.stop_condition?.ship_held === shipControl.ship_held && state.run_card.stop_condition?.shipping_disabled === shipControl.shipping_disabled && state.run_card.stop_condition?.ship_authorized === shipControl.ship_authorized;
|
|
4799
4862
|
const runCard = existingRunCardCurrent ? state.run_card : createRiddleProofRunCard(state, { at });
|
|
4800
4863
|
return compactRecord({
|
|
4801
4864
|
run_id: runId,
|
|
@@ -4809,6 +4872,9 @@ function createRunStatusSnapshot(state, at = timestamp2()) {
|
|
|
4809
4872
|
pr_url: state.pr_url ?? null,
|
|
4810
4873
|
pr_branch: state.pr_branch ?? null,
|
|
4811
4874
|
pr_state: state.pr_state,
|
|
4875
|
+
ship_held: shipControl.ship_held,
|
|
4876
|
+
shipping_disabled: shipControl.shipping_disabled,
|
|
4877
|
+
ship_authorized: shipControl.ship_authorized,
|
|
4812
4878
|
ci_status: state.ci_status,
|
|
4813
4879
|
ship_commit: state.ship_commit,
|
|
4814
4880
|
ship_remote_head: state.ship_remote_head,
|
|
@@ -4834,6 +4900,7 @@ function createRunStatusSnapshot(state, at = timestamp2()) {
|
|
|
4834
4900
|
function setRunStatus(state, status, at = timestamp2()) {
|
|
4835
4901
|
state.status = status;
|
|
4836
4902
|
state.ok = status !== "blocked" && status !== "failed";
|
|
4903
|
+
if (isProtectedFinalStatus(status)) state.finalized = true;
|
|
4837
4904
|
state.updated_at = at;
|
|
4838
4905
|
return state;
|
|
4839
4906
|
}
|
|
@@ -4902,9 +4969,6 @@ function loadRunState(input) {
|
|
|
4902
4969
|
state_path: statePath
|
|
4903
4970
|
});
|
|
4904
4971
|
}
|
|
4905
|
-
function isProtectedFinalStatus(status) {
|
|
4906
|
-
return status === "ready_to_ship" || status === "shipped" || status === "completed";
|
|
4907
|
-
}
|
|
4908
4972
|
function shouldPreserveFinalizedRunState(filePath, incoming) {
|
|
4909
4973
|
const existing = readJson(filePath);
|
|
4910
4974
|
if (!existing?.finalized || !isProtectedFinalStatus(existing.status)) return false;
|
|
@@ -5095,7 +5159,7 @@ function shipHeldTerminal(state, result) {
|
|
|
5095
5159
|
"ready_to_ship",
|
|
5096
5160
|
result,
|
|
5097
5161
|
result.summary || "Riddle Proof evidence is approved, but ship_mode=none is holding before PR/ship.",
|
|
5098
|
-
{ ship_held: true }
|
|
5162
|
+
{ ship_held: true, shipping_disabled: true, ship_authorized: false }
|
|
5099
5163
|
);
|
|
5100
5164
|
}
|
|
5101
5165
|
function checkpointContinueStage2(result) {
|
|
@@ -5373,6 +5437,7 @@ function terminalResult(state, status, result, summary, raw = {}) {
|
|
|
5373
5437
|
engineResult: result
|
|
5374
5438
|
});
|
|
5375
5439
|
applyTerminalMetadata(state, metadata);
|
|
5440
|
+
applyShipControlState(state, { status, raw });
|
|
5376
5441
|
persist(state);
|
|
5377
5442
|
return createRunResult({
|
|
5378
5443
|
state,
|
|
@@ -5475,19 +5540,38 @@ function appendCheckpointResponse(state, response, input = {}) {
|
|
|
5475
5540
|
setRunStatus(state, "running", at);
|
|
5476
5541
|
persist(state);
|
|
5477
5542
|
}
|
|
5543
|
+
function checkpointResponseRejectedBlocker(state, input) {
|
|
5544
|
+
const packet = input.packet || null;
|
|
5545
|
+
const response = input.response || null;
|
|
5546
|
+
appendRunEvent(state, {
|
|
5547
|
+
kind: "checkpoint.response.rejected",
|
|
5548
|
+
checkpoint: response?.checkpoint || packet?.checkpoint || input.blocker.checkpoint || null,
|
|
5549
|
+
stage: packet?.stage || state.current_stage || "author",
|
|
5550
|
+
summary: input.blocker.message,
|
|
5551
|
+
details: compactRecord({
|
|
5552
|
+
code: input.blocker.code,
|
|
5553
|
+
decision: response?.decision,
|
|
5554
|
+
resume_token: response?.resume_token,
|
|
5555
|
+
packet_id: response?.packet_id,
|
|
5556
|
+
source: response?.source
|
|
5557
|
+
})
|
|
5558
|
+
});
|
|
5559
|
+
return { blocker: input.blocker };
|
|
5560
|
+
}
|
|
5478
5561
|
function checkpointResponseContinuation(state, value) {
|
|
5479
5562
|
if (!value) return {};
|
|
5480
5563
|
const packet = state.checkpoint_packet;
|
|
5481
5564
|
const response = normalizeCheckpointResponse(value);
|
|
5482
5565
|
if (!response) {
|
|
5483
|
-
return {
|
|
5566
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5567
|
+
packet,
|
|
5484
5568
|
blocker: {
|
|
5485
5569
|
code: "checkpoint_response_invalid",
|
|
5486
5570
|
checkpoint: packet?.checkpoint || state.last_checkpoint || null,
|
|
5487
5571
|
message: "Checkpoint response was not a valid riddle-proof.checkpoint_response.v1 object.",
|
|
5488
5572
|
details: { checkpoint_packet: packet || null, checkpoint_summary: checkpointSummaryFromState(state) }
|
|
5489
5573
|
}
|
|
5490
|
-
};
|
|
5574
|
+
});
|
|
5491
5575
|
}
|
|
5492
5576
|
if (isDuplicateCheckpointResponse(state, response)) {
|
|
5493
5577
|
const stage = packet?.stage || state.current_stage || "author";
|
|
@@ -5518,17 +5602,20 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5518
5602
|
};
|
|
5519
5603
|
}
|
|
5520
5604
|
if (!packet) {
|
|
5521
|
-
return {
|
|
5605
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5606
|
+
response,
|
|
5522
5607
|
blocker: {
|
|
5523
5608
|
code: "checkpoint_response_without_packet",
|
|
5524
5609
|
checkpoint: response.checkpoint,
|
|
5525
5610
|
message: "A checkpoint response was supplied, but the run state has no pending checkpoint packet.",
|
|
5526
5611
|
details: { response, checkpoint_summary: checkpointSummaryFromState(state) }
|
|
5527
5612
|
}
|
|
5528
|
-
};
|
|
5613
|
+
});
|
|
5529
5614
|
}
|
|
5530
5615
|
if (response.run_id !== packet.run_id || response.checkpoint !== packet.checkpoint) {
|
|
5531
|
-
return {
|
|
5616
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5617
|
+
packet,
|
|
5618
|
+
response,
|
|
5532
5619
|
blocker: {
|
|
5533
5620
|
code: "checkpoint_response_mismatch",
|
|
5534
5621
|
checkpoint: packet.checkpoint,
|
|
@@ -5539,10 +5626,12 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5539
5626
|
actual: { run_id: response.run_id, checkpoint: response.checkpoint }
|
|
5540
5627
|
}
|
|
5541
5628
|
}
|
|
5542
|
-
};
|
|
5629
|
+
});
|
|
5543
5630
|
}
|
|
5544
5631
|
if (packet.resume_token && response.resume_token !== packet.resume_token) {
|
|
5545
|
-
return {
|
|
5632
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5633
|
+
packet,
|
|
5634
|
+
response,
|
|
5546
5635
|
blocker: {
|
|
5547
5636
|
code: "checkpoint_response_resume_token_mismatch",
|
|
5548
5637
|
checkpoint: packet.checkpoint,
|
|
@@ -5553,10 +5642,12 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5553
5642
|
actual_resume_token: response.resume_token || null
|
|
5554
5643
|
}
|
|
5555
5644
|
}
|
|
5556
|
-
};
|
|
5645
|
+
});
|
|
5557
5646
|
}
|
|
5558
5647
|
if (packet.packet_id && response.packet_id !== packet.packet_id) {
|
|
5559
|
-
return {
|
|
5648
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5649
|
+
packet,
|
|
5650
|
+
response,
|
|
5560
5651
|
blocker: {
|
|
5561
5652
|
code: "checkpoint_response_packet_id_mismatch",
|
|
5562
5653
|
checkpoint: packet.checkpoint,
|
|
@@ -5569,10 +5660,12 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5569
5660
|
actual_resume_token: response.resume_token || null
|
|
5570
5661
|
}
|
|
5571
5662
|
}
|
|
5572
|
-
};
|
|
5663
|
+
});
|
|
5573
5664
|
}
|
|
5574
5665
|
if (!packet.allowed_decisions.includes(response.decision)) {
|
|
5575
|
-
return {
|
|
5666
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5667
|
+
packet,
|
|
5668
|
+
response,
|
|
5576
5669
|
blocker: {
|
|
5577
5670
|
code: "checkpoint_response_decision_not_allowed",
|
|
5578
5671
|
checkpoint: packet.checkpoint,
|
|
@@ -5584,7 +5677,7 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5584
5677
|
response
|
|
5585
5678
|
}
|
|
5586
5679
|
}
|
|
5587
|
-
};
|
|
5680
|
+
});
|
|
5588
5681
|
}
|
|
5589
5682
|
const base = {
|
|
5590
5683
|
action: "run",
|
|
@@ -5594,14 +5687,16 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5594
5687
|
if (response.decision === "author_packet") {
|
|
5595
5688
|
const payload = authorPacketPayloadFromCheckpointResponse(response);
|
|
5596
5689
|
if (!payload) {
|
|
5597
|
-
return {
|
|
5690
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5691
|
+
packet,
|
|
5692
|
+
response,
|
|
5598
5693
|
blocker: {
|
|
5599
5694
|
code: "checkpoint_author_packet_missing",
|
|
5600
5695
|
checkpoint: packet.checkpoint,
|
|
5601
5696
|
message: "Checkpoint response decision=author_packet did not include a proof_plan and capture_script payload.",
|
|
5602
5697
|
details: { stage: packet.stage, response }
|
|
5603
5698
|
}
|
|
5604
|
-
};
|
|
5699
|
+
});
|
|
5605
5700
|
}
|
|
5606
5701
|
state.proof_contract = proofContractFromAuthorCheckpointResponse(response, packet, payload);
|
|
5607
5702
|
appendCheckpointResponse(state, response);
|
|
@@ -5630,14 +5725,16 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5630
5725
|
const workdir = nonEmptyString(packet.state_excerpt?.after_worktree) || state.worktree_path;
|
|
5631
5726
|
if (workdir) state.worktree_path = workdir;
|
|
5632
5727
|
if (!hasGitDiff(workdir)) {
|
|
5633
|
-
return {
|
|
5728
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5729
|
+
packet,
|
|
5730
|
+
response,
|
|
5634
5731
|
blocker: {
|
|
5635
5732
|
code: "implementation_diff_missing",
|
|
5636
5733
|
checkpoint: packet.checkpoint,
|
|
5637
5734
|
message: "Checkpoint response claimed implementation_complete, but the after worktree has no detectable git diff.",
|
|
5638
5735
|
details: { stage: packet.stage, worktree_path: workdir || null, response }
|
|
5639
5736
|
}
|
|
5640
|
-
};
|
|
5737
|
+
});
|
|
5641
5738
|
}
|
|
5642
5739
|
appendCheckpointResponse(state, response);
|
|
5643
5740
|
return {
|
|
@@ -5686,7 +5783,13 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5686
5783
|
response,
|
|
5687
5784
|
code: "checkpoint_response_source_not_trusted"
|
|
5688
5785
|
});
|
|
5689
|
-
if (sourceBlocker)
|
|
5786
|
+
if (sourceBlocker) {
|
|
5787
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5788
|
+
packet,
|
|
5789
|
+
response,
|
|
5790
|
+
blocker: sourceBlocker
|
|
5791
|
+
});
|
|
5792
|
+
}
|
|
5690
5793
|
appendCheckpointResponse(state, response);
|
|
5691
5794
|
if (state.request.ship_mode !== "ship" && proofAssessmentRequestsShip(assessment)) {
|
|
5692
5795
|
const result = {
|
|
@@ -5705,6 +5808,8 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5705
5808
|
response.summary || "Riddle Proof evidence is approved, but ship_mode=none is holding before PR/ship.",
|
|
5706
5809
|
{
|
|
5707
5810
|
ship_held: true,
|
|
5811
|
+
shipping_disabled: true,
|
|
5812
|
+
ship_authorized: false,
|
|
5708
5813
|
proof_assessment: assessment
|
|
5709
5814
|
}
|
|
5710
5815
|
)
|
|
@@ -6298,6 +6403,8 @@ async function routeCheckpoint(request, state, result, agent, input) {
|
|
|
6298
6403
|
assessment.summary || result.summary || "Riddle Proof evidence is approved, but ship_mode=none is holding before PR/ship.",
|
|
6299
6404
|
{
|
|
6300
6405
|
ship_held: true,
|
|
6406
|
+
shipping_disabled: true,
|
|
6407
|
+
ship_authorized: false,
|
|
6301
6408
|
proof_assessment: payload
|
|
6302
6409
|
}
|
|
6303
6410
|
)
|
package/dist/cli.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import "./chunk-
|
|
2
|
+
import "./chunk-54DIEDR3.js";
|
|
3
3
|
import "./chunk-DI2XNGEZ.js";
|
|
4
4
|
import "./chunk-6KYXX4OE.js";
|
|
5
5
|
import "./chunk-EX7TO4I5.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-GHBNDHG7.js";
|
|
7
|
+
import "./chunk-UZIX7M7D.js";
|
|
8
|
+
import "./chunk-KNPCWWF3.js";
|
|
9
9
|
import "./chunk-EKZXU6MU.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-MOTQNIZX.js";
|
|
11
11
|
import "./chunk-JFQXAJH2.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-RS4HJLJQ.js";
|
|
13
|
+
import "./chunk-CUBYSWZT.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
package/dist/codex-exec-agent.js
CHANGED
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
createCodexExecAgentAdapter,
|
|
3
3
|
createCodexExecJsonRunner,
|
|
4
4
|
runCodexExecAgentDoctor
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-RS4HJLJQ.js";
|
|
6
|
+
import "./chunk-CUBYSWZT.js";
|
|
7
7
|
import "./chunk-MLKGABMK.js";
|
|
8
8
|
export {
|
|
9
9
|
createCodexExecAgentAdapter,
|