@oxdeai/conformance 1.3.1 → 2.0.0

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 (51) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/LICENSE +213 -0
  3. package/README.md +217 -5
  4. package/dist/evidence-metadata.json +3489 -0
  5. package/dist/scripts/build-evidence-metadata.d.mts +1 -0
  6. package/dist/scripts/build-evidence-metadata.mjs +7 -0
  7. package/dist/scripts/build-evidence-metadata.mjs.map +1 -0
  8. package/dist/scripts/extract-vectors.js +228 -22
  9. package/dist/scripts/extract-vectors.js.map +1 -1
  10. package/dist/src/evidenceScope.d.mts +68 -0
  11. package/dist/src/evidenceScope.mjs +127 -0
  12. package/dist/src/evidenceScope.mjs.map +1 -0
  13. package/dist/src/fixtures/conformance-engine-secret.fixture.d.ts +5 -0
  14. package/dist/src/fixtures/conformance-engine-secret.fixture.js +7 -0
  15. package/dist/src/fixtures/conformance-engine-secret.fixture.js.map +1 -0
  16. package/dist/src/fixtures/ed25519.test-only.fixture.d.ts +1 -1
  17. package/dist/src/fixtures/ed25519.test-only.fixture.js +2 -1
  18. package/dist/src/fixtures/ed25519.test-only.fixture.js.map +1 -1
  19. package/dist/src/fixtures/krl-ed25519.test-only.fixture.d.ts +13 -0
  20. package/dist/src/fixtures/krl-ed25519.test-only.fixture.js +19 -0
  21. package/dist/src/fixtures/krl-ed25519.test-only.fixture.js.map +1 -0
  22. package/dist/src/trustedTimeConformance.d.ts +32 -0
  23. package/dist/src/trustedTimeConformance.js +484 -0
  24. package/dist/src/trustedTimeConformance.js.map +1 -0
  25. package/dist/src/validate-trusted-time.d.ts +1 -0
  26. package/dist/src/validate-trusted-time.js +14 -0
  27. package/dist/src/validate-trusted-time.js.map +1 -0
  28. package/dist/src/validate.d.ts +1 -0
  29. package/dist/src/validate.js +723 -31
  30. package/dist/src/validate.js.map +1 -1
  31. package/package.json +38 -8
  32. package/vectors/audit-chain.json +2 -2
  33. package/vectors/authorization-payload.json +46 -34
  34. package/vectors/authorization-signature-verification.json +39 -1
  35. package/vectors/authorization-verification.json +54 -1
  36. package/vectors/clock-semantics-verification.json +136 -0
  37. package/vectors/delegation-chain-verification.json +366 -0
  38. package/vectors/delegation-parent-hash.json +54 -0
  39. package/vectors/delegation-signature-verification.json +317 -0
  40. package/vectors/delegation-verification.json +252 -0
  41. package/vectors/envelope-verification.json +3 -3
  42. package/vectors/key-lifecycle-verification.json +131 -0
  43. package/vectors/profile-c-state-verification.json +217 -0
  44. package/vectors/signed-krl-verification.json +103 -0
  45. package/vectors/trusted-time.json +50 -0
  46. package/dist/extract-vectors.js +0 -416
  47. package/scripts/extract-vectors.ts +0 -466
  48. package/src/fixtures/README.md +0 -11
  49. package/src/fixtures/ed25519.test-only.fixture.ts +0 -14
  50. package/src/validate.ts +0 -828
  51. package/tsconfig.json +0 -14
@@ -0,0 +1,3489 @@
1
+ {
2
+ "registry": {
3
+ "version": 2,
4
+ "claims": [
5
+ {
6
+ "id": "CANON-001",
7
+ "title": "Canonical object key ordering",
8
+ "source": {
9
+ "path": "docs/spec/core/canonicalization-v1.md",
10
+ "section": "## 6. Serialization Rules (normative)",
11
+ "quote": "- Object keys: NFC-normalize, reject duplicates after normalization, then sort keys by byte-wise UTF-8 order.",
12
+ "role": "normative"
13
+ },
14
+ "strength": "normative-statement",
15
+ "category": "ARTIFACT",
16
+ "implementation": [
17
+ {
18
+ "path": "packages/core/src/crypto/hashes.ts",
19
+ "symbol": "canonicalizeToJson"
20
+ }
21
+ ],
22
+ "evidence": [
23
+ {
24
+ "path": "packages/core/src/test/canonicalization.property.test.ts",
25
+ "selector": {
26
+ "type": "test",
27
+ "id": "C-P2: canonical output is invariant to object key insertion order at every nesting level"
28
+ },
29
+ "kind": "unit",
30
+ "negative": false,
31
+ "portable": false,
32
+ "runner": {
33
+ "path": "packages/core/package.json",
34
+ "contains": "dist/test/*.test.js",
35
+ "command": "pnpm -C packages/core test",
36
+ "runtime": "TypeScript"
37
+ },
38
+ "supports": "Core canonicalization property test for the selected serialization rule."
39
+ },
40
+ {
41
+ "path": "docs/spec/test-vectors/canonicalization-v1.json",
42
+ "selector": {
43
+ "type": "vector",
44
+ "id": "v1-object-key-ordering"
45
+ },
46
+ "kind": "cross-runtime",
47
+ "negative": false,
48
+ "portable": true,
49
+ "runner": {
50
+ "path": "python-harness/verify_canonicalization_vectors.py",
51
+ "contains": "canonicalization-v1.json",
52
+ "command": "pnpm test:vectors:py",
53
+ "runtime": "Python"
54
+ },
55
+ "supports": "Exact sorted canonical JSON and SHA-256; Python independent implementation."
56
+ }
57
+ ],
58
+ "requiredLevels": [
59
+ "TRACEABLE",
60
+ "TESTED",
61
+ "CONFORMANCE_TESTED"
62
+ ],
63
+ "securityCritical": true,
64
+ "negativeRequired": false,
65
+ "classification": "portable",
66
+ "portableRequired": true,
67
+ "notes": "Only object ordering is claimed; NFC normalization and collision rejection need separate claims. Negative cases are not required for this ordering-only claim.",
68
+ "recordType": "requirement",
69
+ "normativeState": "specified",
70
+ "evidenceState": "mapped",
71
+ "scopeDisposition": "in-scope",
72
+ "appliesWhen": [],
73
+ "dependsOn": [],
74
+ "inferenceGuard": [
75
+ {
76
+ "from": "STRUCTURAL_PASS",
77
+ "to": "SEMANTIC_PROOF",
78
+ "reason": "Reference consistency does not prove the claimed semantics."
79
+ },
80
+ {
81
+ "from": "TESTED",
82
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
83
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
84
+ }
85
+ ],
86
+ "maintainerDecisionRequired": false
87
+ },
88
+ {
89
+ "id": "CANON-002",
90
+ "title": "Reject floating point numbers",
91
+ "source": {
92
+ "path": "docs/spec/core/canonicalization-v1.md",
93
+ "section": "## 6. Serialization Rules (normative)",
94
+ "quote": "- Numbers: only integers in the safe IEEE-754 range **[-9007199254740991, 9007199254740991]** are allowed as JSON numbers. Floating-point values and `NaN`/`±Inf` MUST be rejected.",
95
+ "role": "normative"
96
+ },
97
+ "strength": "MUST",
98
+ "category": "ARTIFACT",
99
+ "implementation": [
100
+ {
101
+ "path": "packages/core/src/crypto/hashes.ts",
102
+ "symbol": "canonicalizeToJson"
103
+ }
104
+ ],
105
+ "evidence": [
106
+ {
107
+ "path": "packages/core/src/test/canonicalization.property.test.ts",
108
+ "selector": {
109
+ "type": "test",
110
+ "id": "C-P6: floats, NaN, and ±Infinity are always rejected with FLOAT_NOT_ALLOWED"
111
+ },
112
+ "kind": "unit",
113
+ "negative": true,
114
+ "portable": false,
115
+ "runner": {
116
+ "path": "packages/core/package.json",
117
+ "contains": "dist/test/*.test.js",
118
+ "command": "pnpm -C packages/core test",
119
+ "runtime": "TypeScript"
120
+ },
121
+ "supports": "Core canonicalization property test for the selected serialization rule."
122
+ },
123
+ {
124
+ "path": "docs/spec/test-vectors/canonicalization-v1.json",
125
+ "selector": {
126
+ "type": "vector",
127
+ "id": "i1-float-rejected"
128
+ },
129
+ "kind": "cross-runtime",
130
+ "negative": true,
131
+ "portable": true,
132
+ "runner": {
133
+ "path": "python-harness/verify_canonicalization_vectors.py",
134
+ "contains": "canonicalization-v1.json",
135
+ "command": "pnpm test:vectors:py",
136
+ "runtime": "Python"
137
+ },
138
+ "supports": "Float rejection and expected error code."
139
+ }
140
+ ],
141
+ "requiredLevels": [
142
+ "TRACEABLE",
143
+ "TESTED",
144
+ "ADVERSARIAL_TESTED",
145
+ "CONFORMANCE_TESTED"
146
+ ],
147
+ "securityCritical": true,
148
+ "negativeRequired": true,
149
+ "classification": "portable",
150
+ "portableRequired": true,
151
+ "notes": "Evidence demonstrates the selected cases only; review semantic adequacy when changing this claim.",
152
+ "recordType": "requirement",
153
+ "normativeState": "specified",
154
+ "evidenceState": "mapped",
155
+ "scopeDisposition": "in-scope",
156
+ "appliesWhen": [],
157
+ "dependsOn": [],
158
+ "inferenceGuard": [
159
+ {
160
+ "from": "STRUCTURAL_PASS",
161
+ "to": "SEMANTIC_PROOF",
162
+ "reason": "Reference consistency does not prove the claimed semantics."
163
+ },
164
+ {
165
+ "from": "TESTED",
166
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
167
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
168
+ }
169
+ ],
170
+ "maintainerDecisionRequired": false
171
+ },
172
+ {
173
+ "id": "CANON-003",
174
+ "title": "Reject duplicate keys at raw input parsing",
175
+ "source": {
176
+ "path": "docs/spec/core/canonicalization-v1.md",
177
+ "section": "## 5. Input Parsing Requirements",
178
+ "quote": "- duplicate keys MUST be detected during parsing",
179
+ "role": "normative"
180
+ },
181
+ "strength": "MUST",
182
+ "category": "ARTIFACT",
183
+ "implementation": [],
184
+ "evidence": [],
185
+ "requiredLevels": [],
186
+ "securityCritical": true,
187
+ "negativeRequired": false,
188
+ "classification": "portable",
189
+ "portableRequired": false,
190
+ "notes": "Core canonicalJson receives objects, after raw duplicate keys may be lost. NFC collision detection is not evidence of duplicate-key-aware raw JSON parsing.",
191
+ "recordType": "requirement",
192
+ "normativeState": "specified",
193
+ "evidenceState": "gap",
194
+ "scopeDisposition": "in-scope",
195
+ "appliesWhen": [],
196
+ "dependsOn": [],
197
+ "inferenceGuard": [
198
+ {
199
+ "from": "STRUCTURAL_PASS",
200
+ "to": "SEMANTIC_PROOF",
201
+ "reason": "Reference consistency does not prove the claimed semantics."
202
+ },
203
+ {
204
+ "from": "TESTED",
205
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
206
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
207
+ }
208
+ ],
209
+ "maintainerDecisionRequired": true
210
+ },
211
+ {
212
+ "id": "AUTH-ARTIFACT-001",
213
+ "title": "Reject decisions other than ALLOW",
214
+ "source": {
215
+ "path": "docs/spec/artifacts/authorization-v1.md",
216
+ "section": "## 4. Canonical Semantic Model",
217
+ "quote": "The `decision` field **MUST** be `\"ALLOW\"`. Any other value **MUST** be rejected.",
218
+ "role": "normative"
219
+ },
220
+ "strength": "MUST",
221
+ "category": "ARTIFACT",
222
+ "implementation": [
223
+ {
224
+ "path": "packages/core/src/verification/verifyAuthorization.ts",
225
+ "symbol": "verifyAuthorization"
226
+ }
227
+ ],
228
+ "evidence": [
229
+ {
230
+ "path": "packages/conformance/vectors/authorization-verification.json",
231
+ "selector": {
232
+ "type": "vector",
233
+ "id": "authorization-verify-004"
234
+ },
235
+ "kind": "vector",
236
+ "negative": true,
237
+ "portable": false,
238
+ "runner": {
239
+ "path": "packages/conformance/src/validate.ts",
240
+ "contains": "authorization-verification.json",
241
+ "command": "pnpm -C packages/conformance validate",
242
+ "runtime": "TypeScript"
243
+ },
244
+ "supports": "Non-ALLOW decision rejected with AUTH_DECISION_INVALID."
245
+ }
246
+ ],
247
+ "requiredLevels": [
248
+ "TRACEABLE",
249
+ "TESTED",
250
+ "ADVERSARIAL_TESTED"
251
+ ],
252
+ "securityCritical": true,
253
+ "negativeRequired": true,
254
+ "classification": "portable",
255
+ "portableRequired": false,
256
+ "notes": "Evidence demonstrates the selected cases only; review semantic adequacy when changing this claim.",
257
+ "recordType": "requirement",
258
+ "normativeState": "specified",
259
+ "evidenceState": "mapped",
260
+ "scopeDisposition": "in-scope",
261
+ "appliesWhen": [],
262
+ "dependsOn": [],
263
+ "inferenceGuard": [
264
+ {
265
+ "from": "STRUCTURAL_PASS",
266
+ "to": "SEMANTIC_PROOF",
267
+ "reason": "Reference consistency does not prove the claimed semantics."
268
+ },
269
+ {
270
+ "from": "TESTED",
271
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
272
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
273
+ }
274
+ ],
275
+ "maintainerDecisionRequired": false
276
+ },
277
+ {
278
+ "id": "AUTH-VERIFY-001",
279
+ "title": "Reject invalid Ed25519 signatures",
280
+ "source": {
281
+ "path": "docs/spec/artifacts/authorization-v1.md",
282
+ "section": "## 8. Signature Requirements",
283
+ "quote": "* Verify the Ed25519 signature over the preimage",
284
+ "role": "normative"
285
+ },
286
+ "strength": "MUST",
287
+ "category": "VERIFY",
288
+ "implementation": [
289
+ {
290
+ "path": "packages/core/src/verification/verifyAuthorization.ts",
291
+ "symbol": "verifyAuthorization"
292
+ }
293
+ ],
294
+ "evidence": [
295
+ {
296
+ "path": "packages/conformance/vectors/authorization-signature-verification.json",
297
+ "selector": {
298
+ "type": "vector",
299
+ "id": "authorization-sig-002"
300
+ },
301
+ "kind": "vector",
302
+ "negative": true,
303
+ "portable": false,
304
+ "runner": {
305
+ "path": "packages/conformance/src/validate.ts",
306
+ "contains": "authorization-signature-verification.json",
307
+ "command": "pnpm -C packages/conformance validate",
308
+ "runtime": "TypeScript"
309
+ },
310
+ "supports": "Corrupted signature fails verification."
311
+ },
312
+ {
313
+ "path": "packages/guard/src/test/guard.authorization.test.ts",
314
+ "selector": {
315
+ "type": "test",
316
+ "id": "A-1 tampered signature: execute is blocked and OxDeAIAuthorizationError is thrown"
317
+ },
318
+ "kind": "integration",
319
+ "negative": true,
320
+ "portable": false,
321
+ "runner": {
322
+ "path": "packages/guard/package.json",
323
+ "contains": "dist/test/guard.authorization.test.js",
324
+ "command": "pnpm -C packages/guard test",
325
+ "runtime": "TypeScript"
326
+ },
327
+ "supports": "Guard blocks execute on corrupted signature."
328
+ }
329
+ ],
330
+ "requiredLevels": [
331
+ "TRACEABLE",
332
+ "TESTED",
333
+ "INTEGRATION_TESTED",
334
+ "ADVERSARIAL_TESTED"
335
+ ],
336
+ "securityCritical": true,
337
+ "negativeRequired": true,
338
+ "classification": "portable",
339
+ "portableRequired": false,
340
+ "notes": "Evidence demonstrates the selected cases only; review semantic adequacy when changing this claim.",
341
+ "recordType": "requirement",
342
+ "normativeState": "specified",
343
+ "evidenceState": "mapped",
344
+ "scopeDisposition": "in-scope",
345
+ "appliesWhen": [],
346
+ "dependsOn": [],
347
+ "inferenceGuard": [
348
+ {
349
+ "from": "STRUCTURAL_PASS",
350
+ "to": "SEMANTIC_PROOF",
351
+ "reason": "Reference consistency does not prove the claimed semantics."
352
+ },
353
+ {
354
+ "from": "TESTED",
355
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
356
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
357
+ }
358
+ ],
359
+ "maintainerDecisionRequired": false
360
+ },
361
+ {
362
+ "id": "AUTH-VERIFY-002",
363
+ "title": "Issuer-scoped trusted key resolution",
364
+ "source": {
365
+ "path": "docs/spec/artifacts/authorization-v1.md",
366
+ "section": "## 8. Signature Requirements",
367
+ "quote": "* Resolve `kid` to a trusted public key for the artifact's issuer",
368
+ "role": "normative"
369
+ },
370
+ "strength": "MUST",
371
+ "category": "TRUST",
372
+ "implementation": [
373
+ {
374
+ "path": "packages/core/src/verification/verifyAuthorization.ts",
375
+ "symbol": "verifyAuthorization"
376
+ }
377
+ ],
378
+ "evidence": [
379
+ {
380
+ "path": "packages/conformance/vectors/authorization-signature-verification.json",
381
+ "selector": {
382
+ "type": "vector",
383
+ "id": "authorization-sig-004"
384
+ },
385
+ "kind": "vector",
386
+ "negative": true,
387
+ "portable": false,
388
+ "runner": {
389
+ "path": "packages/conformance/src/validate.ts",
390
+ "contains": "authorization-signature-verification.json",
391
+ "command": "pnpm -C packages/conformance validate",
392
+ "runtime": "TypeScript"
393
+ },
394
+ "supports": "Wrong issuer yields issuer mismatch and unknown key."
395
+ },
396
+ {
397
+ "path": "packages/guard/src/test/guard.authorization.test.ts",
398
+ "selector": {
399
+ "type": "test",
400
+ "id": "A-2 unknown issuer: execute is blocked and OxDeAIAuthorizationError is thrown"
401
+ },
402
+ "kind": "integration",
403
+ "negative": true,
404
+ "portable": false,
405
+ "runner": {
406
+ "path": "packages/guard/package.json",
407
+ "contains": "dist/test/guard.authorization.test.js",
408
+ "command": "pnpm -C packages/guard test",
409
+ "runtime": "TypeScript"
410
+ },
411
+ "supports": "Unknown issuer signed with separate key cannot execute."
412
+ }
413
+ ],
414
+ "requiredLevels": [
415
+ "TRACEABLE",
416
+ "TESTED",
417
+ "INTEGRATION_TESTED",
418
+ "ADVERSARIAL_TESTED"
419
+ ],
420
+ "securityCritical": true,
421
+ "negativeRequired": true,
422
+ "classification": "portable",
423
+ "portableRequired": false,
424
+ "notes": "expectedIssuer is meaningful when independently established. Scalar expectations are not inherently defective; this claim does not prove provenance of configuration.",
425
+ "recordType": "requirement",
426
+ "normativeState": "specified",
427
+ "evidenceState": "mapped",
428
+ "scopeDisposition": "in-scope",
429
+ "appliesWhen": [],
430
+ "dependsOn": [],
431
+ "inferenceGuard": [
432
+ {
433
+ "from": "STRUCTURAL_PASS",
434
+ "to": "SEMANTIC_PROOF",
435
+ "reason": "Reference consistency does not prove the claimed semantics."
436
+ },
437
+ {
438
+ "from": "TESTED",
439
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
440
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
441
+ }
442
+ ],
443
+ "maintainerDecisionRequired": false
444
+ },
445
+ {
446
+ "id": "AUTH-VERIFY-003",
447
+ "title": "Audience matches execution boundary",
448
+ "source": {
449
+ "path": "docs/spec/artifacts/authorization-v1.md",
450
+ "section": "### audience",
451
+ "quote": "* **MUST** match the execution boundary",
452
+ "role": "normative"
453
+ },
454
+ "strength": "MUST",
455
+ "category": "VERIFY",
456
+ "implementation": [
457
+ {
458
+ "path": "packages/core/src/verification/verifyAuthorization.ts",
459
+ "symbol": "verifyAuthorization"
460
+ },
461
+ {
462
+ "path": "packages/guard/src/guard.ts",
463
+ "symbol": "OxDeAIGuard"
464
+ }
465
+ ],
466
+ "evidence": [
467
+ {
468
+ "path": "packages/conformance/vectors/authorization-signature-verification.json",
469
+ "selector": {
470
+ "type": "vector",
471
+ "id": "authorization-sig-005"
472
+ },
473
+ "kind": "vector",
474
+ "negative": true,
475
+ "portable": false,
476
+ "runner": {
477
+ "path": "packages/conformance/src/validate.ts",
478
+ "contains": "authorization-signature-verification.json",
479
+ "command": "pnpm -C packages/conformance validate",
480
+ "runtime": "TypeScript"
481
+ },
482
+ "supports": "Wrong expected audience rejects."
483
+ },
484
+ {
485
+ "path": "packages/guard/src/test/guard.authorization.test.ts",
486
+ "selector": {
487
+ "type": "test",
488
+ "id": "A-3 wrong audience: execute is blocked and OxDeAIAuthorizationError is thrown"
489
+ },
490
+ "kind": "integration",
491
+ "negative": true,
492
+ "portable": false,
493
+ "runner": {
494
+ "path": "packages/guard/package.json",
495
+ "contains": "dist/test/guard.authorization.test.js",
496
+ "command": "pnpm -C packages/guard test",
497
+ "runtime": "TypeScript"
498
+ },
499
+ "supports": "Wrong audience blocks callback execution."
500
+ }
501
+ ],
502
+ "requiredLevels": [
503
+ "TRACEABLE",
504
+ "TESTED",
505
+ "INTEGRATION_TESTED",
506
+ "ADVERSARIAL_TESTED"
507
+ ],
508
+ "securityCritical": true,
509
+ "negativeRequired": true,
510
+ "classification": "portable",
511
+ "portableRequired": false,
512
+ "notes": "Evidence demonstrates the selected cases only; review semantic adequacy when changing this claim.",
513
+ "recordType": "requirement",
514
+ "normativeState": "specified",
515
+ "evidenceState": "mapped",
516
+ "scopeDisposition": "in-scope",
517
+ "appliesWhen": [],
518
+ "dependsOn": [],
519
+ "inferenceGuard": [
520
+ {
521
+ "from": "STRUCTURAL_PASS",
522
+ "to": "SEMANTIC_PROOF",
523
+ "reason": "Reference consistency does not prove the claimed semantics."
524
+ },
525
+ {
526
+ "from": "TESTED",
527
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
528
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
529
+ }
530
+ ],
531
+ "maintainerDecisionRequired": false
532
+ },
533
+ {
534
+ "id": "AUTH-BIND-001",
535
+ "title": "Intent hash exactly matches requested action",
536
+ "source": {
537
+ "path": "docs/spec/artifacts/authorization-v1.md",
538
+ "section": "### intent_hash",
539
+ "quote": "* **MUST** exactly match the requested action",
540
+ "role": "normative"
541
+ },
542
+ "strength": "MUST",
543
+ "category": "ENFORCEMENT",
544
+ "implementation": [
545
+ {
546
+ "path": "packages/guard/src/guard.ts",
547
+ "symbol": "OxDeAIGuard"
548
+ },
549
+ {
550
+ "path": "packages/core/src/crypto/hashes.ts",
551
+ "symbol": "intentHash"
552
+ }
553
+ ],
554
+ "evidence": [
555
+ {
556
+ "path": "packages/guard/src/test/guard.intent-binding.test.ts",
557
+ "selector": {
558
+ "type": "test",
559
+ "id": "IB-2 wrong intent_hash in auth: OxDeAIAuthorizationError thrown, execute blocked"
560
+ },
561
+ "kind": "integration",
562
+ "negative": true,
563
+ "portable": false,
564
+ "runner": {
565
+ "path": "packages/guard/package.json",
566
+ "contains": "dist/test/guard.intent-binding.test.js",
567
+ "command": "pnpm -C packages/guard test",
568
+ "runtime": "TypeScript"
569
+ },
570
+ "supports": "Authorization for action A cannot execute action B."
571
+ }
572
+ ],
573
+ "requiredLevels": [
574
+ "TRACEABLE",
575
+ "TESTED",
576
+ "INTEGRATION_TESTED",
577
+ "ADVERSARIAL_TESTED"
578
+ ],
579
+ "securityCritical": true,
580
+ "negativeRequired": true,
581
+ "classification": "implementation-specific",
582
+ "portableRequired": false,
583
+ "notes": "Guard integration checks normalized action binding. Pure verifyAuthorization does not recompute the requested action; no portable vector is asserted here.",
584
+ "recordType": "requirement",
585
+ "normativeState": "specified",
586
+ "evidenceState": "mapped",
587
+ "scopeDisposition": "in-scope",
588
+ "appliesWhen": [],
589
+ "dependsOn": [],
590
+ "inferenceGuard": [
591
+ {
592
+ "from": "STRUCTURAL_PASS",
593
+ "to": "SEMANTIC_PROOF",
594
+ "reason": "Reference consistency does not prove the claimed semantics."
595
+ },
596
+ {
597
+ "from": "TESTED",
598
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
599
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
600
+ }
601
+ ],
602
+ "maintainerDecisionRequired": false
603
+ },
604
+ {
605
+ "id": "AUTH-TIME-001",
606
+ "title": "Strict expiry at now greater than or equal to expiry",
607
+ "source": {
608
+ "path": "docs/spec/artifacts/authorization-v1.md",
609
+ "section": "### expiry / expires_at",
610
+ "quote": "* **MUST** be strictly enforced: valid iff `now < expiry`; `now >= expiry` → `AUTH_EXPIRED`",
611
+ "role": "normative"
612
+ },
613
+ "strength": "MUST",
614
+ "category": "TIME",
615
+ "implementation": [
616
+ {
617
+ "path": "packages/core/src/verification/verifyAuthorization.ts",
618
+ "symbol": "verifyAuthorization"
619
+ }
620
+ ],
621
+ "evidence": [
622
+ {
623
+ "path": "packages/conformance/vectors/authorization-verification.json",
624
+ "selector": {
625
+ "type": "vector",
626
+ "id": "authorization-verify-002"
627
+ },
628
+ "kind": "vector",
629
+ "negative": true,
630
+ "portable": false,
631
+ "runner": {
632
+ "path": "packages/conformance/src/validate.ts",
633
+ "contains": "authorization-verification.json",
634
+ "command": "pnpm -C packages/conformance validate",
635
+ "runtime": "TypeScript"
636
+ },
637
+ "supports": "now equals expiry returns AUTH_EXPIRED."
638
+ },
639
+ {
640
+ "path": "packages/guard/src/test/guard.authorization.test.ts",
641
+ "selector": {
642
+ "type": "test",
643
+ "id": "A-4 expired auth: execute is blocked and OxDeAIAuthorizationError is thrown"
644
+ },
645
+ "kind": "integration",
646
+ "negative": true,
647
+ "portable": false,
648
+ "runner": {
649
+ "path": "packages/guard/package.json",
650
+ "contains": "dist/test/guard.authorization.test.js",
651
+ "command": "pnpm -C packages/guard test",
652
+ "runtime": "TypeScript"
653
+ },
654
+ "supports": "Expired signed authorization cannot execute."
655
+ }
656
+ ],
657
+ "requiredLevels": [
658
+ "TRACEABLE",
659
+ "TESTED",
660
+ "INTEGRATION_TESTED",
661
+ "ADVERSARIAL_TESTED"
662
+ ],
663
+ "securityCritical": true,
664
+ "negativeRequired": true,
665
+ "classification": "portable",
666
+ "portableRequired": false,
667
+ "notes": "Evidence demonstrates the selected cases only; review semantic adequacy when changing this claim.",
668
+ "recordType": "requirement",
669
+ "normativeState": "specified",
670
+ "evidenceState": "mapped",
671
+ "scopeDisposition": "in-scope",
672
+ "appliesWhen": [],
673
+ "dependsOn": [],
674
+ "inferenceGuard": [
675
+ {
676
+ "from": "STRUCTURAL_PASS",
677
+ "to": "SEMANTIC_PROOF",
678
+ "reason": "Reference consistency does not prove the claimed semantics."
679
+ },
680
+ {
681
+ "from": "TESTED",
682
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
683
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
684
+ }
685
+ ],
686
+ "maintainerDecisionRequired": false
687
+ },
688
+ {
689
+ "id": "AUTH-TRUST-001",
690
+ "title": "Missing strict trust configuration fails closed",
691
+ "source": {
692
+ "path": "docs/spec/artifacts/authorization-v1.md",
693
+ "section": "### Strict mode",
694
+ "quote": "* Missing trust configuration **MUST** fail closed",
695
+ "role": "normative"
696
+ },
697
+ "strength": "MUST",
698
+ "category": "TRUST",
699
+ "implementation": [
700
+ {
701
+ "path": "packages/core/src/verification/verifyAuthorization.ts",
702
+ "symbol": "verifyAuthorization"
703
+ },
704
+ {
705
+ "path": "packages/guard/src/guard.ts",
706
+ "symbol": "OxDeAIGuard"
707
+ }
708
+ ],
709
+ "evidence": [
710
+ {
711
+ "path": "packages/guard/src/test/guard.authorization.test.ts",
712
+ "selector": {
713
+ "type": "test",
714
+ "id": "A-5 missing trustedKeySets: OxDeAIGuardConfigurationError thrown at construction"
715
+ },
716
+ "kind": "integration",
717
+ "negative": true,
718
+ "portable": false,
719
+ "runner": {
720
+ "path": "packages/guard/package.json",
721
+ "contains": "dist/test/guard.authorization.test.js",
722
+ "command": "pnpm -C packages/guard test",
723
+ "runtime": "TypeScript"
724
+ },
725
+ "supports": "Guard construction rejects missing trustedKeySets."
726
+ }
727
+ ],
728
+ "requiredLevels": [
729
+ "TRACEABLE",
730
+ "TESTED",
731
+ "INTEGRATION_TESTED",
732
+ "ADVERSARIAL_TESTED"
733
+ ],
734
+ "securityCritical": true,
735
+ "negativeRequired": true,
736
+ "classification": "implementation-specific",
737
+ "portableRequired": false,
738
+ "notes": "Evidence is guard configuration enforcement. It does not establish honesty of supplied keys or policy premises.",
739
+ "recordType": "requirement",
740
+ "normativeState": "specified",
741
+ "evidenceState": "mapped",
742
+ "scopeDisposition": "in-scope",
743
+ "appliesWhen": [],
744
+ "dependsOn": [],
745
+ "inferenceGuard": [
746
+ {
747
+ "from": "STRUCTURAL_PASS",
748
+ "to": "SEMANTIC_PROOF",
749
+ "reason": "Reference consistency does not prove the claimed semantics."
750
+ },
751
+ {
752
+ "from": "TESTED",
753
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
754
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
755
+ }
756
+ ],
757
+ "maintainerDecisionRequired": false
758
+ },
759
+ {
760
+ "id": "AUTH-AUTHORITY-001",
761
+ "title": "Externally supplied authorizations require trusted issuer-policy authority",
762
+ "source": {
763
+ "path": "docs/spec/interoperability/external-provider-profile.md",
764
+ "section": "### Profile A: Core-native",
765
+ "quote": "implementations **MUST** configure issuer-policy authority",
766
+ "role": "normative"
767
+ },
768
+ "strength": "MUST",
769
+ "category": "TRUST",
770
+ "implementation": [
771
+ {
772
+ "path": "packages/core/src/verification/authorizationAuthority.ts",
773
+ "symbol": "isTrustedAuthorizationAuthority"
774
+ },
775
+ {
776
+ "path": "packages/core/src/verification/verifyAuthorization.ts",
777
+ "symbol": "verifyAuthorization"
778
+ },
779
+ {
780
+ "path": "packages/guard/src/gateway.ts",
781
+ "symbol": "createPepGatewayExecutor"
782
+ },
783
+ {
784
+ "path": "packages/guard/src/guard.ts",
785
+ "symbol": "OxDeAIGuard"
786
+ }
787
+ ],
788
+ "evidence": [
789
+ {
790
+ "path": "packages/guard/src/test/gateway.authority.test.ts",
791
+ "selector": {
792
+ "type": "test",
793
+ "id": "#301 gateway ANTI-CARTESIAN: trusted issuer A signing unauthorized policy P2 is rejected; upstream never called"
794
+ },
795
+ "kind": "integration",
796
+ "negative": true,
797
+ "portable": false,
798
+ "runner": {
799
+ "path": "packages/guard/package.json",
800
+ "contains": "dist/test/gateway.authority.test.js",
801
+ "command": "pnpm -C packages/guard test",
802
+ "runtime": "TypeScript"
803
+ },
804
+ "supports": "A valid signature from a trusted issuer does not authorize an unconfigured issuer-policy pair, and upstream execution remains blocked."
805
+ },
806
+ {
807
+ "path": "packages/guard/src/test/guard.delegation.authority.test.ts",
808
+ "selector": {
809
+ "type": "test",
810
+ "id": "#301 delegation ANTI-CARTESIAN: validly signed parent A/P2 is rejected; execute never called"
811
+ },
812
+ "kind": "integration",
813
+ "negative": true,
814
+ "portable": false,
815
+ "runner": {
816
+ "path": "packages/guard/package.json",
817
+ "contains": "dist/test/guard.delegation.authority.test.js",
818
+ "command": "pnpm -C packages/guard test",
819
+ "runtime": "TypeScript"
820
+ },
821
+ "supports": "An externally supplied delegation parent cannot establish a delegation root unless its exact issuer-policy pair is independently trusted."
822
+ }
823
+ ],
824
+ "requiredLevels": [
825
+ "TRACEABLE",
826
+ "TESTED",
827
+ "INTEGRATION_TESTED",
828
+ "ADVERSARIAL_TESTED"
829
+ ],
830
+ "securityCritical": true,
831
+ "negativeRequired": true,
832
+ "classification": "implementation-specific",
833
+ "portableRequired": false,
834
+ "notes": "Applies to implemented boundaries that accept externally supplied AuthorizationV1 artifacts. Trusted signing keys authenticate the claimed issuer but do not independently grant policy authority. Evidence does not establish arbitrary deployment non-bypassability.",
835
+ "recordType": "requirement",
836
+ "normativeState": "specified",
837
+ "evidenceState": "mapped",
838
+ "scopeDisposition": "in-scope",
839
+ "appliesWhen": [],
840
+ "dependsOn": [],
841
+ "inferenceGuard": [
842
+ {
843
+ "from": "STRUCTURAL_PASS",
844
+ "to": "SEMANTIC_PROOF",
845
+ "reason": "Reference consistency does not prove the claimed semantics."
846
+ },
847
+ {
848
+ "from": "TESTED",
849
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
850
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
851
+ },
852
+ {
853
+ "from": "SIGNATURE_VALID",
854
+ "to": "ISSUER_POLICY_AUTHORIZED",
855
+ "reason": "A valid signature authenticates the claimed issuer key but does not establish authority to issue for the claimed policy."
856
+ }
857
+ ],
858
+ "maintainerDecisionRequired": false
859
+ },
860
+ {
861
+ "id": "AUTH-REPLAY-001",
862
+ "title": "Reused auth_id cannot execute",
863
+ "source": {
864
+ "path": "docs/spec/artifacts/authorization-v1.md",
865
+ "section": "## 11. Replay Protection",
866
+ "quote": "* `auth_id` **MUST** be single-use",
867
+ "role": "normative"
868
+ },
869
+ "strength": "MUST",
870
+ "category": "REPLAY",
871
+ "implementation": [
872
+ {
873
+ "path": "packages/guard/src/guard.ts",
874
+ "symbol": "OxDeAIGuard"
875
+ },
876
+ {
877
+ "path": "packages/guard/src/replayStore.ts",
878
+ "symbol": "createInMemoryReplayStore"
879
+ }
880
+ ],
881
+ "evidence": [
882
+ {
883
+ "path": "packages/guard/src/test/guard.replay-store.test.ts",
884
+ "selector": {
885
+ "type": "test",
886
+ "id": "RS-1 default store: auth_id replay blocked on second call to same guard instance"
887
+ },
888
+ "kind": "integration",
889
+ "negative": true,
890
+ "portable": false,
891
+ "runner": {
892
+ "path": "packages/guard/package.json",
893
+ "contains": "dist/test/guard.replay-store.test.js",
894
+ "command": "pnpm -C packages/guard test",
895
+ "runtime": "TypeScript"
896
+ },
897
+ "supports": "Second use blocked; exactly one execution."
898
+ },
899
+ {
900
+ "path": "packages/guard/src/test/guard.replay-store.test.ts",
901
+ "selector": {
902
+ "type": "test",
903
+ "id": "RS-3 shared store: auth_id replay blocked across two distinct guard instances"
904
+ },
905
+ "kind": "integration",
906
+ "negative": true,
907
+ "portable": false,
908
+ "runner": {
909
+ "path": "packages/guard/package.json",
910
+ "contains": "dist/test/guard.replay-store.test.js",
911
+ "command": "pnpm -C packages/guard test",
912
+ "runtime": "TypeScript"
913
+ },
914
+ "supports": "Shared store blocks replay across guard instances."
915
+ }
916
+ ],
917
+ "requiredLevels": [
918
+ "TRACEABLE",
919
+ "TESTED",
920
+ "INTEGRATION_TESTED",
921
+ "ADVERSARIAL_TESTED"
922
+ ],
923
+ "securityCritical": true,
924
+ "negativeRequired": true,
925
+ "classification": "implementation-specific",
926
+ "portableRequired": false,
927
+ "notes": "In-memory/shared-store integration scope only; not proof of distributed durable replay storage.",
928
+ "recordType": "requirement",
929
+ "normativeState": "specified",
930
+ "evidenceState": "mapped",
931
+ "scopeDisposition": "in-scope",
932
+ "appliesWhen": [],
933
+ "dependsOn": [],
934
+ "inferenceGuard": [
935
+ {
936
+ "from": "STRUCTURAL_PASS",
937
+ "to": "SEMANTIC_PROOF",
938
+ "reason": "Reference consistency does not prove the claimed semantics."
939
+ },
940
+ {
941
+ "from": "TESTED",
942
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
943
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
944
+ }
945
+ ],
946
+ "maintainerDecisionRequired": false
947
+ },
948
+ {
949
+ "id": "TRUSTED-TIME-001",
950
+ "title": "Issuance uses trusted evaluation time",
951
+ "source": {
952
+ "path": "docs/spec/core/trusted-time-v1.md",
953
+ "section": "## 4. Consistency Invariants",
954
+ "quote": " `issued_at = evaluation_time`.",
955
+ "role": "normative"
956
+ },
957
+ "strength": "MUST",
958
+ "category": "TIME",
959
+ "implementation": [
960
+ {
961
+ "path": "packages/core/src/policy/PolicyEngine.ts",
962
+ "symbol": "PolicyEngine"
963
+ }
964
+ ],
965
+ "evidence": [
966
+ {
967
+ "path": "packages/core/src/test/trusted-time-integration.test.ts",
968
+ "selector": {
969
+ "type": "test",
970
+ "id": "issuance tripwire: issued_at and expiry derive from evaluationTime, not intent.timestamp"
971
+ },
972
+ "kind": "integration",
973
+ "negative": true,
974
+ "portable": false,
975
+ "runner": {
976
+ "path": "packages/core/package.json",
977
+ "contains": "dist/test/*.test.js",
978
+ "command": "pnpm -C packages/core test",
979
+ "runtime": "TypeScript"
980
+ },
981
+ "supports": "Future-side freshness-valid intent does not drive issuance or expiry."
982
+ }
983
+ ],
984
+ "requiredLevels": [
985
+ "TRACEABLE",
986
+ "TESTED",
987
+ "INTEGRATION_TESTED",
988
+ "ADVERSARIAL_TESTED"
989
+ ],
990
+ "securityCritical": true,
991
+ "negativeRequired": true,
992
+ "classification": "portable",
993
+ "portableRequired": false,
994
+ "notes": "Evidence demonstrates the selected cases only; review semantic adequacy when changing this claim.",
995
+ "recordType": "requirement",
996
+ "normativeState": "specified",
997
+ "evidenceState": "mapped",
998
+ "scopeDisposition": "in-scope",
999
+ "appliesWhen": [],
1000
+ "dependsOn": [],
1001
+ "inferenceGuard": [
1002
+ {
1003
+ "from": "STRUCTURAL_PASS",
1004
+ "to": "SEMANTIC_PROOF",
1005
+ "reason": "Reference consistency does not prove the claimed semantics."
1006
+ },
1007
+ {
1008
+ "from": "TESTED",
1009
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1010
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1011
+ }
1012
+ ],
1013
+ "maintainerDecisionRequired": false
1014
+ },
1015
+ {
1016
+ "id": "TRUSTED-TIME-002",
1017
+ "title": "Reject future freshness violations",
1018
+ "source": {
1019
+ "path": "docs/spec/core/trusted-time-v1.md",
1020
+ "section": "## 6. Freshness Semantics (Future and Stale)",
1021
+ "quote": "- **Future-dated.** `Δ > maxClockSkewSeconds` → `DENY`, no authorization minted.",
1022
+ "role": "normative"
1023
+ },
1024
+ "strength": "normative-statement",
1025
+ "category": "TIME",
1026
+ "implementation": [
1027
+ {
1028
+ "path": "packages/core/src/policy/verifyTrustedTime.ts",
1029
+ "symbol": "verifyTrustedTime"
1030
+ },
1031
+ {
1032
+ "path": "packages/core/src/policy/PolicyEngine.ts",
1033
+ "symbol": "PolicyEngine"
1034
+ }
1035
+ ],
1036
+ "evidence": [
1037
+ {
1038
+ "path": "packages/core/src/test/trusted-time-integration.test.ts",
1039
+ "selector": {
1040
+ "type": "test",
1041
+ "id": "future-dated intent → exactly DENY/INTENT_FRESHNESS_FUTURE"
1042
+ },
1043
+ "kind": "integration",
1044
+ "negative": true,
1045
+ "portable": false,
1046
+ "runner": {
1047
+ "path": "packages/core/package.json",
1048
+ "contains": "dist/test/*.test.js",
1049
+ "command": "pnpm -C packages/core test",
1050
+ "runtime": "TypeScript"
1051
+ },
1052
+ "supports": "Future timestamp yields exactly DENY/INTENT_FRESHNESS_FUTURE."
1053
+ }
1054
+ ],
1055
+ "requiredLevels": [
1056
+ "TRACEABLE",
1057
+ "TESTED",
1058
+ "INTEGRATION_TESTED",
1059
+ "ADVERSARIAL_TESTED"
1060
+ ],
1061
+ "securityCritical": true,
1062
+ "negativeRequired": true,
1063
+ "classification": "portable",
1064
+ "portableRequired": false,
1065
+ "notes": "Evidence demonstrates the selected cases only; review semantic adequacy when changing this claim.",
1066
+ "recordType": "requirement",
1067
+ "normativeState": "specified",
1068
+ "evidenceState": "mapped",
1069
+ "scopeDisposition": "in-scope",
1070
+ "appliesWhen": [],
1071
+ "dependsOn": [],
1072
+ "inferenceGuard": [
1073
+ {
1074
+ "from": "STRUCTURAL_PASS",
1075
+ "to": "SEMANTIC_PROOF",
1076
+ "reason": "Reference consistency does not prove the claimed semantics."
1077
+ },
1078
+ {
1079
+ "from": "TESTED",
1080
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1081
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1082
+ }
1083
+ ],
1084
+ "maintainerDecisionRequired": false
1085
+ },
1086
+ {
1087
+ "id": "DELEGATION-001",
1088
+ "title": "Child tools cannot widen supplied parentScope",
1089
+ "source": {
1090
+ "path": "docs/spec/artifacts/delegation-v1.md",
1091
+ "section": "### 4.1 Scope Narrowing",
1092
+ "quote": "| `scope.tools` | Effective child tools MUST be a subset of `parentScope.tools` when defined. Omitted child tools inherit that constraint unchanged; an explicitly supplied child list is compared against it as given. Equal sets are valid. |",
1093
+ "role": "normative"
1094
+ },
1095
+ "strength": "MUST",
1096
+ "category": "DELEGATION",
1097
+ "implementation": [
1098
+ {
1099
+ "path": "packages/core/src/verification/verifyDelegation.ts",
1100
+ "symbol": "verifyDelegation"
1101
+ }
1102
+ ],
1103
+ "evidence": [
1104
+ {
1105
+ "path": "packages/conformance/vectors/delegation-verification.json",
1106
+ "selector": {
1107
+ "type": "vector",
1108
+ "id": "delegation-verify-005"
1109
+ },
1110
+ "kind": "vector",
1111
+ "negative": true,
1112
+ "portable": false,
1113
+ "runner": {
1114
+ "path": "packages/conformance/src/validate.ts",
1115
+ "contains": "delegation-verification.json",
1116
+ "command": "pnpm -C packages/conformance validate",
1117
+ "runtime": "TypeScript"
1118
+ },
1119
+ "supports": "Tool outside caller-supplied parent scope rejected."
1120
+ }
1121
+ ],
1122
+ "requiredLevels": [
1123
+ "TRACEABLE",
1124
+ "TESTED",
1125
+ "ADVERSARIAL_TESTED"
1126
+ ],
1127
+ "securityCritical": true,
1128
+ "negativeRequired": true,
1129
+ "classification": "portable",
1130
+ "portableRequired": false,
1131
+ "notes": "Narrowing is relative to caller-supplied parentScope; no evidence that the scope originated from an authoritative external grant.",
1132
+ "recordType": "requirement",
1133
+ "normativeState": "specified",
1134
+ "evidenceState": "mapped",
1135
+ "scopeDisposition": "in-scope",
1136
+ "appliesWhen": [],
1137
+ "dependsOn": [],
1138
+ "inferenceGuard": [
1139
+ {
1140
+ "from": "STRUCTURAL_PASS",
1141
+ "to": "SEMANTIC_PROOF",
1142
+ "reason": "Reference consistency does not prove the claimed semantics."
1143
+ },
1144
+ {
1145
+ "from": "TESTED",
1146
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1147
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1148
+ }
1149
+ ],
1150
+ "maintainerDecisionRequired": false
1151
+ },
1152
+ {
1153
+ "id": "DELEGATION-002",
1154
+ "title": "Reject delegation as parent (single hop)",
1155
+ "source": {
1156
+ "path": "docs/spec/artifacts/delegation-v1.md",
1157
+ "section": "### 4.4 Single-Hop Enforcement",
1158
+ "quote": "A `DelegationV1` artifact MUST NOT be used as the parent of another `DelegationV1`. The PEP MUST reject any chain where the parent artifact is itself a delegation.",
1159
+ "role": "normative"
1160
+ },
1161
+ "strength": "MUST NOT",
1162
+ "category": "DELEGATION",
1163
+ "implementation": [
1164
+ {
1165
+ "path": "packages/core/src/verification/verifyDelegation.ts",
1166
+ "symbol": "verifyDelegationChain"
1167
+ }
1168
+ ],
1169
+ "evidence": [
1170
+ {
1171
+ "path": "packages/conformance/vectors/delegation-chain-verification.json",
1172
+ "selector": {
1173
+ "type": "vector",
1174
+ "id": "delegation-chain-006"
1175
+ },
1176
+ "kind": "vector",
1177
+ "negative": true,
1178
+ "portable": false,
1179
+ "runner": {
1180
+ "path": "packages/conformance/src/validate.ts",
1181
+ "contains": "delegation-chain-verification.json",
1182
+ "command": "pnpm -C packages/conformance validate",
1183
+ "runtime": "TypeScript"
1184
+ },
1185
+ "supports": "Delegation parent rejected as multihop."
1186
+ }
1187
+ ],
1188
+ "requiredLevels": [
1189
+ "TRACEABLE",
1190
+ "TESTED",
1191
+ "ADVERSARIAL_TESTED"
1192
+ ],
1193
+ "securityCritical": true,
1194
+ "negativeRequired": true,
1195
+ "classification": "portable",
1196
+ "portableRequired": false,
1197
+ "notes": "Evidence demonstrates the selected cases only; review semantic adequacy when changing this claim.",
1198
+ "recordType": "requirement",
1199
+ "normativeState": "specified",
1200
+ "evidenceState": "mapped",
1201
+ "scopeDisposition": "in-scope",
1202
+ "appliesWhen": [],
1203
+ "dependsOn": [],
1204
+ "inferenceGuard": [
1205
+ {
1206
+ "from": "STRUCTURAL_PASS",
1207
+ "to": "SEMANTIC_PROOF",
1208
+ "reason": "Reference consistency does not prove the claimed semantics."
1209
+ },
1210
+ {
1211
+ "from": "TESTED",
1212
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1213
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1214
+ }
1215
+ ],
1216
+ "maintainerDecisionRequired": false
1217
+ },
1218
+ {
1219
+ "id": "DELEGATION-003",
1220
+ "title": "Delegation policy equals parent policy",
1221
+ "source": {
1222
+ "path": "docs/spec/artifacts/delegation-v1.md",
1223
+ "section": "### 4.1 Scope Narrowing",
1224
+ "quote": "| `policy_id` | MUST equal parent `policy_id` |",
1225
+ "role": "normative"
1226
+ },
1227
+ "strength": "MUST",
1228
+ "category": "DELEGATION",
1229
+ "implementation": [
1230
+ {
1231
+ "path": "packages/core/src/verification/verifyDelegation.ts",
1232
+ "symbol": "verifyDelegationChain"
1233
+ }
1234
+ ],
1235
+ "evidence": [
1236
+ {
1237
+ "path": "packages/conformance/vectors/delegation-chain-verification.json",
1238
+ "selector": {
1239
+ "type": "vector",
1240
+ "id": "delegation-chain-007"
1241
+ },
1242
+ "kind": "vector",
1243
+ "negative": true,
1244
+ "portable": false,
1245
+ "runner": {
1246
+ "path": "packages/conformance/src/validate.ts",
1247
+ "contains": "delegation-chain-verification.json",
1248
+ "command": "pnpm -C packages/conformance validate",
1249
+ "runtime": "TypeScript"
1250
+ },
1251
+ "supports": "Child-parent policy mismatch rejected."
1252
+ }
1253
+ ],
1254
+ "requiredLevels": [
1255
+ "TRACEABLE",
1256
+ "TESTED",
1257
+ "ADVERSARIAL_TESTED"
1258
+ ],
1259
+ "securityCritical": true,
1260
+ "negativeRequired": true,
1261
+ "classification": "portable",
1262
+ "portableRequired": false,
1263
+ "notes": "This binds two artifacts. It does not prove that an issuer is independently authorized for that policy. Generic expectedPolicyId remains valid when independently configured.",
1264
+ "recordType": "requirement",
1265
+ "normativeState": "specified",
1266
+ "evidenceState": "mapped",
1267
+ "scopeDisposition": "in-scope",
1268
+ "appliesWhen": [],
1269
+ "dependsOn": [],
1270
+ "inferenceGuard": [
1271
+ {
1272
+ "from": "STRUCTURAL_PASS",
1273
+ "to": "SEMANTIC_PROOF",
1274
+ "reason": "Reference consistency does not prove the claimed semantics."
1275
+ },
1276
+ {
1277
+ "from": "TESTED",
1278
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1279
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1280
+ }
1281
+ ],
1282
+ "maintainerDecisionRequired": false
1283
+ },
1284
+ {
1285
+ "id": "SIGNED-KRL-001",
1286
+ "title": "Duplicate revoked kids rejected",
1287
+ "source": {
1288
+ "path": "docs/spec/artifacts/signed-krl-v1.md",
1289
+ "section": "## 9. `revoked_kids` deduplication",
1290
+ "quote": "Verifiers MUST reject any artifact containing duplicate entries.",
1291
+ "role": "normative"
1292
+ },
1293
+ "strength": "MUST",
1294
+ "category": "TRUST",
1295
+ "implementation": [
1296
+ {
1297
+ "path": "packages/core/src/verification/verifySignedKrl.ts",
1298
+ "symbol": "verifySignedKrl"
1299
+ }
1300
+ ],
1301
+ "evidence": [
1302
+ {
1303
+ "path": "packages/conformance/vectors/signed-krl-verification.json",
1304
+ "selector": {
1305
+ "type": "vector",
1306
+ "id": "krl-005"
1307
+ },
1308
+ "kind": "vector",
1309
+ "negative": true,
1310
+ "portable": false,
1311
+ "runner": {
1312
+ "path": "packages/conformance/src/validate.ts",
1313
+ "contains": "signed-krl-verification.json",
1314
+ "command": "pnpm -C packages/conformance validate",
1315
+ "runtime": "TypeScript"
1316
+ },
1317
+ "supports": "Duplicate revoked kid entries rejected."
1318
+ },
1319
+ {
1320
+ "path": "docs/spec/test-vectors/signed-krl-v1.json",
1321
+ "selector": {
1322
+ "type": "vector",
1323
+ "id": "KRL_DUPLICATE_REVOKED_KIDS"
1324
+ },
1325
+ "kind": "cross-runtime",
1326
+ "negative": true,
1327
+ "portable": true,
1328
+ "runner": {
1329
+ "path": "python-harness/verify_signed_krl_vectors.py",
1330
+ "contains": "signed-krl-v1.json",
1331
+ "command": "pnpm test:vectors:py",
1332
+ "runtime": "Python"
1333
+ },
1334
+ "supports": "Independent Python duplicate-entry rejection."
1335
+ }
1336
+ ],
1337
+ "requiredLevels": [
1338
+ "TRACEABLE",
1339
+ "TESTED",
1340
+ "ADVERSARIAL_TESTED",
1341
+ "CONFORMANCE_TESTED"
1342
+ ],
1343
+ "securityCritical": true,
1344
+ "negativeRequired": true,
1345
+ "classification": "portable",
1346
+ "portableRequired": true,
1347
+ "notes": "Evidence demonstrates the selected cases only; review semantic adequacy when changing this claim.",
1348
+ "recordType": "requirement",
1349
+ "normativeState": "specified",
1350
+ "evidenceState": "mapped",
1351
+ "scopeDisposition": "in-scope",
1352
+ "appliesWhen": [],
1353
+ "dependsOn": [
1354
+ {
1355
+ "id": "RT-TRUST-2",
1356
+ "relation": "conditional-mitigation",
1357
+ "reason": "Artifact verification alone does not close the deployment KRL residual."
1358
+ }
1359
+ ],
1360
+ "inferenceGuard": [
1361
+ {
1362
+ "from": "STRUCTURAL_PASS",
1363
+ "to": "SEMANTIC_PROOF",
1364
+ "reason": "Reference consistency does not prove the claimed semantics."
1365
+ },
1366
+ {
1367
+ "from": "TESTED",
1368
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1369
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1370
+ },
1371
+ {
1372
+ "from": "KRL_SIGNATURE_VALID",
1373
+ "to": "KRL_DEPLOYMENT_RESIDUAL_CLOSED",
1374
+ "reason": "Required deployment configuration and persistent stores are not established by artifact vectors."
1375
+ }
1376
+ ],
1377
+ "maintainerDecisionRequired": false
1378
+ },
1379
+ {
1380
+ "id": "SIGNED-KRL-002",
1381
+ "title": "Invalid KRL signature rejected",
1382
+ "source": {
1383
+ "path": "docs/spec/artifacts/signed-krl-v1.md",
1384
+ "section": "## 11. Reason codes",
1385
+ "quote": "| `KRL_SIG_INVALID` | Ed25519 signature verification fails. |",
1386
+ "role": "normative"
1387
+ },
1388
+ "strength": "normative-statement",
1389
+ "category": "VERIFY",
1390
+ "implementation": [
1391
+ {
1392
+ "path": "packages/core/src/verification/verifySignedKrl.ts",
1393
+ "symbol": "verifySignedKrl"
1394
+ }
1395
+ ],
1396
+ "evidence": [
1397
+ {
1398
+ "path": "packages/conformance/vectors/signed-krl-verification.json",
1399
+ "selector": {
1400
+ "type": "vector",
1401
+ "id": "krl-002"
1402
+ },
1403
+ "kind": "vector",
1404
+ "negative": true,
1405
+ "portable": false,
1406
+ "runner": {
1407
+ "path": "packages/conformance/src/validate.ts",
1408
+ "contains": "signed-krl-verification.json",
1409
+ "command": "pnpm -C packages/conformance validate",
1410
+ "runtime": "TypeScript"
1411
+ },
1412
+ "supports": "Tampered signature rejected."
1413
+ },
1414
+ {
1415
+ "path": "docs/spec/test-vectors/signed-krl-v1.json",
1416
+ "selector": {
1417
+ "type": "vector",
1418
+ "id": "KRL_SIGNED_INVALID_SIG"
1419
+ },
1420
+ "kind": "cross-runtime",
1421
+ "negative": true,
1422
+ "portable": true,
1423
+ "runner": {
1424
+ "path": "python-harness/verify_signed_krl_vectors.py",
1425
+ "contains": "signed-krl-v1.json",
1426
+ "command": "pnpm test:vectors:py",
1427
+ "runtime": "Python"
1428
+ },
1429
+ "supports": "Independent Python Ed25519 verification rejects tampering."
1430
+ }
1431
+ ],
1432
+ "requiredLevels": [
1433
+ "TRACEABLE",
1434
+ "TESTED",
1435
+ "ADVERSARIAL_TESTED",
1436
+ "CONFORMANCE_TESTED"
1437
+ ],
1438
+ "securityCritical": true,
1439
+ "negativeRequired": true,
1440
+ "classification": "portable",
1441
+ "portableRequired": true,
1442
+ "notes": "Evidence demonstrates the selected cases only; review semantic adequacy when changing this claim.",
1443
+ "recordType": "requirement",
1444
+ "normativeState": "specified",
1445
+ "evidenceState": "mapped",
1446
+ "scopeDisposition": "in-scope",
1447
+ "appliesWhen": [],
1448
+ "dependsOn": [
1449
+ {
1450
+ "id": "RT-TRUST-2",
1451
+ "relation": "conditional-mitigation",
1452
+ "reason": "Artifact verification alone does not close the deployment KRL residual."
1453
+ }
1454
+ ],
1455
+ "inferenceGuard": [
1456
+ {
1457
+ "from": "STRUCTURAL_PASS",
1458
+ "to": "SEMANTIC_PROOF",
1459
+ "reason": "Reference consistency does not prove the claimed semantics."
1460
+ },
1461
+ {
1462
+ "from": "TESTED",
1463
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1464
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1465
+ },
1466
+ {
1467
+ "from": "KRL_SIGNATURE_VALID",
1468
+ "to": "KRL_DEPLOYMENT_RESIDUAL_CLOSED",
1469
+ "reason": "Required deployment configuration and persistent stores are not established by artifact vectors."
1470
+ }
1471
+ ],
1472
+ "maintainerDecisionRequired": false
1473
+ },
1474
+ {
1475
+ "id": "PROFILE-C-001",
1476
+ "title": "Live-state hash must match committed state hash",
1477
+ "source": {
1478
+ "path": "docs/spec/interoperability/external-provider-profile.md",
1479
+ "section": "#### 2.3.2 Additional Verifier Requirements (beyond Profile B)",
1480
+ "quote": "| Live-state hash match | `computeStateHash(state)` == `authorization.state_hash` | `OxDeAIAuthorizationError` |",
1481
+ "role": "normative"
1482
+ },
1483
+ "strength": "normative-statement",
1484
+ "category": "STATE",
1485
+ "implementation": [
1486
+ {
1487
+ "path": "packages/guard/src/guard.ts",
1488
+ "symbol": "OxDeAIGuard"
1489
+ }
1490
+ ],
1491
+ "evidence": [
1492
+ {
1493
+ "path": "packages/guard/src/test/guard.state-binding.test.ts",
1494
+ "selector": {
1495
+ "type": "test",
1496
+ "id": "SB-2 mismatched state_hash: execute is blocked and OxDeAIAuthorizationError is thrown"
1497
+ },
1498
+ "kind": "integration",
1499
+ "negative": true,
1500
+ "portable": false,
1501
+ "runner": {
1502
+ "path": "packages/guard/package.json",
1503
+ "contains": "dist/test/guard.state-binding.test.js",
1504
+ "command": "pnpm -C packages/guard test",
1505
+ "runtime": "TypeScript"
1506
+ },
1507
+ "supports": "Mismatched state hash blocks execute."
1508
+ },
1509
+ {
1510
+ "path": "docs/spec/test-vectors/profile-c-state-verification.json",
1511
+ "selector": {
1512
+ "type": "vector",
1513
+ "id": "profile-c-002"
1514
+ },
1515
+ "kind": "cross-runtime",
1516
+ "negative": true,
1517
+ "portable": true,
1518
+ "runner": {
1519
+ "path": "python-harness/verify_profile_c_vectors.py",
1520
+ "contains": "profile-c-state-verification.json",
1521
+ "command": "pnpm test:vectors:py",
1522
+ "runtime": "Python"
1523
+ },
1524
+ "supports": "Portable hash comparison mismatch, not execution or provider honesty."
1525
+ }
1526
+ ],
1527
+ "requiredLevels": [
1528
+ "TRACEABLE",
1529
+ "TESTED",
1530
+ "INTEGRATION_TESTED",
1531
+ "ADVERSARIAL_TESTED",
1532
+ "CONFORMANCE_TESTED"
1533
+ ],
1534
+ "securityCritical": true,
1535
+ "negativeRequired": true,
1536
+ "classification": "portable",
1537
+ "portableRequired": true,
1538
+ "notes": "Portable evidence covers hash comparison only. Guard integration covers callback blocking separately. Neither establishes current or honest state. The docs Profile-C corpus is authoritative; its package representation is a deterministic projection of the same cases, not independent corpus evidence. Authority and actual consumer mappings are recorded in docs/conformance/corpus-authority.json.",
1539
+ "recordType": "requirement",
1540
+ "normativeState": "specified",
1541
+ "evidenceState": "mapped",
1542
+ "scopeDisposition": "in-scope",
1543
+ "appliesWhen": [],
1544
+ "dependsOn": [
1545
+ {
1546
+ "id": "RT-TRUST-1",
1547
+ "relation": "trust-premise",
1548
+ "reason": "State-hash consistency does not establish state-provider integrity."
1549
+ }
1550
+ ],
1551
+ "inferenceGuard": [
1552
+ {
1553
+ "from": "STRUCTURAL_PASS",
1554
+ "to": "SEMANTIC_PROOF",
1555
+ "reason": "Reference consistency does not prove the claimed semantics."
1556
+ },
1557
+ {
1558
+ "from": "TESTED",
1559
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1560
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1561
+ },
1562
+ {
1563
+ "from": "STATE_HASH_MATCH",
1564
+ "to": "STATE_SOURCE_TRUSTED",
1565
+ "reason": "Honest, current, authoritative state is a deployment premise."
1566
+ },
1567
+ {
1568
+ "from": "PROFILE_C_PROJECTION_MATCH",
1569
+ "to": "INDEPENDENT_CORPUS_EVIDENCE",
1570
+ "reason": "Generated package vectors represent the same docs-authoritative cases; structural equality does not add evidence or prove semantic conformance."
1571
+ }
1572
+ ],
1573
+ "maintainerDecisionRequired": false
1574
+ },
1575
+ {
1576
+ "id": "PEP-ENFORCE-001",
1577
+ "title": "Invalid authorization prevents execution",
1578
+ "source": {
1579
+ "path": "docs/spec/artifacts/authorization-v1.md",
1580
+ "section": "## 1. Purpose",
1581
+ "quote": "> If no valid `AuthorizationV1` is present, execution **MUST NOT** occur.",
1582
+ "role": "normative"
1583
+ },
1584
+ "strength": "MUST NOT",
1585
+ "category": "ENFORCEMENT",
1586
+ "implementation": [
1587
+ {
1588
+ "path": "packages/guard/src/guard.ts",
1589
+ "symbol": "OxDeAIGuard"
1590
+ }
1591
+ ],
1592
+ "evidence": [
1593
+ {
1594
+ "path": "packages/guard/src/test/guard.authorization.test.ts",
1595
+ "selector": {
1596
+ "type": "test",
1597
+ "id": "A-1 tampered signature: execute is blocked and OxDeAIAuthorizationError is thrown"
1598
+ },
1599
+ "kind": "integration",
1600
+ "negative": true,
1601
+ "portable": false,
1602
+ "runner": {
1603
+ "path": "packages/guard/package.json",
1604
+ "contains": "dist/test/guard.authorization.test.js",
1605
+ "command": "pnpm -C packages/guard test",
1606
+ "runtime": "TypeScript"
1607
+ },
1608
+ "supports": "Invalid signature prevents execute callback."
1609
+ }
1610
+ ],
1611
+ "requiredLevels": [
1612
+ "TRACEABLE",
1613
+ "TESTED",
1614
+ "INTEGRATION_TESTED",
1615
+ "ADVERSARIAL_TESTED"
1616
+ ],
1617
+ "securityCritical": true,
1618
+ "negativeRequired": true,
1619
+ "classification": "implementation-specific",
1620
+ "portableRequired": false,
1621
+ "notes": "Selected guard rejection case only. Does not prove every possible execution path is non-bypassable.",
1622
+ "recordType": "requirement",
1623
+ "normativeState": "specified",
1624
+ "evidenceState": "mapped",
1625
+ "scopeDisposition": "in-scope",
1626
+ "appliesWhen": [],
1627
+ "dependsOn": [],
1628
+ "inferenceGuard": [
1629
+ {
1630
+ "from": "STRUCTURAL_PASS",
1631
+ "to": "SEMANTIC_PROOF",
1632
+ "reason": "Reference consistency does not prove the claimed semantics."
1633
+ },
1634
+ {
1635
+ "from": "TESTED",
1636
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1637
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1638
+ }
1639
+ ],
1640
+ "maintainerDecisionRequired": false
1641
+ },
1642
+ {
1643
+ "id": "PEP-DEPLOY-001",
1644
+ "title": "Gateway is sole execution boundary",
1645
+ "source": {
1646
+ "path": "docs/spec/enforcement/pep-gateway-v1.md",
1647
+ "section": "### 4.1 Execution Boundary",
1648
+ "quote": "The PEP Gateway **MUST** act as the **sole execution boundary** for protected actions.",
1649
+ "role": "normative"
1650
+ },
1651
+ "strength": "MUST",
1652
+ "category": "TRUST",
1653
+ "implementation": [],
1654
+ "evidence": [],
1655
+ "requiredLevels": [],
1656
+ "securityCritical": true,
1657
+ "negativeRequired": false,
1658
+ "classification": "deployment-assumption",
1659
+ "portableRequired": false,
1660
+ "notes": "Deployment topology and upstream access control must be independently evidenced. Gateway tests cannot prove arbitrary deployment non-bypassability.",
1661
+ "recordType": "requirement",
1662
+ "normativeState": "specified",
1663
+ "evidenceState": "gap",
1664
+ "scopeDisposition": "deployment",
1665
+ "appliesWhen": [],
1666
+ "dependsOn": [],
1667
+ "inferenceGuard": [
1668
+ {
1669
+ "from": "STRUCTURAL_PASS",
1670
+ "to": "SEMANTIC_PROOF",
1671
+ "reason": "Reference consistency does not prove the claimed semantics."
1672
+ },
1673
+ {
1674
+ "from": "TESTED",
1675
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1676
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1677
+ }
1678
+ ],
1679
+ "maintainerDecisionRequired": true
1680
+ },
1681
+ {
1682
+ "id": "STATE-TRUST-001",
1683
+ "title": "State provider serves coherent view",
1684
+ "source": {
1685
+ "path": "docs/spec/state-provider-requirements.md",
1686
+ "section": "### 2.1 Requirement",
1687
+ "quote": "A compliant state provider MUST serve a coherent state view to `getState()`.",
1688
+ "role": "normative"
1689
+ },
1690
+ "strength": "MUST",
1691
+ "category": "STATE",
1692
+ "implementation": [],
1693
+ "evidence": [],
1694
+ "requiredLevels": [],
1695
+ "securityCritical": true,
1696
+ "negativeRequired": false,
1697
+ "classification": "deployment-assumption",
1698
+ "portableRequired": false,
1699
+ "notes": "Provider honesty/coherence is an external deployment obligation. Hash equality and CAS tests do not demonstrate it for a deployed provider.",
1700
+ "recordType": "requirement",
1701
+ "normativeState": "specified",
1702
+ "evidenceState": "gap",
1703
+ "scopeDisposition": "deployment",
1704
+ "appliesWhen": [],
1705
+ "dependsOn": [
1706
+ {
1707
+ "id": "RT-TRUST-1",
1708
+ "relation": "trust-premise",
1709
+ "reason": "State-hash consistency does not establish state-provider integrity."
1710
+ }
1711
+ ],
1712
+ "inferenceGuard": [
1713
+ {
1714
+ "from": "STRUCTURAL_PASS",
1715
+ "to": "SEMANTIC_PROOF",
1716
+ "reason": "Reference consistency does not prove the claimed semantics."
1717
+ },
1718
+ {
1719
+ "from": "TESTED",
1720
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1721
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1722
+ },
1723
+ {
1724
+ "from": "STATE_HASH_MATCH",
1725
+ "to": "STATE_SOURCE_TRUSTED",
1726
+ "reason": "Honest, current, authoritative state is a deployment premise."
1727
+ }
1728
+ ],
1729
+ "maintainerDecisionRequired": true
1730
+ },
1731
+ {
1732
+ "id": "VERIFY-ORDER-001",
1733
+ "title": "Normative verification ordering",
1734
+ "source": {
1735
+ "path": "docs/spec/verification/verification-v1.md",
1736
+ "section": "## 9. Determinism and Ordering",
1737
+ "quote": "- Check ordering **MUST** follow the sequences in §§5–6 to ensure deterministic results across implementations.",
1738
+ "role": "normative"
1739
+ },
1740
+ "strength": "MUST",
1741
+ "category": "VERIFY",
1742
+ "implementation": [],
1743
+ "evidence": [],
1744
+ "requiredLevels": [],
1745
+ "securityCritical": true,
1746
+ "negativeRequired": false,
1747
+ "classification": "portable",
1748
+ "portableRequired": false,
1749
+ "notes": "Verification §5 puts signature before expiry; AuthorizationV1 §10 puts expiry before signature. Core collects/sorts violations. No claim of satisfying both incompatible sequences. #320 is adjacent but does NOT resolve this claim: it constrains the ordering of a durable side effect relative to authentication (verification-v1 §4.2), whereas this claim concerns the ordering of checks within verification and its ambiguity is between two spec sections. #320 does add a constraint any eventual resolution must respect: whichever check sequence is chosen, no durable write may precede authentication.",
1750
+ "recordType": "requirement",
1751
+ "normativeState": "ambiguous",
1752
+ "evidenceState": "gap",
1753
+ "scopeDisposition": "in-scope",
1754
+ "appliesWhen": [],
1755
+ "dependsOn": [],
1756
+ "inferenceGuard": [
1757
+ {
1758
+ "from": "STRUCTURAL_PASS",
1759
+ "to": "SEMANTIC_PROOF",
1760
+ "reason": "Reference consistency does not prove the claimed semantics."
1761
+ },
1762
+ {
1763
+ "from": "TESTED",
1764
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1765
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1766
+ }
1767
+ ],
1768
+ "maintainerDecisionRequired": true
1769
+ },
1770
+ {
1771
+ "id": "DELEGATION-AUDIT-001",
1772
+ "title": "PEP delegation events included in hash-chained audit log",
1773
+ "source": {
1774
+ "path": "docs/spec/artifacts/delegation-v1.md",
1775
+ "section": "## 7. Audit Event",
1776
+ "quote": "Both events MUST be included in the hash-chained audit log.",
1777
+ "role": "normative"
1778
+ },
1779
+ "strength": "MUST",
1780
+ "category": "AUDIT",
1781
+ "implementation": [],
1782
+ "evidence": [],
1783
+ "requiredLevels": [],
1784
+ "securityCritical": false,
1785
+ "negativeRequired": false,
1786
+ "classification": "implementation-specific",
1787
+ "portableRequired": false,
1788
+ "notes": "No direct mapping found for required DELEGATION_EXECUTION/DELEGATION_DENIED hash-chained events. Guard boundary event callbacks alone are not evidence of this contract. #320 changes what a denied delegation leaves behind: previously a rejected forgery left a replay entry and no audit event; it now leaves neither. Closing this claim must account for that — #320 removes a side effect, it does not add a denial record, and must not be read as narrowing what a denial is required to record.",
1789
+ "recordType": "requirement",
1790
+ "normativeState": "specified",
1791
+ "evidenceState": "gap",
1792
+ "scopeDisposition": "in-scope",
1793
+ "appliesWhen": [],
1794
+ "dependsOn": [],
1795
+ "inferenceGuard": [
1796
+ {
1797
+ "from": "STRUCTURAL_PASS",
1798
+ "to": "SEMANTIC_PROOF",
1799
+ "reason": "Reference consistency does not prove the claimed semantics."
1800
+ },
1801
+ {
1802
+ "from": "TESTED",
1803
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1804
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1805
+ }
1806
+ ],
1807
+ "maintainerDecisionRequired": true
1808
+ },
1809
+ {
1810
+ "id": "ETA-SIGNING-001",
1811
+ "title": "ETA signing payload excludes entire signature field",
1812
+ "source": {
1813
+ "path": "docs/spec/core/eta-core-v1.md",
1814
+ "section": "## 5. Authorization Artifact (AuthorizationV1)",
1815
+ "quote": "- The signature preimage MUST be the canonical JSON bytes of the AuthorizationV1 object, **excluding the `signature` field**, using the canonicalization rules in `canonicalization-v1.md`.",
1816
+ "role": "normative"
1817
+ },
1818
+ "strength": "MUST",
1819
+ "category": "ARTIFACT",
1820
+ "implementation": [],
1821
+ "evidence": [],
1822
+ "requiredLevels": [],
1823
+ "securityCritical": true,
1824
+ "negativeRequired": false,
1825
+ "classification": "portable",
1826
+ "portableRequired": false,
1827
+ "notes": "ETA excludes entire signature field; AuthorizationV1 §5 retains nested alg/kid and defines encoding-specific prefix. Normative docs vectors use another verifier/preimage; do not equate corpora.",
1828
+ "recordType": "requirement",
1829
+ "normativeState": "ambiguous",
1830
+ "evidenceState": "gap",
1831
+ "scopeDisposition": "in-scope",
1832
+ "appliesWhen": [],
1833
+ "dependsOn": [],
1834
+ "inferenceGuard": [
1835
+ {
1836
+ "from": "STRUCTURAL_PASS",
1837
+ "to": "SEMANTIC_PROOF",
1838
+ "reason": "Reference consistency does not prove the claimed semantics."
1839
+ },
1840
+ {
1841
+ "from": "TESTED",
1842
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1843
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1844
+ }
1845
+ ],
1846
+ "maintainerDecisionRequired": true
1847
+ },
1848
+ {
1849
+ "id": "ETA-DETERMINISM-001",
1850
+ "title": "Identical trusted inputs produce deterministic signed authorizations",
1851
+ "source": {
1852
+ "path": "docs/spec/core/eta-core-v1.md",
1853
+ "section": "### Requirements",
1854
+ "quote": "- Identical inputs MUST produce identical outputs.",
1855
+ "role": "normative"
1856
+ },
1857
+ "strength": "MUST",
1858
+ "category": "ARTIFACT",
1859
+ "implementation": [
1860
+ {
1861
+ "path": "packages/core/src/policy/PolicyEngine.ts",
1862
+ "symbol": "PolicyEngine"
1863
+ }
1864
+ ],
1865
+ "evidence": [
1866
+ {
1867
+ "path": "packages/core/src/test/authorization.trusted-time-issuance.test.ts",
1868
+ "selector": {
1869
+ "type": "test",
1870
+ "id": "identical trusted inputs produce deterministic Ed25519 authorizations"
1871
+ },
1872
+ "kind": "integration",
1873
+ "negative": false,
1874
+ "portable": false,
1875
+ "runner": {
1876
+ "path": "packages/core/package.json",
1877
+ "contains": "dist/test/*.test.js",
1878
+ "command": "pnpm -C packages/core test",
1879
+ "runtime": "TypeScript"
1880
+ },
1881
+ "supports": "Repeated trusted inputs produce identical Ed25519 authorization objects."
1882
+ }
1883
+ ],
1884
+ "requiredLevels": [
1885
+ "TRACEABLE",
1886
+ "TESTED",
1887
+ "INTEGRATION_TESTED"
1888
+ ],
1889
+ "securityCritical": true,
1890
+ "negativeRequired": false,
1891
+ "classification": "portable",
1892
+ "portableRequired": false,
1893
+ "notes": "Inputs include trusted evaluationTime and fixed configuration per trusted-time profile. This selected test does not prove all decision modules deterministic.",
1894
+ "recordType": "requirement",
1895
+ "normativeState": "specified",
1896
+ "evidenceState": "mapped",
1897
+ "scopeDisposition": "in-scope",
1898
+ "appliesWhen": [],
1899
+ "dependsOn": [],
1900
+ "inferenceGuard": [
1901
+ {
1902
+ "from": "STRUCTURAL_PASS",
1903
+ "to": "SEMANTIC_PROOF",
1904
+ "reason": "Reference consistency does not prove the claimed semantics."
1905
+ },
1906
+ {
1907
+ "from": "TESTED",
1908
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1909
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1910
+ }
1911
+ ],
1912
+ "maintainerDecisionRequired": false
1913
+ },
1914
+ {
1915
+ "id": "CANON-ESC-001",
1916
+ "title": "Unresolved canonicalization corpus lock (maintainer-supplied identifier)",
1917
+ "source": {
1918
+ "path": "docs/spec/core/canonicalization-v1.md",
1919
+ "section": "## 6. Serialization Rules (normative)",
1920
+ "quote": "- Strings: normalize to Unicode NFC and encode as JSON strings.",
1921
+ "role": "context"
1922
+ },
1923
+ "strength": "not-applicable",
1924
+ "category": "ARTIFACT",
1925
+ "implementation": [],
1926
+ "evidence": [],
1927
+ "requiredLevels": [],
1928
+ "securityCritical": true,
1929
+ "negativeRequired": false,
1930
+ "classification": "documentation-only",
1931
+ "portableRequired": false,
1932
+ "notes": "CANON-ESC-001 was requested for registration by the maintainer; no existing repository definition of this identifier was found. This source is context only. Exact escaping/corpus-lock meaning and disposition require a maintainer decision; no new serialization rule is asserted. Issue #290 preserves all current Profile-C state and signed-payload values, which use plain printable ASCII without disputed escaping; PEM formatting is outside signing payloads. Projection therefore does not require resolving this lock for the current eight cases. It remains unresolved/deferred; future escape-sensitive inputs require separate review.",
1933
+ "recordType": "corpus-lock",
1934
+ "normativeState": "unresolved",
1935
+ "evidenceState": "unassessed",
1936
+ "scopeDisposition": "deferred",
1937
+ "appliesWhen": [],
1938
+ "dependsOn": [],
1939
+ "inferenceGuard": [
1940
+ {
1941
+ "from": "STRUCTURAL_PASS",
1942
+ "to": "SEMANTIC_PROOF",
1943
+ "reason": "Reference consistency does not prove the claimed semantics."
1944
+ },
1945
+ {
1946
+ "from": "TESTED",
1947
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1948
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1949
+ },
1950
+ {
1951
+ "from": "SELECTED_CANONICALIZATION_VECTORS_PASS",
1952
+ "to": "CANON_ESC_LOCK_RESOLVED",
1953
+ "reason": "Existing vectors do not resolve an undefined corpus lock."
1954
+ }
1955
+ ],
1956
+ "maintainerDecisionRequired": true
1957
+ },
1958
+ {
1959
+ "id": "RT-TRUST-1",
1960
+ "title": "State provider integrity residual",
1961
+ "source": {
1962
+ "path": "docs/audits/protocol-audit-post-interoperability.md",
1963
+ "section": "### 5.3 Residual Trust Risks",
1964
+ "quote": "**RT-TRUST-1: State provider integrity** *(SPECIFIED WITH RESIDUAL)*",
1965
+ "role": "context"
1966
+ },
1967
+ "strength": "not-applicable",
1968
+ "category": "TRUST",
1969
+ "implementation": [],
1970
+ "evidence": [],
1971
+ "requiredLevels": [],
1972
+ "securityCritical": true,
1973
+ "negativeRequired": false,
1974
+ "classification": "documentation-only",
1975
+ "portableRequired": false,
1976
+ "notes": "The residual is not closed. Minimum state-provider requirements exist, but provider compliance and integrity remain deployment responsibilities. This lock is an audit observation, not another executable protocol requirement.",
1977
+ "recordType": "corpus-lock",
1978
+ "normativeState": "non-normative",
1979
+ "evidenceState": "unassessed",
1980
+ "scopeDisposition": "deployment",
1981
+ "appliesWhen": [],
1982
+ "dependsOn": [],
1983
+ "inferenceGuard": [
1984
+ {
1985
+ "from": "STRUCTURAL_PASS",
1986
+ "to": "SEMANTIC_PROOF",
1987
+ "reason": "Reference consistency does not prove the claimed semantics."
1988
+ },
1989
+ {
1990
+ "from": "TESTED",
1991
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
1992
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
1993
+ },
1994
+ {
1995
+ "from": "STATE_HASH_MATCH",
1996
+ "to": "STATE_SOURCE_TRUSTED",
1997
+ "reason": "Matching state can be manufactured by a compromised provider."
1998
+ }
1999
+ ],
2000
+ "maintainerDecisionRequired": true
2001
+ },
2002
+ {
2003
+ "id": "RT-TRUST-2",
2004
+ "title": "Conditional KRL transport-integrity residual",
2005
+ "source": {
2006
+ "path": "docs/spec/interoperability/external-provider-profile.md",
2007
+ "section": "#### 2.2.5 KRL Integrity at Profile B",
2008
+ "quote": "Full RT-TRUST-2 closure requires `signed_required` + `verifyKrl` + `KrlWatermarkStore` + `SignedKrlCache`; compatibility modes retain residual transport-trust risk.",
2009
+ "role": "context"
2010
+ },
2011
+ "strength": "not-applicable",
2012
+ "category": "TRUST",
2013
+ "implementation": [],
2014
+ "evidence": [],
2015
+ "requiredLevels": [],
2016
+ "securityCritical": true,
2017
+ "negativeRequired": false,
2018
+ "classification": "documentation-only",
2019
+ "portableRequired": false,
2020
+ "notes": "Conditional closure is documented for configured deployments, not established here. Compatibility modes retain residual risk. Applicability conditions describe the documented closure context; the checker never evaluates a deployment or declares this lock closed.",
2021
+ "recordType": "corpus-lock",
2022
+ "normativeState": "non-normative",
2023
+ "evidenceState": "unassessed",
2024
+ "scopeDisposition": "conditional",
2025
+ "appliesWhen": [
2026
+ {
2027
+ "setting": "krlMode",
2028
+ "equals": "signed_required"
2029
+ },
2030
+ {
2031
+ "setting": "verifyKrl",
2032
+ "equals": "configured"
2033
+ },
2034
+ {
2035
+ "setting": "KrlWatermarkStore",
2036
+ "equals": "configured"
2037
+ },
2038
+ {
2039
+ "setting": "SignedKrlCache",
2040
+ "equals": "configured"
2041
+ }
2042
+ ],
2043
+ "dependsOn": [],
2044
+ "inferenceGuard": [
2045
+ {
2046
+ "from": "STRUCTURAL_PASS",
2047
+ "to": "SEMANTIC_PROOF",
2048
+ "reason": "Reference consistency does not prove the claimed semantics."
2049
+ },
2050
+ {
2051
+ "from": "TESTED",
2052
+ "to": "WHOLE_PROTOCOL_CONFORMANCE",
2053
+ "reason": "Selected executable cases do not establish whole-protocol conformance."
2054
+ },
2055
+ {
2056
+ "from": "KRL_SIGNATURE_VALID",
2057
+ "to": "KRL_DEPLOYMENT_RESIDUAL_CLOSED",
2058
+ "reason": "Signature verification does not establish integrity mode, callback, durable watermark or signed cache configuration."
2059
+ }
2060
+ ],
2061
+ "maintainerDecisionRequired": true
2062
+ }
2063
+ ]
2064
+ },
2065
+ "manifest": {
2066
+ "version": 1,
2067
+ "corpora": [
2068
+ {
2069
+ "id": "docs-canonicalization-v1",
2070
+ "authority": "docs/spec/test-vectors/canonicalization-v1.json",
2071
+ "representations": [
2072
+ {
2073
+ "path": "docs/spec/test-vectors/canonicalization-v1.json",
2074
+ "format": "vectors",
2075
+ "generated": false
2076
+ }
2077
+ ],
2078
+ "status": "normative",
2079
+ "semanticScope": "Canonical bytes, SHA-256 and selected invalid inputs.",
2080
+ "spec": "docs/spec/core/canonicalization-v1.md",
2081
+ "consumers": [
2082
+ {
2083
+ "representation": "docs/spec/test-vectors/canonicalization-v1.json",
2084
+ "path": "scripts/verify-canonicalization-vectors.ts",
2085
+ "binding": "canonicalization-v1.json",
2086
+ "command": "pnpm test:vectors:ts",
2087
+ "runtime": "TypeScript",
2088
+ "execution": "default-ci",
2089
+ "role": "verifier",
2090
+ "notes": "Selected corpus cases only; existence is not execution proof."
2091
+ },
2092
+ {
2093
+ "representation": "docs/spec/test-vectors/canonicalization-v1.json",
2094
+ "path": "go-harness/canonicalization_verify.go",
2095
+ "binding": "canonicalization-v1.json",
2096
+ "command": "pnpm test:vectors:go",
2097
+ "runtime": "Go",
2098
+ "execution": "default-ci",
2099
+ "role": "verifier",
2100
+ "notes": "Selected corpus cases only; existence is not execution proof."
2101
+ },
2102
+ {
2103
+ "representation": "docs/spec/test-vectors/canonicalization-v1.json",
2104
+ "path": "python-harness/verify_canonicalization_vectors.py",
2105
+ "binding": "canonicalization-v1.json",
2106
+ "command": "pnpm test:vectors:py",
2107
+ "runtime": "Python",
2108
+ "execution": "default-ci",
2109
+ "role": "verifier",
2110
+ "notes": "Selected corpus cases only; existence is not execution proof."
2111
+ },
2112
+ {
2113
+ "representation": "docs/spec/test-vectors/canonicalization-v1.json",
2114
+ "path": "packages/guard/src/test/gateway.vectors.test.ts",
2115
+ "binding": "canonicalization-v1.json",
2116
+ "command": "pnpm --filter @oxdeai/guard test",
2117
+ "runtime": "TypeScript",
2118
+ "execution": "default-ci",
2119
+ "role": "verifier",
2120
+ "notes": "Default guard test consumer; verifies all 11 canonicalization vectors."
2121
+ }
2122
+ ],
2123
+ "supportFiles": []
2124
+ },
2125
+ {
2126
+ "id": "docs-authorization-v1",
2127
+ "authority": "docs/spec/test-vectors/authorization-v1.json",
2128
+ "representations": [
2129
+ {
2130
+ "path": "docs/spec/test-vectors/authorization-v1.json",
2131
+ "format": "vectors",
2132
+ "generated": false
2133
+ }
2134
+ ],
2135
+ "status": "normative",
2136
+ "semanticScope": "Locked AuthorizationV1 standalone verification cases; distinct from package verifier corpora.",
2137
+ "spec": "docs/spec/artifacts/authorization-v1.md",
2138
+ "consumers": [
2139
+ {
2140
+ "representation": "docs/spec/test-vectors/authorization-v1.json",
2141
+ "path": "scripts/verify-authorization-vectors.mjs",
2142
+ "binding": "authorization-v1.json",
2143
+ "command": "pnpm test:vectors:auth",
2144
+ "runtime": "JavaScript",
2145
+ "execution": "default-ci",
2146
+ "role": "verifier",
2147
+ "notes": "Selected corpus cases only; existence is not execution proof."
2148
+ },
2149
+ {
2150
+ "representation": "docs/spec/test-vectors/authorization-v1.json",
2151
+ "path": "packages/guard/src/test/gateway.vectors.test.ts",
2152
+ "binding": "authorization-v1.json",
2153
+ "command": "pnpm --filter @oxdeai/guard test",
2154
+ "runtime": "TypeScript",
2155
+ "execution": "default-ci",
2156
+ "role": "verifier",
2157
+ "notes": "Default guard test consumer; 12 authorization corpus cases combine strict Core verification with fixture action/state-context checks. Static fixture comparisons are not live-state gateway verification or Profile C evidence."
2158
+ },
2159
+ {
2160
+ "representation": "docs/spec/test-vectors/authorization-v1.json",
2161
+ "path": "scripts/verify-pep-vectors.mjs",
2162
+ "binding": "authorization-v1.json",
2163
+ "command": "pnpm test:vectors:pep",
2164
+ "runtime": "JavaScript",
2165
+ "execution": "default-ci",
2166
+ "role": "input-fixture",
2167
+ "notes": "Loads referenced authorization fixtures to evaluate PEP cases."
2168
+ }
2169
+ ],
2170
+ "supportFiles": []
2171
+ },
2172
+ {
2173
+ "id": "docs-pep-vectors-v1",
2174
+ "authority": "docs/spec/test-vectors/pep-vectors-v1.json",
2175
+ "representations": [
2176
+ {
2177
+ "path": "docs/spec/test-vectors/pep-vectors-v1.json",
2178
+ "format": "vectors",
2179
+ "generated": false
2180
+ }
2181
+ ],
2182
+ "status": "normative",
2183
+ "semanticScope": "Standalone gateway decisions and upstream behavior; not all guard integration semantics.",
2184
+ "spec": "docs/spec/enforcement/pep-gateway-v1.md",
2185
+ "consumers": [
2186
+ {
2187
+ "representation": "docs/spec/test-vectors/pep-vectors-v1.json",
2188
+ "path": "scripts/verify-pep-vectors.mjs",
2189
+ "binding": "pep-vectors-v1.json",
2190
+ "command": "pnpm test:vectors:pep",
2191
+ "runtime": "JavaScript",
2192
+ "execution": "default-ci",
2193
+ "role": "verifier",
2194
+ "notes": "Standalone fixture evaluator exercises all 9 cases, including static snapshot comparisons. This does not establish live-state verification by createPepGatewayExecutor or Profile C conformance."
2195
+ },
2196
+ {
2197
+ "representation": "docs/spec/test-vectors/pep-vectors-v1.json",
2198
+ "path": "packages/guard/src/test/gateway.vectors.test.ts",
2199
+ "binding": "pep-vectors-v1.json",
2200
+ "command": "pnpm --filter @oxdeai/guard test",
2201
+ "runtime": "TypeScript",
2202
+ "execution": "default-ci",
2203
+ "role": "verifier",
2204
+ "notes": "Default guard test consumer; 7 of 9 PEP cases exercise the common A/B gateway surface. pep-sb-state-mismatch and pep-sb-missing-state-snapshot are explicitly deferred pending profile/surface assignment, not counted as conformance passes. No live-state reader or Profile C claim; zero-upstream assertions cover applicable denials."
2205
+ }
2206
+ ],
2207
+ "supportFiles": []
2208
+ },
2209
+ {
2210
+ "id": "docs-delegation-vectors-v1",
2211
+ "authority": "docs/spec/test-vectors/delegation-vectors-v1.json",
2212
+ "representations": [
2213
+ {
2214
+ "path": "docs/spec/test-vectors/delegation-vectors-v1.json",
2215
+ "format": "vectors",
2216
+ "generated": false
2217
+ }
2218
+ ],
2219
+ "status": "supplemental",
2220
+ "semanticScope": "Existing delegation harness cases; conformance spec §8 still describes complete locked portable delegation corpus as pending.",
2221
+ "spec": "docs/spec/artifacts/delegation-v1.md",
2222
+ "consumers": [
2223
+ {
2224
+ "representation": "docs/spec/test-vectors/delegation-vectors-v1.json",
2225
+ "path": "scripts/verify-delegation-vectors.mjs",
2226
+ "binding": "delegation-vectors-v1.json",
2227
+ "command": "pnpm test:vectors:delegation",
2228
+ "runtime": "JavaScript",
2229
+ "execution": "default-ci",
2230
+ "role": "verifier",
2231
+ "notes": "Selected corpus cases only; existence is not execution proof."
2232
+ }
2233
+ ],
2234
+ "supportFiles": []
2235
+ },
2236
+ {
2237
+ "id": "profile-c",
2238
+ "authority": "docs/spec/test-vectors/profile-c-state-verification.json",
2239
+ "representations": [
2240
+ {
2241
+ "path": "docs/spec/test-vectors/profile-c-state-verification.json",
2242
+ "format": "vectors",
2243
+ "generated": false
2244
+ },
2245
+ {
2246
+ "path": "packages/conformance/vectors/profile-c-state-verification.json",
2247
+ "format": "vectors",
2248
+ "generated": true
2249
+ }
2250
+ ],
2251
+ "status": "normative",
2252
+ "semanticScope": "State hash comparison, strategy mismatch, compute error and selected Encoding B signatures; not provider honesty or full PEP behavior.",
2253
+ "spec": "docs/spec/interoperability/external-provider-profile.md",
2254
+ "consumers": [
2255
+ {
2256
+ "representation": "docs/spec/test-vectors/profile-c-state-verification.json",
2257
+ "path": "go-harness/profile_c_verify.go",
2258
+ "binding": "profile-c-state-verification.json",
2259
+ "command": "pnpm test:vectors:go",
2260
+ "runtime": "Go",
2261
+ "execution": "default-ci",
2262
+ "role": "verifier",
2263
+ "notes": "Selected corpus cases only; existence is not execution proof."
2264
+ },
2265
+ {
2266
+ "representation": "docs/spec/test-vectors/profile-c-state-verification.json",
2267
+ "path": "python-harness/verify_profile_c_vectors.py",
2268
+ "binding": "profile-c-state-verification.json",
2269
+ "command": "pnpm test:vectors:py",
2270
+ "runtime": "Python",
2271
+ "execution": "default-ci",
2272
+ "role": "verifier",
2273
+ "notes": "Selected corpus cases only; existence is not execution proof."
2274
+ },
2275
+ {
2276
+ "representation": "packages/conformance/vectors/profile-c-state-verification.json",
2277
+ "path": "packages/conformance/src/validate.ts",
2278
+ "binding": "profile-c-state-verification.json",
2279
+ "command": "pnpm -C packages/conformance validate",
2280
+ "runtime": "TypeScript",
2281
+ "execution": "default-ci",
2282
+ "role": "verifier",
2283
+ "notes": "Consumes the generated representation of the SAME eight cases; not independent corpus evidence."
2284
+ }
2285
+ ],
2286
+ "supportFiles": []
2287
+ },
2288
+ {
2289
+ "id": "docs-signed-krl-v1",
2290
+ "authority": "docs/spec/test-vectors/signed-krl-v1.json",
2291
+ "representations": [
2292
+ {
2293
+ "path": "docs/spec/test-vectors/signed-krl-v1.json",
2294
+ "format": "vectors",
2295
+ "generated": false
2296
+ }
2297
+ ],
2298
+ "status": "normative",
2299
+ "semanticScope": "Portable committed SignedKRL verification artifacts; distinct IDs and fixtures from package KRL corpus.",
2300
+ "spec": "docs/spec/artifacts/signed-krl-v1.md",
2301
+ "consumers": [
2302
+ {
2303
+ "representation": "docs/spec/test-vectors/signed-krl-v1.json",
2304
+ "path": "go-harness/signed_krl_verify.go",
2305
+ "binding": "signed-krl-v1.json",
2306
+ "command": "pnpm test:vectors:go",
2307
+ "runtime": "Go",
2308
+ "execution": "default-ci",
2309
+ "role": "verifier",
2310
+ "notes": "Selected corpus cases only; existence is not execution proof."
2311
+ },
2312
+ {
2313
+ "representation": "docs/spec/test-vectors/signed-krl-v1.json",
2314
+ "path": "python-harness/verify_signed_krl_vectors.py",
2315
+ "binding": "signed-krl-v1.json",
2316
+ "command": "pnpm test:vectors:py",
2317
+ "runtime": "Python",
2318
+ "execution": "default-ci",
2319
+ "role": "verifier",
2320
+ "notes": "Selected corpus cases only; existence is not execution proof."
2321
+ }
2322
+ ],
2323
+ "supportFiles": []
2324
+ },
2325
+ {
2326
+ "id": "package-audit-chain",
2327
+ "authority": "packages/conformance/vectors/audit-chain.json",
2328
+ "representations": [
2329
+ {
2330
+ "path": "packages/conformance/vectors/audit-chain.json",
2331
+ "format": "vectors",
2332
+ "generated": false
2333
+ }
2334
+ ],
2335
+ "status": "supplemental",
2336
+ "semanticScope": "Audit chain hashing and mutation examples.",
2337
+ "spec": "docs/spec/verification/verification-v1.md",
2338
+ "consumers": [
2339
+ {
2340
+ "representation": "packages/conformance/vectors/audit-chain.json",
2341
+ "path": "packages/conformance/src/validate.ts",
2342
+ "binding": "audit-chain.json",
2343
+ "command": "pnpm -C packages/conformance validate",
2344
+ "runtime": "TypeScript",
2345
+ "execution": "default-ci",
2346
+ "role": "verifier",
2347
+ "notes": "Selected corpus cases only; existence is not execution proof."
2348
+ },
2349
+ {
2350
+ "representation": "packages/conformance/vectors/audit-chain.json",
2351
+ "path": "packages/conformance/go-harness/main.go",
2352
+ "binding": "audit-chain.json",
2353
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2354
+ "runtime": "Go",
2355
+ "execution": "blocked",
2356
+ "role": "driver",
2357
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2358
+ }
2359
+ ],
2360
+ "supportFiles": []
2361
+ },
2362
+ {
2363
+ "id": "package-audit-verification",
2364
+ "authority": "packages/conformance/vectors/audit-verification.json",
2365
+ "representations": [
2366
+ {
2367
+ "path": "packages/conformance/vectors/audit-verification.json",
2368
+ "format": "vectors",
2369
+ "generated": false
2370
+ }
2371
+ ],
2372
+ "status": "supplemental",
2373
+ "semanticScope": "Audit verifier status/violation cases; not PEP delegation audit event compliance.",
2374
+ "spec": "docs/spec/verification/verification-v1.md",
2375
+ "consumers": [
2376
+ {
2377
+ "representation": "packages/conformance/vectors/audit-verification.json",
2378
+ "path": "packages/conformance/src/validate.ts",
2379
+ "binding": "audit-verification.json",
2380
+ "command": "pnpm -C packages/conformance validate",
2381
+ "runtime": "TypeScript",
2382
+ "execution": "default-ci",
2383
+ "role": "verifier",
2384
+ "notes": "Selected corpus cases only; existence is not execution proof."
2385
+ },
2386
+ {
2387
+ "representation": "packages/conformance/vectors/audit-verification.json",
2388
+ "path": "packages/conformance/go-harness/main.go",
2389
+ "binding": "audit-verification.json",
2390
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2391
+ "runtime": "Go",
2392
+ "execution": "blocked",
2393
+ "role": "driver",
2394
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2395
+ },
2396
+ {
2397
+ "representation": "packages/conformance/vectors/audit-verification.json",
2398
+ "path": "packages/conformance/go-harness/adapter_python.py",
2399
+ "binding": "audit-verification.json",
2400
+ "command": "python3 packages/conformance/go-harness/adapter_python.py",
2401
+ "runtime": "Python",
2402
+ "execution": "blocked",
2403
+ "role": "verifier",
2404
+ "notes": "Import fails at authorization-payload input.intent_id (#306); later loads unreachable. Some operations are frozen lookups, not independent verification."
2405
+ }
2406
+ ],
2407
+ "supportFiles": []
2408
+ },
2409
+ {
2410
+ "id": "package-authorization-payload",
2411
+ "authority": "packages/conformance/vectors/authorization-payload.json",
2412
+ "representations": [
2413
+ {
2414
+ "path": "packages/conformance/vectors/authorization-payload.json",
2415
+ "format": "vectors",
2416
+ "generated": false
2417
+ }
2418
+ ],
2419
+ "status": "implementation-specific",
2420
+ "semanticScope": "Reference engine authorization payload fixtures, not all portable AuthorizationV1 wire requirements.",
2421
+ "spec": "docs/spec/artifacts/authorization-v1.md",
2422
+ "consumers": [
2423
+ {
2424
+ "representation": "packages/conformance/vectors/authorization-payload.json",
2425
+ "path": "packages/conformance/src/validate.ts",
2426
+ "binding": "authorization-payload.json",
2427
+ "command": "pnpm -C packages/conformance validate",
2428
+ "runtime": "TypeScript",
2429
+ "execution": "default-ci",
2430
+ "role": "verifier",
2431
+ "notes": "Selected corpus cases only; existence is not execution proof."
2432
+ },
2433
+ {
2434
+ "representation": "packages/conformance/vectors/authorization-payload.json",
2435
+ "path": "packages/conformance/go-harness/main.go",
2436
+ "binding": "authorization-payload.json",
2437
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2438
+ "runtime": "Go",
2439
+ "execution": "blocked",
2440
+ "role": "driver",
2441
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2442
+ },
2443
+ {
2444
+ "representation": "packages/conformance/vectors/authorization-payload.json",
2445
+ "path": "packages/conformance/go-harness/adapter_python.py",
2446
+ "binding": "authorization-payload.json",
2447
+ "command": "python3 packages/conformance/go-harness/adapter_python.py",
2448
+ "runtime": "Python",
2449
+ "execution": "blocked",
2450
+ "role": "verifier",
2451
+ "notes": "Import fails at authorization-payload input.intent_id (#306); later loads unreachable. Some operations are frozen lookups, not independent verification."
2452
+ }
2453
+ ],
2454
+ "supportFiles": []
2455
+ },
2456
+ {
2457
+ "id": "package-authorization-signature-verification",
2458
+ "authority": "packages/conformance/vectors/authorization-signature-verification.json",
2459
+ "representations": [
2460
+ {
2461
+ "path": "packages/conformance/vectors/authorization-signature-verification.json",
2462
+ "format": "vectors",
2463
+ "generated": false
2464
+ }
2465
+ ],
2466
+ "status": "supplemental",
2467
+ "semanticScope": "Core verifier Encoding A/B Ed25519 paths and rejection cases.",
2468
+ "spec": "docs/spec/artifacts/authorization-v1.md",
2469
+ "consumers": [
2470
+ {
2471
+ "representation": "packages/conformance/vectors/authorization-signature-verification.json",
2472
+ "path": "packages/conformance/src/validate.ts",
2473
+ "binding": "authorization-signature-verification.json",
2474
+ "command": "pnpm -C packages/conformance validate",
2475
+ "runtime": "TypeScript",
2476
+ "execution": "default-ci",
2477
+ "role": "verifier",
2478
+ "notes": "Selected corpus cases only; existence is not execution proof."
2479
+ },
2480
+ {
2481
+ "representation": "packages/conformance/vectors/authorization-signature-verification.json",
2482
+ "path": "packages/conformance/go-harness/main.go",
2483
+ "binding": "authorization-signature-verification.json",
2484
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2485
+ "runtime": "Go",
2486
+ "execution": "blocked",
2487
+ "role": "driver",
2488
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2489
+ },
2490
+ {
2491
+ "representation": "packages/conformance/vectors/authorization-signature-verification.json",
2492
+ "path": "packages/conformance/go-harness/adapter_python.py",
2493
+ "binding": "authorization-signature-verification.json",
2494
+ "command": "python3 packages/conformance/go-harness/adapter_python.py",
2495
+ "runtime": "Python",
2496
+ "execution": "blocked",
2497
+ "role": "verifier",
2498
+ "notes": "Import fails at authorization-payload input.intent_id (#306); later loads unreachable. Some operations are frozen lookups, not independent verification."
2499
+ }
2500
+ ],
2501
+ "supportFiles": []
2502
+ },
2503
+ {
2504
+ "id": "package-authorization-verification",
2505
+ "authority": "packages/conformance/vectors/authorization-verification.json",
2506
+ "representations": [
2507
+ {
2508
+ "path": "packages/conformance/vectors/authorization-verification.json",
2509
+ "format": "vectors",
2510
+ "generated": false
2511
+ }
2512
+ ],
2513
+ "status": "supplemental",
2514
+ "semanticScope": "Core structural verifier checks and expected comparisons, selected signature-free cases.",
2515
+ "spec": "docs/spec/artifacts/authorization-v1.md",
2516
+ "consumers": [
2517
+ {
2518
+ "representation": "packages/conformance/vectors/authorization-verification.json",
2519
+ "path": "packages/conformance/src/validate.ts",
2520
+ "binding": "authorization-verification.json",
2521
+ "command": "pnpm -C packages/conformance validate",
2522
+ "runtime": "TypeScript",
2523
+ "execution": "default-ci",
2524
+ "role": "verifier",
2525
+ "notes": "Selected corpus cases only; existence is not execution proof."
2526
+ },
2527
+ {
2528
+ "representation": "packages/conformance/vectors/authorization-verification.json",
2529
+ "path": "packages/conformance/go-harness/main.go",
2530
+ "binding": "authorization-verification.json",
2531
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2532
+ "runtime": "Go",
2533
+ "execution": "blocked",
2534
+ "role": "driver",
2535
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2536
+ }
2537
+ ],
2538
+ "supportFiles": []
2539
+ },
2540
+ {
2541
+ "id": "package-clock-semantics-verification",
2542
+ "authority": "packages/conformance/vectors/clock-semantics-verification.json",
2543
+ "representations": [
2544
+ {
2545
+ "path": "packages/conformance/vectors/clock-semantics-verification.json",
2546
+ "format": "vectors",
2547
+ "generated": false
2548
+ }
2549
+ ],
2550
+ "status": "supplemental",
2551
+ "semanticScope": "Verifier expiry and issued_at selected clock cases.",
2552
+ "spec": "docs/spec/artifacts/authorization-v1.md",
2553
+ "consumers": [
2554
+ {
2555
+ "representation": "packages/conformance/vectors/clock-semantics-verification.json",
2556
+ "path": "packages/conformance/src/validate.ts",
2557
+ "binding": "clock-semantics-verification.json",
2558
+ "command": "pnpm -C packages/conformance validate",
2559
+ "runtime": "TypeScript",
2560
+ "execution": "default-ci",
2561
+ "role": "verifier",
2562
+ "notes": "Selected corpus cases only; existence is not execution proof."
2563
+ }
2564
+ ],
2565
+ "supportFiles": []
2566
+ },
2567
+ {
2568
+ "id": "package-delegation-chain-verification",
2569
+ "authority": "packages/conformance/vectors/delegation-chain-verification.json",
2570
+ "representations": [
2571
+ {
2572
+ "path": "packages/conformance/vectors/delegation-chain-verification.json",
2573
+ "format": "vectors",
2574
+ "generated": false
2575
+ }
2576
+ ],
2577
+ "status": "supplemental",
2578
+ "semanticScope": "Core chain binding, parent, expiry and policy checks.",
2579
+ "spec": "docs/spec/artifacts/delegation-v1.md",
2580
+ "consumers": [
2581
+ {
2582
+ "representation": "packages/conformance/vectors/delegation-chain-verification.json",
2583
+ "path": "packages/conformance/src/validate.ts",
2584
+ "binding": "delegation-chain-verification.json",
2585
+ "command": "pnpm -C packages/conformance validate",
2586
+ "runtime": "TypeScript",
2587
+ "execution": "default-ci",
2588
+ "role": "verifier",
2589
+ "notes": "Selected corpus cases only; existence is not execution proof."
2590
+ },
2591
+ {
2592
+ "representation": "packages/conformance/vectors/delegation-chain-verification.json",
2593
+ "path": "packages/conformance/go-harness/main.go",
2594
+ "binding": "delegation-chain-verification.json",
2595
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2596
+ "runtime": "Go",
2597
+ "execution": "blocked",
2598
+ "role": "driver",
2599
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2600
+ },
2601
+ {
2602
+ "representation": "packages/conformance/vectors/delegation-chain-verification.json",
2603
+ "path": "packages/conformance/go-harness/adapter_python.py",
2604
+ "binding": "delegation-chain-verification.json",
2605
+ "command": "python3 packages/conformance/go-harness/adapter_python.py",
2606
+ "runtime": "Python",
2607
+ "execution": "blocked",
2608
+ "role": "verifier",
2609
+ "notes": "Import fails at authorization-payload input.intent_id (#306); later loads unreachable. Some operations are frozen lookups, not independent verification."
2610
+ },
2611
+ {
2612
+ "representation": "packages/conformance/vectors/delegation-chain-verification.json",
2613
+ "path": "packages/conformance/scripts/extract-vectors.ts",
2614
+ "binding": "delegation-chain-verification.json",
2615
+ "command": "pnpm -C packages/conformance extract",
2616
+ "runtime": "TypeScript",
2617
+ "execution": "manual",
2618
+ "role": "maintenance",
2619
+ "notes": "Reads then rewrites these frozen baselines for deliberate version changes; not executed for #290 and never establishes a second authority."
2620
+ }
2621
+ ],
2622
+ "supportFiles": []
2623
+ },
2624
+ {
2625
+ "id": "package-delegation-parent-hash",
2626
+ "authority": "packages/conformance/vectors/delegation-parent-hash.json",
2627
+ "representations": [
2628
+ {
2629
+ "path": "packages/conformance/vectors/delegation-parent-hash.json",
2630
+ "format": "vectors",
2631
+ "generated": false
2632
+ }
2633
+ ],
2634
+ "status": "supplemental",
2635
+ "semanticScope": "SHA-256 of canonical parent and insertion-order invariance.",
2636
+ "spec": "docs/spec/artifacts/delegation-v1.md",
2637
+ "consumers": [
2638
+ {
2639
+ "representation": "packages/conformance/vectors/delegation-parent-hash.json",
2640
+ "path": "packages/conformance/src/validate.ts",
2641
+ "binding": "delegation-parent-hash.json",
2642
+ "command": "pnpm -C packages/conformance validate",
2643
+ "runtime": "TypeScript",
2644
+ "execution": "default-ci",
2645
+ "role": "verifier",
2646
+ "notes": "Selected corpus cases only; existence is not execution proof."
2647
+ },
2648
+ {
2649
+ "representation": "packages/conformance/vectors/delegation-parent-hash.json",
2650
+ "path": "packages/conformance/go-harness/main.go",
2651
+ "binding": "delegation-parent-hash.json",
2652
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2653
+ "runtime": "Go",
2654
+ "execution": "blocked",
2655
+ "role": "driver",
2656
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2657
+ }
2658
+ ],
2659
+ "supportFiles": []
2660
+ },
2661
+ {
2662
+ "id": "package-delegation-signature-verification",
2663
+ "authority": "packages/conformance/vectors/delegation-signature-verification.json",
2664
+ "representations": [
2665
+ {
2666
+ "path": "packages/conformance/vectors/delegation-signature-verification.json",
2667
+ "format": "vectors",
2668
+ "generated": false
2669
+ }
2670
+ ],
2671
+ "status": "supplemental",
2672
+ "semanticScope": "Core delegation signature verification cases.",
2673
+ "spec": "docs/spec/artifacts/delegation-v1.md",
2674
+ "consumers": [
2675
+ {
2676
+ "representation": "packages/conformance/vectors/delegation-signature-verification.json",
2677
+ "path": "packages/conformance/src/validate.ts",
2678
+ "binding": "delegation-signature-verification.json",
2679
+ "command": "pnpm -C packages/conformance validate",
2680
+ "runtime": "TypeScript",
2681
+ "execution": "default-ci",
2682
+ "role": "verifier",
2683
+ "notes": "Selected corpus cases only; existence is not execution proof."
2684
+ },
2685
+ {
2686
+ "representation": "packages/conformance/vectors/delegation-signature-verification.json",
2687
+ "path": "packages/conformance/go-harness/main.go",
2688
+ "binding": "delegation-signature-verification.json",
2689
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2690
+ "runtime": "Go",
2691
+ "execution": "blocked",
2692
+ "role": "driver",
2693
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2694
+ },
2695
+ {
2696
+ "representation": "packages/conformance/vectors/delegation-signature-verification.json",
2697
+ "path": "packages/conformance/go-harness/adapter_python.py",
2698
+ "binding": "delegation-signature-verification.json",
2699
+ "command": "python3 packages/conformance/go-harness/adapter_python.py",
2700
+ "runtime": "Python",
2701
+ "execution": "blocked",
2702
+ "role": "verifier",
2703
+ "notes": "Import fails at authorization-payload input.intent_id (#306); later loads unreachable. Some operations are frozen lookups, not independent verification."
2704
+ },
2705
+ {
2706
+ "representation": "packages/conformance/vectors/delegation-signature-verification.json",
2707
+ "path": "packages/conformance/scripts/extract-vectors.ts",
2708
+ "binding": "delegation-signature-verification.json",
2709
+ "command": "pnpm -C packages/conformance extract",
2710
+ "runtime": "TypeScript",
2711
+ "execution": "manual",
2712
+ "role": "maintenance",
2713
+ "notes": "Reads then rewrites these frozen baselines for deliberate version changes; not executed for #290 and never establishes a second authority."
2714
+ }
2715
+ ],
2716
+ "supportFiles": []
2717
+ },
2718
+ {
2719
+ "id": "package-delegation-verification",
2720
+ "authority": "packages/conformance/vectors/delegation-verification.json",
2721
+ "representations": [
2722
+ {
2723
+ "path": "packages/conformance/vectors/delegation-verification.json",
2724
+ "format": "vectors",
2725
+ "generated": false
2726
+ }
2727
+ ],
2728
+ "status": "supplemental",
2729
+ "semanticScope": "Core delegation structural/scope/replay checks; supplied parentScope is a premise.",
2730
+ "spec": "docs/spec/artifacts/delegation-v1.md",
2731
+ "consumers": [
2732
+ {
2733
+ "representation": "packages/conformance/vectors/delegation-verification.json",
2734
+ "path": "packages/conformance/src/validate.ts",
2735
+ "binding": "delegation-verification.json",
2736
+ "command": "pnpm -C packages/conformance validate",
2737
+ "runtime": "TypeScript",
2738
+ "execution": "default-ci",
2739
+ "role": "verifier",
2740
+ "notes": "Selected corpus cases only; existence is not execution proof."
2741
+ },
2742
+ {
2743
+ "representation": "packages/conformance/vectors/delegation-verification.json",
2744
+ "path": "packages/conformance/go-harness/main.go",
2745
+ "binding": "delegation-verification.json",
2746
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2747
+ "runtime": "Go",
2748
+ "execution": "blocked",
2749
+ "role": "driver",
2750
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2751
+ }
2752
+ ],
2753
+ "supportFiles": []
2754
+ },
2755
+ {
2756
+ "id": "package-envelope-signature-verification",
2757
+ "authority": "packages/conformance/vectors/envelope-signature-verification.json",
2758
+ "representations": [
2759
+ {
2760
+ "path": "packages/conformance/vectors/envelope-signature-verification.json",
2761
+ "format": "vectors",
2762
+ "generated": false
2763
+ }
2764
+ ],
2765
+ "status": "supplemental",
2766
+ "semanticScope": "Supplemental envelope signatures; dedicated complete envelope specification pending.",
2767
+ "spec": "docs/spec/verification/verification-v1.md",
2768
+ "consumers": [
2769
+ {
2770
+ "representation": "packages/conformance/vectors/envelope-signature-verification.json",
2771
+ "path": "packages/conformance/src/validate.ts",
2772
+ "binding": "envelope-signature-verification.json",
2773
+ "command": "pnpm -C packages/conformance validate",
2774
+ "runtime": "TypeScript",
2775
+ "execution": "default-ci",
2776
+ "role": "verifier",
2777
+ "notes": "Selected corpus cases only; existence is not execution proof."
2778
+ },
2779
+ {
2780
+ "representation": "packages/conformance/vectors/envelope-signature-verification.json",
2781
+ "path": "packages/conformance/go-harness/main.go",
2782
+ "binding": "envelope-signature-verification.json",
2783
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2784
+ "runtime": "Go",
2785
+ "execution": "blocked",
2786
+ "role": "driver",
2787
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2788
+ },
2789
+ {
2790
+ "representation": "packages/conformance/vectors/envelope-signature-verification.json",
2791
+ "path": "packages/conformance/go-harness/adapter_python.py",
2792
+ "binding": "envelope-signature-verification.json",
2793
+ "command": "python3 packages/conformance/go-harness/adapter_python.py",
2794
+ "runtime": "Python",
2795
+ "execution": "blocked",
2796
+ "role": "verifier",
2797
+ "notes": "Import fails at authorization-payload input.intent_id (#306); later loads unreachable. Some operations are frozen lookups, not independent verification."
2798
+ }
2799
+ ],
2800
+ "supportFiles": []
2801
+ },
2802
+ {
2803
+ "id": "package-envelope-verification",
2804
+ "authority": "packages/conformance/vectors/envelope-verification.json",
2805
+ "representations": [
2806
+ {
2807
+ "path": "packages/conformance/vectors/envelope-verification.json",
2808
+ "format": "vectors",
2809
+ "generated": false
2810
+ }
2811
+ ],
2812
+ "status": "supplemental",
2813
+ "semanticScope": "Supplemental envelope statuses; not execution authorization.",
2814
+ "spec": "docs/spec/verification/verification-v1.md",
2815
+ "consumers": [
2816
+ {
2817
+ "representation": "packages/conformance/vectors/envelope-verification.json",
2818
+ "path": "packages/conformance/src/validate.ts",
2819
+ "binding": "envelope-verification.json",
2820
+ "command": "pnpm -C packages/conformance validate",
2821
+ "runtime": "TypeScript",
2822
+ "execution": "default-ci",
2823
+ "role": "verifier",
2824
+ "notes": "Selected corpus cases only; existence is not execution proof."
2825
+ },
2826
+ {
2827
+ "representation": "packages/conformance/vectors/envelope-verification.json",
2828
+ "path": "packages/conformance/go-harness/main.go",
2829
+ "binding": "envelope-verification.json",
2830
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2831
+ "runtime": "Go",
2832
+ "execution": "blocked",
2833
+ "role": "driver",
2834
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2835
+ },
2836
+ {
2837
+ "representation": "packages/conformance/vectors/envelope-verification.json",
2838
+ "path": "packages/conformance/go-harness/adapter_python.py",
2839
+ "binding": "envelope-verification.json",
2840
+ "command": "python3 packages/conformance/go-harness/adapter_python.py",
2841
+ "runtime": "Python",
2842
+ "execution": "blocked",
2843
+ "role": "verifier",
2844
+ "notes": "Import fails at authorization-payload input.intent_id (#306); later loads unreachable. Some operations are frozen lookups, not independent verification."
2845
+ }
2846
+ ],
2847
+ "supportFiles": []
2848
+ },
2849
+ {
2850
+ "id": "package-intent-hash",
2851
+ "authority": "packages/conformance/vectors/intent-hash.json",
2852
+ "representations": [
2853
+ {
2854
+ "path": "packages/conformance/vectors/intent-hash.json",
2855
+ "format": "vectors",
2856
+ "generated": false
2857
+ }
2858
+ ],
2859
+ "status": "supplemental",
2860
+ "semanticScope": "Core intent binding-field projection and hash cases.",
2861
+ "spec": "docs/spec/core/canonicalization-v1.md",
2862
+ "consumers": [
2863
+ {
2864
+ "representation": "packages/conformance/vectors/intent-hash.json",
2865
+ "path": "packages/conformance/src/validate.ts",
2866
+ "binding": "intent-hash.json",
2867
+ "command": "pnpm -C packages/conformance validate",
2868
+ "runtime": "TypeScript",
2869
+ "execution": "default-ci",
2870
+ "role": "verifier",
2871
+ "notes": "Selected corpus cases only; existence is not execution proof."
2872
+ },
2873
+ {
2874
+ "representation": "packages/conformance/vectors/intent-hash.json",
2875
+ "path": "packages/conformance/go-harness/main.go",
2876
+ "binding": "intent-hash.json",
2877
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2878
+ "runtime": "Go",
2879
+ "execution": "blocked",
2880
+ "role": "driver",
2881
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2882
+ }
2883
+ ],
2884
+ "supportFiles": []
2885
+ },
2886
+ {
2887
+ "id": "package-key-lifecycle-verification",
2888
+ "authority": "packages/conformance/vectors/key-lifecycle-verification.json",
2889
+ "representations": [
2890
+ {
2891
+ "path": "packages/conformance/vectors/key-lifecycle-verification.json",
2892
+ "format": "vectors",
2893
+ "generated": false
2894
+ }
2895
+ ],
2896
+ "status": "supplemental",
2897
+ "semanticScope": "Core key activity, revocation and kid resolution cases.",
2898
+ "spec": "docs/spec/artifacts/authorization-v1.md",
2899
+ "consumers": [
2900
+ {
2901
+ "representation": "packages/conformance/vectors/key-lifecycle-verification.json",
2902
+ "path": "packages/conformance/src/validate.ts",
2903
+ "binding": "key-lifecycle-verification.json",
2904
+ "command": "pnpm -C packages/conformance validate",
2905
+ "runtime": "TypeScript",
2906
+ "execution": "default-ci",
2907
+ "role": "verifier",
2908
+ "notes": "Selected corpus cases only; existence is not execution proof."
2909
+ }
2910
+ ],
2911
+ "supportFiles": []
2912
+ },
2913
+ {
2914
+ "id": "package-signed-krl-verification",
2915
+ "authority": "packages/conformance/vectors/signed-krl-verification.json",
2916
+ "representations": [
2917
+ {
2918
+ "path": "packages/conformance/vectors/signed-krl-verification.json",
2919
+ "format": "vectors",
2920
+ "generated": false
2921
+ }
2922
+ ],
2923
+ "status": "supplemental",
2924
+ "semanticScope": "Core SignedKRL verifier fixtures; distinct from docs SignedKRL artifact corpus.",
2925
+ "spec": "docs/spec/artifacts/signed-krl-v1.md",
2926
+ "consumers": [
2927
+ {
2928
+ "representation": "packages/conformance/vectors/signed-krl-verification.json",
2929
+ "path": "packages/conformance/src/validate.ts",
2930
+ "binding": "signed-krl-verification.json",
2931
+ "command": "pnpm -C packages/conformance validate",
2932
+ "runtime": "TypeScript",
2933
+ "execution": "default-ci",
2934
+ "role": "verifier",
2935
+ "notes": "Selected corpus cases only; existence is not execution proof."
2936
+ }
2937
+ ],
2938
+ "supportFiles": []
2939
+ },
2940
+ {
2941
+ "id": "package-snapshot-hash",
2942
+ "authority": "packages/conformance/vectors/snapshot-hash.json",
2943
+ "representations": [
2944
+ {
2945
+ "path": "packages/conformance/vectors/snapshot-hash.json",
2946
+ "format": "vectors",
2947
+ "generated": false
2948
+ }
2949
+ ],
2950
+ "status": "supplemental",
2951
+ "semanticScope": "Core canonical state codec/hash fixtures; supplemental snapshot evidence.",
2952
+ "spec": "docs/spec/verification/verification-v1.md",
2953
+ "consumers": [
2954
+ {
2955
+ "representation": "packages/conformance/vectors/snapshot-hash.json",
2956
+ "path": "packages/conformance/src/validate.ts",
2957
+ "binding": "snapshot-hash.json",
2958
+ "command": "pnpm -C packages/conformance validate",
2959
+ "runtime": "TypeScript",
2960
+ "execution": "default-ci",
2961
+ "role": "verifier",
2962
+ "notes": "Selected corpus cases only; existence is not execution proof."
2963
+ },
2964
+ {
2965
+ "representation": "packages/conformance/vectors/snapshot-hash.json",
2966
+ "path": "packages/conformance/go-harness/main.go",
2967
+ "binding": "snapshot-hash.json",
2968
+ "command": "cd packages/conformance/go-harness && go run ./main.go --adapter-bin python3 --adapter-arg ./adapter_python.py --vectors ../vectors",
2969
+ "runtime": "Go",
2970
+ "execution": "blocked",
2971
+ "role": "driver",
2972
+ "notes": "Manual generic adapter driver, absent from root vector CI; Python adapter import fails (#306). Not independent Go verification evidence."
2973
+ },
2974
+ {
2975
+ "representation": "packages/conformance/vectors/snapshot-hash.json",
2976
+ "path": "packages/conformance/go-harness/adapter_python.py",
2977
+ "binding": "snapshot-hash.json",
2978
+ "command": "python3 packages/conformance/go-harness/adapter_python.py",
2979
+ "runtime": "Python",
2980
+ "execution": "blocked",
2981
+ "role": "verifier",
2982
+ "notes": "Import fails at authorization-payload input.intent_id (#306); later loads unreachable. Some operations are frozen lookups, not independent verification."
2983
+ }
2984
+ ],
2985
+ "supportFiles": []
2986
+ },
2987
+ {
2988
+ "id": "package-trusted-time",
2989
+ "authority": "packages/conformance/vectors/trusted-time.json",
2990
+ "representations": [
2991
+ {
2992
+ "path": "packages/conformance/vectors/trusted-time.json",
2993
+ "format": "vectors",
2994
+ "generated": false
2995
+ }
2996
+ ],
2997
+ "status": "normative",
2998
+ "semanticScope": "Active trusted-time issuance/freshness/replay/velocity/tool-window plus TypeScript-domain validation cases; no Go/Python engine parity. Official source designated by docs/spec/conformance/conformance-v1.md §4; TypeScript-specific input-domain cases do not confer cross-runtime support.",
2999
+ "spec": "docs/spec/core/trusted-time-v1.md",
3000
+ "consumers": [
3001
+ {
3002
+ "representation": "packages/conformance/vectors/trusted-time.json",
3003
+ "path": "packages/conformance/src/validate.ts",
3004
+ "binding": "trusted-time.json",
3005
+ "command": "pnpm -C packages/conformance validate",
3006
+ "runtime": "TypeScript",
3007
+ "execution": "default-ci",
3008
+ "role": "verifier",
3009
+ "notes": "Selected corpus cases only; existence is not execution proof."
3010
+ },
3011
+ {
3012
+ "representation": "packages/conformance/vectors/trusted-time.json",
3013
+ "path": "packages/conformance/src/validate-trusted-time.ts",
3014
+ "binding": "trusted-time.json",
3015
+ "command": "pnpm test:vectors:trusted-time",
3016
+ "runtime": "TypeScript",
3017
+ "execution": "manual",
3018
+ "role": "verifier",
3019
+ "notes": "Dedicated root script; default CI covers the same trusted-time corpus through validate.ts and package tests."
3020
+ },
3021
+ {
3022
+ "representation": "packages/conformance/vectors/trusted-time.json",
3023
+ "path": "packages/conformance/src/trustedTimeConformance.test.ts",
3024
+ "binding": "trusted-time.json",
3025
+ "command": "pnpm -C packages/conformance test",
3026
+ "runtime": "TypeScript",
3027
+ "execution": "default-ci",
3028
+ "role": "verifier",
3029
+ "notes": "Selected corpus cases only; existence is not execution proof."
3030
+ }
3031
+ ],
3032
+ "supportFiles": []
3033
+ },
3034
+ {
3035
+ "id": "rust-authorization-example",
3036
+ "authority": "examples/rust-verifier/auth_case.json",
3037
+ "representations": [
3038
+ {
3039
+ "path": "examples/rust-verifier/auth_case.json",
3040
+ "format": "fixture",
3041
+ "generated": false
3042
+ }
3043
+ ],
3044
+ "status": "supplemental",
3045
+ "semanticScope": "Bundled single authorization fixture and four verifier tests; consumes neither vector tree.",
3046
+ "spec": "docs/spec/artifacts/authorization-v1.md",
3047
+ "consumers": [
3048
+ {
3049
+ "representation": "examples/rust-verifier/auth_case.json",
3050
+ "path": "examples/rust-verifier/tests/verify_authorization.rs",
3051
+ "binding": "auth_case.json",
3052
+ "command": "pnpm test:rust",
3053
+ "runtime": "Rust",
3054
+ "execution": "default-ci",
3055
+ "role": "verifier",
3056
+ "notes": "Selected corpus cases only; existence is not execution proof."
3057
+ }
3058
+ ],
3059
+ "supportFiles": [
3060
+ "examples/rust-verifier/keyset.json"
3061
+ ]
3062
+ }
3063
+ ]
3064
+ },
3065
+ "provenance": {
3066
+ "docs-canonicalization-v1": "mixed",
3067
+ "docs-authorization-v1": "reference-generated",
3068
+ "docs-pep-vectors-v1": "reference-generated",
3069
+ "docs-delegation-vectors-v1": "reference-generated",
3070
+ "profile-c": "reference-generated",
3071
+ "docs-signed-krl-v1": "reference-generated",
3072
+ "package-audit-chain": "reference-generated",
3073
+ "package-audit-verification": "reference-generated",
3074
+ "package-authorization-payload": "reference-generated",
3075
+ "package-authorization-signature-verification": "reference-generated",
3076
+ "package-authorization-verification": "reference-generated",
3077
+ "package-clock-semantics-verification": "reference-generated",
3078
+ "package-delegation-chain-verification": "reference-generated",
3079
+ "package-delegation-parent-hash": "reference-generated",
3080
+ "package-delegation-signature-verification": "reference-generated",
3081
+ "package-delegation-verification": "reference-generated",
3082
+ "package-envelope-signature-verification": "reference-generated",
3083
+ "package-envelope-verification": "reference-generated",
3084
+ "package-intent-hash": "reference-generated",
3085
+ "package-key-lifecycle-verification": "reference-generated",
3086
+ "package-signed-krl-verification": "reference-generated",
3087
+ "package-snapshot-hash": "reference-generated",
3088
+ "package-trusted-time": "reference-generated",
3089
+ "rust-authorization-example": "reference-generated"
3090
+ },
3091
+ "representations": {
3092
+ "docs/spec/test-vectors/canonicalization-v1.json": {
3093
+ "digest": "b0c7f9f28abd5783f86ebee43d58f99e6620184ce1b8de35199f58a65e866c17",
3094
+ "cases": {
3095
+ "v1-object-key-ordering": "4e6d3771bb940a87c827cabc83dae30be4ef33c26c3f363f0a30519fe3aff7ce",
3096
+ "v2-nested-ordering": "e34b7d5879ae3749536e358f83d1982a6f84c99dfc9fba057fb55dba241ad937",
3097
+ "v3-array-order-preserved": "c8ff0fdb77a7b572076280dc4078645adaa8a2650105f4ad03c713c8e995cc44",
3098
+ "v4-unicode-nfc": "533ed6d7ccedafb1be0e716ee4b69d7a72d719cff954b874916883873525dcd5",
3099
+ "v5-safe-integer": "7353e325aa3c5a133fbf72ce43cecb58a07c318e72a56b247017fce12965c8e0",
3100
+ "v6-bigint-as-string": "4b7d66692c65c22b830f79cb7fc2402606504f52e2f5c990f65170bb71b4ff7c",
3101
+ "v7-boolean-null": "5ac238455328bcfbbb65c701edf09229e501f4ef37dc521670ee50180f9a88ab",
3102
+ "v8-intent-example": "3520de74b7e98d1c39cf867dad75b0760b9aa5ba2bb28fa8529c62bd39c1ea2b",
3103
+ "i1-float-rejected": "3b2da5b55ffdb2d8ba63dceb76ed6c750a5707784a40240c9640acf35373c074",
3104
+ "i3-string-timestamp-rejected": "e32acf958e66f9269a6eaee280e2f299f62719487ad9066749b395f19d7498cc",
3105
+ "i4-float-timestamp-rejected": "2fd2b099b0362f62a2ebc22e7579b87900eee66996822967a2539b8599167b2b"
3106
+ }
3107
+ },
3108
+ "docs/spec/test-vectors/authorization-v1.json": {
3109
+ "digest": "f931c8f345e84cc47403ddae081fbb26e7d3b5efcfbcbd280250a21d83e81123",
3110
+ "cases": {
3111
+ "auth-allow-valid": "0b2519667e77db5cec23a7f2ec097565f1cbff7fbb99612f6e28732dbcee5148",
3112
+ "auth-expired": "6aabbfbe20c9dc7ad3302f1cc3af0e1b2e4f53e21ffd6bfbba942a55adaa9260",
3113
+ "auth-intent-mismatch": "ab2398c660d2813f097ce0fe1dc10f9f64df7b53f852942ca525ecace8216754",
3114
+ "auth-intent-action-match-1": "d3fa84214ee80fb8a9baf3f8d0e1745c4364c805a302aa108c5711b970b90bee",
3115
+ "auth-expiry-wins-over-expires-at": "3bc430acc26fcb254da9f582585c03cec8dcb191f14c582cbbb204812930ed8f",
3116
+ "pb-trust-oxdeai-key-allow": "fc2e004508070f43ca4dea09be408e5bd5bc55329c1db661ac88e3c6dc3ddb2b",
3117
+ "pb-trust-provider-key-rejected": "8c5a05dc060a4c9753b35b9c105c939a7408b5fa56ee70e1965cd060981bfc44",
3118
+ "auth-invalid-signature": "e2e52328fbf92f00acbf3b6846c0ec090968efb98c3c3a222209ad3d2a940951",
3119
+ "sb-auth-allow-valid": "dc685763053d098906aca6b80e6d7f955eab7c81a1896d44cf2d159492166d95",
3120
+ "sb-auth-state-mismatch": "25d0dd9fbf9e551ad25a3ec21dd38b18dfbe55783881b11b57337b7c908aedb4",
3121
+ "pep-auth-forged": "e1a382323798571c55f9349ad380c7e8978d9e63f069149092c9bd6bf869c115",
3122
+ "sb-auth-missing-state-hash": "2562623218f0db4539d6a7d4f8b6e78610ae59e940560f87caa99bdad26695e1"
3123
+ }
3124
+ },
3125
+ "docs/spec/test-vectors/pep-vectors-v1.json": {
3126
+ "digest": "4358d6267e41e99ad15b955c821188f45d2127e2160d8210d7dca2bd8e53ae59",
3127
+ "cases": {
3128
+ "pep-allow-upstream-success": "4c3986e31273ba6a72b652c973648ec5ae6d41bc5114661e9d535fd7c88eaaaa",
3129
+ "pep-auth-invalid-signature": "a64f9991f297847ea9b954809f97b9474d0a31b8e6855f86b1c2e68a47ba5abc",
3130
+ "pep-auth-intent-mismatch": "ee9282a53ca94c5d5a254dd45231816370e12ebbb1f0d0a5ee1e7101b047623e",
3131
+ "pep-upstream-error": "33f2a00deebaad3a93d31b0bd4d6984f9554c1af4e6555e423615dacdb8c3282",
3132
+ "pep-upstream-timeout": "21b07ec19d097a49bed1a256b7672e66c4c9e878b1d7c2fc1ed8f2fb5baba837",
3133
+ "pep-sb-state-mismatch": "765b718043054284249e01472a105d68eb4156521c3c91944ff874c7dc464968",
3134
+ "pep-sb-missing-state-snapshot": "7e5a6f3b343adc8a433200e9058b1e03a299719f3b4a0ec6eb26f41ba552399e",
3135
+ "pep-auth-forged-valid-hashes": "c1302ab4fdbaa4238f4a3109388d4ed10574df6842f89e948ac50aa41fc6e2d5",
3136
+ "pep-sb-missing-auth-state-hash": "67777e5b26e26115dfd5bc14f6f53e221a26ccf4fd9186313c8d07a73c618276"
3137
+ }
3138
+ },
3139
+ "docs/spec/test-vectors/delegation-vectors-v1.json": {
3140
+ "digest": "2dde68d468bee35a00d927b89ff4fd39a1f662024bc51c443b259d7e4cf17681",
3141
+ "cases": {
3142
+ "delegation-valid": "4d3a716d36f10e89a177100f2732dcd9f84d393d705003a4968baf9774ac5c88",
3143
+ "delegation-valid-narrowed-tool": "32bdf395e605fc4414bca3fd51fae9fad19b3ab4c1c37fafc14f43834f8a087b",
3144
+ "delegation-parent-hash-mismatch": "d01653b670939e0ee2557d4394b031db36d308879f64cdadb6a7673cc654d50a",
3145
+ "delegation-signature-invalid": "0c3a70da6584d9b74371628fdcc057e2729fe3f5ffe43b43dceba0790bccb89c",
3146
+ "delegation-expired": "8b73b8383d9e2958e436afd0795630d6f01f1997dfbd2d3f91bf039c571bf0a3",
3147
+ "delegation-parent-expired": "71c7beb6a8f12875d65537c021d337c5bfe05ecc5b45cc374b5c5ab7e1a0f7e6",
3148
+ "delegation-delegatee-mismatch": "7a8adfc486f5ba4e4e44d6ddb763418fb345bdcec5f641ea269090fe8ba930d3",
3149
+ "delegation-scope-widening-tool": "1668bfe83d5b2b248ab6ffd0888166ee17a9b3ba093b1ac15d798c671b8c12bc",
3150
+ "delegation-scope-widening-amount": "5a87e66d0b4e6ab587391528d0b3df993d673cb84c281b556c2a189515df9083",
3151
+ "delegation-action-out-of-scope": "f398ef439d802089dd13ab3753283f7cd77cdf3b4391a04b86120d68a7d8cdf5",
3152
+ "delegation-multihop-denied": "bd35cb7efcb19fe70e5634df1abf866f70a2fb99f2bc4862c36117422a10cae6",
3153
+ "delegation-replay": "97ef03a591191ab3586092f42d893963805d5f733cab68715028e5e35a1d1819"
3154
+ }
3155
+ },
3156
+ "docs/spec/test-vectors/profile-c-state-verification.json": {
3157
+ "digest": "09650e45209b53d6ce391cbabaf21c2761d4e282fe6e32363e015e8d3409b89b",
3158
+ "cases": {
3159
+ "profile-c-001": "bac96376701b5ff5ec0e8b18a86732802d41d4feb7a694c5c9cc497de4a61a9e",
3160
+ "profile-c-002": "ba8e27afb18b471c21fd8fa52b061ec02451d457129120ba31597d7a098b02fe",
3161
+ "profile-c-003": "de24f0601aec9e009f172836fe2d30424cf66cd59e680461e891016906574aa7",
3162
+ "profile-c-004": "1ed8195b68964095413d17a16d6ba78560ea5bf756e47ee97f905b4f6034e330",
3163
+ "profile-c-005": "47d17da378093a7e642d83c60c22e3db510b12ebec36ead24a9fc59ecc55371a",
3164
+ "profile-c-006": "657b936606d6163ee431d409445960b2bccc46c91af79594b098304e5f16d530",
3165
+ "profile-c-007": "d953106c6459713d35aa538750cd0b55a601809f9ad9fcad4cfcbb1d09a5759f",
3166
+ "profile-c-008": "bf75e08eaad31877b5a030d3268b0c6144593ac57e31410f1f6bcd4b8254b20d"
3167
+ }
3168
+ },
3169
+ "packages/conformance/vectors/profile-c-state-verification.json": {
3170
+ "digest": "b3a03446d66903eca82aa58986f4e89273f01eda101649b4a18c47fdb5e52de4",
3171
+ "cases": {
3172
+ "profile-c-001": "294ebb22179e00d81e3af7d92632e65b7de6c202708ea44b6c50867224990dbc",
3173
+ "profile-c-002": "14f9fe2c7f7cbff5e58691cf9cd154795fac320837188b6e425925b4424c8f45",
3174
+ "profile-c-003": "289193dd5fb25353aa6b8bc13be8fd69f747654dd03264aa4bba1cff7789206b",
3175
+ "profile-c-004": "b094f3a5cf7fbabffd45fdb54f9b3b7e3aab66e629535fb64a3fafde121f5d52",
3176
+ "profile-c-005": "c87eebed901563443f75ad11151fe4bc952005313f77ed49532da161e147064b",
3177
+ "profile-c-006": "cdc557cab1ef62e677d988e000dd2d3e547b6eed771cf1ea38deb42657922872",
3178
+ "profile-c-007": "1f1d95c68fe0af7605c68385ebd2ed2e028e22a74f135bc916aa04165bee27b9",
3179
+ "profile-c-008": "c6feda6169ebe7fcd4d6500386dd10c1183a5f83a13a69816902c13fc6fc4555"
3180
+ }
3181
+ },
3182
+ "docs/spec/test-vectors/signed-krl-v1.json": {
3183
+ "digest": "f14a1b97b1a3ef2df3e2c6be8c28d732cb5b3151b05b15691027b5e6c975d15f",
3184
+ "cases": {
3185
+ "KRL_SIGNED_VALID": "d91219bb5dc4fb2352d954e4738cc6056b5e08b785d5b371693ad2622b8e6acf",
3186
+ "KRL_SIGNED_INVALID_SIG": "2ae5badb10f800c432a3aa5485cf90eba487f00256b49ccd5832a3b085c8e665",
3187
+ "KRL_SIGNED_EXPIRED": "9fc3bb9dd8f6e46b12367592569d8a26b665da9fec673c310655fc8e660dfd17",
3188
+ "KRL_MALFORMED_REVOKED_KIDS": "506b72384e5dc5c6b52e00690b1048578b25f21a1b6f6d1d729fa02f0c8c92e8",
3189
+ "KRL_DUPLICATE_REVOKED_KIDS": "7d798ad921fdb6d00c2fd7f9ad4ba7b1361bad9833cbe65ea76d36226fe2ce6e",
3190
+ "KRL_UNKNOWN_SIGNING_KID": "4105f02e60d354f71d2867c4532e21e15ccb12d726b930ccfe028c2dbbb3d982",
3191
+ "KRL_SIGNING_KEY_INACTIVE": "6b3cfd0d299c9c3a2b997153c8e70d132e0ee2cab0aac5d278d4b7570d7b90f9",
3192
+ "KRL_UNSUPPORTED_ALG": "fe22bc82de7c4a689a4067335ea46dc5e7d79731b9bfe884d3269410598a3be2",
3193
+ "KRL_VERSION_REGRESSION": "534fe4ba32067a0761eb974eb63f0a86751f988d85e8171eeb7faa3ee4011e90"
3194
+ }
3195
+ },
3196
+ "packages/conformance/vectors/audit-chain.json": {
3197
+ "digest": "4b4089a59e236201d9e8ee3428cdce446ee24db8060be5b293f0e6845d19aeb1",
3198
+ "cases": {
3199
+ "audit-chain-001": "0ba73830543acf1b20e4c9716f5a51634b8503732c406055f2d6ef865d4dba60",
3200
+ "audit-chain-002": "96d4bc045fdf9284014db5d04f6cc368116e38b960ed03668ca35010d47025e1",
3201
+ "audit-chain-003": "37511af34f4a546f83bea3f2ebd4268aed4b239bc520e35b2e1a619ccc6a0499",
3202
+ "audit-chain-004": "6e250556d478c81eb3673bd8a9ea85c4412b4145ae8d6761a654811035e93e10"
3203
+ }
3204
+ },
3205
+ "packages/conformance/vectors/audit-verification.json": {
3206
+ "digest": "c2e79c994275897b9f2964657cfa40a28c3dddbf31c1ef4fdf56523b39729b10",
3207
+ "cases": {
3208
+ "audit-001": "f9c7646f6b0134ae2f0187e41e9ff62346c46c714514b2552a0568ebb8b01f08",
3209
+ "audit-002": "b690abffa3754fa30d098701ceae231cf94add97e87eeb0dc9f51923f4773a16",
3210
+ "audit-003": "70dd6dd90445db8bf318ddbcd9ebc792268ca478045fea2db76404e89391e66c",
3211
+ "audit-004": "a6ead00716c879d881b276626af25cd7cec57cab8296674631c4a9845074cd73",
3212
+ "audit-005": "490644cc459fc104bd8675306ecae92c29ee8505bd2c2fb948b3feadbfe05e7f"
3213
+ }
3214
+ },
3215
+ "packages/conformance/vectors/authorization-payload.json": {
3216
+ "digest": "4da351e843feba3e8b8469370202b653c98114a1418168abc6f08250b2a13a54",
3217
+ "cases": {
3218
+ "auth-payload-001": "a81ba144b9b9d19f12e75cd6620a295730654400096a4f20cbba7684ed871920",
3219
+ "auth-payload-002": "47470663491ffe0775fecaa4e77dfedf9c7748030c312d4c00fc2a7880f5bb37"
3220
+ }
3221
+ },
3222
+ "packages/conformance/vectors/authorization-signature-verification.json": {
3223
+ "digest": "47a8b57b11924895c289573579f5bb2c32fadc423cf5fc98a9d7152ebc3263a2",
3224
+ "cases": {
3225
+ "authorization-sig-001": "c2a64bbfccc17e04ce45343af718e97b91a19331fdda485005ca85d32e869a26",
3226
+ "authorization-sig-002": "0b8c80f4c2588a27aca69f105c19cb3443ce25a99e943c7d6fa641703c96c598",
3227
+ "authorization-sig-003": "20b29b58f9f92c2612439c2fcaa3d103af88c9d70fd9e67b0e4649fba973da0e",
3228
+ "authorization-sig-004": "6df836ac005c90087882982918e3d21e749ec5ebf41222c9c4cd600a91344fce",
3229
+ "authorization-sig-005": "3be3e54a8da50e9523ee749a25b1d0a52c997664cae986bb78a44af169a142d8",
3230
+ "authorization-sig-006": "9dc2f0309ed0c7111e16acca250e7446e4a5912d117660668bea27acbc20c3fb",
3231
+ "authorization-sig-007": "664afcf5b3ec1174c5db29c8f80e124291f70c62436aae9c2c16f5efb679bb2c",
3232
+ "authorization-sig-008": "337ec9807c8b700ee696d031e9ac3207902a6c3932b4b9ce18d0677fefb2cb50",
3233
+ "authorization-sig-009": "723a3449195dba0adcf98d701bfd4a4933e291307d023a40afe3ea15df0eb4b2",
3234
+ "authorization-sig-010": "8912aed2eaa8e15783c9f3f3e107162db8ef0cb5ee26d81241c7689c3b0608aa",
3235
+ "authorization-sig-011": "3d8e6eb79d8e151363408d6aba88b7f196fe7844ba5fafbc029d545dd69e7ab3",
3236
+ "authorization-sig-012": "3ddc7a9617b0c041f34d72b45479f6222dfd26f514408e4b86a48d9ad3ea5655"
3237
+ }
3238
+ },
3239
+ "packages/conformance/vectors/authorization-verification.json": {
3240
+ "digest": "c1f965992c75223187d61b02bf78c9a8720963f07b04325cfc5761dadd69a353",
3241
+ "cases": {
3242
+ "authorization-verify-001": "63b0fdbeebd0707b18eebee633ba3fcd14cb2296e24fcb11d88825432de6efb2",
3243
+ "authorization-verify-002": "d8e34c854e75261d04c61b0c7d0623fff685d636cd96d81bb0a728dea994cdb4",
3244
+ "authorization-verify-003": "79381f059a6aff224dd194816a0a5c2cd13bf2768cd181b00d5c0a302e004e0c",
3245
+ "authorization-verify-004": "d74d2722c8297dda61245fdbf48b8c5d073ca356570ffeec1a3ca9f58a00f6ef",
3246
+ "authorization-verify-005": "74b0aeace4f149d01c56217ff33d1a5c1b7bcb5e4423aba7f05067b6dd6b4a1b",
3247
+ "authorization-verify-006": "7db8e175f9c838a802500345f612315fe696ff1955cd0bd96ccc698c5cf743d6",
3248
+ "authorization-verify-007": "e88190ae620d8b9817cfc5f8eaf5a0e85faa506c243a82bd0e3fe234eb8115fa",
3249
+ "authorization-verify-008": "4c1ca3c70331a54e02e72a1459bb53fcf1c92742b1eba7bc2e5568b8c93429ca",
3250
+ "authorization-verify-009": "f36939ff5347e6e30f47f87a11136633458bef4d0e34d0a7aa6c9e5a73231636",
3251
+ "authorization-verify-010": "9198fea5467792125ab1b31c3b2d4e58d58d9ca2b5aba331e8158e0c8e1bac66"
3252
+ }
3253
+ },
3254
+ "packages/conformance/vectors/clock-semantics-verification.json": {
3255
+ "digest": "4e91125700673d6cd3496a3954c20f43f6a5e5c08bd3a58857a1a3186cf6f274",
3256
+ "cases": {
3257
+ "clock-001": "6448c63cae7fe507b730e3e47df6da901893641ffb8fbdd9f585fc7ca3225567",
3258
+ "clock-002": "912db59f5c0755fef77a88cd73745894cad224505eae45372136e86b1595c592",
3259
+ "clock-003": "8c7b35ec9eefd52be5533c7d764f3544b0b16702a9d22f7ba6e4ff560fdcb870",
3260
+ "clock-004": "d7bc04b7e1a8c5fb1da760482626fbc77f77eb9f743977f6423f7f5389ef37fc",
3261
+ "clock-005": "a93d58b4b636e306f4db6e7113c9915c720accf2f7f96b059ae0b14af47e8aae"
3262
+ }
3263
+ },
3264
+ "packages/conformance/vectors/delegation-chain-verification.json": {
3265
+ "digest": "554f18eb857d7e057a96aca9ed5ff68d7323ab6932a40b4f1ed5ef71a2e62a9f",
3266
+ "cases": {
3267
+ "delegation-chain-001": "8f0f59989adff2236d5f7aa1a60142d480d41c270630fb1348b6a024b20ff0d3",
3268
+ "delegation-chain-002": "436222c41e2f9e716bb0cbc1f9d33a76f3b8e0a96f2b9d7de3c7ec8d94cbeddd",
3269
+ "delegation-chain-003": "187d5e56d5b339b2d7284b9bcc21ebbabf76df07491b321afd295e30cbd86314",
3270
+ "delegation-chain-004": "3be1203de63f55267e22dddd71534206888b7a754924106f85158c734e41b9f8",
3271
+ "delegation-chain-005": "f0008946c39cd55e9c273e207a54670f7cec40d956644144c86086b9bf5d22ae",
3272
+ "delegation-chain-006": "ee4a586f8c80ca51f9cffec59eed94b3bd7da13f8e720000105599f74c530c2d",
3273
+ "delegation-chain-007": "c321ee3fbe92a26122041af6c04f703e9658dca68d3bffa1317f8666604aa6a1"
3274
+ }
3275
+ },
3276
+ "packages/conformance/vectors/delegation-parent-hash.json": {
3277
+ "digest": "51507f6fe917e5583024cea4c417829df38132631e8c1a7ff97777e7a6846e57",
3278
+ "cases": {
3279
+ "delegation-ph-001": "da20b14c4e9b67ef7bec30d41e4dcfa5fde055da3dd3fabbe71a016c1bae7081",
3280
+ "delegation-ph-002": "e2776ba15e6a8324a9cd50559a0ff603893c50e75380ee1eb793d24bc4a49f10"
3281
+ }
3282
+ },
3283
+ "packages/conformance/vectors/delegation-signature-verification.json": {
3284
+ "digest": "ae92c64cb4f538afbdc71a9fde0f86f03acae3da201bfe6fcd7e3c9d0a6392f1",
3285
+ "cases": {
3286
+ "delegation-sig-001": "69788786cf198b04b2c95acb4d2bcc6ceca2605a36473c4fa349fefbb12cc5bd",
3287
+ "delegation-sig-002": "e3ef298d63cf80b3656e6908c074acd785cba613550875ff3005bf7b77d1cf8c",
3288
+ "delegation-sig-003": "2f917e71ff5040ebf81e899d5bfdce48b20e3865da00450898c2633107fe9a86",
3289
+ "delegation-sig-004": "38043810921f1108a72dd64ecbd14dfb813eb16e4219204a0839ae21d853f4e7",
3290
+ "delegation-sig-005": "8df9befcebf5fec2387813cf33ddc713f7b57af0ebce9db2929cddbd8cb3a615"
3291
+ }
3292
+ },
3293
+ "packages/conformance/vectors/delegation-verification.json": {
3294
+ "digest": "38f853f8b4a7f15f5acf1150cdf646377b1be3339a89b7ad5d48e7a868b794ee",
3295
+ "cases": {
3296
+ "delegation-verify-001": "ec59d6acd21baf8f2f49f59bc65b09971a2b108eff351fae48095990284865b4",
3297
+ "delegation-verify-002": "5a7f78423f1965cd285b7f32c2d45334ea1f2352e9b14ad227aff2ccc0199800",
3298
+ "delegation-verify-003": "590738eadda54f18bfc9bd1d4e99c94977dc4b2d07e8226184caeb2ef779c742",
3299
+ "delegation-verify-004": "0bc72ed5093242f0e647cff0d0770ab35225372fde0758e0ba7aa532742b906f",
3300
+ "delegation-verify-005": "bf63f0aecb52f904dc39e5e769f24e69f4b61938134020778d2367b3b25443b1",
3301
+ "delegation-verify-006": "dba458866f4d25347383b8030ac3fa08283d8738c1194b4bb53711c576dd82ec",
3302
+ "delegation-verify-007": "5974acbb6da27897ea3ce73b7a900dd27f626168aad9e1829b5c29906f1a1f72",
3303
+ "delegation-verify-008": "28ce2f685884e88b32e153f75a4bcaae40b747e53464f25fe65cb8c37cad95ff",
3304
+ "delegation-verify-009": "4a219efc5596c72a8ac430f2fc264b783fc76a3f3877a1a2dd172f95b89578e8"
3305
+ }
3306
+ },
3307
+ "packages/conformance/vectors/envelope-signature-verification.json": {
3308
+ "digest": "e50862e48137198d631034967e960d93e6dce51f96f26c4e172a305c6166adcf",
3309
+ "cases": {
3310
+ "envelope-sig-001": "9a0eaf111640b1829171faa3bbb8497113593a5b00f455a54442dbe99a497ef3",
3311
+ "envelope-sig-002": "48a685687eb9d7234a7597a377c84957d8b07f22bb6542908a67806375567418",
3312
+ "envelope-sig-003": "8bf38ea75be79bb306fb608adcacffd715b8d717c33d03fbb620480a3b1e4da6",
3313
+ "envelope-sig-004": "1f994b370854a3bd5974544735011c00ab7775f6d5598c14d275e60fc58029fd",
3314
+ "envelope-sig-005": "9b06b5505bfb724cf5187f29de223855c16a03da01daceca872f9cafbe78d41c"
3315
+ }
3316
+ },
3317
+ "packages/conformance/vectors/envelope-verification.json": {
3318
+ "digest": "975e803038b23d443ee13361c641daf9826889c51953c71cbd1c52ac7f094191",
3319
+ "cases": {
3320
+ "envelope-001": "e2ccdb41ac2d8b2ecec821db0e4ee431cb2deaad13ca32c7c5bfb548c15bebbf",
3321
+ "envelope-002": "e23ef0314f361d9ebc628a2060e8d8da24c083cde071d93a788d9bb6447b24c5",
3322
+ "envelope-003": "49b0773c3d2777d08852f7723bdded97252adcaaba0e5a917b1b5d7071f38d2c",
3323
+ "envelope-004": "01f4835db32b65b94eb921014e021fbfd2a5384d71afe39e6877ae869d612860",
3324
+ "envelope-005": "7b35da938743978c826918f6c69214084266757e9ed4b58594fe391d34c7b7c4"
3325
+ }
3326
+ },
3327
+ "packages/conformance/vectors/intent-hash.json": {
3328
+ "digest": "f9684f244ff4499d1466ca27181afcccf39fa6cade9a8616d2d2ea2d4e8eefa3",
3329
+ "cases": {
3330
+ "intent-hash-001": "b9ec029dfe742e0a6a70f8bcc5e1b38a56d1f6ec2aa0a4d2695130076477ecf3",
3331
+ "intent-hash-002": "0db97aed09397a89f845038fbe8e5c0c6cb977960b27ff6c4592523b7ad7c8ff",
3332
+ "intent-hash-003": "f750bf8f534dc032fb3db7cbeada4fd00091a5eb69cde1daf0eecb13d6a3abb9"
3333
+ }
3334
+ },
3335
+ "packages/conformance/vectors/key-lifecycle-verification.json": {
3336
+ "digest": "bad6ae98ddf78ab65fab8e212ba91b41121b4e497fa3574b52107a4e55c02e2f",
3337
+ "cases": {
3338
+ "key-lifecycle-001": "9deded231debee4b508d78f0c8a5e5a543ca76bfb2e67d97b3aa41c7ee2ea438",
3339
+ "key-lifecycle-002": "7af676a403e7bbfbd97b505a1dde35b587a75dd289b6be606aead61a141fb2d4",
3340
+ "key-lifecycle-003": "2512b8655f10af168214e604e5ee493e4031449f18e002b058e11b1a7a905775",
3341
+ "key-lifecycle-004": "e2d84a5c5fc1087f43b64b39b5690e96a806bb2172f9ccd34c9791c3618f3bff",
3342
+ "key-lifecycle-005": "d2d9392c978796b61da574b6e5105466c5e0bc54ba027a72a573e145503f2db5",
3343
+ "key-lifecycle-006": "f26abe9d24e7599edf4b211f7ef3b70190f5ab2ea07b056394487d378a708f1b",
3344
+ "key-lifecycle-007": "a081d30de6ba425e00944a545ffad78e8514711c52dc8e4009c18954be726238",
3345
+ "key-lifecycle-008": "fe1b4a77bfb82057a38206c2fe73e44bf4091f91b9ea9bdfbe0ec6b1d905fd6f",
3346
+ "key-lifecycle-009": "20b58c49959a3389ac04094c26150260acbbc3f94985523da7e3ccbcdf104faf",
3347
+ "key-lifecycle-010": "1bbb3ba98a86096e0101d6b5bdeca64f7cc97e34d865dd6bace870f71b51b14b"
3348
+ }
3349
+ },
3350
+ "packages/conformance/vectors/signed-krl-verification.json": {
3351
+ "digest": "f7e4ede7f747e7e911622160c23edc63bd5a80a41e59f389c9e08fffc6f98f4d",
3352
+ "cases": {
3353
+ "krl-001": "efae62bbc85cd2dc2d6e55fd740e5ffe9e3bc912ed437afbe57c3704537a96a9",
3354
+ "krl-002": "ce4b3902d46c790eee6cd6d22a80a6c24c9caf82d05f459f562124c619de88f4",
3355
+ "krl-003": "4ee67e87aca3d77abc566615671e49161c7f495005eb800f3b2db52e791a16c3",
3356
+ "krl-004": "3b27de34995bba96a5911bac9556ef06b2343c6e5bcbd345324219c13dfce608",
3357
+ "krl-005": "f16f93f54283b8ed38cf3b7a89d79550401d28c1015b07928b4000da46431bd5",
3358
+ "krl-006": "e53fc6c2dd83ed6bc1858cc547d35ed3e9df9aede24cc5376613b70558d672fc",
3359
+ "krl-007": "d58d72a969e614e7a6c902765883d97fe2a17d039fab288af1f258f3dc7e50fe",
3360
+ "krl-008": "67bae99d688acdf02d40e9370f4bdd57decdc9f0aa38bdf53eff4284532d315d",
3361
+ "krl-009": "0f48b582a88ed28e8761bc79c8cb6703100f798f8990567e6d11db428a8bc78a"
3362
+ }
3363
+ },
3364
+ "packages/conformance/vectors/snapshot-hash.json": {
3365
+ "digest": "6a8861d1265568604a5059eda588c5cf5bc7f00767718f8af8f4114b5e1273a8",
3366
+ "cases": {
3367
+ "snapshot-hash-001": "5e44532dd07442af706fb057123d4ea13bbdf8bdfc06cec255b8a46c337322dc",
3368
+ "snapshot-hash-002": "17e3cfbf08ea05f21f5eb6128fa54ddda2c7fb8d8f330a6288f3969a1a17359c",
3369
+ "snapshot-hash-003": "7ab231328fece9570575c19a56765c343ec87e14065616edb3761a90682ee3f1"
3370
+ }
3371
+ },
3372
+ "packages/conformance/vectors/trusted-time.json": {
3373
+ "digest": "7006b5d41eee1ba7c1e386873a1a08b4aa348831857fd3c2467b9540b5d7f8ef",
3374
+ "cases": {
3375
+ "tt-issuance-before": "282c1ad5fba256a62d7087359277efb85454eb50e226c1df59249cceff5d9b88",
3376
+ "tt-issuance-equal": "d1749319dc6ec1dfda83f2cf6490dfedc400227c3fbacad3d97eb9167505c13e",
3377
+ "tt-issuance-after": "526f26d7d8c81fdf25ccd3e21552f7fdba31132c0497448647f9a12860cd20ce",
3378
+ "tt-noninterference-earlier": "b979f8ea70142172195c8f8933c5939d5a3e29eb7cffee6f7153f6ffb90b6ff9",
3379
+ "tt-noninterference-later": "222bd2c35ed989ced681bfc4a1d5f7276ca554de484b378e94e515f8a82adf4b",
3380
+ "tt-evaluation-sensitivity-first": "a9c7121a98b6293a0d02bcb683149d508c6bc3f29724c85f064f841a0be0ac54",
3381
+ "tt-evaluation-sensitivity-second": "df091ae62a6e990cc6742bbad644d2554b13fc19d8f9f9dc435054c359851925",
3382
+ "tt-release-issuance": "7ac41f0f5a86d6db147ea9bb34bc1d543951664e3d3aa11696eee062f3596005",
3383
+ "tt-freshness-denial": "6dd9a2d2ab7c7883a8e64054c3d56e8c82ce9a6ec0069b446b3f5eb1be516b98",
3384
+ "tt-deterministic": "52d8941b204945440b6f8b639c1987271b784af96e663e16897b4099528e19ec",
3385
+ "tt-invalid-ttl-zero": "f4133c46a3c747e9a6101bad1e85ab2936d7628200ee15d06a8d5a17a8b767af",
3386
+ "tt-invalid-verifier-skew-fraction": "7b87ea994db7d91b1dd0083aaf04b38bf6d09ebb2ff91dd8d738a8739e81f022",
3387
+ "tt-expiry-overflow": "e5ca3d1eefe62c7889b1310cd44d71db236e69623deb8ba975acbc8c662535e0",
3388
+ "tt-protocol-negative-intent": "b8b1f186e6bbdeca777d04fa5234aebcb68aaab51cd00f2770e4c3ea9905b2d0",
3389
+ "tt-protocol-fractional-intent": "5edb9c1ba471f854bdd4766075df8dded4932ab5eeaee44dafd7e388ab8b3bf0",
3390
+ "tt-protocol-negative-evaluation": "4fd697c7a524b12a042774caa11ce1b6eac0332ed0c6ffe3e9542d29e2e2968f",
3391
+ "tt-neg-001": "b418ca675576578d7a9709e2bcd79460d7f91834e7dab002515a55b113c6ed35",
3392
+ "tt-neg-005": "1e389a9f2735578c26a43a32ca0c096696b4bb07a2e381b31de9fc7eec2d0d33",
3393
+ "tt-pos-001": "c5e7070c84c4f439d23627b4932bda3649c40d6aa973f21d895a35974e9bfcc8",
3394
+ "tt-pos-004": "df83ac691f359381fca57b25913584f59b11961f403c77f60c69b168b6451c68",
3395
+ "tt-neg-002": "e8720278e1e56d96a2cf60a1abb91ef36e8d3ee932244d089c426b309df5db3b",
3396
+ "tt-pos-002": "5e021603a6634f334bf7e005f15cf4e259ac2bb93b53ee48396809c2356f821f",
3397
+ "tt-neg-004": "8833c505b450107e7c51446f6f69281879a5d1cff57de98c44d4b521482b14ef",
3398
+ "tt-neg-006": "a96f71c572727053b6a1161ca79125fa8a8168ee45bf7ec85319b3419f99e37e",
3399
+ "tt-replay-future-within-band": "3cf39429369b0d2f0ce217f4bf02b7e7b9d9f0a316303b4cadc4c0d8044a7b25",
3400
+ "tt-velocity-first": "4b0d40ddcbcec091e56dc4e26d272527ed9c9222330c5cb3dc701867c9f6f0c8",
3401
+ "tt-velocity-limit-active": "aa406c213c24dcbac5742455c26e574bf63269e9436a8ede59827adbb7838644",
3402
+ "tt-velocity-future-intent-active": "f4c0cb3c655457721440f35ce8a90a22a17859a5b271870e8bf1873223e0d5d2",
3403
+ "tt-velocity-stale-boundary-active": "e4b79af7bd5cc97c2957184bee998e0c931481c182b88e53899e78ba350eca74",
3404
+ "tt-velocity-before-boundary": "b57e0c8abfbb763fe74b7dad00bfdb606fae5f670401b921f2be4cbd604736eb",
3405
+ "tt-velocity-exact-boundary": "bdb292186c699f09302cce6d41fc580fb9724e64454757dec8089103eac213be",
3406
+ "tt-velocity-after-boundary": "a90b171df9949688191068cdd76518dce18dcbc1ac507e4a4c6862e4fca0f71d",
3407
+ "tt-velocity-backward-evaluation": "b7ad825103e0945029cf9a78aa5a31e1805d9191eb0f9ea72af0f7520a454d46",
3408
+ "tt-velocity-malformed-window-start": "711edbf8fa7eabdf3add24f84a9f64706afc5ab9342a66f642178dd48c58d7fc",
3409
+ "tt-velocity-deterministic": "a6b493e16d4d8f1b3b7dd8ee0777359f8199c2ae398c2511b12aa9ab832aaadc",
3410
+ "tt-neg-003": "a427964e4cab04b28156728391be02c6537bc97053578d15d10a980c748aeef3",
3411
+ "tt-pos-003": "6a7d4a59ba458f6d7f61d6e16af22edc0005e3ca5d10ad5185f1ba98f5ddf263",
3412
+ "tt-auth-verify-future-boundary": "8f91ee2c15f04cee827104134d0329d48e55f8ec4318b14dc6cc6d656fe3b5ca",
3413
+ "tt-auth-verify-future-implausible": "310683c279ffecca2be2898fb02be5297a3e72618f42101bf3597586a26c5b4a",
3414
+ "tt-auth-verify-expiry-boundary": "41dee8fe8d5c91bfdac2bfc35561851cf61dda8039f1f27135266af80663ada1",
3415
+ "tt-tool-window-trusted-time": "eb169085e04fdcb34bc19f371c76fd850b720e6cc751c6083111114d113c43b1",
3416
+ "tt-tool-window-after-boundary": "b64c77ededa9f3daadd256c03932c11c99b553826fa23d3fcead973048a9a0be",
3417
+ "tt-tool-window-backward-evaluation": "fabb12de4e117d239600e22db825ad345c37d91b59e7408f2a53a2bac6fcc68b",
3418
+ "tt-tool-window-malformed-state": "a52d2a3bf3898b77e10784fec92b0858aeea7dd8688026b9f3ac6a1a523d4d77"
3419
+ }
3420
+ },
3421
+ "examples/rust-verifier/auth_case.json": {
3422
+ "digest": "6b8066fe936b16d5cd89363d94d5bdabb501c0e1567e9cde3c70f294839617a3",
3423
+ "cases": {
3424
+ "auth-demo-1": "46626a52a790f7163c829e49c359fee2d3c0b9d2003a52fd4d62f6d2ae7dd7d7"
3425
+ }
3426
+ }
3427
+ },
3428
+ "source": {
3429
+ "revision": "4069abf337d060b8b52861acf9f67edc67225815",
3430
+ "workingTreeDirty": false,
3431
+ "artifacts": {
3432
+ "docs/conformance/corpus-authority.json": "0983a4a57d9883b9da64ceaa5ef6df326beecc498dc07cdee6a49502bbe3da0f",
3433
+ "docs/conformance/corpus-provenance-audit.md": "6ffe9b44d0ecc68175848743a66a24287655da8f77ae0cc8164371653121d387",
3434
+ "docs/spec/artifacts/authorization-v1.md": "a1a7b82c141746f7ecd4fe2d32ea0845a6cd7f69f9562b00e41c384b754926c7",
3435
+ "docs/spec/artifacts/delegation-v1.md": "6d2ed0f750bdc25915bedd3f5eee3c21859fd368527ad6b5bac2fa4daa352f51",
3436
+ "docs/spec/artifacts/signed-krl-v1.md": "c0d7f4a1e0d57d85dbdab6d3655aa2288e093722b3da924ad5b6bceea7f923f7",
3437
+ "docs/spec/core/canonicalization-v1.md": "0ab7b1afad65194d6faedf4c140dcd892214606e855b30b28f4e0e83e5b6ec75",
3438
+ "docs/spec/core/trusted-time-v1.md": "baf145043de06aadcf4ba0fa22784a6decac179048c5931cf13d4c5c7fda9973",
3439
+ "docs/spec/enforcement/pep-gateway-v1.md": "c718f18ab7dba45cfeaaf3d727c99224a539d85ad8bf49f066b9bc233297bbaf",
3440
+ "docs/spec/interoperability/external-provider-profile.md": "1119b6e41b9ef2851174413591205d937d864fbbcfc89963e98b6dc4060f8567",
3441
+ "docs/spec/test-vectors/authorization-v1.json": "65428c5b757c53cbadcf513238bd52ea82cec3232635a09013bb9e583ee387c5",
3442
+ "docs/spec/test-vectors/canonicalization-v1.json": "0483ce636f97f69b19a854700535d8fab6bfd8c9ec1f9d3a56423a4fa29cbe82",
3443
+ "docs/spec/test-vectors/delegation-vectors-v1.json": "4a2228c43aeee31b5d2f99358628b62f6d3aa5f93f61402bb47cf8192929955b",
3444
+ "docs/spec/test-vectors/pep-vectors-v1.json": "59934cb1744828b0a781ef276d0159b803a65758e3a73e6803f460626c11b096",
3445
+ "docs/spec/test-vectors/profile-c-state-verification.json": "9b9440fba8526d08f08df963fccbfbe8b915228768c9b80b41d2e013d6f52dab",
3446
+ "docs/spec/test-vectors/signed-krl-v1.json": "fe08302c95a5813b8e00246d176d0f2fd952ea74e67370f3f77a9ba693f47f50",
3447
+ "docs/spec/verification/verification-v1.md": "173ab1e244b934d53965d1aa3398bb11c155f41b0d6fe19147597fba65f48db3",
3448
+ "docs/verification/spec-claims/claims.json": "e76ead62c3cec0915f4b309241cb2f0007907a7027c9ccbbe81cc849998b2481",
3449
+ "examples/rust-verifier/auth_case.json": "de3c829635583b948128e609a18f55973c5f3b7d6f52b7e7efec463af7659dcf",
3450
+ "examples/rust-verifier/keyset.json": "9d7b13e81ed94ed357c7a161ce7512e74a41f75c815125ed66717f7805f0ef70",
3451
+ "examples/rust-verifier/tests/verify_authorization.rs": "02f5325b139d53c9d77897d1ab09eb2f1041a55b092cd3e70921027b1a51a43f",
3452
+ "go-harness/canonicalization_verify.go": "cbc7b24a092cca86bfb4fa894ed78054599182a1f9f178104de71e261894276b",
3453
+ "go-harness/profile_c_verify.go": "dcc10403ae5103c5a390186c3aa355488d536b67cb79ea702ab79ae70979c68c",
3454
+ "go-harness/signed_krl_verify.go": "0dcf27d12ab37348fbe0c554ad875136d068254ed89b45d393c341e6cab775a3",
3455
+ "packages/conformance/go-harness/adapter_python.py": "a665d2c8e5ea93464429f27b576f1d7182bf7e250c1d191663979bdc8a1ca552",
3456
+ "packages/conformance/go-harness/main.go": "175ffd3314dca071b6fe23d215af0fd0ecb7f7fa666776b12b987b48f8a3730d",
3457
+ "packages/conformance/scripts/extract-vectors.ts": "ec93d48f9b21d314ffbcd72cb542300014e6ba3aad3ac3757871cce49fbc2317",
3458
+ "packages/conformance/src/trustedTimeConformance.test.ts": "9dd9ecad2d725dd4a22ef4990b0f758767c54a1d65b89ec3d686c15fba2b3a16",
3459
+ "packages/conformance/src/validate-trusted-time.ts": "a89e65c483f557835b2db3645a15c08ca10d54998e762ebe6384883d88d67e15",
3460
+ "packages/conformance/src/validate.ts": "a275011cae5090c8c405b6e05edf1c6c6da8a28643331b111f9b0a8ef187ac77",
3461
+ "packages/conformance/vectors/audit-chain.json": "f38d41585d0693ca14157164df65cbbdd6bd7e5578d212ae8f8792787831a27b",
3462
+ "packages/conformance/vectors/audit-verification.json": "10c60df5f5e3ade9ec2fcf18803a5d32fe4a562b39b6ca9eb35120b3df19ee3c",
3463
+ "packages/conformance/vectors/authorization-payload.json": "fa98e2e8ce998142e968cdaae8a09262285fb18bbc66b863a6435f939da22089",
3464
+ "packages/conformance/vectors/authorization-signature-verification.json": "c536cffd87b6b92c35de78f33ea506eb1d4edbbf6d4175c1d915a6e948905f50",
3465
+ "packages/conformance/vectors/authorization-verification.json": "ec5eda91ed791f8a45d47afcd190ea0365fa97fe02a50d0dabd6bac688eabf51",
3466
+ "packages/conformance/vectors/clock-semantics-verification.json": "8f7e405c711f92270783723b6613ae54a53f662d5ee55c8cfd02a0d301e68f5c",
3467
+ "packages/conformance/vectors/delegation-chain-verification.json": "ed27d4931e409e1d744b6bcf1e6897ec44ebd8390f29b6b96949b400aec46b19",
3468
+ "packages/conformance/vectors/delegation-parent-hash.json": "0ced49289925c6ccd764bd95039e8daed1acb40e2eebb6b79be55f9d93584537",
3469
+ "packages/conformance/vectors/delegation-signature-verification.json": "abfa8ba58b640bb21e3dfbd9910abe4cc2d61628a285ae9838f9f59b94db0874",
3470
+ "packages/conformance/vectors/delegation-verification.json": "badeb515b72a9a440913612b1629dd6ba7b2d006cb8d1a6491e481b14140b616",
3471
+ "packages/conformance/vectors/envelope-signature-verification.json": "4c7101a9ed8a2ad884cbc4b07895c8a22c7379c5303bc30ec95c0c8449c95030",
3472
+ "packages/conformance/vectors/envelope-verification.json": "ad1f2fa8ec6831ba3c3e78c59d22141dcef892fa194339541d7c0e1a3f1a118c",
3473
+ "packages/conformance/vectors/intent-hash.json": "51dec9bdc73e70ef79eb6a810886967e3e8c571a4d184b6d5e4fa062879d58dc",
3474
+ "packages/conformance/vectors/key-lifecycle-verification.json": "5f6d680c3ca05426ada4690b251252254459072b74d759051dad4b2287912e3b",
3475
+ "packages/conformance/vectors/profile-c-state-verification.json": "d5bd1ab99a7ee319b2fa85e9bc7a658b7637e48b56be6e1b146774598cd5b76d",
3476
+ "packages/conformance/vectors/signed-krl-verification.json": "017c4d6774bf009d2603ebaa9a3f955f0e69c8277d1550dff358510dfdf754dc",
3477
+ "packages/conformance/vectors/snapshot-hash.json": "be6f8bd9dd2c017eb9feca7f758c6696fc868d38a93cb77706a7b0d152458bda",
3478
+ "packages/conformance/vectors/trusted-time.json": "748ed3208e10b8105837950e0a15896be402d1a0ca86541bdc66621d285b7abd",
3479
+ "packages/guard/src/test/gateway.vectors.test.ts": "b3665a611482df5a432133285ba40e0bf9b2e32f9fc41980cd65d6c05f3d2ccc",
3480
+ "python-harness/verify_canonicalization_vectors.py": "514c16aac8586cfd346b6cf9f32a3dde546ca1aca593b7d22dc793dfbebb4e4b",
3481
+ "python-harness/verify_profile_c_vectors.py": "221a967504edc9bc5102f5872ffd53412bc7613ce182e7b949a0f66ec9384583",
3482
+ "python-harness/verify_signed_krl_vectors.py": "57d3e04a16bf5f0962ad0ca424bacfbd6598432178477c0fc9020641e733dc6c",
3483
+ "scripts/verify-authorization-vectors.mjs": "02d67c8112f03de8d60311e947a2d2e05f3adb42242060ec261cb145a09d3202",
3484
+ "scripts/verify-canonicalization-vectors.ts": "125b3b966ab3a4ab10c886fdd7ffe26ff8042af0fca5cf49e2394d35c5ad5447",
3485
+ "scripts/verify-delegation-vectors.mjs": "fa31d3cd5e50d478f90f269cacc039b1a0a86305c8032ad66adf8de185adbdc1",
3486
+ "scripts/verify-pep-vectors.mjs": "f226f40273b51c17109a01e721038ed2f14cceca87273d8cb4e82d35911d7f16"
3487
+ }
3488
+ }
3489
+ }