owlrunkit 0.13.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 (128) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/LICENSE +674 -0
  3. package/NOTICE.md +137 -0
  4. package/README.md +44 -0
  5. package/SOURCE.md +10 -0
  6. package/docs/architecture/OWLCODA_RUN_KIT_CONTRACT_V0_1.md +160 -0
  7. package/docs/architecture/OWLCODA_RUN_KIT_CONTRACT_V0_2.md +459 -0
  8. package/integrations/codex/skills/owlcoda-runkit/SKILL.md +408 -0
  9. package/integrations/codex/skills/owlcoda-runkit/agents/openai.yaml +4 -0
  10. package/integrations/codex/skills/owlcoda-runkit/assets/templates/agents-snippet.md +7 -0
  11. package/integrations/codex/skills/owlcoda-runkit/assets/templates/config.json +10 -0
  12. package/integrations/codex/skills/owlcoda-runkit/assets/templates/coverage-adopt-request.json +26 -0
  13. package/integrations/codex/skills/owlcoda-runkit/assets/templates/execution-delivery-packet.json +13 -0
  14. package/integrations/codex/skills/owlcoda-runkit/assets/templates/finalize-request.json +18 -0
  15. package/integrations/codex/skills/owlcoda-runkit/assets/templates/goal-contract.json +11 -0
  16. package/integrations/codex/skills/owlcoda-runkit/assets/templates/profiles.json +9 -0
  17. package/integrations/codex/skills/owlcoda-runkit/assets/templates/ready-for-commit-request.json +11 -0
  18. package/integrations/codex/skills/owlcoda-runkit/assets/templates/resource-preflight-request.json +56 -0
  19. package/integrations/codex/skills/owlcoda-runkit/assets/templates/resume-request.json +10 -0
  20. package/integrations/codex/skills/owlcoda-runkit/assets/templates/snapshot-request.json +23 -0
  21. package/integrations/codex/skills/owlcoda-runkit/assets/templates/verification-context.json +15 -0
  22. package/integrations/codex/skills/owlcoda-runkit/assets/templates/verification-receipt.json +11 -0
  23. package/integrations/codex/skills/owlcoda-runkit/assets/templates/verify-plan-request.json +31 -0
  24. package/integrations/codex/skills/owlcoda-runkit/assets/templates/visual-smoke-request.json +32 -0
  25. package/integrations/codex/skills/owlcoda-runkit/assets/templates/worker-lease.json +7 -0
  26. package/package.json +24 -0
  27. package/packages/attest/LICENSE +674 -0
  28. package/packages/attest/README.md +63 -0
  29. package/packages/attest/cli/owlcoda-attest.mjs +155 -0
  30. package/packages/attest/consumer-surface-v1.json +255 -0
  31. package/packages/attest/distribution-manifest-v1.json +104 -0
  32. package/packages/attest/fixtures/bad/accepted-authority-leak.json +7 -0
  33. package/packages/attest/fixtures/bad/accepted-failed-receipt.json +7 -0
  34. package/packages/attest/fixtures/bad/active-context-binding-mismatch.json +7 -0
  35. package/packages/attest/fixtures/bad/active-source-binding-mismatch.json +7 -0
  36. package/packages/attest/fixtures/bad/context-fingerprint-mismatch.json +7 -0
  37. package/packages/attest/fixtures/bad/duplicate-object-key.json +8 -0
  38. package/packages/attest/fixtures/bad/multiple-active-leaves.json +10 -0
  39. package/packages/attest/fixtures/bad/orphan-replacement.json +7 -0
  40. package/packages/attest/fixtures/bad/root-shape-extra-property.json +8 -0
  41. package/packages/attest/fixtures/bad/source-fingerprint-mismatch.json +7 -0
  42. package/packages/attest/fixtures/good/accepted-replacement-chain.json +59 -0
  43. package/packages/attest/fixtures/good/blocked-single-leaf.json +9 -0
  44. package/packages/attest/fixtures/index.json +90 -0
  45. package/packages/attest/sbom.spdx.json +33 -0
  46. package/packages/attest/schemas/attestation-ref-v1.schema.json +44 -0
  47. package/packages/attest/schemas/attestation-result-v1.schema.json +163 -0
  48. package/packages/attest/schemas/offline-attestation-bundle-v1.schema.json +30 -0
  49. package/packages/attest/schemas/public-verification-bundle-v1.schema.json +74 -0
  50. package/packages/attest/schemas/quick-verification-receipt-v1.schema.json +219 -0
  51. package/packages/attest/schemas/workspace-snapshot-v1.schema.json +135 -0
  52. package/packages/attest/src/canonical.mjs +12 -0
  53. package/packages/attest/src/formal.mjs +762 -0
  54. package/packages/attest/src/index.mjs +113 -0
  55. package/packages/attest/src/offline-bundle.mjs +108 -0
  56. package/packages/attest/src/quick-receipt-contract.mjs +156 -0
  57. package/packages/attest/src/quick.mjs +274 -0
  58. package/packages/attest/src/reference-contract.mjs +64 -0
  59. package/packages/attest/src/reference.mjs +131 -0
  60. package/packages/attest/src/workspace-snapshot.mjs +171 -0
  61. package/registry-release-policy-v1.json +34 -0
  62. package/sbom.spdx.json +39 -0
  63. package/scripts/runkit-contract/acceptance-evidence.mjs +103 -0
  64. package/scripts/runkit-contract/core-contract.mjs +392 -0
  65. package/scripts/runkit-contract/coverage-adoption.mjs +414 -0
  66. package/scripts/runkit-contract/delivery-create.mjs +252 -0
  67. package/scripts/runkit-contract/delivery-selection.mjs +31 -0
  68. package/scripts/runkit-contract/finalize.mjs +790 -0
  69. package/scripts/runkit-contract/inspect-presentation.mjs +183 -0
  70. package/scripts/runkit-contract/install-codex-skill.mjs +239 -0
  71. package/scripts/runkit-contract/lease-lifecycle.mjs +324 -0
  72. package/scripts/runkit-contract/lifecycle-orchestration.mjs +415 -0
  73. package/scripts/runkit-contract/offline-store.mjs +248 -0
  74. package/scripts/runkit-contract/profile-impact.mjs +223 -0
  75. package/scripts/runkit-contract/provenance-common.mjs +153 -0
  76. package/scripts/runkit-contract/quick-attest.mjs +4 -0
  77. package/scripts/runkit-contract/quick-canonical.mjs +41 -0
  78. package/scripts/runkit-contract/quick-metrics.mjs +86 -0
  79. package/scripts/runkit-contract/quick-receipt.mjs +139 -0
  80. package/scripts/runkit-contract/quick-verify.mjs +201 -0
  81. package/scripts/runkit-contract/quick-workspace-snapshot.mjs +3 -0
  82. package/scripts/runkit-contract/ready-for-commit.mjs +188 -0
  83. package/scripts/runkit-contract/receipt-lineage.mjs +332 -0
  84. package/scripts/runkit-contract/registry-adoption-gate.mjs +117 -0
  85. package/scripts/runkit-contract/repair-execution.mjs +997 -0
  86. package/scripts/runkit-contract/resource-preflight.mjs +829 -0
  87. package/scripts/runkit-contract/resume-execution.mjs +569 -0
  88. package/scripts/runkit-contract/runkit-cli.mjs +1214 -0
  89. package/scripts/runkit-contract/schemas/closeout-receipt-v2.schema.json +42 -0
  90. package/scripts/runkit-contract/schemas/core-artifact-v2.schema.json +23 -0
  91. package/scripts/runkit-contract/schemas/core-artifact.schema.json +23 -0
  92. package/scripts/runkit-contract/schemas/coverage-adopt-request-v1.schema.json +66 -0
  93. package/scripts/runkit-contract/schemas/engine-pin-v2.schema.json +14 -0
  94. package/scripts/runkit-contract/schemas/engine-pin.schema.json +14 -0
  95. package/scripts/runkit-contract/schemas/evidence-coverage-index-v1.schema.json +131 -0
  96. package/scripts/runkit-contract/schemas/finalize-request-v1.schema.json +131 -0
  97. package/scripts/runkit-contract/schemas/profiles.schema.json +47 -0
  98. package/scripts/runkit-contract/schemas/project-config-v2.schema.json +13 -0
  99. package/scripts/runkit-contract/schemas/project-config.schema.json +13 -0
  100. package/scripts/runkit-contract/schemas/ready-for-commit-v1.schema.json +26 -0
  101. package/scripts/runkit-contract/schemas/replayable-evidence-v1.schema.json +82 -0
  102. package/scripts/runkit-contract/schemas/resource-preflight-request-v1.schema.json +178 -0
  103. package/scripts/runkit-contract/schemas/resource-preflight-v1.schema.json +153 -0
  104. package/scripts/runkit-contract/schemas/resume-attempt-v1.schema.json +80 -0
  105. package/scripts/runkit-contract/schemas/resume-request-v1.schema.json +77 -0
  106. package/scripts/runkit-contract/schemas/snapshot-v1.schema.json +71 -0
  107. package/scripts/runkit-contract/schemas/verification-context-v1.schema.json +92 -0
  108. package/scripts/runkit-contract/schemas/verification-plan-v1.schema.json +150 -0
  109. package/scripts/runkit-contract/schemas/verification-receipt-v2.schema.json +118 -0
  110. package/scripts/runkit-contract/schemas/verify-plan-request-v1.schema.json +56 -0
  111. package/scripts/runkit-contract/schemas/visual-smoke-request-v1.schema.json +64 -0
  112. package/scripts/runkit-contract/schemas/visual-smoke-result-v1.schema.json +68 -0
  113. package/scripts/runkit-contract/snapshot.mjs +340 -0
  114. package/scripts/runkit-contract/source-fingerprint.mjs +404 -0
  115. package/scripts/runkit-contract/templates/coverage-adopt-request.json +26 -0
  116. package/scripts/runkit-contract/templates/finalize-request.json +18 -0
  117. package/scripts/runkit-contract/templates/goal-contract.json +11 -0
  118. package/scripts/runkit-contract/templates/ready-for-commit-request.json +11 -0
  119. package/scripts/runkit-contract/templates/resource-preflight-request.json +56 -0
  120. package/scripts/runkit-contract/templates/resume-request.json +10 -0
  121. package/scripts/runkit-contract/templates/snapshot-request.json +23 -0
  122. package/scripts/runkit-contract/templates/verify-plan-request.json +31 -0
  123. package/scripts/runkit-contract/templates/visual-smoke-request.json +32 -0
  124. package/scripts/runkit-contract/templates/worker-lease.json +7 -0
  125. package/scripts/runkit-contract/verification-context.mjs +141 -0
  126. package/scripts/runkit-contract/verification-plan.mjs +608 -0
  127. package/scripts/runkit-contract/verification-receipt-gate.mjs +566 -0
  128. package/scripts/runkit-contract/visual-smoke.mjs +410 -0
@@ -0,0 +1,10 @@
1
+ {
2
+ "schemaVersion": "OwlCodaRunKitPublicVerificationBundleV1",
3
+ "source": {"fingerprintAlgorithm": "sha256-canonical-json-v1", "fingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "payload": {"manifestVersion": 1, "files": [{"path": "src/order.json", "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}]}},
4
+ "verificationContext": {"fingerprintAlgorithm": "sha256-canonical-json-v1", "fingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "payload": {"platform": "darwin-arm64", "commands": [{"executable": "/usr/bin/node", "argv": ["--test", "fixtures"], "cwd": "."}]}},
5
+ "receipts": [
6
+ {"schemaVersion": "OwlCodaRunKitPublicVerificationReceiptV1", "receiptId": "receipt-a", "status": "passed", "replacesReceiptId": null, "sourceFingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "authorizationGranted": false, "gitAuthorization": false, "releaseAuthorization": false, "artifactMutationAuthorization": false, "businessActionAuthorization": false},
7
+ {"schemaVersion": "OwlCodaRunKitPublicVerificationReceiptV1", "receiptId": "receipt-b", "status": "passed", "replacesReceiptId": null, "sourceFingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "authorizationGranted": false, "gitAuthorization": false, "releaseAuthorization": false, "artifactMutationAuthorization": false, "businessActionAuthorization": false}
8
+ ],
9
+ "closeout": {"schemaVersion": "OwlCodaRunKitPublicCloseoutV1", "decision": "accepted", "activeReceiptId": "receipt-b", "sourceFingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "authorizationGranted": false, "gitAuthorization": false, "releaseAuthorization": false, "artifactMutationAuthorization": false, "businessActionAuthorization": false}
10
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "schemaVersion": "OwlCodaRunKitPublicVerificationBundleV1",
3
+ "source": {"fingerprintAlgorithm": "sha256-canonical-json-v1", "fingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "payload": {"manifestVersion": 1, "files": [{"path": "src/order.json", "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}]}},
4
+ "verificationContext": {"fingerprintAlgorithm": "sha256-canonical-json-v1", "fingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "payload": {"platform": "darwin-arm64", "commands": [{"executable": "/usr/bin/node", "argv": ["--test", "fixtures"], "cwd": "."}]}},
5
+ "receipts": [{"schemaVersion": "OwlCodaRunKitPublicVerificationReceiptV1", "receiptId": "receipt-orphan", "status": "passed", "replacesReceiptId": "receipt-missing", "sourceFingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "authorizationGranted": false, "gitAuthorization": false, "releaseAuthorization": false, "artifactMutationAuthorization": false, "businessActionAuthorization": false}],
6
+ "closeout": {"schemaVersion": "OwlCodaRunKitPublicCloseoutV1", "decision": "accepted", "activeReceiptId": "receipt-orphan", "sourceFingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "authorizationGranted": false, "gitAuthorization": false, "releaseAuthorization": false, "artifactMutationAuthorization": false, "businessActionAuthorization": false}
7
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "schemaVersion": "OwlCodaRunKitPublicVerificationBundleV1",
3
+ "source": {"fingerprintAlgorithm": "sha256-canonical-json-v1", "fingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "payload": {"manifestVersion": 1, "files": [{"path": "src/order.json", "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}]}},
4
+ "verificationContext": {"fingerprintAlgorithm": "sha256-canonical-json-v1", "fingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "payload": {"platform": "darwin-arm64", "commands": [{"executable": "/usr/bin/node", "argv": ["--test", "fixtures"], "cwd": "."}]}},
5
+ "receipts": [{"schemaVersion": "OwlCodaRunKitPublicVerificationReceiptV1", "receiptId": "receipt-001", "status": "passed", "replacesReceiptId": null, "sourceFingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "authorizationGranted": false, "gitAuthorization": false, "releaseAuthorization": false, "artifactMutationAuthorization": false, "businessActionAuthorization": false}],
6
+ "closeout": {"schemaVersion": "OwlCodaRunKitPublicCloseoutV1", "decision": "accepted", "activeReceiptId": "receipt-001", "sourceFingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "authorizationGranted": false, "gitAuthorization": false, "releaseAuthorization": false, "artifactMutationAuthorization": false, "businessActionAuthorization": false},
7
+ "unexpected": true
8
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "schemaVersion": "OwlCodaRunKitPublicVerificationBundleV1",
3
+ "source": {"fingerprintAlgorithm": "sha256-canonical-json-v1", "fingerprint": "sha256:0000000000000000000000000000000000000000000000000000000000000000", "payload": {"manifestVersion": 1, "files": [{"path": "src/order.json", "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}]}},
4
+ "verificationContext": {"fingerprintAlgorithm": "sha256-canonical-json-v1", "fingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "payload": {"platform": "darwin-arm64", "commands": [{"executable": "/usr/bin/node", "argv": ["--test", "fixtures"], "cwd": "."}]}},
5
+ "receipts": [{"schemaVersion": "OwlCodaRunKitPublicVerificationReceiptV1", "receiptId": "receipt-001", "status": "passed", "replacesReceiptId": null, "sourceFingerprint": "sha256:0000000000000000000000000000000000000000000000000000000000000000", "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "authorizationGranted": false, "gitAuthorization": false, "releaseAuthorization": false, "artifactMutationAuthorization": false, "businessActionAuthorization": false}],
6
+ "closeout": {"schemaVersion": "OwlCodaRunKitPublicCloseoutV1", "decision": "accepted", "activeReceiptId": "receipt-001", "sourceFingerprint": "sha256:0000000000000000000000000000000000000000000000000000000000000000", "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "authorizationGranted": false, "gitAuthorization": false, "releaseAuthorization": false, "artifactMutationAuthorization": false, "businessActionAuthorization": false}
7
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "schemaVersion": "OwlCodaRunKitPublicVerificationBundleV1",
3
+ "source": {
4
+ "fingerprintAlgorithm": "sha256-canonical-json-v1",
5
+ "fingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac",
6
+ "payload": {
7
+ "manifestVersion": 1,
8
+ "files": [{"path": "src/order.json", "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}]
9
+ }
10
+ },
11
+ "verificationContext": {
12
+ "fingerprintAlgorithm": "sha256-canonical-json-v1",
13
+ "fingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4",
14
+ "payload": {
15
+ "platform": "darwin-arm64",
16
+ "commands": [{"executable": "/usr/bin/node", "argv": ["--test", "fixtures"], "cwd": "."}]
17
+ }
18
+ },
19
+ "receipts": [
20
+ {
21
+ "schemaVersion": "OwlCodaRunKitPublicVerificationReceiptV1",
22
+ "receiptId": "receipt-001",
23
+ "status": "failed",
24
+ "replacesReceiptId": null,
25
+ "sourceFingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac",
26
+ "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4",
27
+ "authorizationGranted": false,
28
+ "gitAuthorization": false,
29
+ "releaseAuthorization": false,
30
+ "artifactMutationAuthorization": false,
31
+ "businessActionAuthorization": false
32
+ },
33
+ {
34
+ "schemaVersion": "OwlCodaRunKitPublicVerificationReceiptV1",
35
+ "receiptId": "receipt-002",
36
+ "status": "passed",
37
+ "replacesReceiptId": "receipt-001",
38
+ "sourceFingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac",
39
+ "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4",
40
+ "authorizationGranted": false,
41
+ "gitAuthorization": false,
42
+ "releaseAuthorization": false,
43
+ "artifactMutationAuthorization": false,
44
+ "businessActionAuthorization": false
45
+ }
46
+ ],
47
+ "closeout": {
48
+ "schemaVersion": "OwlCodaRunKitPublicCloseoutV1",
49
+ "decision": "accepted",
50
+ "activeReceiptId": "receipt-002",
51
+ "sourceFingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac",
52
+ "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4",
53
+ "authorizationGranted": false,
54
+ "gitAuthorization": false,
55
+ "releaseAuthorization": false,
56
+ "artifactMutationAuthorization": false,
57
+ "businessActionAuthorization": false
58
+ }
59
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "schemaVersion": "OwlCodaRunKitPublicVerificationBundleV1",
3
+ "source": {"fingerprintAlgorithm": "sha256-canonical-json-v1", "fingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "payload": {"manifestVersion": 1, "files": [{"path": "src/order.json", "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}]}},
4
+ "verificationContext": {"fingerprintAlgorithm": "sha256-canonical-json-v1", "fingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "payload": {"platform": "darwin-arm64", "commands": [{"executable": "/usr/bin/node", "argv": ["--test", "fixtures"], "cwd": "."}]}},
5
+ "receipts": [
6
+ {"schemaVersion": "OwlCodaRunKitPublicVerificationReceiptV1", "receiptId": "receipt-blocked", "status": "blocked", "replacesReceiptId": null, "sourceFingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "authorizationGranted": false, "gitAuthorization": false, "releaseAuthorization": false, "artifactMutationAuthorization": false, "businessActionAuthorization": false}
7
+ ],
8
+ "closeout": {"schemaVersion": "OwlCodaRunKitPublicCloseoutV1", "decision": "blocked", "activeReceiptId": "receipt-blocked", "sourceFingerprint": "sha256:6cbc7b5570b8ae2cf63857ade8fc9362bf78603488c594b6b3db9b647b6d1fac", "verificationContextFingerprint": "sha256:a617e3a705a0e45c4205b63635acff13a97d91707e63165fe9ac416e253befc4", "authorizationGranted": false, "gitAuthorization": false, "releaseAuthorization": false, "artifactMutationAuthorization": false, "businessActionAuthorization": false}
9
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "schemaVersion": "OwlCodaRunKitPublicVerifierFixtureIndexV1",
3
+ "fixtures": [
4
+ {
5
+ "id": "good-accepted-replacement-chain",
6
+ "file": "good/accepted-replacement-chain.json",
7
+ "expectedValid": true,
8
+ "expectedSchemaValid": true,
9
+ "expectedIssueCodes": []
10
+ },
11
+ {
12
+ "id": "good-blocked-single-leaf",
13
+ "file": "good/blocked-single-leaf.json",
14
+ "expectedValid": true,
15
+ "expectedSchemaValid": true,
16
+ "expectedIssueCodes": []
17
+ },
18
+ {
19
+ "id": "bad-root-shape",
20
+ "file": "bad/root-shape-extra-property.json",
21
+ "expectedValid": false,
22
+ "expectedSchemaValid": false,
23
+ "expectedIssueCodes": ["PUBLIC_BUNDLE_SHAPE_INVALID"]
24
+ },
25
+ {
26
+ "id": "bad-source-fingerprint",
27
+ "file": "bad/source-fingerprint-mismatch.json",
28
+ "expectedValid": false,
29
+ "expectedSchemaValid": true,
30
+ "expectedIssueCodes": ["SOURCE_FINGERPRINT_MISMATCH"]
31
+ },
32
+ {
33
+ "id": "bad-context-fingerprint",
34
+ "file": "bad/context-fingerprint-mismatch.json",
35
+ "expectedValid": false,
36
+ "expectedSchemaValid": true,
37
+ "expectedIssueCodes": ["VERIFICATION_CONTEXT_FINGERPRINT_MISMATCH"]
38
+ },
39
+ {
40
+ "id": "bad-two-active-leaves",
41
+ "file": "bad/multiple-active-leaves.json",
42
+ "expectedValid": false,
43
+ "expectedSchemaValid": true,
44
+ "expectedIssueCodes": ["RECEIPT_LINEAGE_MULTIPLE_ACTIVE_LEAVES"]
45
+ },
46
+ {
47
+ "id": "bad-orphan-lineage",
48
+ "file": "bad/orphan-replacement.json",
49
+ "expectedValid": false,
50
+ "expectedSchemaValid": true,
51
+ "expectedIssueCodes": ["RECEIPT_LINEAGE_ORPHAN"]
52
+ },
53
+ {
54
+ "id": "bad-active-source-binding",
55
+ "file": "bad/active-source-binding-mismatch.json",
56
+ "expectedValid": false,
57
+ "expectedSchemaValid": true,
58
+ "expectedIssueCodes": ["ACTIVE_RECEIPT_SOURCE_BINDING_MISMATCH"]
59
+ },
60
+ {
61
+ "id": "bad-active-context-binding",
62
+ "file": "bad/active-context-binding-mismatch.json",
63
+ "expectedValid": false,
64
+ "expectedSchemaValid": true,
65
+ "expectedIssueCodes": ["ACTIVE_RECEIPT_CONTEXT_BINDING_MISMATCH"]
66
+ },
67
+ {
68
+ "id": "bad-accepted-failed-receipt",
69
+ "file": "bad/accepted-failed-receipt.json",
70
+ "expectedValid": false,
71
+ "expectedSchemaValid": true,
72
+ "expectedIssueCodes": ["ACCEPTED_RECEIPT_NOT_PASSED"]
73
+ },
74
+ {
75
+ "id": "bad-accepted-authority-leak",
76
+ "file": "bad/accepted-authority-leak.json",
77
+ "expectedValid": false,
78
+ "expectedSchemaValid": false,
79
+ "expectedIssueCodes": ["ACCEPTED_AUTHORITY_GRANTED"]
80
+ },
81
+ {
82
+ "id": "bad-duplicate-object-key",
83
+ "file": "bad/duplicate-object-key.json",
84
+ "inputMode": "raw_cli",
85
+ "expectedValid": false,
86
+ "expectedSchemaValid": false,
87
+ "expectedIssueCodes": ["DUPLICATE_OBJECT_KEY"]
88
+ }
89
+ ]
90
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "spdxVersion": "SPDX-2.3",
3
+ "dataLicense": "CC0-1.0",
4
+ "SPDXID": "SPDXRef-DOCUMENT",
5
+ "name": "owlcoda-attest-0.2.0",
6
+ "documentNamespace": "https://owlcoda.com/spdx/owlcoda-attest/0.2.0/unsigned-v1-wave5",
7
+ "creationInfo": {
8
+ "created": "2026-07-29T00:00:00Z",
9
+ "creators": [
10
+ "Tool: OwlCoda RunKit Wave 5"
11
+ ]
12
+ },
13
+ "packages": [
14
+ {
15
+ "SPDXID": "SPDXRef-Package-owlcoda-attest",
16
+ "name": "@owlcoda/attest",
17
+ "versionInfo": "0.2.0",
18
+ "downloadLocation": "NOASSERTION",
19
+ "filesAnalyzed": false,
20
+ "licenseConcluded": "NOASSERTION",
21
+ "licenseDeclared": "GPL-3.0-or-later",
22
+ "copyrightText": "NOASSERTION",
23
+ "supplier": "Organization: OwlCoda"
24
+ }
25
+ ],
26
+ "relationships": [
27
+ {
28
+ "spdxElementId": "SPDXRef-DOCUMENT",
29
+ "relationshipType": "DESCRIBES",
30
+ "relatedSpdxElement": "SPDXRef-Package-owlcoda-attest"
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://owlcoda.dev/schemas/runkit/trust/attestation-ref-v1.schema.json",
4
+ "title": "OwlCoda Attestation Reference V1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "receiptId",
10
+ "receiptSha256",
11
+ "coreIdentity"
12
+ ],
13
+ "properties": {
14
+ "schemaVersion": {
15
+ "const": "OwlCodaAttestationRefV1"
16
+ },
17
+ "receiptId": {
18
+ "type": "string",
19
+ "minLength": 1
20
+ },
21
+ "receiptSha256": {
22
+ "type": "string",
23
+ "pattern": "^sha256:[0-9a-f]{64}$"
24
+ },
25
+ "coreIdentity": {
26
+ "type": "object",
27
+ "additionalProperties": false,
28
+ "required": [
29
+ "contractVersion",
30
+ "coreManifestSha256"
31
+ ],
32
+ "properties": {
33
+ "contractVersion": {
34
+ "type": "string",
35
+ "minLength": 1
36
+ },
37
+ "coreManifestSha256": {
38
+ "type": "string",
39
+ "pattern": "^sha256:[0-9a-f]{64}$"
40
+ }
41
+ }
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,163 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://owlcoda.dev/schemas/runkit/trust/attestation-result-v1.schema.json",
4
+ "title": "OwlCoda Attestation Result V1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "decision",
10
+ "subjectRef",
11
+ "verifiedAt",
12
+ "policy",
13
+ "checks",
14
+ "authorizationBoundary",
15
+ "issueCodes",
16
+ "verifiedMaterials"
17
+ ],
18
+ "properties": {
19
+ "schemaVersion": {
20
+ "const": "OwlCodaAttestationResultV1"
21
+ },
22
+ "decision": {
23
+ "enum": [
24
+ "GO",
25
+ "NO_GO",
26
+ "INDETERMINATE"
27
+ ]
28
+ },
29
+ "subjectRef": {
30
+ "$ref": "attestation-ref-v1.schema.json"
31
+ },
32
+ "verifiedAt": {
33
+ "type": "string",
34
+ "format": "date-time"
35
+ },
36
+ "policy": {
37
+ "type": "object",
38
+ "additionalProperties": false,
39
+ "required": [
40
+ "id",
41
+ "version"
42
+ ],
43
+ "properties": {
44
+ "id": {
45
+ "type": "string",
46
+ "minLength": 1
47
+ },
48
+ "version": {
49
+ "type": "string",
50
+ "minLength": 1
51
+ }
52
+ }
53
+ },
54
+ "checks": {
55
+ "type": "object",
56
+ "additionalProperties": false,
57
+ "required": [
58
+ "schema",
59
+ "canonicalization",
60
+ "lineage",
61
+ "source",
62
+ "context",
63
+ "signature",
64
+ "key",
65
+ "anchor"
66
+ ],
67
+ "properties": {
68
+ "schema": {
69
+ "$ref": "#/$defs/check"
70
+ },
71
+ "canonicalization": {
72
+ "$ref": "#/$defs/check"
73
+ },
74
+ "lineage": {
75
+ "$ref": "#/$defs/check"
76
+ },
77
+ "source": {
78
+ "$ref": "#/$defs/check"
79
+ },
80
+ "context": {
81
+ "$ref": "#/$defs/check"
82
+ },
83
+ "signature": {
84
+ "$ref": "#/$defs/check"
85
+ },
86
+ "key": {
87
+ "$ref": "#/$defs/check"
88
+ },
89
+ "anchor": {
90
+ "$ref": "#/$defs/check"
91
+ }
92
+ }
93
+ },
94
+ "authorizationBoundary": {
95
+ "type": "object",
96
+ "additionalProperties": false,
97
+ "required": [
98
+ "authorizationGranted",
99
+ "statement"
100
+ ],
101
+ "properties": {
102
+ "authorizationGranted": {
103
+ "const": false
104
+ },
105
+ "statement": {
106
+ "const": "attestation_never_grants_repository_or_business_authority"
107
+ }
108
+ }
109
+ },
110
+ "issueCodes": {
111
+ "type": "array",
112
+ "uniqueItems": true,
113
+ "items": {
114
+ "type": "string",
115
+ "minLength": 1
116
+ }
117
+ },
118
+ "verifiedMaterials": {
119
+ "type": "array",
120
+ "items": {
121
+ "type": "object",
122
+ "additionalProperties": false,
123
+ "required": [
124
+ "path",
125
+ "sha256"
126
+ ],
127
+ "properties": {
128
+ "path": {
129
+ "type": "string",
130
+ "minLength": 1
131
+ },
132
+ "sha256": {
133
+ "type": "string",
134
+ "pattern": "^sha256:[0-9a-f]{64}$"
135
+ }
136
+ }
137
+ }
138
+ }
139
+ },
140
+ "$defs": {
141
+ "check": {
142
+ "type": "object",
143
+ "additionalProperties": false,
144
+ "required": [
145
+ "status"
146
+ ],
147
+ "properties": {
148
+ "status": {
149
+ "enum": [
150
+ "passed",
151
+ "failed",
152
+ "not_checked",
153
+ "material_missing"
154
+ ]
155
+ },
156
+ "issueCode": {
157
+ "type": "string",
158
+ "minLength": 1
159
+ }
160
+ }
161
+ }
162
+ }
163
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://owlcoda.dev/schemas/runkit/trust/offline-attestation-bundle-v1.schema.json",
4
+ "title": "OwlCoda Offline Attestation Bundle V1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "reference",
10
+ "receiptByteLength",
11
+ "receiptBytesBase64"
12
+ ],
13
+ "properties": {
14
+ "schemaVersion": {
15
+ "const": "OwlCodaOfflineAttestationBundleV1"
16
+ },
17
+ "reference": {
18
+ "$ref": "attestation-ref-v1.schema.json"
19
+ },
20
+ "receiptByteLength": {
21
+ "type": "integer",
22
+ "minimum": 1
23
+ },
24
+ "receiptBytesBase64": {
25
+ "type": "string",
26
+ "minLength": 4,
27
+ "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "urn:owlcoda:runkit:public-verification-bundle:v1",
4
+ "title": "OwlCoda RunKit Public Verification Bundle V1",
5
+ "type": "object",
6
+ "required": ["schemaVersion", "source", "verificationContext", "receipts", "closeout"],
7
+ "properties": {
8
+ "schemaVersion": {"const": "OwlCodaRunKitPublicVerificationBundleV1"},
9
+ "source": {"$ref": "#/$defs/source"},
10
+ "verificationContext": {"$ref": "#/$defs/verificationContext"},
11
+ "receipts": {"type": "array", "minItems": 1, "maxItems": 1024, "items": {"$ref": "#/$defs/receipt"}},
12
+ "closeout": {"$ref": "#/$defs/closeout"}
13
+ },
14
+ "additionalProperties": false,
15
+ "$defs": {
16
+ "fingerprint": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
17
+ "authorityFalse": {"const": false},
18
+ "source": {
19
+ "type": "object",
20
+ "required": ["fingerprintAlgorithm", "fingerprint", "payload"],
21
+ "properties": {
22
+ "fingerprintAlgorithm": {"const": "sha256-canonical-json-v1"},
23
+ "fingerprint": {"$ref": "#/$defs/fingerprint"},
24
+ "payload": {"type": "object"}
25
+ },
26
+ "additionalProperties": false
27
+ },
28
+ "verificationContext": {
29
+ "type": "object",
30
+ "required": ["fingerprintAlgorithm", "fingerprint", "payload"],
31
+ "properties": {
32
+ "fingerprintAlgorithm": {"const": "sha256-canonical-json-v1"},
33
+ "fingerprint": {"$ref": "#/$defs/fingerprint"},
34
+ "payload": {"type": "object"}
35
+ },
36
+ "additionalProperties": false
37
+ },
38
+ "receipt": {
39
+ "type": "object",
40
+ "required": ["schemaVersion", "receiptId", "status", "replacesReceiptId", "sourceFingerprint", "verificationContextFingerprint", "authorizationGranted", "gitAuthorization", "releaseAuthorization", "artifactMutationAuthorization", "businessActionAuthorization"],
41
+ "properties": {
42
+ "schemaVersion": {"const": "OwlCodaRunKitPublicVerificationReceiptV1"},
43
+ "receiptId": {"type": "string", "minLength": 1},
44
+ "status": {"enum": ["passed", "failed", "blocked"]},
45
+ "replacesReceiptId": {"oneOf": [{"type": "null"}, {"type": "string", "minLength": 1}]},
46
+ "sourceFingerprint": {"$ref": "#/$defs/fingerprint"},
47
+ "verificationContextFingerprint": {"$ref": "#/$defs/fingerprint"},
48
+ "authorizationGranted": {"$ref": "#/$defs/authorityFalse"},
49
+ "gitAuthorization": {"$ref": "#/$defs/authorityFalse"},
50
+ "releaseAuthorization": {"$ref": "#/$defs/authorityFalse"},
51
+ "artifactMutationAuthorization": {"$ref": "#/$defs/authorityFalse"},
52
+ "businessActionAuthorization": {"$ref": "#/$defs/authorityFalse"}
53
+ },
54
+ "additionalProperties": false
55
+ },
56
+ "closeout": {
57
+ "type": "object",
58
+ "required": ["schemaVersion", "decision", "activeReceiptId", "sourceFingerprint", "verificationContextFingerprint", "authorizationGranted", "gitAuthorization", "releaseAuthorization", "artifactMutationAuthorization", "businessActionAuthorization"],
59
+ "properties": {
60
+ "schemaVersion": {"const": "OwlCodaRunKitPublicCloseoutV1"},
61
+ "decision": {"enum": ["accepted", "blocked", "rejected"]},
62
+ "activeReceiptId": {"type": "string", "minLength": 1},
63
+ "sourceFingerprint": {"$ref": "#/$defs/fingerprint"},
64
+ "verificationContextFingerprint": {"$ref": "#/$defs/fingerprint"},
65
+ "authorizationGranted": {"$ref": "#/$defs/authorityFalse"},
66
+ "gitAuthorization": {"$ref": "#/$defs/authorityFalse"},
67
+ "releaseAuthorization": {"$ref": "#/$defs/authorityFalse"},
68
+ "artifactMutationAuthorization": {"$ref": "#/$defs/authorityFalse"},
69
+ "businessActionAuthorization": {"$ref": "#/$defs/authorityFalse"}
70
+ },
71
+ "additionalProperties": false
72
+ }
73
+ }
74
+ }