@riddledc/riddle-proof 0.8.83 → 0.8.85

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 (75) hide show
  1. package/README.md +247 -29
  2. package/capabilities.json +17 -0
  3. package/dist/advanced/engine-harness.js +2 -2
  4. package/dist/advanced/index.d.cts +1 -1
  5. package/dist/advanced/index.d.ts +1 -1
  6. package/dist/advanced/index.js +4 -4
  7. package/dist/advanced/proof-run-engine.d.cts +1 -1
  8. package/dist/advanced/proof-run-engine.d.ts +1 -1
  9. package/dist/advanced/runner.js +2 -2
  10. package/dist/change-proof.cjs +22 -260
  11. package/dist/change-proof.d.cts +1 -1
  12. package/dist/change-proof.d.ts +1 -1
  13. package/dist/change-proof.js +2 -2
  14. package/dist/checked-meaning.cjs +67 -0
  15. package/dist/checked-meaning.d.cts +2 -0
  16. package/dist/checked-meaning.d.ts +2 -0
  17. package/dist/checked-meaning.js +41 -0
  18. package/dist/{chunk-QYZ3GKCP.js → chunk-AFARUBE4.js} +12 -11
  19. package/dist/chunk-J2SIQGQI.js +71 -0
  20. package/dist/{chunk-7OAETQU3.js → chunk-JZKLCY5G.js} +1 -1
  21. package/dist/chunk-KB7FYRBG.js +46 -0
  22. package/dist/chunk-NWLKJ2WI.js +31 -0
  23. package/dist/{chunk-LR4UYJDY.js → chunk-O2AO726C.js} +1 -1
  24. package/dist/chunk-ODLGSEP2.js +43 -0
  25. package/dist/chunk-OHDNCXRM.js +17 -0
  26. package/dist/cli/index.js +7 -7
  27. package/dist/cli.cjs +265 -1122
  28. package/dist/cli.d.cts +0 -1
  29. package/dist/cli.d.ts +0 -1
  30. package/dist/cli.js +7 -7
  31. package/dist/engine-harness.js +2 -2
  32. package/dist/grounded-evidence.cjs +95 -0
  33. package/dist/grounded-evidence.d.cts +2 -0
  34. package/dist/grounded-evidence.d.ts +2 -0
  35. package/dist/grounded-evidence.js +69 -0
  36. package/dist/index.cjs +318 -1539
  37. package/dist/index.d.cts +9 -3
  38. package/dist/index.d.ts +9 -3
  39. package/dist/index.js +136 -16
  40. package/dist/pr-comment.cjs +17 -107
  41. package/dist/pr-comment.d.cts +1 -1
  42. package/dist/pr-comment.d.ts +1 -1
  43. package/dist/pr-comment.js +3 -3
  44. package/dist/{proof-run-engine-MiKZt9oY.d.ts → proof-run-engine-BqRoA3Do.d.ts} +3 -3
  45. package/dist/{proof-run-engine-Baiv6l3A.d.cts → proof-run-engine-DpChFR5H.d.cts} +3 -3
  46. package/dist/proof-run-engine.d.cts +1 -1
  47. package/dist/proof-run-engine.d.ts +1 -1
  48. package/dist/receipts.cjs +10 -255
  49. package/dist/receipts.d.cts +7 -115
  50. package/dist/receipts.d.ts +7 -115
  51. package/dist/receipts.js +1 -1
  52. package/dist/riddle-client.cjs +23 -695
  53. package/dist/riddle-client.d.cts +1 -188
  54. package/dist/riddle-client.d.ts +1 -188
  55. package/dist/riddle-client.js +5 -2
  56. package/dist/runner.js +2 -2
  57. package/dist/runtime/index.cjs +23 -695
  58. package/dist/runtime/index.d.cts +1 -5
  59. package/dist/runtime/index.d.ts +1 -5
  60. package/dist/runtime/index.js +5 -2
  61. package/dist/runtime/riddle-client.cjs +23 -695
  62. package/dist/runtime/riddle-client.d.cts +1 -5
  63. package/dist/runtime/riddle-client.d.ts +1 -5
  64. package/dist/runtime/riddle-client.js +5 -2
  65. package/dist/semantic-certificate.cjs +23 -582
  66. package/dist/semantic-certificate.d.cts +2 -191
  67. package/dist/semantic-certificate.d.ts +2 -191
  68. package/dist/semantic-certificate.js +15 -3
  69. package/package.json +28 -5
  70. package/runtime/lib/riddle_core_call.mjs +3 -806
  71. package/dist/chunk-5IFZSUPF.js +0 -644
  72. package/dist/chunk-DB5ZHRUP.js +0 -585
  73. package/dist/chunk-MEVVL4TI.js +0 -258
  74. package/dist/{chunk-WLUMLHII.js → chunk-BID7CKMM.js} +9 -9
  75. package/dist/{chunk-YH7ADFY4.js → chunk-IVSP24XI.js} +3 -3
package/README.md CHANGED
@@ -92,8 +92,9 @@ produces no certificate:
92
92
  ```ts
93
93
  import {
94
94
  createRiddleProofSemanticCertificate,
95
- composeRiddleProofSemanticCertificates,
96
- matchRiddleProofSemanticCertificate,
95
+ createRiddleProofSemanticAtomicCertificateClosure,
96
+ composeRiddleProofSemanticCertificateClosures,
97
+ matchRiddleProofSemanticCertificateClosure,
97
98
  } from "@riddledc/riddle-proof/semantic-certificate";
98
99
 
99
100
  const quiet = createRiddleProofSemanticCertificate({
@@ -120,7 +121,16 @@ const quiet = createRiddleProofSemanticCertificate({
120
121
 
121
122
  if (!quiet.ok) throw new Error(quiet.error.message);
122
123
 
123
- const behavior = composeRiddleProofSemanticCertificates({
124
+ const quietClosure = createRiddleProofSemanticAtomicCertificateClosure({
125
+ certificate: quiet.certificate,
126
+ });
127
+ const laterClosure = createRiddleProofSemanticAtomicCertificateClosure({
128
+ certificate: later.certificate,
129
+ });
130
+ if (!quietClosure.ok) throw new Error(quietClosure.error.message);
131
+ if (!laterClosure.ok) throw new Error(laterClosure.error.message);
132
+
133
+ const behavior = composeRiddleProofSemanticCertificateClosures({
124
134
  rule: {
125
135
  rule_id: "tidepool.quiet-then-collision",
126
136
  rule_version: "1",
@@ -128,39 +138,46 @@ const behavior = composeRiddleProofSemanticCertificates({
128
138
  premises: [quiet.certificate.claim, later.certificate.claim],
129
139
  conclusion: observedWaveCollisionBehaviorClaim,
130
140
  },
131
- certificates: [quiet.certificate, later.certificate],
141
+ closures: [quietClosure.closure, laterClosure.closure],
132
142
  });
143
+
144
+ if (!behavior.ok) throw new Error(behavior.error.message);
133
145
  ```
134
146
 
135
- A later agent can consume one exact certificate without reopening its receipt
136
- files. The expected content ID must arrive through the consumer's trusted
137
- handoff or configuration; copying it from the same untrusted certificate would
138
- not add trust:
147
+ `riddle-proof.semantic-certificate-closure.v0` carries the root and every
148
+ transitively referenced full certificate body. Closure composition validates
149
+ each input, deduplicates shared descendants, creates the higher root, and then
150
+ validates the complete result. Arbitrary transport order is accepted, but a
151
+ successful validator returns one deterministic dependency-first, root-last
152
+ order. A closure is bounded by the exported
153
+ `RIDDLE_PROOF_SEMANTIC_CERTIFICATE_CLOSURE_MAX_CERTIFICATES` value (currently
154
+ 4,096 bodies). Missing bodies, duplicate IDs, snapshot/body disagreements,
155
+ cycles, and unreachable extras fail closed.
156
+
157
+ A later agent can validate the complete derivation without reopening receipt
158
+ files. It still needs the expected root ID, scope, claim, and assurance from an
159
+ independent trusted handoff or configuration; copying expectations from the
160
+ same untrusted closure would not add trust:
139
161
 
140
162
  ```ts
141
- const match = matchRiddleProofSemanticCertificate({
142
- certificate: JSON.parse(serializedCertificate),
143
- expected_certificate_id: trustedHandoffCertificateId,
163
+ const match = matchRiddleProofSemanticCertificateClosure({
164
+ closure: JSON.parse(serializedClosure),
165
+ expected_root_certificate_id: trustedHandoffCertificateId,
144
166
  expected_scope: scope,
145
167
  expected_claim: observedWaveCollisionBehaviorClaim,
146
168
  expected_assurance: "declared_runtime_rule",
147
169
  });
148
170
 
149
171
  if (!match.ok) throw new Error(match.error.message);
150
- // match.certificate is the exact scoped certificate this consumer requested.
172
+ // match.closure contains every validated body; match.root_certificate is exact.
151
173
  ```
152
174
 
153
- Matching first reparses the envelope and its content ID, then compares the
154
- trusted expected ID, all five scope fields, claim ID/version/parameters, and
155
- top-level assurance. It does no filesystem or network I/O, and a successful
156
- match does not authenticate the issuer or the referenced evidence.
157
-
158
- This is an exact root-certificate handoff, not independent proof-tree
159
- reconstruction. A composite certificate retains compact immediate-premise
160
- snapshots, not the full transitive certificate bodies. A consumer that does not
161
- already trust the expected root ID needs a complete certificate closure plus a
162
- contract/rule identity policy before it can independently inspect the whole
163
- derivation.
175
+ Closure matching reparses and re-hashes every body, resolves every immediate
176
+ premise snapshot to its exact full body, rejects bodies not reachable from the
177
+ declared root, and only then compares the trusted root ID, all five scope
178
+ fields, claim ID/version/parameters, and assurance. The original
179
+ `matchRiddleProofSemanticCertificate` remains available for intentionally
180
+ bounded, root-only handoffs.
164
181
 
165
182
  Composition requires the declared premise claims and exact scope equality. It
166
183
  copies compact premise snapshots into the derivation and sets the higher
@@ -170,13 +187,214 @@ declared runtime rule. The parser rechecks those relationships and the
170
187
  content-addressed certificate ID. The serialized v0 objects use exact keys and
171
188
  reject any `status`, verdict, merge, sync, ready-to-ship, shipping-authority,
172
189
  or free-form metadata field: semantic composition is deliberately separate
173
- from release policy.
190
+ from release policy. Direct JavaScript inputs are treated as JSON data: object
191
+ fields must be own enumerable data properties and structural arrays must be
192
+ dense. Accessors, `toJSON` hooks, inherited fields, symbols, and hidden fields
193
+ are rejected instead of being executed or silently discarded.
194
+
195
+ The boundary remains explicit. Complete closure validation establishes
196
+ structural and semantic linkage, not the truth of the leaves. Derivations say
197
+ `runtime_contract_accepted` or `declared_runtime_rule`; JavaScript predicates
198
+ and named rules are inspectable runtime models, not Lean proof terms.
199
+ Certificate hashes are content identities, not signatures. Validation performs
200
+ no filesystem or network I/O, does not authenticate an issuer, and does not
201
+ authenticate or recompute browser, Git, CDN, screenshot, receipt, or artifact
202
+ truth. Contract/rule IDs remain declared data, so consumers that care which
203
+ models were used should apply their own allowlist or authenticated issuer
204
+ policy in addition to anchoring the expected root ID.
205
+
206
+ ### Experimental Grounded Evidence
207
+
208
+ The grounded-evidence layer extends Semantic certificates with a replayable
209
+ path back to the exact captured bytes:
210
+
211
+ 1. `createRiddleProofSignedCaptureBundle` canonicalizes an artifact manifest,
212
+ binds it to a complete Semantic scope, a 32-byte challenge nonce, capture
213
+ time, collector, sensor, and verifier identity, and signs the protected
214
+ header plus statement with Ed25519.
215
+ 2. `verifyRiddleProofSignedCaptureBundle` independently checks the policy,
216
+ freshness window, trusted public-key fingerprint, signature, manifest, and
217
+ every inline artifact's length and SHA-256 digest. The callback registry path
218
+ runs a verifier twice on fresh byte copies and accepts only one identical
219
+ canonical JSON observation; the callback-free declarative path runs the
220
+ package's fixed, data-only JSON interpreter.
221
+ 3. `createRiddleProofGroundedSemanticCertificate` applies the registered
222
+ contract to that verifier-derived observation. It emits a content-addressed
223
+ grounded receipt and a contract-derived Semantic certificate whose evidence
224
+ begins with that exact receipt and then names every captured artifact.
225
+ 4. Atomic grounded closures can be composed. Validation or matching structurally
226
+ validates the complete Semantic closure, requires exactly one grounding for
227
+ every contract leaf and none for composition nodes, then replays every leaf
228
+ against independently supplied signer, verifier, contract, nonce, scope, and
229
+ time policy. Shared leaves are deduplicated, and a composition certificate
230
+ cannot predate any direct premise.
231
+
232
+ The public surface is available from both the package root and
233
+ `@riddledc/riddle-proof/grounded-evidence`. This example issues one grounded
234
+ leaf, wraps it as a closure, and replays the complete handoff. The omitted
235
+ values (`scope`, key material, artifacts, and identity objects) come from the
236
+ collector and trust setup. In particular, policy and replay expectations must
237
+ be independently configured rather than copied out of an untrusted bundle:
238
+
239
+ ```ts
240
+ import {
241
+ type RiddleProofGroundedCaptureVerificationPolicy,
242
+ type RiddleProofGroundedReplayConfiguration,
243
+ createRiddleProofGroundedDeclarativeJsonContract,
244
+ createRiddleProofGroundedDeclarativeJsonVerifier,
245
+ createRiddleProofGroundedSemanticAtomicCertificateClosure,
246
+ createRiddleProofGroundedSemanticCertificate,
247
+ createRiddleProofSignedCaptureBundle,
248
+ matchRiddleProofGroundedSemanticCertificateClosure,
249
+ } from "@riddledc/riddle-proof/grounded-evidence";
250
+
251
+ const declarativeVerifier = createRiddleProofGroundedDeclarativeJsonVerifier({
252
+ verifier_id: "riddle-proof.profile-evidence-json",
253
+ verifier_version: "1",
254
+ program: {
255
+ artifact: {
256
+ artifact_id: "profile-evidence.json",
257
+ role: "profile_evidence",
258
+ media_type: "application/json",
259
+ },
260
+ pointer: "", // RFC 6901: select the parsed document root
261
+ },
262
+ });
263
+ if (!declarativeVerifier.ok) throw new Error(declarativeVerifier.error.message);
264
+
265
+ const declarativeContract = createRiddleProofGroundedDeclarativeJsonContract({
266
+ contract_id: "riddle-proof.profile-passed",
267
+ contract_version: "1",
268
+ label: "The captured profile passed",
269
+ claim: passedProfileClaim,
270
+ program: {
271
+ all: [
272
+ { op: "type_is", source: "observation", pointer: "", type: "object" },
273
+ { op: "equals", source: "observation", pointer: "/status", value: "passed" },
274
+ { op: "equals", source: "scope", pointer: "/revision", value: scope.revision },
275
+ ],
276
+ },
277
+ });
278
+ if (!declarativeContract.ok) throw new Error(declarativeContract.error.message);
279
+
280
+ const createdBundle = createRiddleProofSignedCaptureBundle({
281
+ scope,
282
+ nonce, // canonical base64url encoding of an independently issued 32-byte value
283
+ captured_at: "2026-07-19T14:30:00.000Z",
284
+ collector,
285
+ sensor,
286
+ verifier: declarativeVerifier.verifier_ref,
287
+ artifacts,
288
+ signing_key: {
289
+ key_id: "local-playwright-key",
290
+ private_key_pkcs8_base64: privateKeyPkcs8Base64,
291
+ },
292
+ });
293
+ if (!createdBundle.ok) throw new Error(createdBundle.error.message);
294
+
295
+ const policy: RiddleProofGroundedCaptureVerificationPolicy = {
296
+ expected_scope: scope,
297
+ expected_nonce: nonce,
298
+ expected_collector: collector,
299
+ expected_sensor: sensor,
300
+ expected_verifier: declarativeVerifier.verifier_ref,
301
+ expected_signer: {
302
+ key_id: "local-playwright-key",
303
+ public_key_spki_sha256: trustedPublicKeySpkiSha256,
304
+ },
305
+ verification_time: "2026-07-19T14:30:01.000Z",
306
+ max_capture_age_ms: 60_000,
307
+ max_future_skew_ms: 1_000,
308
+ required_artifact_roles: ["profile_evidence"],
309
+ };
310
+
311
+ const configuration: RiddleProofGroundedReplayConfiguration = {
312
+ policy,
313
+ trusted_signers: [{
314
+ key_id: "local-playwright-key",
315
+ public_key_spki_base64: trustedPublicKeySpkiBase64,
316
+ }],
317
+ verifier_registry: [declarativeVerifier.registration],
318
+ contract_registry: [declarativeContract.registration],
319
+ expected_contract: declarativeContract.contract_ref,
320
+ };
321
+
322
+ const issued = createRiddleProofGroundedSemanticCertificate({
323
+ bundle: createdBundle.bundle,
324
+ ...configuration,
325
+ // Grounded leaf chronology is the independent verification time, not caller drift.
326
+ issued_at: policy.verification_time,
327
+ });
328
+ if (!issued.ok) throw new Error(issued.error.message);
329
+
330
+ const atomic = createRiddleProofGroundedSemanticAtomicCertificateClosure({
331
+ certificate: issued.certificate,
332
+ grounding: issued.grounding,
333
+ configuration,
334
+ });
335
+ if (!atomic.ok) throw new Error(atomic.error.message);
336
+
337
+ const checked = matchRiddleProofGroundedSemanticCertificateClosure({
338
+ grounded_closure: JSON.parse(JSON.stringify(atomic.grounded_closure)),
339
+ replay_contexts: [{
340
+ certificate_id: issued.certificate.certificate_id,
341
+ ...configuration,
342
+ }],
343
+ expected_root_certificate_id: trustedHandoffCertificateId,
344
+ expected_scope: scope,
345
+ expected_claim: passedProfileClaim,
346
+ expected_assurance: "runtime_contract_accepted",
347
+ });
348
+ if (!checked.ok) throw new Error(checked.error.message);
349
+ ```
174
350
 
175
- The boundary remains explicit. Derivations say `runtime_contract_accepted` or
176
- `declared_runtime_rule`; JavaScript predicates and named rules are inspectable
177
- runtime models, not Lean proof terms. Certificate hashes are content identities,
178
- not signatures, and receipt IDs and digests do not authenticate browser, Git,
179
- CDN, screenshot, or outside-world truth.
351
+ Use `composeRiddleProofGroundedSemanticCertificateClosures` for higher claims.
352
+ It takes a normal Semantic `rule`, one grounded closure per premise,
353
+ `replay_contexts` for every distinct leaf, and an `issued_at` no earlier than
354
+ the latest input root. `validateRiddleProofGroundedSemanticCertificateClosure`
355
+ performs the same full leaf replay without applying trusted root expectations;
356
+ `matchRiddleProofGroundedSemanticCertificateClosure` adds those expectations.
357
+
358
+ The declarative builders above are the narrower primary path. They canonicalize
359
+ the data-only program, domain-separate and SHA-256 hash the complete definition,
360
+ set `trust_basis.kind` to `builtin_declarative_json`, and return a registration
361
+ with no callback. During every issuance and replay, Riddle Proof recomputes that
362
+ digest and uses only its fixed v0 interpreter. The verifier selects one exact
363
+ `application/json` artifact by ID, role, and media type, parses strict UTF-8 JSON,
364
+ and projects an RFC 6901 JSON Pointer. The contract supports a bounded `all`
365
+ list of `exists`, exact `equals`, and `type_is` assertions over the observation
366
+ or the five-field scope.
367
+
368
+ The custom callback trust boundary remains deliberately visible. A verifier or
369
+ contract reference with `trust_basis: { kind: "external_registry" }` means an
370
+ independent registry selected that callback and vouches for its
371
+ `implementation_digest`. Riddle Proof does not derive callback identity from
372
+ `Function#toString` or prove that arbitrary JavaScript bytes correspond to the
373
+ declared digest. Registry callbacks are invoked from snapshots without a
374
+ receiver and with cloned inputs, but the registry remains part of the trusted
375
+ computing base.
376
+
377
+ Parsing is fail-closed for extra/hidden/accessor fields, sparse structural
378
+ arrays, noncanonical base64, noncanonical timestamps, and noncanonical DER.
379
+ The exported limits bound a capture to 64 artifacts, 16 MiB per artifact,
380
+ 64 MiB total decoded artifact bytes, and a 1 MiB canonical observation. A
381
+ grounded closure additionally has 256 MiB aggregate replay-work and 64 MiB
382
+ canonical metadata limits, plus aggregate replay-configuration, registry, and
383
+ trusted-key limits. Declarative definitions are limited to 64 KiB, 64 contract
384
+ assertions, and bounded JSON Pointer sizes and depth. These limits are
385
+ denial-of-service boundaries; they do not make the evidence empirically true.
386
+
387
+ The remaining outside-world boundary is also explicit. The signature proves
388
+ that the trusted key signed this exact capture statement, and replay proves that
389
+ the registered verifier and contract deterministically produce this exact leaf
390
+ from the included bytes. It does not prove that the key was well kept, the
391
+ collector's clock or nonce source was honest, the browser rendered the claimed
392
+ URL faithfully, the sensor was well calibrated, or the included screenshot
393
+ matches photons a human would have seen. The Playwright runner reduces that gap
394
+ by signing the exact files it persisted and recording browser provenance, but
395
+ its signer, browser process, machine, and capture policy still require trust.
396
+ Lean proves the framework invariants that connect these stages; it does not
397
+ turn those empirical assumptions into theorems.
180
398
 
181
399
  Persist a deploy result and its immutable receipt for later Change Proof input:
182
400
 
@@ -0,0 +1,17 @@
1
+ {
2
+ "version": "riddle-proof.package-capabilities.v1",
3
+ "package": "@riddledc/riddle-proof",
4
+ "capabilities": {
5
+ "network": true,
6
+ "filesystem": true,
7
+ "browser": true,
8
+ "subprocess": true,
9
+ "hosted_riddle": true,
10
+ "cryptography": true,
11
+ "ambient_clock": true
12
+ },
13
+ "notes": [
14
+ "This pre-1.0 package is the compatibility facade and intentionally exposes the union of core, local engine, and hosted-client capabilities.",
15
+ "Security-sensitive local consumers should install @riddledc/riddle-proof-core and a specific adapter instead."
16
+ ]
17
+ }
@@ -2,10 +2,10 @@ import {
2
2
  createDisabledRiddleProofAgentAdapter,
3
3
  readRiddleProofRunStatus,
4
4
  runRiddleProofEngineHarness
5
- } from "../chunk-WLUMLHII.js";
5
+ } from "../chunk-BID7CKMM.js";
6
+ import "../chunk-EKZXU6MU.js";
6
7
  import "../chunk-CGJX7LJO.js";
7
8
  import "../chunk-UTCL7FEZ.js";
8
- import "../chunk-EKZXU6MU.js";
9
9
  import "../chunk-DYE3URAQ.js";
10
10
  import "../chunk-NKHZASNQ.js";
11
11
  import "../chunk-ZAR7BWMN.js";
@@ -1,6 +1,6 @@
1
1
  export { b as runner } from '../runner-4LJ5z0D-.cjs';
2
2
  export { l as engineHarness } from '../engine-harness-LBfqbFSe.cjs';
3
3
  export { p as proofRunCore } from '../proof-run-core-7Dqm7RKM.cjs';
4
- export { p as proofRunEngine } from '../proof-run-engine-Baiv6l3A.cjs';
4
+ export { p as proofRunEngine } from '../proof-run-engine-DpChFR5H.cjs';
5
5
  import '../types.cjs';
6
6
  import '../public-state.cjs';
@@ -1,6 +1,6 @@
1
1
  export { b as runner } from '../runner-BdQpOkZD.js';
2
2
  export { l as engineHarness } from '../engine-harness-CMACHP6A.js';
3
3
  export { p as proofRunCore } from '../proof-run-core-7Dqm7RKM.js';
4
- export { p as proofRunEngine } from '../proof-run-engine-MiKZt9oY.js';
4
+ export { p as proofRunEngine } from '../proof-run-engine-BqRoA3Do.js';
5
5
  import '../types.js';
6
6
  import '../public-state.js';
@@ -3,15 +3,15 @@ import {
3
3
  } from "../chunk-VYJD6XYF.js";
4
4
  import {
5
5
  runner_exports
6
- } from "../chunk-YH7ADFY4.js";
6
+ } from "../chunk-IVSP24XI.js";
7
7
  import {
8
8
  engine_harness_exports
9
- } from "../chunk-WLUMLHII.js";
10
- import "../chunk-CGJX7LJO.js";
11
- import "../chunk-UTCL7FEZ.js";
9
+ } from "../chunk-BID7CKMM.js";
12
10
  import {
13
11
  proof_run_core_exports
14
12
  } from "../chunk-EKZXU6MU.js";
13
+ import "../chunk-CGJX7LJO.js";
14
+ import "../chunk-UTCL7FEZ.js";
15
15
  import "../chunk-DYE3URAQ.js";
16
16
  import "../chunk-NKHZASNQ.js";
17
17
  import "../chunk-ZAR7BWMN.js";
@@ -1,2 +1,2 @@
1
- export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from '../proof-run-engine-Baiv6l3A.cjs';
1
+ export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from '../proof-run-engine-DpChFR5H.cjs';
2
2
  import '../proof-run-core-7Dqm7RKM.cjs';
@@ -1,2 +1,2 @@
1
- export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from '../proof-run-engine-MiKZt9oY.js';
1
+ export { R as RiddleProofEngine, c as createRiddleProofEngine, e as executeWorkflow } from '../proof-run-engine-BqRoA3Do.js';
2
2
  import '../proof-run-core-7Dqm7RKM.js';
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  runRiddleProof
3
- } from "../chunk-YH7ADFY4.js";
3
+ } from "../chunk-IVSP24XI.js";
4
+ import "../chunk-EKZXU6MU.js";
4
5
  import "../chunk-CGJX7LJO.js";
5
6
  import "../chunk-UTCL7FEZ.js";
6
- import "../chunk-EKZXU6MU.js";
7
7
  import "../chunk-DYE3URAQ.js";
8
8
  import "../chunk-NKHZASNQ.js";
9
9
  import "../chunk-ZAR7BWMN.js";