@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/engine-harness.cjs
CHANGED
|
@@ -3421,6 +3421,9 @@ var import_node_crypto3 = __toESM(require("crypto"), 1);
|
|
|
3421
3421
|
function isTerminalStatus(status) {
|
|
3422
3422
|
return status === "blocked" || status === "failed" || status === "ready_to_ship" || status === "shipped" || status === "completed";
|
|
3423
3423
|
}
|
|
3424
|
+
function isProtectedFinalStatus(status) {
|
|
3425
|
+
return status === "ready_to_ship" || status === "shipped" || status === "completed";
|
|
3426
|
+
}
|
|
3424
3427
|
function isSuccessfulStatus(status) {
|
|
3425
3428
|
return status !== "blocked" && status !== "failed";
|
|
3426
3429
|
}
|
|
@@ -3518,6 +3521,9 @@ function normalizeTerminalMetadata(input) {
|
|
|
3518
3521
|
pr_state: prState,
|
|
3519
3522
|
marked_ready: markedReady,
|
|
3520
3523
|
left_draft: leftDraft,
|
|
3524
|
+
ship_held: firstBoolean(riddleState.ship_held, result.ship_held, result.shipHeld, details.ship_held, details.shipHeld, shipReport.ship_held, shipReport.shipHeld),
|
|
3525
|
+
shipping_disabled: firstBoolean(riddleState.shipping_disabled, result.shipping_disabled, result.shippingDisabled, details.shipping_disabled, details.shippingDisabled, shipReport.shipping_disabled, shipReport.shippingDisabled),
|
|
3526
|
+
ship_authorized: firstBoolean(riddleState.ship_authorized, result.ship_authorized, result.shipAuthorized, details.ship_authorized, details.shipAuthorized, shipReport.ship_authorized, shipReport.shipAuthorized),
|
|
3521
3527
|
ci_status: firstNonEmptyString(riddleState.ci_status, result.ci_status, result.ciStatus, details.ci_status, details.ciStatus, shipReport.ci_status),
|
|
3522
3528
|
ship_commit: firstNonEmptyString(riddleState.ship_commit, result.ship_commit, result.shipCommit, details.ship_commit, details.shipCommit, shipReport.shipped_commit, shipReport.ship_commit),
|
|
3523
3529
|
ship_remote_head: firstNonEmptyString(riddleState.ship_remote_head, result.ship_remote_head, result.shipRemoteHead, details.ship_remote_head, details.shipRemoteHead, shipReport.ship_remote_head),
|
|
@@ -3551,6 +3557,9 @@ function applyTerminalMetadata(state, metadata) {
|
|
|
3551
3557
|
if (prBranch) state.pr_branch = prBranch;
|
|
3552
3558
|
if (typeof metadata.marked_ready === "boolean") state.marked_ready = metadata.marked_ready;
|
|
3553
3559
|
if (typeof metadata.left_draft === "boolean") state.left_draft = metadata.left_draft;
|
|
3560
|
+
if (typeof metadata.ship_held === "boolean") state.ship_held = metadata.ship_held;
|
|
3561
|
+
if (typeof metadata.shipping_disabled === "boolean") state.shipping_disabled = metadata.shipping_disabled;
|
|
3562
|
+
if (typeof metadata.ship_authorized === "boolean") state.ship_authorized = metadata.ship_authorized;
|
|
3554
3563
|
const ciStatus = nonEmptyString(metadata.ci_status);
|
|
3555
3564
|
if (ciStatus) state.ci_status = ciStatus;
|
|
3556
3565
|
const shipCommit = nonEmptyString(metadata.ship_commit);
|
|
@@ -3582,12 +3591,54 @@ function applyTerminalMetadata(state, metadata) {
|
|
|
3582
3591
|
if (typeof metadata.finalized === "boolean") state.finalized = metadata.finalized;
|
|
3583
3592
|
return state;
|
|
3584
3593
|
}
|
|
3594
|
+
function shipControlStateFor(input) {
|
|
3595
|
+
const state = input.state;
|
|
3596
|
+
const status = input.status || state.status;
|
|
3597
|
+
const raw = recordValue(input.raw) || {};
|
|
3598
|
+
const shipReport = recordValue(state.ship_report) || {};
|
|
3599
|
+
const prState = recordValue(state.pr_state) || {};
|
|
3600
|
+
const shippingDisabled = firstBoolean(
|
|
3601
|
+
raw.shipping_disabled,
|
|
3602
|
+
raw.shippingDisabled,
|
|
3603
|
+
state.shipping_disabled,
|
|
3604
|
+
shipReport.shipping_disabled,
|
|
3605
|
+
shipReport.shippingDisabled
|
|
3606
|
+
) ?? state.request?.ship_mode === "none";
|
|
3607
|
+
const explicitAuthorized = firstBoolean(
|
|
3608
|
+
raw.ship_authorized,
|
|
3609
|
+
raw.shipAuthorized,
|
|
3610
|
+
state.ship_authorized,
|
|
3611
|
+
shipReport.ship_authorized,
|
|
3612
|
+
shipReport.shipAuthorized
|
|
3613
|
+
);
|
|
3614
|
+
const authorizationEvidence = Boolean(
|
|
3615
|
+
status === "shipped" || state.marked_ready === true || shipReport.marked_ready === true || prState.status === "merged" || state.merge_commit || state.merged_at
|
|
3616
|
+
);
|
|
3617
|
+
const inferredAuthorized = explicitAuthorized ?? authorizationEvidence;
|
|
3618
|
+
const rawHeld = firstBoolean(raw.ship_held, raw.shipHeld);
|
|
3619
|
+
const inferredHeld = status === "ready_to_ship" && shippingDisabled && !inferredAuthorized;
|
|
3620
|
+
const shipHeld = rawHeld ?? (state.ship_held === true || inferredHeld);
|
|
3621
|
+
return {
|
|
3622
|
+
ship_held: shipHeld,
|
|
3623
|
+
shipping_disabled: shippingDisabled,
|
|
3624
|
+
ship_authorized: shipHeld ? false : inferredAuthorized
|
|
3625
|
+
};
|
|
3626
|
+
}
|
|
3627
|
+
function applyShipControlState(state, input = {}) {
|
|
3628
|
+
const control = shipControlStateFor({ state, status: input.status, raw: input.raw });
|
|
3629
|
+
state.ship_held = control.ship_held;
|
|
3630
|
+
state.shipping_disabled = control.shipping_disabled;
|
|
3631
|
+
state.ship_authorized = control.ship_authorized;
|
|
3632
|
+
return state;
|
|
3633
|
+
}
|
|
3585
3634
|
function createRunResult(input) {
|
|
3586
3635
|
const status = input.status || input.state.status;
|
|
3587
3636
|
const ok = isSuccessfulStatus(status);
|
|
3588
3637
|
const state = input.metadata ? applyTerminalMetadata(input.state, input.metadata) : input.state;
|
|
3589
3638
|
state.status = status;
|
|
3590
3639
|
state.ok = ok;
|
|
3640
|
+
if (isProtectedFinalStatus(status)) state.finalized = true;
|
|
3641
|
+
applyShipControlState(state, { status, raw: input.raw });
|
|
3591
3642
|
return compactRecord({
|
|
3592
3643
|
ok,
|
|
3593
3644
|
status,
|
|
@@ -3605,6 +3656,9 @@ function createRunResult(input) {
|
|
|
3605
3656
|
pr_state: state.pr_state,
|
|
3606
3657
|
marked_ready: state.marked_ready,
|
|
3607
3658
|
left_draft: state.left_draft,
|
|
3659
|
+
ship_held: state.ship_held,
|
|
3660
|
+
shipping_disabled: state.shipping_disabled,
|
|
3661
|
+
ship_authorized: state.ship_authorized,
|
|
3608
3662
|
ci_status: state.ci_status,
|
|
3609
3663
|
ship_commit: state.ship_commit,
|
|
3610
3664
|
ship_remote_head: state.ship_remote_head,
|
|
@@ -4241,6 +4295,8 @@ function checkpointSummaryFromState(state, engineStatePath2) {
|
|
|
4241
4295
|
const packets = history.filter((entry) => entry.packet);
|
|
4242
4296
|
const responses = acceptedCheckpointResponseEntries(state);
|
|
4243
4297
|
const duplicateResponses = events.filter((event) => event.kind === "checkpoint.response.duplicate");
|
|
4298
|
+
const rejectedResponses = events.filter((event) => event.kind === "checkpoint.response.rejected");
|
|
4299
|
+
const ignoredResponses = events.filter((event) => event.kind === "checkpoint.response.ignored");
|
|
4244
4300
|
const latestPacketEntry = [...history].reverse().find((entry) => entry.packet);
|
|
4245
4301
|
const latestResponseEntry = [...responses].reverse().find((entry) => entry.response);
|
|
4246
4302
|
const latestPacket = state.checkpoint_packet || latestPacketEntry?.packet;
|
|
@@ -4256,6 +4312,8 @@ function checkpointSummaryFromState(state, engineStatePath2) {
|
|
|
4256
4312
|
packet_count: packets.length,
|
|
4257
4313
|
response_count: responses.length,
|
|
4258
4314
|
duplicate_response_count: duplicateResponses.length,
|
|
4315
|
+
rejected_response_count: rejectedResponses.length,
|
|
4316
|
+
ignored_response_count: ignoredResponses.length,
|
|
4259
4317
|
latest_checkpoint: state.checkpoint_packet?.checkpoint || latestResponse?.checkpoint || state.last_checkpoint || null,
|
|
4260
4318
|
latest_stage: state.checkpoint_packet?.stage || latestResponse?.continue_with_stage || state.current_stage || null,
|
|
4261
4319
|
latest_kind: state.checkpoint_packet?.kind || latestPacket?.kind || null,
|
|
@@ -4494,6 +4552,7 @@ function createRiddleProofRunCard(state, input = {}) {
|
|
|
4494
4552
|
const visualDelta = visualDeltaFrom({ fullRiddleState: fullState, runState: state });
|
|
4495
4553
|
const artifacts = artifactsFrom({ fullRiddleState: fullState, runState: state });
|
|
4496
4554
|
const viewportMatrix = viewportMatrixFrom({ fullRiddleState: fullState, runState: state });
|
|
4555
|
+
const shipControl = shipControlStateFor({ state });
|
|
4497
4556
|
return {
|
|
4498
4557
|
version: RIDDLE_PROOF_RUN_CARD_VERSION,
|
|
4499
4558
|
run_id: state.run_id || "unknown",
|
|
@@ -4547,6 +4606,9 @@ function createRiddleProofRunCard(state, input = {}) {
|
|
|
4547
4606
|
stop_condition: compactRecord({
|
|
4548
4607
|
status: state.status,
|
|
4549
4608
|
terminal: isTerminalStatus(state.status),
|
|
4609
|
+
ship_held: shipControl.ship_held,
|
|
4610
|
+
shipping_disabled: shipControl.shipping_disabled,
|
|
4611
|
+
ship_authorized: shipControl.ship_authorized,
|
|
4550
4612
|
blocker_code: state.blocker?.code || null,
|
|
4551
4613
|
blocker_message: state.blocker?.message || null,
|
|
4552
4614
|
proof_decision: state.proof_decision,
|
|
@@ -4707,7 +4769,8 @@ function appendStageHeartbeat(state, input) {
|
|
|
4707
4769
|
function createRunStatusSnapshot(state, at = timestamp2()) {
|
|
4708
4770
|
const latestEvent = state.events[state.events.length - 1];
|
|
4709
4771
|
const runId = state.run_id || "unknown";
|
|
4710
|
-
const
|
|
4772
|
+
const shipControl = shipControlStateFor({ state });
|
|
4773
|
+
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;
|
|
4711
4774
|
const runCard = existingRunCardCurrent ? state.run_card : createRiddleProofRunCard(state, { at });
|
|
4712
4775
|
return compactRecord({
|
|
4713
4776
|
run_id: runId,
|
|
@@ -4721,6 +4784,9 @@ function createRunStatusSnapshot(state, at = timestamp2()) {
|
|
|
4721
4784
|
pr_url: state.pr_url ?? null,
|
|
4722
4785
|
pr_branch: state.pr_branch ?? null,
|
|
4723
4786
|
pr_state: state.pr_state,
|
|
4787
|
+
ship_held: shipControl.ship_held,
|
|
4788
|
+
shipping_disabled: shipControl.shipping_disabled,
|
|
4789
|
+
ship_authorized: shipControl.ship_authorized,
|
|
4724
4790
|
ci_status: state.ci_status,
|
|
4725
4791
|
ship_commit: state.ship_commit,
|
|
4726
4792
|
ship_remote_head: state.ship_remote_head,
|
|
@@ -4746,6 +4812,7 @@ function createRunStatusSnapshot(state, at = timestamp2()) {
|
|
|
4746
4812
|
function setRunStatus(state, status, at = timestamp2()) {
|
|
4747
4813
|
state.status = status;
|
|
4748
4814
|
state.ok = status !== "blocked" && status !== "failed";
|
|
4815
|
+
if (isProtectedFinalStatus(status)) state.finalized = true;
|
|
4749
4816
|
state.updated_at = at;
|
|
4750
4817
|
return state;
|
|
4751
4818
|
}
|
|
@@ -4814,9 +4881,6 @@ function loadRunState(input) {
|
|
|
4814
4881
|
state_path: statePath
|
|
4815
4882
|
});
|
|
4816
4883
|
}
|
|
4817
|
-
function isProtectedFinalStatus(status) {
|
|
4818
|
-
return status === "ready_to_ship" || status === "shipped" || status === "completed";
|
|
4819
|
-
}
|
|
4820
4884
|
function shouldPreserveFinalizedRunState(filePath, incoming) {
|
|
4821
4885
|
const existing = readJson(filePath);
|
|
4822
4886
|
if (!existing?.finalized || !isProtectedFinalStatus(existing.status)) return false;
|
|
@@ -5007,7 +5071,7 @@ function shipHeldTerminal(state, result) {
|
|
|
5007
5071
|
"ready_to_ship",
|
|
5008
5072
|
result,
|
|
5009
5073
|
result.summary || "Riddle Proof evidence is approved, but ship_mode=none is holding before PR/ship.",
|
|
5010
|
-
{ ship_held: true }
|
|
5074
|
+
{ ship_held: true, shipping_disabled: true, ship_authorized: false }
|
|
5011
5075
|
);
|
|
5012
5076
|
}
|
|
5013
5077
|
function checkpointContinueStage2(result) {
|
|
@@ -5285,6 +5349,7 @@ function terminalResult(state, status, result, summary, raw = {}) {
|
|
|
5285
5349
|
engineResult: result
|
|
5286
5350
|
});
|
|
5287
5351
|
applyTerminalMetadata(state, metadata);
|
|
5352
|
+
applyShipControlState(state, { status, raw });
|
|
5288
5353
|
persist(state);
|
|
5289
5354
|
return createRunResult({
|
|
5290
5355
|
state,
|
|
@@ -5387,19 +5452,38 @@ function appendCheckpointResponse(state, response, input = {}) {
|
|
|
5387
5452
|
setRunStatus(state, "running", at);
|
|
5388
5453
|
persist(state);
|
|
5389
5454
|
}
|
|
5455
|
+
function checkpointResponseRejectedBlocker(state, input) {
|
|
5456
|
+
const packet = input.packet || null;
|
|
5457
|
+
const response = input.response || null;
|
|
5458
|
+
appendRunEvent(state, {
|
|
5459
|
+
kind: "checkpoint.response.rejected",
|
|
5460
|
+
checkpoint: response?.checkpoint || packet?.checkpoint || input.blocker.checkpoint || null,
|
|
5461
|
+
stage: packet?.stage || state.current_stage || "author",
|
|
5462
|
+
summary: input.blocker.message,
|
|
5463
|
+
details: compactRecord({
|
|
5464
|
+
code: input.blocker.code,
|
|
5465
|
+
decision: response?.decision,
|
|
5466
|
+
resume_token: response?.resume_token,
|
|
5467
|
+
packet_id: response?.packet_id,
|
|
5468
|
+
source: response?.source
|
|
5469
|
+
})
|
|
5470
|
+
});
|
|
5471
|
+
return { blocker: input.blocker };
|
|
5472
|
+
}
|
|
5390
5473
|
function checkpointResponseContinuation(state, value) {
|
|
5391
5474
|
if (!value) return {};
|
|
5392
5475
|
const packet = state.checkpoint_packet;
|
|
5393
5476
|
const response = normalizeCheckpointResponse(value);
|
|
5394
5477
|
if (!response) {
|
|
5395
|
-
return {
|
|
5478
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5479
|
+
packet,
|
|
5396
5480
|
blocker: {
|
|
5397
5481
|
code: "checkpoint_response_invalid",
|
|
5398
5482
|
checkpoint: packet?.checkpoint || state.last_checkpoint || null,
|
|
5399
5483
|
message: "Checkpoint response was not a valid riddle-proof.checkpoint_response.v1 object.",
|
|
5400
5484
|
details: { checkpoint_packet: packet || null, checkpoint_summary: checkpointSummaryFromState(state) }
|
|
5401
5485
|
}
|
|
5402
|
-
};
|
|
5486
|
+
});
|
|
5403
5487
|
}
|
|
5404
5488
|
if (isDuplicateCheckpointResponse(state, response)) {
|
|
5405
5489
|
const stage = packet?.stage || state.current_stage || "author";
|
|
@@ -5430,17 +5514,20 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5430
5514
|
};
|
|
5431
5515
|
}
|
|
5432
5516
|
if (!packet) {
|
|
5433
|
-
return {
|
|
5517
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5518
|
+
response,
|
|
5434
5519
|
blocker: {
|
|
5435
5520
|
code: "checkpoint_response_without_packet",
|
|
5436
5521
|
checkpoint: response.checkpoint,
|
|
5437
5522
|
message: "A checkpoint response was supplied, but the run state has no pending checkpoint packet.",
|
|
5438
5523
|
details: { response, checkpoint_summary: checkpointSummaryFromState(state) }
|
|
5439
5524
|
}
|
|
5440
|
-
};
|
|
5525
|
+
});
|
|
5441
5526
|
}
|
|
5442
5527
|
if (response.run_id !== packet.run_id || response.checkpoint !== packet.checkpoint) {
|
|
5443
|
-
return {
|
|
5528
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5529
|
+
packet,
|
|
5530
|
+
response,
|
|
5444
5531
|
blocker: {
|
|
5445
5532
|
code: "checkpoint_response_mismatch",
|
|
5446
5533
|
checkpoint: packet.checkpoint,
|
|
@@ -5451,10 +5538,12 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5451
5538
|
actual: { run_id: response.run_id, checkpoint: response.checkpoint }
|
|
5452
5539
|
}
|
|
5453
5540
|
}
|
|
5454
|
-
};
|
|
5541
|
+
});
|
|
5455
5542
|
}
|
|
5456
5543
|
if (packet.resume_token && response.resume_token !== packet.resume_token) {
|
|
5457
|
-
return {
|
|
5544
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5545
|
+
packet,
|
|
5546
|
+
response,
|
|
5458
5547
|
blocker: {
|
|
5459
5548
|
code: "checkpoint_response_resume_token_mismatch",
|
|
5460
5549
|
checkpoint: packet.checkpoint,
|
|
@@ -5465,10 +5554,12 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5465
5554
|
actual_resume_token: response.resume_token || null
|
|
5466
5555
|
}
|
|
5467
5556
|
}
|
|
5468
|
-
};
|
|
5557
|
+
});
|
|
5469
5558
|
}
|
|
5470
5559
|
if (packet.packet_id && response.packet_id !== packet.packet_id) {
|
|
5471
|
-
return {
|
|
5560
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5561
|
+
packet,
|
|
5562
|
+
response,
|
|
5472
5563
|
blocker: {
|
|
5473
5564
|
code: "checkpoint_response_packet_id_mismatch",
|
|
5474
5565
|
checkpoint: packet.checkpoint,
|
|
@@ -5481,10 +5572,12 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5481
5572
|
actual_resume_token: response.resume_token || null
|
|
5482
5573
|
}
|
|
5483
5574
|
}
|
|
5484
|
-
};
|
|
5575
|
+
});
|
|
5485
5576
|
}
|
|
5486
5577
|
if (!packet.allowed_decisions.includes(response.decision)) {
|
|
5487
|
-
return {
|
|
5578
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5579
|
+
packet,
|
|
5580
|
+
response,
|
|
5488
5581
|
blocker: {
|
|
5489
5582
|
code: "checkpoint_response_decision_not_allowed",
|
|
5490
5583
|
checkpoint: packet.checkpoint,
|
|
@@ -5496,7 +5589,7 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5496
5589
|
response
|
|
5497
5590
|
}
|
|
5498
5591
|
}
|
|
5499
|
-
};
|
|
5592
|
+
});
|
|
5500
5593
|
}
|
|
5501
5594
|
const base = {
|
|
5502
5595
|
action: "run",
|
|
@@ -5506,14 +5599,16 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5506
5599
|
if (response.decision === "author_packet") {
|
|
5507
5600
|
const payload = authorPacketPayloadFromCheckpointResponse(response);
|
|
5508
5601
|
if (!payload) {
|
|
5509
|
-
return {
|
|
5602
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5603
|
+
packet,
|
|
5604
|
+
response,
|
|
5510
5605
|
blocker: {
|
|
5511
5606
|
code: "checkpoint_author_packet_missing",
|
|
5512
5607
|
checkpoint: packet.checkpoint,
|
|
5513
5608
|
message: "Checkpoint response decision=author_packet did not include a proof_plan and capture_script payload.",
|
|
5514
5609
|
details: { stage: packet.stage, response }
|
|
5515
5610
|
}
|
|
5516
|
-
};
|
|
5611
|
+
});
|
|
5517
5612
|
}
|
|
5518
5613
|
state.proof_contract = proofContractFromAuthorCheckpointResponse(response, packet, payload);
|
|
5519
5614
|
appendCheckpointResponse(state, response);
|
|
@@ -5542,14 +5637,16 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5542
5637
|
const workdir = nonEmptyString(packet.state_excerpt?.after_worktree) || state.worktree_path;
|
|
5543
5638
|
if (workdir) state.worktree_path = workdir;
|
|
5544
5639
|
if (!hasGitDiff(workdir)) {
|
|
5545
|
-
return {
|
|
5640
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5641
|
+
packet,
|
|
5642
|
+
response,
|
|
5546
5643
|
blocker: {
|
|
5547
5644
|
code: "implementation_diff_missing",
|
|
5548
5645
|
checkpoint: packet.checkpoint,
|
|
5549
5646
|
message: "Checkpoint response claimed implementation_complete, but the after worktree has no detectable git diff.",
|
|
5550
5647
|
details: { stage: packet.stage, worktree_path: workdir || null, response }
|
|
5551
5648
|
}
|
|
5552
|
-
};
|
|
5649
|
+
});
|
|
5553
5650
|
}
|
|
5554
5651
|
appendCheckpointResponse(state, response);
|
|
5555
5652
|
return {
|
|
@@ -5598,7 +5695,13 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5598
5695
|
response,
|
|
5599
5696
|
code: "checkpoint_response_source_not_trusted"
|
|
5600
5697
|
});
|
|
5601
|
-
if (sourceBlocker)
|
|
5698
|
+
if (sourceBlocker) {
|
|
5699
|
+
return checkpointResponseRejectedBlocker(state, {
|
|
5700
|
+
packet,
|
|
5701
|
+
response,
|
|
5702
|
+
blocker: sourceBlocker
|
|
5703
|
+
});
|
|
5704
|
+
}
|
|
5602
5705
|
appendCheckpointResponse(state, response);
|
|
5603
5706
|
if (state.request.ship_mode !== "ship" && proofAssessmentRequestsShip(assessment)) {
|
|
5604
5707
|
const result = {
|
|
@@ -5617,6 +5720,8 @@ function checkpointResponseContinuation(state, value) {
|
|
|
5617
5720
|
response.summary || "Riddle Proof evidence is approved, but ship_mode=none is holding before PR/ship.",
|
|
5618
5721
|
{
|
|
5619
5722
|
ship_held: true,
|
|
5723
|
+
shipping_disabled: true,
|
|
5724
|
+
ship_authorized: false,
|
|
5620
5725
|
proof_assessment: assessment
|
|
5621
5726
|
}
|
|
5622
5727
|
)
|
|
@@ -6210,6 +6315,8 @@ async function routeCheckpoint(request, state, result, agent, input) {
|
|
|
6210
6315
|
assessment.summary || result.summary || "Riddle Proof evidence is approved, but ship_mode=none is holding before PR/ship.",
|
|
6211
6316
|
{
|
|
6212
6317
|
ship_held: true,
|
|
6318
|
+
shipping_disabled: true,
|
|
6319
|
+
ship_authorized: false,
|
|
6213
6320
|
proof_assessment: payload
|
|
6214
6321
|
}
|
|
6215
6322
|
)
|
package/dist/engine-harness.js
CHANGED
|
@@ -2,12 +2,12 @@ import {
|
|
|
2
2
|
createDisabledRiddleProofAgentAdapter,
|
|
3
3
|
readRiddleProofRunStatus,
|
|
4
4
|
runRiddleProofEngineHarness
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-GHBNDHG7.js";
|
|
6
|
+
import "./chunk-UZIX7M7D.js";
|
|
7
|
+
import "./chunk-KNPCWWF3.js";
|
|
8
8
|
import "./chunk-EKZXU6MU.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-MOTQNIZX.js";
|
|
10
|
+
import "./chunk-CUBYSWZT.js";
|
|
11
11
|
import "./chunk-MLKGABMK.js";
|
|
12
12
|
export {
|
|
13
13
|
createDisabledRiddleProofAgentAdapter,
|