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,219 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://owlcoda.dev/schemas/runkit/trust/quick-verification-receipt-v1.schema.json",
4
+ "title": "OwlCoda Quick Verification Receipt V1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "receiptId",
10
+ "assurance",
11
+ "authorizationGranted",
12
+ "coreIdentity",
13
+ "workspaceBefore",
14
+ "exactCommand",
15
+ "verificationContext",
16
+ "startedAt",
17
+ "finishedAt",
18
+ "exitResult",
19
+ "outputArtifacts",
20
+ "workspaceAfter",
21
+ "mutationDecision",
22
+ "issueCodes"
23
+ ],
24
+ "properties": {
25
+ "schemaVersion": {
26
+ "const": "OwlCodaQuickVerificationReceiptV1"
27
+ },
28
+ "receiptId": {
29
+ "type": "string",
30
+ "minLength": 1
31
+ },
32
+ "assurance": {
33
+ "const": "captured_verification"
34
+ },
35
+ "authorizationGranted": {
36
+ "const": false
37
+ },
38
+ "coreIdentity": {
39
+ "type": "object",
40
+ "additionalProperties": false,
41
+ "required": [
42
+ "contractVersion",
43
+ "coreVersion",
44
+ "coreManifestSha256"
45
+ ],
46
+ "properties": {
47
+ "contractVersion": {
48
+ "type": "string",
49
+ "minLength": 1
50
+ },
51
+ "coreVersion": {
52
+ "type": "string",
53
+ "minLength": 1
54
+ },
55
+ "coreManifestSha256": {
56
+ "type": "string",
57
+ "pattern": "^sha256:[0-9a-f]{64}$"
58
+ }
59
+ }
60
+ },
61
+ "workspaceBefore": {
62
+ "$ref": "workspace-snapshot-v1.schema.json"
63
+ },
64
+ "exactCommand": {
65
+ "type": "object",
66
+ "additionalProperties": false,
67
+ "required": [
68
+ "executable",
69
+ "argv",
70
+ "cwd"
71
+ ],
72
+ "properties": {
73
+ "executable": {
74
+ "type": "string",
75
+ "minLength": 1
76
+ },
77
+ "argv": {
78
+ "type": "array",
79
+ "items": {
80
+ "type": "string"
81
+ }
82
+ },
83
+ "cwd": {
84
+ "type": "string",
85
+ "minLength": 1
86
+ }
87
+ }
88
+ },
89
+ "verificationContext": {
90
+ "type": "object",
91
+ "additionalProperties": false,
92
+ "required": [
93
+ "platform",
94
+ "architecture",
95
+ "runtime"
96
+ ],
97
+ "properties": {
98
+ "platform": {
99
+ "type": "string",
100
+ "minLength": 1
101
+ },
102
+ "architecture": {
103
+ "type": "string",
104
+ "minLength": 1
105
+ },
106
+ "runtime": {
107
+ "type": "string",
108
+ "minLength": 1
109
+ }
110
+ }
111
+ },
112
+ "startedAt": {
113
+ "type": "string",
114
+ "format": "date-time"
115
+ },
116
+ "finishedAt": {
117
+ "type": "string",
118
+ "format": "date-time"
119
+ },
120
+ "exitResult": {
121
+ "type": "object",
122
+ "additionalProperties": false,
123
+ "required": [
124
+ "exitCode",
125
+ "signal"
126
+ ],
127
+ "properties": {
128
+ "exitCode": {
129
+ "type": [
130
+ "integer",
131
+ "null"
132
+ ]
133
+ },
134
+ "signal": {
135
+ "type": [
136
+ "string",
137
+ "null"
138
+ ]
139
+ }
140
+ }
141
+ },
142
+ "outputArtifacts": {
143
+ "type": "object",
144
+ "additionalProperties": false,
145
+ "required": [
146
+ "stdout",
147
+ "stderr"
148
+ ],
149
+ "properties": {
150
+ "stdout": {
151
+ "$ref": "#/$defs/outputArtifact"
152
+ },
153
+ "stderr": {
154
+ "$ref": "#/$defs/outputArtifact"
155
+ }
156
+ }
157
+ },
158
+ "workspaceAfter": {
159
+ "$ref": "workspace-snapshot-v1.schema.json"
160
+ },
161
+ "mutationDecision": {
162
+ "enum": [
163
+ "source_unchanged",
164
+ "invalidated_by_command_source_mutation"
165
+ ]
166
+ },
167
+ "issueCodes": {
168
+ "type": "array",
169
+ "uniqueItems": true,
170
+ "items": {
171
+ "type": "string",
172
+ "minLength": 1
173
+ }
174
+ },
175
+ "signatureRef": {
176
+ "type": "object",
177
+ "additionalProperties": false,
178
+ "required": [
179
+ "path",
180
+ "sha256"
181
+ ],
182
+ "properties": {
183
+ "path": {
184
+ "type": "string",
185
+ "minLength": 1
186
+ },
187
+ "sha256": {
188
+ "type": "string",
189
+ "pattern": "^sha256:[0-9a-f]{64}$"
190
+ }
191
+ }
192
+ }
193
+ },
194
+ "$defs": {
195
+ "outputArtifact": {
196
+ "type": "object",
197
+ "additionalProperties": false,
198
+ "required": [
199
+ "path",
200
+ "sha256",
201
+ "sizeBytes"
202
+ ],
203
+ "properties": {
204
+ "path": {
205
+ "type": "string",
206
+ "minLength": 1
207
+ },
208
+ "sha256": {
209
+ "type": "string",
210
+ "pattern": "^sha256:[0-9a-f]{64}$"
211
+ },
212
+ "sizeBytes": {
213
+ "type": "integer",
214
+ "minimum": 0
215
+ }
216
+ }
217
+ }
218
+ }
219
+ }
@@ -0,0 +1,135 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://owlcoda.dev/schemas/runkit/trust/workspace-snapshot-v1.schema.json",
4
+ "title": "OwlCoda Workspace Snapshot V1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "repositoryIdentity",
10
+ "headCommit",
11
+ "trackedTreeIdentity",
12
+ "submodules",
13
+ "dirtyOverlay",
14
+ "dependencyLockfiles",
15
+ "excludedRoots",
16
+ "ignoredPathsBound",
17
+ "policyVersion",
18
+ "sourceFingerprint"
19
+ ],
20
+ "properties": {
21
+ "schemaVersion": {
22
+ "const": "OwlCodaWorkspaceSnapshotV1"
23
+ },
24
+ "repositoryIdentity": {
25
+ "type": "string",
26
+ "minLength": 1
27
+ },
28
+ "headCommit": {
29
+ "type": [
30
+ "string",
31
+ "null"
32
+ ],
33
+ "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
34
+ },
35
+ "trackedTreeIdentity": {
36
+ "type": "string",
37
+ "pattern": "^sha256:[0-9a-f]{64}$"
38
+ },
39
+ "submodules": {
40
+ "type": "array",
41
+ "items": {
42
+ "type": "object",
43
+ "additionalProperties": false,
44
+ "required": [
45
+ "path",
46
+ "commit"
47
+ ],
48
+ "properties": {
49
+ "path": {
50
+ "type": "string",
51
+ "minLength": 1
52
+ },
53
+ "commit": {
54
+ "type": "string",
55
+ "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
56
+ }
57
+ }
58
+ }
59
+ },
60
+ "dirtyOverlay": {
61
+ "type": "array",
62
+ "items": {
63
+ "type": "object",
64
+ "additionalProperties": false,
65
+ "required": [
66
+ "path",
67
+ "state",
68
+ "sha256"
69
+ ],
70
+ "properties": {
71
+ "path": {
72
+ "type": "string",
73
+ "minLength": 1
74
+ },
75
+ "state": {
76
+ "enum": [
77
+ "modified",
78
+ "untracked",
79
+ "deleted"
80
+ ]
81
+ },
82
+ "sha256": {
83
+ "type": [
84
+ "string",
85
+ "null"
86
+ ],
87
+ "pattern": "^sha256:[0-9a-f]{64}$"
88
+ }
89
+ }
90
+ }
91
+ },
92
+ "dependencyLockfiles": {
93
+ "type": "array",
94
+ "items": {
95
+ "type": "object",
96
+ "additionalProperties": false,
97
+ "required": [
98
+ "path",
99
+ "sha256"
100
+ ],
101
+ "properties": {
102
+ "path": {
103
+ "type": "string",
104
+ "minLength": 1
105
+ },
106
+ "sha256": {
107
+ "type": "string",
108
+ "pattern": "^sha256:[0-9a-f]{64}$"
109
+ }
110
+ }
111
+ }
112
+ },
113
+ "excludedRoots": {
114
+ "type": "array",
115
+ "minItems": 1,
116
+ "contains": {
117
+ "const": ".owlcoda/runkit"
118
+ },
119
+ "items": {
120
+ "type": "string",
121
+ "minLength": 1
122
+ }
123
+ },
124
+ "ignoredPathsBound": {
125
+ "const": false
126
+ },
127
+ "policyVersion": {
128
+ "const": "workspace-snapshot-v1"
129
+ },
130
+ "sourceFingerprint": {
131
+ "type": "string",
132
+ "pattern": "^sha256:[0-9a-f]{64}$"
133
+ }
134
+ }
135
+ }
@@ -0,0 +1,12 @@
1
+ export {
2
+ HASH_PATTERN as SHA256_REF_PATTERN,
3
+ PUBLIC_VERIFIER_LIMITS as QUICK_INPUT_LIMITS,
4
+ canonicalJson,
5
+ hasExactKeys,
6
+ isPlainJsonObject,
7
+ isPlainObject,
8
+ isSha256Ref,
9
+ parseJsonStrict,
10
+ sha256Bytes,
11
+ sha256Canonical,
12
+ } from "./formal.mjs";