@riddledc/riddle-proof 0.5.37 → 0.5.39
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/README.md +12 -8
- package/dist/checkpoint.cjs +230 -0
- package/dist/checkpoint.d.cts +22 -0
- package/dist/checkpoint.d.ts +22 -0
- package/dist/checkpoint.js +15 -0
- package/dist/{chunk-GN7HSZ6G.js → chunk-ORRP7CXT.js} +161 -3
- package/dist/{chunk-MQ2BHHLX.js → chunk-RDTMR7XR.js} +2 -2
- package/dist/chunk-UQPTCP4D.js +185 -0
- package/dist/{chunk-OASB3CYU.js → chunk-Z3BWCHFV.js} +4 -1
- package/dist/{chunk-J2MERROF.js → chunk-Z7QUCDPT.js} +1 -0
- package/dist/engine-harness.cjs +342 -13
- package/dist/engine-harness.d.cts +6 -2
- package/dist/engine-harness.d.ts +6 -2
- package/dist/engine-harness.js +4 -3
- package/dist/index.cjs +356 -17
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +25 -13
- package/dist/openclaw.js +2 -2
- package/dist/proof-run-engine.d.cts +3 -3
- package/dist/proof-run-engine.d.ts +3 -3
- package/dist/result.cjs +1 -0
- package/dist/result.js +1 -1
- package/dist/runner.cjs +3 -0
- package/dist/runner.js +3 -3
- package/dist/state.cjs +3 -0
- package/dist/state.d.cts +7 -1
- package/dist/state.d.ts +7 -1
- package/dist/state.js +2 -2
- package/dist/types.d.cts +63 -2
- package/dist/types.d.ts +63 -2
- package/lib/workspace-core.mjs +32 -1
- package/package.json +7 -2
- package/runtime/lib/setup.py +55 -9
package/dist/index.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RIDDLE_PROOF_VISUAL_SESSION_FINGERPRINT_VERSION,
|
|
3
|
+
RIDDLE_PROOF_VISUAL_SESSION_VERSION,
|
|
4
|
+
buildVisualProofSession,
|
|
5
|
+
compareVisualProofSessionFingerprint,
|
|
6
|
+
parseVisualProofSession,
|
|
7
|
+
visualSessionFingerprint,
|
|
8
|
+
visualSessionFingerprintBasis
|
|
9
|
+
} from "./chunk-ODORKNSO.js";
|
|
1
10
|
import {
|
|
2
11
|
runRiddleProof
|
|
3
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-RDTMR7XR.js";
|
|
4
13
|
import "./chunk-6F4PWJZI.js";
|
|
5
14
|
import {
|
|
6
15
|
DEFAULT_DIAGNOSTIC_ARRAY_LIMIT,
|
|
@@ -16,7 +25,14 @@ import {
|
|
|
16
25
|
createDisabledRiddleProofAgentAdapter,
|
|
17
26
|
readRiddleProofRunStatus,
|
|
18
27
|
runRiddleProofEngineHarness
|
|
19
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-ORRP7CXT.js";
|
|
29
|
+
import {
|
|
30
|
+
RIDDLE_PROOF_CHECKPOINT_PACKET_VERSION,
|
|
31
|
+
RIDDLE_PROOF_CHECKPOINT_RESPONSE_VERSION,
|
|
32
|
+
authorPacketPayloadFromCheckpointResponse,
|
|
33
|
+
buildAuthorCheckpointPacket,
|
|
34
|
+
normalizeCheckpointResponse
|
|
35
|
+
} from "./chunk-UQPTCP4D.js";
|
|
20
36
|
import {
|
|
21
37
|
RIDDLE_PROOF_RUN_STATE_VERSION,
|
|
22
38
|
appendRunEvent,
|
|
@@ -28,7 +44,7 @@ import {
|
|
|
28
44
|
normalizePrLifecycleState,
|
|
29
45
|
normalizeRunParams,
|
|
30
46
|
setRunStatus
|
|
31
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-Z3BWCHFV.js";
|
|
32
48
|
import {
|
|
33
49
|
applyTerminalMetadata,
|
|
34
50
|
compactRecord,
|
|
@@ -38,7 +54,7 @@ import {
|
|
|
38
54
|
nonEmptyString,
|
|
39
55
|
normalizeTerminalMetadata,
|
|
40
56
|
recordValue
|
|
41
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-Z7QUCDPT.js";
|
|
42
58
|
import {
|
|
43
59
|
RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION,
|
|
44
60
|
RIDDLE_PROOF_PLAYABILITY_VERSION,
|
|
@@ -47,20 +63,13 @@ import {
|
|
|
47
63
|
isRiddleProofPlayabilityMode
|
|
48
64
|
} from "./chunk-NSWT3VSV.js";
|
|
49
65
|
import "./chunk-4YCWZVBN.js";
|
|
50
|
-
import {
|
|
51
|
-
RIDDLE_PROOF_VISUAL_SESSION_FINGERPRINT_VERSION,
|
|
52
|
-
RIDDLE_PROOF_VISUAL_SESSION_VERSION,
|
|
53
|
-
buildVisualProofSession,
|
|
54
|
-
compareVisualProofSessionFingerprint,
|
|
55
|
-
parseVisualProofSession,
|
|
56
|
-
visualSessionFingerprint,
|
|
57
|
-
visualSessionFingerprintBasis
|
|
58
|
-
} from "./chunk-ODORKNSO.js";
|
|
59
66
|
export {
|
|
60
67
|
DEFAULT_DIAGNOSTIC_ARRAY_LIMIT,
|
|
61
68
|
DEFAULT_DIAGNOSTIC_HISTORY_LIMIT,
|
|
62
69
|
DEFAULT_DIAGNOSTIC_STRING_LIMIT,
|
|
63
70
|
RIDDLE_PROOF_CAPTURE_DIAGNOSTIC_VERSION,
|
|
71
|
+
RIDDLE_PROOF_CHECKPOINT_PACKET_VERSION,
|
|
72
|
+
RIDDLE_PROOF_CHECKPOINT_RESPONSE_VERSION,
|
|
64
73
|
RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION,
|
|
65
74
|
RIDDLE_PROOF_PLAYABILITY_VERSION,
|
|
66
75
|
RIDDLE_PROOF_RUN_STATE_VERSION,
|
|
@@ -72,6 +81,8 @@ export {
|
|
|
72
81
|
applyPrLifecycleState,
|
|
73
82
|
applyTerminalMetadata,
|
|
74
83
|
assessPlayabilityEvidence,
|
|
84
|
+
authorPacketPayloadFromCheckpointResponse,
|
|
85
|
+
buildAuthorCheckpointPacket,
|
|
75
86
|
buildVisualProofSession,
|
|
76
87
|
compactRecord,
|
|
77
88
|
compareVisualProofSessionFingerprint,
|
|
@@ -85,6 +96,7 @@ export {
|
|
|
85
96
|
isSuccessfulStatus,
|
|
86
97
|
isTerminalStatus,
|
|
87
98
|
nonEmptyString,
|
|
99
|
+
normalizeCheckpointResponse,
|
|
88
100
|
normalizeIntegrationContext,
|
|
89
101
|
normalizePrLifecycleState,
|
|
90
102
|
normalizeRunParams,
|
package/dist/openclaw.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
normalizeIntegrationContext,
|
|
3
3
|
normalizeRunParams
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Z3BWCHFV.js";
|
|
5
5
|
import {
|
|
6
6
|
compactRecord
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-Z7QUCDPT.js";
|
|
8
8
|
|
|
9
9
|
// src/openclaw.ts
|
|
10
10
|
function parseOpenClawAssertions(value) {
|
|
@@ -277,7 +277,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
277
277
|
blocking?: boolean;
|
|
278
278
|
details?: Record<string, unknown>;
|
|
279
279
|
ok: boolean;
|
|
280
|
-
action: "
|
|
280
|
+
action: "setup" | "recon" | "author" | "implement" | "verify" | "ship" | "run";
|
|
281
281
|
state_path: string;
|
|
282
282
|
stage: any;
|
|
283
283
|
summary: string;
|
|
@@ -362,7 +362,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
362
362
|
continueWithStage?: WorkflowStage | null;
|
|
363
363
|
blocking?: boolean;
|
|
364
364
|
details?: Record<string, unknown>;
|
|
365
|
-
action: "
|
|
365
|
+
action: "setup" | "recon" | "author" | "implement" | "verify" | "ship" | "run";
|
|
366
366
|
state_path: string;
|
|
367
367
|
stage: any;
|
|
368
368
|
checkpoint: string;
|
|
@@ -624,7 +624,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
624
624
|
error?: undefined;
|
|
625
625
|
} | {
|
|
626
626
|
ok: boolean;
|
|
627
|
-
action: "
|
|
627
|
+
action: "setup" | "recon" | "author" | "implement" | "verify" | "ship" | "run";
|
|
628
628
|
state_path: string;
|
|
629
629
|
stage: any;
|
|
630
630
|
summary: string;
|
|
@@ -277,7 +277,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
277
277
|
blocking?: boolean;
|
|
278
278
|
details?: Record<string, unknown>;
|
|
279
279
|
ok: boolean;
|
|
280
|
-
action: "
|
|
280
|
+
action: "setup" | "recon" | "author" | "implement" | "verify" | "ship" | "run";
|
|
281
281
|
state_path: string;
|
|
282
282
|
stage: any;
|
|
283
283
|
summary: string;
|
|
@@ -362,7 +362,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
362
362
|
continueWithStage?: WorkflowStage | null;
|
|
363
363
|
blocking?: boolean;
|
|
364
364
|
details?: Record<string, unknown>;
|
|
365
|
-
action: "
|
|
365
|
+
action: "setup" | "recon" | "author" | "implement" | "verify" | "ship" | "run";
|
|
366
366
|
state_path: string;
|
|
367
367
|
stage: any;
|
|
368
368
|
checkpoint: string;
|
|
@@ -624,7 +624,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
624
624
|
error?: undefined;
|
|
625
625
|
} | {
|
|
626
626
|
ok: boolean;
|
|
627
|
-
action: "
|
|
627
|
+
action: "setup" | "recon" | "author" | "implement" | "verify" | "ship" | "run";
|
|
628
628
|
state_path: string;
|
|
629
629
|
stage: any;
|
|
630
630
|
summary: string;
|
package/dist/result.cjs
CHANGED
|
@@ -233,6 +233,7 @@ function createRunResult(input) {
|
|
|
233
233
|
merge_recommendation: state.merge_recommendation,
|
|
234
234
|
finalized: state.finalized,
|
|
235
235
|
blocker: state.blocker,
|
|
236
|
+
checkpoint_packet: state.checkpoint_packet,
|
|
236
237
|
proof_session: state.proof_session,
|
|
237
238
|
evidence_bundle: input.evidence_bundle,
|
|
238
239
|
raw: input.raw
|
package/dist/result.js
CHANGED
package/dist/runner.cjs
CHANGED
|
@@ -123,6 +123,7 @@ function createRunResult(input) {
|
|
|
123
123
|
merge_recommendation: state.merge_recommendation,
|
|
124
124
|
finalized: state.finalized,
|
|
125
125
|
blocker: state.blocker,
|
|
126
|
+
checkpoint_packet: state.checkpoint_packet,
|
|
126
127
|
proof_session: state.proof_session,
|
|
127
128
|
evidence_bundle: input.evidence_bundle,
|
|
128
129
|
raw: input.raw
|
|
@@ -221,6 +222,8 @@ function createRunState(input) {
|
|
|
221
222
|
request: normalizeRunParams(input.request),
|
|
222
223
|
iterations: input.iterations ?? 0,
|
|
223
224
|
last_checkpoint: input.last_checkpoint ?? null,
|
|
225
|
+
checkpoint_packet: input.checkpoint_packet,
|
|
226
|
+
checkpoint_history: input.checkpoint_history,
|
|
224
227
|
events: input.events ? [...input.events] : []
|
|
225
228
|
});
|
|
226
229
|
}
|
package/dist/runner.js
CHANGED
package/dist/state.cjs
CHANGED
|
@@ -169,6 +169,8 @@ function createRunState(input) {
|
|
|
169
169
|
request: normalizeRunParams(input.request),
|
|
170
170
|
iterations: input.iterations ?? 0,
|
|
171
171
|
last_checkpoint: input.last_checkpoint ?? null,
|
|
172
|
+
checkpoint_packet: input.checkpoint_packet,
|
|
173
|
+
checkpoint_history: input.checkpoint_history,
|
|
172
174
|
events: input.events ? [...input.events] : []
|
|
173
175
|
});
|
|
174
176
|
}
|
|
@@ -242,6 +244,7 @@ function createRunStatusSnapshot(state, at = timestamp()) {
|
|
|
242
244
|
elapsed_ms: elapsedMs(state.created_at, at),
|
|
243
245
|
stage_elapsed_ms: elapsedMs(state.stage_started_at, at),
|
|
244
246
|
blocker: state.blocker,
|
|
247
|
+
checkpoint_packet: state.checkpoint_packet,
|
|
245
248
|
latest_event: latestEvent
|
|
246
249
|
});
|
|
247
250
|
}
|
package/dist/state.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RiddleProofRunParams, RiddleProofStatus, RiddleProofStage, RiddleProofEvent, RiddleProofRunState, RiddleProofPrLifecycleState, RiddleProofRunStatusSnapshot, IntegrationContext } from './types.cjs';
|
|
1
|
+
import { RiddleProofRunParams, RiddleProofStatus, RiddleProofStage, RiddleProofCheckpointPacket, RiddleProofCheckpointResponse, RiddleProofEvent, RiddleProofRunState, RiddleProofPrLifecycleState, RiddleProofRunStatusSnapshot, IntegrationContext } from './types.cjs';
|
|
2
2
|
|
|
3
3
|
declare const RIDDLE_PROOF_RUN_STATE_VERSION: "riddle-proof.run-state.v1";
|
|
4
4
|
interface CreateRunStateInput {
|
|
@@ -14,6 +14,12 @@ interface CreateRunStateInput {
|
|
|
14
14
|
updated_at?: string;
|
|
15
15
|
iterations?: number;
|
|
16
16
|
last_checkpoint?: string | null;
|
|
17
|
+
checkpoint_packet?: RiddleProofCheckpointPacket;
|
|
18
|
+
checkpoint_history?: Array<{
|
|
19
|
+
ts: string;
|
|
20
|
+
packet?: RiddleProofCheckpointPacket;
|
|
21
|
+
response?: RiddleProofCheckpointResponse;
|
|
22
|
+
}>;
|
|
17
23
|
events?: RiddleProofEvent[];
|
|
18
24
|
}
|
|
19
25
|
type RunEventInput = Omit<RiddleProofEvent, "ts"> & {
|
package/dist/state.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RiddleProofRunParams, RiddleProofStatus, RiddleProofStage, RiddleProofEvent, RiddleProofRunState, RiddleProofPrLifecycleState, RiddleProofRunStatusSnapshot, IntegrationContext } from './types.js';
|
|
1
|
+
import { RiddleProofRunParams, RiddleProofStatus, RiddleProofStage, RiddleProofCheckpointPacket, RiddleProofCheckpointResponse, RiddleProofEvent, RiddleProofRunState, RiddleProofPrLifecycleState, RiddleProofRunStatusSnapshot, IntegrationContext } from './types.js';
|
|
2
2
|
|
|
3
3
|
declare const RIDDLE_PROOF_RUN_STATE_VERSION: "riddle-proof.run-state.v1";
|
|
4
4
|
interface CreateRunStateInput {
|
|
@@ -14,6 +14,12 @@ interface CreateRunStateInput {
|
|
|
14
14
|
updated_at?: string;
|
|
15
15
|
iterations?: number;
|
|
16
16
|
last_checkpoint?: string | null;
|
|
17
|
+
checkpoint_packet?: RiddleProofCheckpointPacket;
|
|
18
|
+
checkpoint_history?: Array<{
|
|
19
|
+
ts: string;
|
|
20
|
+
packet?: RiddleProofCheckpointPacket;
|
|
21
|
+
response?: RiddleProofCheckpointResponse;
|
|
22
|
+
}>;
|
|
17
23
|
events?: RiddleProofEvent[];
|
|
18
24
|
}
|
|
19
25
|
type RunEventInput = Omit<RiddleProofEvent, "ts"> & {
|
package/dist/state.js
CHANGED
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
normalizePrLifecycleState,
|
|
10
10
|
normalizeRunParams,
|
|
11
11
|
setRunStatus
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-Z3BWCHFV.js";
|
|
13
|
+
import "./chunk-Z7QUCDPT.js";
|
|
14
14
|
export {
|
|
15
15
|
RIDDLE_PROOF_RUN_STATE_VERSION,
|
|
16
16
|
appendRunEvent,
|
package/dist/types.d.cts
CHANGED
|
@@ -3,7 +3,7 @@ type JsonValue = JsonPrimitive | JsonObject | JsonValue[];
|
|
|
3
3
|
type JsonObject = {
|
|
4
4
|
[key: string]: JsonValue;
|
|
5
5
|
};
|
|
6
|
-
type RiddleProofStatus = "running" | "blocked" | "failed" | "ready_to_ship" | "shipped" | "completed";
|
|
6
|
+
type RiddleProofStatus = "running" | "awaiting_checkpoint" | "blocked" | "failed" | "ready_to_ship" | "shipped" | "completed";
|
|
7
7
|
type RiddleProofPrLifecycleStatus = "unknown" | "open" | "merged" | "closed" | "not_found" | "unavailable" | (string & {});
|
|
8
8
|
type RiddleProofVerificationMode = "proof" | "visual" | "interaction" | "playable" | "gameplay" | "render" | "data" | "json" | "audio" | "log" | "logs" | "metric" | "metrics" | (string & {});
|
|
9
9
|
type RiddleProofDecision = "ready_to_ship" | "needs_richer_proof" | "revise_capture" | "needs_recon" | "needs_implementation" | (string & {});
|
|
@@ -52,6 +52,59 @@ interface RiddleProofRunParams {
|
|
|
52
52
|
dry_run?: boolean;
|
|
53
53
|
integration_context?: IntegrationContext;
|
|
54
54
|
}
|
|
55
|
+
type RiddleProofCheckpointVisibility = "liveblog" | "quiet" | "terminal_only" | "manual" | (string & {});
|
|
56
|
+
type RiddleProofCheckpointRole = "main_agent" | "builder_agent" | "proof_author" | "proof_judge" | "human" | "mechanical" | (string & {});
|
|
57
|
+
interface RiddleProofCheckpointArtifact {
|
|
58
|
+
role: "before" | "prod" | "after" | "diff" | "log" | "json" | "har" | "video" | (string & {});
|
|
59
|
+
url?: string;
|
|
60
|
+
path?: string;
|
|
61
|
+
name?: string;
|
|
62
|
+
mime_type?: string;
|
|
63
|
+
summary?: string;
|
|
64
|
+
}
|
|
65
|
+
interface RiddleProofCheckpointRoutingHint {
|
|
66
|
+
suggested_role?: RiddleProofCheckpointRole;
|
|
67
|
+
visibility?: RiddleProofCheckpointVisibility;
|
|
68
|
+
urgency?: "low" | "normal" | "high" | (string & {});
|
|
69
|
+
can_auto_answer?: boolean;
|
|
70
|
+
}
|
|
71
|
+
interface RiddleProofCheckpointPacket {
|
|
72
|
+
version: "riddle-proof.checkpoint.v1";
|
|
73
|
+
run_id: string;
|
|
74
|
+
state_path?: string;
|
|
75
|
+
stage: RiddleProofStage;
|
|
76
|
+
checkpoint: string;
|
|
77
|
+
kind: "assess_recon" | "author_proof" | "implement_change" | "assess_proof" | "human_review" | "advance_decision" | (string & {});
|
|
78
|
+
summary: string;
|
|
79
|
+
question: string;
|
|
80
|
+
change_request: string;
|
|
81
|
+
context?: string;
|
|
82
|
+
artifacts?: RiddleProofCheckpointArtifact[];
|
|
83
|
+
state_excerpt?: Record<string, unknown>;
|
|
84
|
+
evidence_excerpt?: Record<string, unknown>;
|
|
85
|
+
allowed_decisions: string[];
|
|
86
|
+
response_schema: Record<string, unknown>;
|
|
87
|
+
routing_hint?: RiddleProofCheckpointRoutingHint;
|
|
88
|
+
resume_token?: string;
|
|
89
|
+
created_at: string;
|
|
90
|
+
}
|
|
91
|
+
interface RiddleProofCheckpointResponse {
|
|
92
|
+
version: "riddle-proof.checkpoint_response.v1";
|
|
93
|
+
run_id: string;
|
|
94
|
+
checkpoint: string;
|
|
95
|
+
resume_token?: string;
|
|
96
|
+
decision: string;
|
|
97
|
+
summary: string;
|
|
98
|
+
payload?: Record<string, unknown>;
|
|
99
|
+
reasons?: string[];
|
|
100
|
+
continue_with_stage?: RiddleProofStage;
|
|
101
|
+
source?: {
|
|
102
|
+
kind: "openclaw-main" | "openclaw-subagent" | "codex" | "claude-code" | "human" | "ci" | (string & {});
|
|
103
|
+
session_id?: string;
|
|
104
|
+
user_id?: string;
|
|
105
|
+
};
|
|
106
|
+
created_at: string;
|
|
107
|
+
}
|
|
55
108
|
interface IntegrationContext {
|
|
56
109
|
source?: "openclaw" | "discord" | "github" | "cli" | "riddle" | (string & {});
|
|
57
110
|
channel_id?: string;
|
|
@@ -113,6 +166,12 @@ interface RiddleProofRunState {
|
|
|
113
166
|
proof_session?: RiddleProofVisualSession;
|
|
114
167
|
finalized?: boolean;
|
|
115
168
|
blocker?: RiddleProofBlocker;
|
|
169
|
+
checkpoint_packet?: RiddleProofCheckpointPacket;
|
|
170
|
+
checkpoint_history?: Array<{
|
|
171
|
+
ts: string;
|
|
172
|
+
packet?: RiddleProofCheckpointPacket;
|
|
173
|
+
response?: RiddleProofCheckpointResponse;
|
|
174
|
+
}>;
|
|
116
175
|
events: RiddleProofEvent[];
|
|
117
176
|
}
|
|
118
177
|
interface RiddleProofRunResult {
|
|
@@ -148,6 +207,7 @@ interface RiddleProofRunResult {
|
|
|
148
207
|
merge_recommendation?: string;
|
|
149
208
|
finalized?: boolean;
|
|
150
209
|
blocker?: RiddleProofBlocker;
|
|
210
|
+
checkpoint_packet?: RiddleProofCheckpointPacket;
|
|
151
211
|
proof_session?: RiddleProofVisualSession;
|
|
152
212
|
evidence_bundle?: RiddleProofEvidenceBundle;
|
|
153
213
|
raw?: Record<string, unknown>;
|
|
@@ -179,6 +239,7 @@ interface RiddleProofRunStatusSnapshot {
|
|
|
179
239
|
elapsed_ms?: number;
|
|
180
240
|
stage_elapsed_ms?: number;
|
|
181
241
|
blocker?: RiddleProofBlocker;
|
|
242
|
+
checkpoint_packet?: RiddleProofCheckpointPacket;
|
|
182
243
|
latest_event?: RiddleProofEvent;
|
|
183
244
|
}
|
|
184
245
|
interface RiddleProofEvidenceBundle {
|
|
@@ -399,4 +460,4 @@ interface RiddleProofVisualSessionFingerprintBasis {
|
|
|
399
460
|
capture_script_hash?: string;
|
|
400
461
|
}
|
|
401
462
|
|
|
402
|
-
export type { EvidenceArtifact, EvidenceReference, ImplementationAdapter, ImplementationAdapterInput, ImplementationAdapterResult, IntegrationContext, JsonObject, JsonPrimitive, JsonValue, JudgeAdapter, NotificationAdapter, PreflightAdapter, PreflightAdapterInput, PreflightAdapterResult, ProofAdapter, ProofAdapterInput, ProofAdapterResult, RiddleProofArtifactRole, RiddleProofAssessment, RiddleProofBlocker, RiddleProofDecision, RiddleProofEvent, RiddleProofEvidenceBundle, RiddleProofPrLifecycleState, RiddleProofPrLifecycleStatus, RiddleProofRunParams, RiddleProofRunResult, RiddleProofRunState, RiddleProofRunStatusSnapshot, RiddleProofStage, RiddleProofStatus, RiddleProofTerminalMetadata, RiddleProofVerificationMode, RiddleProofVisualSession, RiddleProofVisualSessionFingerprintBasis, SetupAdapter, SetupAdapterInput, SetupAdapterResult, ShipAdapter };
|
|
463
|
+
export type { EvidenceArtifact, EvidenceReference, ImplementationAdapter, ImplementationAdapterInput, ImplementationAdapterResult, IntegrationContext, JsonObject, JsonPrimitive, JsonValue, JudgeAdapter, NotificationAdapter, PreflightAdapter, PreflightAdapterInput, PreflightAdapterResult, ProofAdapter, ProofAdapterInput, ProofAdapterResult, RiddleProofArtifactRole, RiddleProofAssessment, RiddleProofBlocker, RiddleProofCheckpointArtifact, RiddleProofCheckpointPacket, RiddleProofCheckpointResponse, RiddleProofCheckpointRole, RiddleProofCheckpointRoutingHint, RiddleProofCheckpointVisibility, RiddleProofDecision, RiddleProofEvent, RiddleProofEvidenceBundle, RiddleProofPrLifecycleState, RiddleProofPrLifecycleStatus, RiddleProofRunParams, RiddleProofRunResult, RiddleProofRunState, RiddleProofRunStatusSnapshot, RiddleProofStage, RiddleProofStatus, RiddleProofTerminalMetadata, RiddleProofVerificationMode, RiddleProofVisualSession, RiddleProofVisualSessionFingerprintBasis, SetupAdapter, SetupAdapterInput, SetupAdapterResult, ShipAdapter };
|
package/dist/types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ type JsonValue = JsonPrimitive | JsonObject | JsonValue[];
|
|
|
3
3
|
type JsonObject = {
|
|
4
4
|
[key: string]: JsonValue;
|
|
5
5
|
};
|
|
6
|
-
type RiddleProofStatus = "running" | "blocked" | "failed" | "ready_to_ship" | "shipped" | "completed";
|
|
6
|
+
type RiddleProofStatus = "running" | "awaiting_checkpoint" | "blocked" | "failed" | "ready_to_ship" | "shipped" | "completed";
|
|
7
7
|
type RiddleProofPrLifecycleStatus = "unknown" | "open" | "merged" | "closed" | "not_found" | "unavailable" | (string & {});
|
|
8
8
|
type RiddleProofVerificationMode = "proof" | "visual" | "interaction" | "playable" | "gameplay" | "render" | "data" | "json" | "audio" | "log" | "logs" | "metric" | "metrics" | (string & {});
|
|
9
9
|
type RiddleProofDecision = "ready_to_ship" | "needs_richer_proof" | "revise_capture" | "needs_recon" | "needs_implementation" | (string & {});
|
|
@@ -52,6 +52,59 @@ interface RiddleProofRunParams {
|
|
|
52
52
|
dry_run?: boolean;
|
|
53
53
|
integration_context?: IntegrationContext;
|
|
54
54
|
}
|
|
55
|
+
type RiddleProofCheckpointVisibility = "liveblog" | "quiet" | "terminal_only" | "manual" | (string & {});
|
|
56
|
+
type RiddleProofCheckpointRole = "main_agent" | "builder_agent" | "proof_author" | "proof_judge" | "human" | "mechanical" | (string & {});
|
|
57
|
+
interface RiddleProofCheckpointArtifact {
|
|
58
|
+
role: "before" | "prod" | "after" | "diff" | "log" | "json" | "har" | "video" | (string & {});
|
|
59
|
+
url?: string;
|
|
60
|
+
path?: string;
|
|
61
|
+
name?: string;
|
|
62
|
+
mime_type?: string;
|
|
63
|
+
summary?: string;
|
|
64
|
+
}
|
|
65
|
+
interface RiddleProofCheckpointRoutingHint {
|
|
66
|
+
suggested_role?: RiddleProofCheckpointRole;
|
|
67
|
+
visibility?: RiddleProofCheckpointVisibility;
|
|
68
|
+
urgency?: "low" | "normal" | "high" | (string & {});
|
|
69
|
+
can_auto_answer?: boolean;
|
|
70
|
+
}
|
|
71
|
+
interface RiddleProofCheckpointPacket {
|
|
72
|
+
version: "riddle-proof.checkpoint.v1";
|
|
73
|
+
run_id: string;
|
|
74
|
+
state_path?: string;
|
|
75
|
+
stage: RiddleProofStage;
|
|
76
|
+
checkpoint: string;
|
|
77
|
+
kind: "assess_recon" | "author_proof" | "implement_change" | "assess_proof" | "human_review" | "advance_decision" | (string & {});
|
|
78
|
+
summary: string;
|
|
79
|
+
question: string;
|
|
80
|
+
change_request: string;
|
|
81
|
+
context?: string;
|
|
82
|
+
artifacts?: RiddleProofCheckpointArtifact[];
|
|
83
|
+
state_excerpt?: Record<string, unknown>;
|
|
84
|
+
evidence_excerpt?: Record<string, unknown>;
|
|
85
|
+
allowed_decisions: string[];
|
|
86
|
+
response_schema: Record<string, unknown>;
|
|
87
|
+
routing_hint?: RiddleProofCheckpointRoutingHint;
|
|
88
|
+
resume_token?: string;
|
|
89
|
+
created_at: string;
|
|
90
|
+
}
|
|
91
|
+
interface RiddleProofCheckpointResponse {
|
|
92
|
+
version: "riddle-proof.checkpoint_response.v1";
|
|
93
|
+
run_id: string;
|
|
94
|
+
checkpoint: string;
|
|
95
|
+
resume_token?: string;
|
|
96
|
+
decision: string;
|
|
97
|
+
summary: string;
|
|
98
|
+
payload?: Record<string, unknown>;
|
|
99
|
+
reasons?: string[];
|
|
100
|
+
continue_with_stage?: RiddleProofStage;
|
|
101
|
+
source?: {
|
|
102
|
+
kind: "openclaw-main" | "openclaw-subagent" | "codex" | "claude-code" | "human" | "ci" | (string & {});
|
|
103
|
+
session_id?: string;
|
|
104
|
+
user_id?: string;
|
|
105
|
+
};
|
|
106
|
+
created_at: string;
|
|
107
|
+
}
|
|
55
108
|
interface IntegrationContext {
|
|
56
109
|
source?: "openclaw" | "discord" | "github" | "cli" | "riddle" | (string & {});
|
|
57
110
|
channel_id?: string;
|
|
@@ -113,6 +166,12 @@ interface RiddleProofRunState {
|
|
|
113
166
|
proof_session?: RiddleProofVisualSession;
|
|
114
167
|
finalized?: boolean;
|
|
115
168
|
blocker?: RiddleProofBlocker;
|
|
169
|
+
checkpoint_packet?: RiddleProofCheckpointPacket;
|
|
170
|
+
checkpoint_history?: Array<{
|
|
171
|
+
ts: string;
|
|
172
|
+
packet?: RiddleProofCheckpointPacket;
|
|
173
|
+
response?: RiddleProofCheckpointResponse;
|
|
174
|
+
}>;
|
|
116
175
|
events: RiddleProofEvent[];
|
|
117
176
|
}
|
|
118
177
|
interface RiddleProofRunResult {
|
|
@@ -148,6 +207,7 @@ interface RiddleProofRunResult {
|
|
|
148
207
|
merge_recommendation?: string;
|
|
149
208
|
finalized?: boolean;
|
|
150
209
|
blocker?: RiddleProofBlocker;
|
|
210
|
+
checkpoint_packet?: RiddleProofCheckpointPacket;
|
|
151
211
|
proof_session?: RiddleProofVisualSession;
|
|
152
212
|
evidence_bundle?: RiddleProofEvidenceBundle;
|
|
153
213
|
raw?: Record<string, unknown>;
|
|
@@ -179,6 +239,7 @@ interface RiddleProofRunStatusSnapshot {
|
|
|
179
239
|
elapsed_ms?: number;
|
|
180
240
|
stage_elapsed_ms?: number;
|
|
181
241
|
blocker?: RiddleProofBlocker;
|
|
242
|
+
checkpoint_packet?: RiddleProofCheckpointPacket;
|
|
182
243
|
latest_event?: RiddleProofEvent;
|
|
183
244
|
}
|
|
184
245
|
interface RiddleProofEvidenceBundle {
|
|
@@ -399,4 +460,4 @@ interface RiddleProofVisualSessionFingerprintBasis {
|
|
|
399
460
|
capture_script_hash?: string;
|
|
400
461
|
}
|
|
401
462
|
|
|
402
|
-
export type { EvidenceArtifact, EvidenceReference, ImplementationAdapter, ImplementationAdapterInput, ImplementationAdapterResult, IntegrationContext, JsonObject, JsonPrimitive, JsonValue, JudgeAdapter, NotificationAdapter, PreflightAdapter, PreflightAdapterInput, PreflightAdapterResult, ProofAdapter, ProofAdapterInput, ProofAdapterResult, RiddleProofArtifactRole, RiddleProofAssessment, RiddleProofBlocker, RiddleProofDecision, RiddleProofEvent, RiddleProofEvidenceBundle, RiddleProofPrLifecycleState, RiddleProofPrLifecycleStatus, RiddleProofRunParams, RiddleProofRunResult, RiddleProofRunState, RiddleProofRunStatusSnapshot, RiddleProofStage, RiddleProofStatus, RiddleProofTerminalMetadata, RiddleProofVerificationMode, RiddleProofVisualSession, RiddleProofVisualSessionFingerprintBasis, SetupAdapter, SetupAdapterInput, SetupAdapterResult, ShipAdapter };
|
|
463
|
+
export type { EvidenceArtifact, EvidenceReference, ImplementationAdapter, ImplementationAdapterInput, ImplementationAdapterResult, IntegrationContext, JsonObject, JsonPrimitive, JsonValue, JudgeAdapter, NotificationAdapter, PreflightAdapter, PreflightAdapterInput, PreflightAdapterResult, ProofAdapter, ProofAdapterInput, ProofAdapterResult, RiddleProofArtifactRole, RiddleProofAssessment, RiddleProofBlocker, RiddleProofCheckpointArtifact, RiddleProofCheckpointPacket, RiddleProofCheckpointResponse, RiddleProofCheckpointRole, RiddleProofCheckpointRoutingHint, RiddleProofCheckpointVisibility, RiddleProofDecision, RiddleProofEvent, RiddleProofEvidenceBundle, RiddleProofPrLifecycleState, RiddleProofPrLifecycleStatus, RiddleProofRunParams, RiddleProofRunResult, RiddleProofRunState, RiddleProofRunStatusSnapshot, RiddleProofStage, RiddleProofStatus, RiddleProofTerminalMetadata, RiddleProofVerificationMode, RiddleProofVisualSession, RiddleProofVisualSessionFingerprintBasis, SetupAdapter, SetupAdapterInput, SetupAdapterResult, ShipAdapter };
|
package/lib/workspace-core.mjs
CHANGED
|
@@ -15,6 +15,8 @@ import {
|
|
|
15
15
|
import path from "node:path";
|
|
16
16
|
import { fileURLToPath } from "node:url";
|
|
17
17
|
|
|
18
|
+
const DEFAULT_RIDDLE_PROOF_SCRATCH_ROOT = "/var/tmp/riddle-proof";
|
|
19
|
+
|
|
18
20
|
function commandEnv() {
|
|
19
21
|
return { ...process.env, HOME: "/root" };
|
|
20
22
|
}
|
|
@@ -58,6 +60,26 @@ export function uniqueToken(now = new Date()) {
|
|
|
58
60
|
return `${stamp}-${randomUUID().slice(0, 8)}`;
|
|
59
61
|
}
|
|
60
62
|
|
|
63
|
+
function envFlag(name, defaultValue = false) {
|
|
64
|
+
const raw = String(process.env[name] || "").trim().toLowerCase();
|
|
65
|
+
if (["1", "true", "yes", "on"].includes(raw)) return true;
|
|
66
|
+
if (["0", "false", "no", "off"].includes(raw)) return false;
|
|
67
|
+
return defaultValue;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function riddleProofScratchRoot() {
|
|
71
|
+
const configured = (process.env.RIDDLE_PROOF_SCRATCH_ROOT || "").trim();
|
|
72
|
+
if (configured) return path.resolve(configured);
|
|
73
|
+
if (envFlag("RIDDLE_PROOF_USE_TMP_SCRATCH", false)) {
|
|
74
|
+
return path.join("/tmp", "riddle-proof");
|
|
75
|
+
}
|
|
76
|
+
return DEFAULT_RIDDLE_PROOF_SCRATCH_ROOT;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function defaultRiddleProofWorktreeRoot() {
|
|
80
|
+
return path.join(riddleProofScratchRoot(), ".riddle-proof-worktrees");
|
|
81
|
+
}
|
|
82
|
+
|
|
61
83
|
export function workspaceRoots({ workspaceRoot = "", currentRepoDir = "" } = {}) {
|
|
62
84
|
const roots = [];
|
|
63
85
|
for (const candidate of [
|
|
@@ -332,7 +354,7 @@ function dependencyCacheRoot(projectDir) {
|
|
|
332
354
|
if (worktreeIndex >= 0) {
|
|
333
355
|
return path.join(resolved.slice(0, worktreeIndex), ".riddle-proof-deps-cache");
|
|
334
356
|
}
|
|
335
|
-
return path.join(
|
|
357
|
+
return path.join(riddleProofScratchRoot(), ".riddle-proof-deps-cache");
|
|
336
358
|
}
|
|
337
359
|
|
|
338
360
|
function dependencyCacheKey(fingerprint, installCmd) {
|
|
@@ -497,6 +519,15 @@ async function main() {
|
|
|
497
519
|
case "dependency-fingerprint":
|
|
498
520
|
ok({ fingerprint: computeDependencyFingerprint(payload.projectDir) });
|
|
499
521
|
return;
|
|
522
|
+
case "scratch-root":
|
|
523
|
+
ok({
|
|
524
|
+
scratchRoot: riddleProofScratchRoot(),
|
|
525
|
+
worktreeRoot: defaultRiddleProofWorktreeRoot(),
|
|
526
|
+
});
|
|
527
|
+
return;
|
|
528
|
+
case "dependency-cache-root":
|
|
529
|
+
ok({ cacheRoot: dependencyCacheRoot(payload.projectDir || process.cwd()) });
|
|
530
|
+
return;
|
|
500
531
|
default:
|
|
501
532
|
throw new Error(`Unsupported command: ${command}`);
|
|
502
533
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@riddledc/riddle-proof",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.39",
|
|
4
4
|
"description": "Reusable Riddle Proof contracts and helpers for evidence-backed agent changes.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "RiddleDC",
|
|
@@ -34,6 +34,11 @@
|
|
|
34
34
|
"import": "./dist/state.js",
|
|
35
35
|
"require": "./dist/state.cjs"
|
|
36
36
|
},
|
|
37
|
+
"./checkpoint": {
|
|
38
|
+
"types": "./dist/checkpoint.d.ts",
|
|
39
|
+
"import": "./dist/checkpoint.js",
|
|
40
|
+
"require": "./dist/checkpoint.cjs"
|
|
41
|
+
},
|
|
37
42
|
"./runner": {
|
|
38
43
|
"types": "./dist/runner.d.ts",
|
|
39
44
|
"import": "./dist/runner.js",
|
|
@@ -92,7 +97,7 @@
|
|
|
92
97
|
"typescript": "^5.4.5"
|
|
93
98
|
},
|
|
94
99
|
"scripts": {
|
|
95
|
-
"build": "tsup src/index.ts src/types.ts src/result.ts src/state.ts src/runner.ts src/engine-harness.ts src/diagnostics.ts src/proof-session.ts src/playability.ts src/openclaw.ts src/proof-run-core.ts src/proof-run-engine.ts --format cjs,esm --dts --out-dir dist --clean",
|
|
100
|
+
"build": "tsup src/index.ts src/types.ts src/result.ts src/state.ts src/checkpoint.ts src/runner.ts src/engine-harness.ts src/diagnostics.ts src/proof-session.ts src/playability.ts src/openclaw.ts src/proof-run-core.ts src/proof-run-engine.ts --format cjs,esm --dts --out-dir dist --clean",
|
|
96
101
|
"clean": "rm -rf dist",
|
|
97
102
|
"lint": "echo 'lint: (not configured)'",
|
|
98
103
|
"test": "npm run build && node test.js && node proof-run.test.js"
|