@research-engineering/agentic-proofkit 0.1.136

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 (30) hide show
  1. package/ADOPTION.md +198 -0
  2. package/AGENTS.md +160 -0
  3. package/BACKLOG.md +217 -0
  4. package/CONTRIBUTING.md +70 -0
  5. package/LICENSE +21 -0
  6. package/NON_CLAIMS.md +45 -0
  7. package/README.md +50 -0
  8. package/SECURITY.md +52 -0
  9. package/dist/agentic-proofkit +36 -0
  10. package/dist/platform/darwin-arm64/agentic-proofkit +0 -0
  11. package/dist/platform/darwin-x64/agentic-proofkit +0 -0
  12. package/dist/platform/linux-arm64/agentic-proofkit +0 -0
  13. package/dist/platform/linux-x64/agentic-proofkit +0 -0
  14. package/docs/proofkit-contract-map.md +148 -0
  15. package/docs/release-process.md +228 -0
  16. package/docs/specs/proofkit-consumer-infra-retirement/overview.md +62 -0
  17. package/docs/specs/proofkit-consumer-infra-retirement/requirements.v1.json +283 -0
  18. package/docs/specs/proofkit-package-boundary/overview.md +43 -0
  19. package/docs/specs/proofkit-package-boundary/requirements.v1.json +176 -0
  20. package/docs/specs/proofkit-receipt-authority/overview.md +35 -0
  21. package/docs/specs/proofkit-receipt-authority/requirements.v1.json +121 -0
  22. package/docs/specs/proofkit-spec-proof-core/overview.md +98 -0
  23. package/docs/specs/proofkit-spec-proof-core/requirements.v1.json +448 -0
  24. package/docs/specs/proofkit-supply-chain-quality/overview.md +95 -0
  25. package/docs/specs/proofkit-supply-chain-quality/requirements.v1.json +260 -0
  26. package/package.json +71 -0
  27. package/proofkit/cli-contract.v1.json +1601 -0
  28. package/proofkit/receipt-producer-policy.json +49 -0
  29. package/proofkit/requirement-bindings.json +1914 -0
  30. package/proofkit/witness-plan.json +1226 -0
@@ -0,0 +1,283 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "sourceId": "proofkit.consumer-infra-retirement.requirements",
4
+ "specPackagePath": "docs/specs/proofkit-consumer-infra-retirement",
5
+ "overviewPath": "docs/specs/proofkit-consumer-infra-retirement/overview.md",
6
+ "requirementsPath": "docs/specs/proofkit-consumer-infra-retirement/requirements.v1.json",
7
+ "requirements": [
8
+ {
9
+ "requirementId": "REQ-PROOFKIT-RETIRE-001",
10
+ "ownerId": "proofkit.consumer-infra-retirement",
11
+ "invariant": "Migration plans keep old and new proof owners explicit and block retirement unless caller-provided parity evidence and post-retirement validation commands exist.",
12
+ "claimLevel": "blocking",
13
+ "riskClass": "high",
14
+ "proofBindingRefs": [
15
+ "proofkit/requirement-bindings.json"
16
+ ],
17
+ "nonClaimRefs": [
18
+ "NC-PROOFKIT-RETIRE-001"
19
+ ],
20
+ "nonClaims": [
21
+ "This requirement does not claim file deletion, parity authenticity, native witness execution, proof freshness, merge approval, release approval, or rollout approval."
22
+ ],
23
+ "lifecycle": {
24
+ "state": "active",
25
+ "replacementRequirementIds": [],
26
+ "evidenceRefs": []
27
+ },
28
+ "deferral": null,
29
+ "updatePolicy": {
30
+ "reviewOwnerId": "proofkit.consumer-infra-retirement",
31
+ "requiresImpactDeclaration": true,
32
+ "requiresProofBindingReview": true
33
+ }
34
+ },
35
+ {
36
+ "requirementId": "REQ-PROOFKIT-RETIRE-002",
37
+ "ownerId": "proofkit.consumer-infra-retirement",
38
+ "invariant": "Package runtime dependency admission validates caller-provided installed package identity and location facts without reading package manager state or resolving packages.",
39
+ "claimLevel": "blocking",
40
+ "riskClass": "high",
41
+ "proofBindingRefs": [
42
+ "proofkit/requirement-bindings.json"
43
+ ],
44
+ "nonClaimRefs": [
45
+ "NC-PROOFKIT-RETIRE-002"
46
+ ],
47
+ "nonClaims": [
48
+ "This requirement does not claim package resolution, manifest reads, lockfile reads, registry authentication, package-manager authority, native execution, proof freshness, merge approval, or rollout approval."
49
+ ],
50
+ "lifecycle": {
51
+ "state": "active",
52
+ "replacementRequirementIds": [],
53
+ "evidenceRefs": []
54
+ },
55
+ "deferral": null,
56
+ "updatePolicy": {
57
+ "reviewOwnerId": "proofkit.consumer-infra-retirement",
58
+ "requiresImpactDeclaration": true,
59
+ "requiresProofBindingReview": true
60
+ }
61
+ },
62
+ {
63
+ "requirementId": "REQ-PROOFKIT-RETIRE-003",
64
+ "ownerId": "proofkit.consumer-infra-retirement",
65
+ "invariant": "Workspace registry admission validates caller-provided script, dependency, and lockfile facts against caller policy without owning repository command policy or lockfile freshness.",
66
+ "claimLevel": "blocking",
67
+ "riskClass": "medium",
68
+ "proofBindingRefs": [
69
+ "proofkit/requirement-bindings.json"
70
+ ],
71
+ "nonClaimRefs": [
72
+ "NC-PROOFKIT-RETIRE-003"
73
+ ],
74
+ "nonClaims": [
75
+ "This requirement does not claim script execution, lockfile generation, lockfile freshness, registry authentication, package-manager behavior, CI scheduling, merge approval, or rollout approval."
76
+ ],
77
+ "lifecycle": {
78
+ "state": "active",
79
+ "replacementRequirementIds": [],
80
+ "evidenceRefs": []
81
+ },
82
+ "deferral": null,
83
+ "updatePolicy": {
84
+ "reviewOwnerId": "proofkit.consumer-infra-retirement",
85
+ "requiresImpactDeclaration": true,
86
+ "requiresProofBindingReview": true
87
+ }
88
+ },
89
+ {
90
+ "requirementId": "REQ-PROOFKIT-RETIRE-004",
91
+ "ownerId": "proofkit.consumer-infra-retirement",
92
+ "invariant": "Repo-profile structural and command admission validates caller-owned profile, path, command, and environment facts without scanning repositories or approving native proof coverage.",
93
+ "claimLevel": "blocking",
94
+ "riskClass": "medium",
95
+ "proofBindingRefs": [
96
+ "proofkit/requirement-bindings.json"
97
+ ],
98
+ "nonClaimRefs": [
99
+ "NC-PROOFKIT-RETIRE-004"
100
+ ],
101
+ "nonClaims": [
102
+ "This requirement does not claim repository scanning, tracked-file freshness, command execution, native proof coverage, CI readiness, merge approval, release approval, or rollout approval."
103
+ ],
104
+ "lifecycle": {
105
+ "state": "active",
106
+ "replacementRequirementIds": [],
107
+ "evidenceRefs": []
108
+ },
109
+ "deferral": null,
110
+ "updatePolicy": {
111
+ "reviewOwnerId": "proofkit.consumer-infra-retirement",
112
+ "requiresImpactDeclaration": true,
113
+ "requiresProofBindingReview": true
114
+ }
115
+ },
116
+ {
117
+ "requirementId": "REQ-PROOFKIT-RETIRE-005",
118
+ "ownerId": "proofkit.consumer-infra-retirement",
119
+ "invariant": "Adoption workflow plans route legacy migration, gradual adoption, and release-channel scenarios to existing Proofkit primitives through bounded structured command refs.",
120
+ "claimLevel": "blocking",
121
+ "riskClass": "medium",
122
+ "proofBindingRefs": [
123
+ "proofkit/requirement-bindings.json"
124
+ ],
125
+ "nonClaimRefs": [
126
+ "NC-PROOFKIT-RETIRE-005"
127
+ ],
128
+ "nonClaims": [
129
+ "This requirement does not claim scenario appropriateness, repository scanning, command execution, receipt authentication, proof freshness, merge approval, release approval, or rollout approval."
130
+ ],
131
+ "lifecycle": {
132
+ "state": "active",
133
+ "replacementRequirementIds": [],
134
+ "evidenceRefs": []
135
+ },
136
+ "deferral": null,
137
+ "updatePolicy": {
138
+ "reviewOwnerId": "proofkit.consumer-infra-retirement",
139
+ "requiresImpactDeclaration": true,
140
+ "requiresProofBindingReview": true
141
+ }
142
+ },
143
+ {
144
+ "requirementId": "REQ-PROOFKIT-RETIRE-006",
145
+ "ownerId": "proofkit.consumer-infra-retirement",
146
+ "invariant": "Migration parity admission validates caller-provided parity evidence shape, source/target closure, typed equivalence dimensions, and matched digest equality without owning evidence authenticity, freshness, semantic correctness, or retirement approval.",
147
+ "claimLevel": "blocking",
148
+ "riskClass": "high",
149
+ "proofBindingRefs": [
150
+ "proofkit/requirement-bindings.json"
151
+ ],
152
+ "nonClaimRefs": [
153
+ "NC-PROOFKIT-RETIRE-006"
154
+ ],
155
+ "nonClaims": [
156
+ "This requirement does not claim parity authenticity, digest computation, native witness execution, proof freshness, semantic correctness, proof coverage adequacy, old-owner deletion approval, merge approval, release approval, or rollout approval."
157
+ ],
158
+ "lifecycle": {
159
+ "state": "active",
160
+ "replacementRequirementIds": [],
161
+ "evidenceRefs": []
162
+ },
163
+ "deferral": null,
164
+ "updatePolicy": {
165
+ "reviewOwnerId": "proofkit.consumer-infra-retirement",
166
+ "requiresImpactDeclaration": true,
167
+ "requiresProofBindingReview": true
168
+ }
169
+ },
170
+ {
171
+ "requirementId": "REQ-PROOFKIT-RETIRE-007",
172
+ "ownerId": "proofkit.consumer-infra-retirement",
173
+ "invariant": "Gradual adoption guidance keeps caller-provided candidate semantic boundaries advisory, exposes owner-review questions and bounded agent routes, validates adoption mode and checked-scope semantics through one private vocabulary owner, and fails closed for enforcement modes until the consumer admits stable requirements and proof bindings.",
174
+ "claimLevel": "blocking",
175
+ "riskClass": "high",
176
+ "proofBindingRefs": [
177
+ "proofkit/requirement-bindings.json"
178
+ ],
179
+ "nonClaimRefs": [
180
+ "NC-PROOFKIT-RETIRE-007"
181
+ ],
182
+ "nonClaims": [
183
+ "This requirement does not claim repository scanning, semantic boundary correctness, automatic requirement extraction, native witness execution, proof freshness, owner approval, merge approval, release approval, or rollout approval."
184
+ ],
185
+ "lifecycle": {
186
+ "state": "active",
187
+ "replacementRequirementIds": [],
188
+ "evidenceRefs": []
189
+ },
190
+ "deferral": null,
191
+ "updatePolicy": {
192
+ "reviewOwnerId": "proofkit.consumer-infra-retirement",
193
+ "requiresImpactDeclaration": true,
194
+ "requiresProofBindingReview": true
195
+ }
196
+ },
197
+ {
198
+ "requirementId": "REQ-PROOFKIT-RETIRE-008",
199
+ "ownerId": "proofkit.consumer-infra-retirement",
200
+ "invariant": "Adoption doctor reports classify caller-provided imperfect-repository migration gaps, non-passing child reports, and stale current authority vocabulary facts into advisory, failed, or blocked states, and emit bounded owner-specific agent guidance without scanning repositories or owning semantic boundary decisions.",
201
+ "claimLevel": "blocking",
202
+ "riskClass": "high",
203
+ "proofBindingRefs": [
204
+ "proofkit/requirement-bindings.json"
205
+ ],
206
+ "nonClaimRefs": [
207
+ "NC-PROOFKIT-RETIRE-008"
208
+ ],
209
+ "nonClaims": [
210
+ "This requirement does not claim repository scanning, text extraction from files, semantic boundary correctness, automatic requirement extraction, native witness execution, receipt authenticity, proof freshness, owner approval, merge approval, release approval, rollout approval, or old proof-owner retirement approval."
211
+ ],
212
+ "lifecycle": {
213
+ "state": "active",
214
+ "replacementRequirementIds": [],
215
+ "evidenceRefs": []
216
+ },
217
+ "deferral": null,
218
+ "updatePolicy": {
219
+ "reviewOwnerId": "proofkit.consumer-infra-retirement",
220
+ "requiresImpactDeclaration": true,
221
+ "requiresProofBindingReview": true
222
+ }
223
+ },
224
+ {
225
+ "requirementId": "REQ-PROOFKIT-RETIRE-009",
226
+ "ownerId": "proofkit.consumer-infra-retirement",
227
+ "invariant": "Workspace manifest fact projection admits explicit caller-owned package manifest records and emits registry-compatible root/package facts, package-universe facts, and workspace planning inputs without reading manifest paths, interpreting package-manager policy, executing commands, or owning script/dependency policy.",
228
+ "claimLevel": "blocking",
229
+ "riskClass": "medium",
230
+ "proofBindingRefs": [
231
+ "proofkit/requirement-bindings.json"
232
+ ],
233
+ "nonClaimRefs": [
234
+ "NC-PROOFKIT-RETIRE-009"
235
+ ],
236
+ "nonClaims": [
237
+ "This requirement does not claim repository scanning, manifest freshness, workspace glob expansion, package-manager authority, dependency version policy, script policy, native command execution, lockfile freshness, CI scheduling, merge approval, release approval, rollout approval, or production readiness."
238
+ ],
239
+ "lifecycle": {
240
+ "state": "active",
241
+ "replacementRequirementIds": [],
242
+ "evidenceRefs": []
243
+ },
244
+ "deferral": null,
245
+ "updatePolicy": {
246
+ "reviewOwnerId": "proofkit.consumer-infra-retirement",
247
+ "requiresImpactDeclaration": true,
248
+ "requiresProofBindingReview": true
249
+ }
250
+ },
251
+ {
252
+ "requirementId": "REQ-PROOFKIT-RETIRE-010",
253
+ "ownerId": "proofkit.consumer-infra-retirement",
254
+ "invariant": "Registry consumer proof input composition admits explicit caller-owned registry metadata, registry pack comparison, lock, smoke, rollback, precondition, and release-authority facts, emits a registry-consumer input only when those facts are complete and aligned, and preserves registry-consumer as the final proof-schema owner.",
255
+ "claimLevel": "blocking",
256
+ "riskClass": "high",
257
+ "proofBindingRefs": [
258
+ "proofkit/requirement-bindings.json"
259
+ ],
260
+ "nonClaimRefs": [
261
+ "NC-PROOFKIT-RETIRE-010"
262
+ ],
263
+ "nonClaims": [
264
+ "This requirement does not claim registry metadata authenticity, package publication, package access-control, package-manager execution, native smoke execution, rollback execution, release-authority producer trust, proof freshness, merge approval, release approval, rollout approval, or production readiness."
265
+ ],
266
+ "lifecycle": {
267
+ "state": "active",
268
+ "replacementRequirementIds": [],
269
+ "evidenceRefs": []
270
+ },
271
+ "deferral": null,
272
+ "updatePolicy": {
273
+ "reviewOwnerId": "proofkit.consumer-infra-retirement",
274
+ "requiresImpactDeclaration": true,
275
+ "requiresProofBindingReview": true
276
+ }
277
+ }
278
+ ],
279
+ "nonClaims": [
280
+ "Consumers still own old proof surfaces, new Proofkit inputs, parity evidence, native witness execution, command policy, receipts, CI admission, merge approval, release approval, rollout approval, and production decisions.",
281
+ "Proofkit consumer infrastructure retirement requirements describe reusable planning and admission primitives only."
282
+ ]
283
+ }
@@ -0,0 +1,43 @@
1
+ # Proofkit Package Boundary Spec
2
+
3
+ This spec owns the first self-hosted Proofkit package-boundary requirements.
4
+ It is intentionally narrow: it covers package CLI/report boundary, module import
5
+ denial, and package artifact behavior only.
6
+
7
+ ## Requirements
8
+
9
+ - `REQ-PROOFKIT-PACKAGE-001`: the package artifact set exposes the supported
10
+ CLI through one root package with embedded platform binaries while denying
11
+ root imports, source imports, generated JavaScript imports, and deep internal
12
+ package paths as public contract.
13
+ - `REQ-PROOFKIT-PACKAGE-002`: the CLI builds deterministic reports, plans,
14
+ generated source artifacts, and policy-admission results from explicit
15
+ caller-owned JSON, declared no-input command parameters, or declared explicit
16
+ scanner scope classes without executing native witnesses, scanning implicit
17
+ repository state, deciding proof freshness, or accepting broad caller-supplied
18
+ phrase suppressors that can hide readiness overclaims.
19
+ - `REQ-PROOFKIT-PACKAGE-003`: the root package remains installable and
20
+ executable by an outside consumer on the current native platform without
21
+ claiming registry publication.
22
+ - `REQ-PROOFKIT-PACKAGE-004`: CI package-gate receipts used as merge evidence
23
+ are admitted through a declared producer policy and proof-receipt shape
24
+ validator instead of current-build output alone.
25
+ - `REQ-PROOFKIT-PACKAGE-005`: the Go source, static analysis, package gate,
26
+ and vulnerability gates remain the native merge-critical quality floor for
27
+ the current Proofkit source tree.
28
+ - `REQ-PROOFKIT-PACKAGE-006`: Python/uv distribution is a platform wheel
29
+ wrapper over the same Go CLI, with wheel-safe package metadata, wheel tags,
30
+ embedded binary identity, local install smoke proof, and explicit non-claims
31
+ until PyPI publication.
32
+
33
+ ## Non-Claims
34
+
35
+ - This spec does not claim consumer repository adoption.
36
+ - This spec does not claim registry publication.
37
+ - This spec does not claim PyPI publication.
38
+ - This spec does not claim runtime execution for non-native embedded platform
39
+ binaries unless CI supplies that native OS and CPU tuple.
40
+ - This spec does not claim proof freshness, merge approval, rollout approval,
41
+ or production readiness.
42
+ - This spec does not make current-build Proofkit output sufficient to admit the
43
+ same current build.
@@ -0,0 +1,176 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "sourceId": "proofkit.package-boundary.requirements",
4
+ "specPackagePath": "docs/specs/proofkit-package-boundary",
5
+ "overviewPath": "docs/specs/proofkit-package-boundary/overview.md",
6
+ "requirementsPath": "docs/specs/proofkit-package-boundary/requirements.v1.json",
7
+ "requirements": [
8
+ {
9
+ "requirementId": "REQ-PROOFKIT-PACKAGE-001",
10
+ "ownerId": "proofkit.package-boundary",
11
+ "invariant": "The package artifact set exposes the supported CLI through one root package with embedded platform binaries while denying root imports, source imports, generated JavaScript imports, and deep internal package paths as public contract.",
12
+ "claimLevel": "blocking",
13
+ "riskClass": "high",
14
+ "proofBindingRefs": [
15
+ "proofkit/requirement-bindings.json"
16
+ ],
17
+ "nonClaimRefs": [
18
+ "NC-PROOFKIT-PACKAGE-001"
19
+ ],
20
+ "nonClaims": [
21
+ "This requirement does not claim consumer adoption, registry publication, rollout approval, or production readiness."
22
+ ],
23
+ "lifecycle": {
24
+ "state": "active",
25
+ "replacementRequirementIds": [],
26
+ "evidenceRefs": []
27
+ },
28
+ "deferral": null,
29
+ "updatePolicy": {
30
+ "reviewOwnerId": "proofkit.package-boundary",
31
+ "requiresImpactDeclaration": true,
32
+ "requiresProofBindingReview": true
33
+ }
34
+ },
35
+ {
36
+ "requirementId": "REQ-PROOFKIT-PACKAGE-002",
37
+ "ownerId": "proofkit.package-boundary",
38
+ "invariant": "The CLI builds deterministic reports, plans, generated source artifacts, and policy-admission results from explicit caller-owned JSON, declared no-input command parameters, or declared explicit scanner scope classes without executing native witnesses, scanning implicit repository state, deciding proof freshness, or accepting broad caller-supplied phrase suppressors that can hide readiness overclaims.",
39
+ "claimLevel": "blocking",
40
+ "riskClass": "high",
41
+ "proofBindingRefs": [
42
+ "proofkit/requirement-bindings.json"
43
+ ],
44
+ "nonClaimRefs": [
45
+ "NC-PROOFKIT-PACKAGE-002"
46
+ ],
47
+ "nonClaims": [
48
+ "This requirement does not claim native witness execution, producer authentication, proof freshness, or merge approval."
49
+ ],
50
+ "lifecycle": {
51
+ "state": "active",
52
+ "replacementRequirementIds": [],
53
+ "evidenceRefs": []
54
+ },
55
+ "deferral": null,
56
+ "updatePolicy": {
57
+ "reviewOwnerId": "proofkit.package-boundary",
58
+ "requiresImpactDeclaration": true,
59
+ "requiresProofBindingReview": true
60
+ }
61
+ },
62
+ {
63
+ "requirementId": "REQ-PROOFKIT-PACKAGE-003",
64
+ "ownerId": "proofkit.package-boundary",
65
+ "invariant": "The root package remains installable and executable by an outside consumer on the current native platform without claiming registry publication.",
66
+ "claimLevel": "blocking",
67
+ "riskClass": "medium",
68
+ "proofBindingRefs": [
69
+ "proofkit/requirement-bindings.json"
70
+ ],
71
+ "nonClaimRefs": [
72
+ "NC-PROOFKIT-PACKAGE-003"
73
+ ],
74
+ "nonClaims": [
75
+ "This requirement does not claim registry publication, registry consumer installation, execution for non-native platform binaries, or rollout readiness."
76
+ ],
77
+ "lifecycle": {
78
+ "state": "active",
79
+ "replacementRequirementIds": [],
80
+ "evidenceRefs": []
81
+ },
82
+ "deferral": null,
83
+ "updatePolicy": {
84
+ "reviewOwnerId": "proofkit.package-boundary",
85
+ "requiresImpactDeclaration": true,
86
+ "requiresProofBindingReview": true
87
+ }
88
+ },
89
+ {
90
+ "requirementId": "REQ-PROOFKIT-PACKAGE-004",
91
+ "ownerId": "proofkit.package-boundary",
92
+ "invariant": "CI package-gate receipts used as merge evidence are admitted through a declared producer policy and proof-receipt shape validator instead of current-build output alone.",
93
+ "claimLevel": "blocking",
94
+ "riskClass": "high",
95
+ "proofBindingRefs": [
96
+ "proofkit/requirement-bindings.json"
97
+ ],
98
+ "nonClaimRefs": [
99
+ "NC-PROOFKIT-PACKAGE-004"
100
+ ],
101
+ "nonClaims": [
102
+ "This requirement does not authenticate GitHub Actions, compute proof freshness, approve merge, approve release, or make local advisory receipts merge-satisfying evidence."
103
+ ],
104
+ "lifecycle": {
105
+ "state": "active",
106
+ "replacementRequirementIds": [],
107
+ "evidenceRefs": []
108
+ },
109
+ "deferral": null,
110
+ "updatePolicy": {
111
+ "reviewOwnerId": "proofkit.package-boundary",
112
+ "requiresImpactDeclaration": true,
113
+ "requiresProofBindingReview": true
114
+ }
115
+ },
116
+ {
117
+ "requirementId": "REQ-PROOFKIT-PACKAGE-005",
118
+ "ownerId": "proofkit.package-boundary",
119
+ "invariant": "The Go source, formatting, static analysis, vet, test, package artifact, and vulnerability gates remain the native merge-critical quality floor for the current Proofkit source tree.",
120
+ "claimLevel": "blocking",
121
+ "riskClass": "high",
122
+ "proofBindingRefs": [
123
+ "proofkit/requirement-bindings.json"
124
+ ],
125
+ "nonClaimRefs": [
126
+ "NC-PROOFKIT-PACKAGE-005"
127
+ ],
128
+ "nonClaims": [
129
+ "This requirement does not claim semantic completeness, release approval, registry publication, consumer rollout, or production readiness."
130
+ ],
131
+ "lifecycle": {
132
+ "state": "active",
133
+ "replacementRequirementIds": [],
134
+ "evidenceRefs": []
135
+ },
136
+ "deferral": null,
137
+ "updatePolicy": {
138
+ "reviewOwnerId": "proofkit.package-boundary",
139
+ "requiresImpactDeclaration": true,
140
+ "requiresProofBindingReview": true
141
+ }
142
+ },
143
+ {
144
+ "requirementId": "REQ-PROOFKIT-PACKAGE-006",
145
+ "ownerId": "proofkit.package-boundary",
146
+ "invariant": "Python/uv distribution is a platform wheel wrapper over the same Go CLI, with wheel-safe package metadata, wheel tags, embedded binary identity, local install smoke proof, and explicit non-claims until PyPI publication.",
147
+ "claimLevel": "blocking",
148
+ "riskClass": "medium",
149
+ "proofBindingRefs": [
150
+ "proofkit/requirement-bindings.json"
151
+ ],
152
+ "nonClaimRefs": [
153
+ "NC-PROOFKIT-PACKAGE-006"
154
+ ],
155
+ "nonClaims": [
156
+ "This requirement does not claim PyPI publication, PyPI registry install authority, a Python SDK contract, consumer rollout, or execution for non-native wheel platforms."
157
+ ],
158
+ "lifecycle": {
159
+ "state": "active",
160
+ "replacementRequirementIds": [],
161
+ "evidenceRefs": []
162
+ },
163
+ "deferral": null,
164
+ "updatePolicy": {
165
+ "reviewOwnerId": "proofkit.package-boundary",
166
+ "requiresImpactDeclaration": true,
167
+ "requiresProofBindingReview": true
168
+ }
169
+ }
170
+ ],
171
+ "nonClaims": [
172
+ "Proofkit requirement source admission validates record shape only; it does not own requirement meaning.",
173
+ "Proofkit self-hosting records do not replace native package tests, release evidence, or registry publication proof.",
174
+ "Python wheel candidate artifacts do not prove PyPI publication."
175
+ ]
176
+ }
@@ -0,0 +1,35 @@
1
+ # Proofkit Receipt Authority Spec
2
+
3
+ This spec owns Proofkit's reusable receipt authority primitives: proof receipt
4
+ shape admission, receipt producer policy linkage, producer-policy self-proof
5
+ guards, and spec-proof bundle linkage between requirements, witness plans,
6
+ producer admission, and receipts.
7
+
8
+ It is intentionally infrastructure-only. Consumers authenticate producers,
9
+ define trust roots, execute native witnesses, compute freshness, match current
10
+ obligations, and decide merge, release, rollout, and production policy.
11
+
12
+ ## Requirements
13
+
14
+ - `REQ-PROOFKIT-RECEIPT-001`: proof receipt admission validates caller-provided
15
+ receipt shape, digests, timestamps, selectors, evidence refs, artifact refs,
16
+ status, and provenance fields without authenticating producers or computing
17
+ freshness.
18
+ - `REQ-PROOFKIT-RECEIPT-002`: receipt producer admission validates
19
+ caller-owned producer policy and receipt metadata linkage without proving that
20
+ the producer actually created the receipt.
21
+ - `REQ-PROOFKIT-RECEIPT-003`: producer-policy self-proof detects when
22
+ merge-obligation receipts depend on trust tuples newly admitted by the same
23
+ policy change without approving or rejecting the policy change itself.
24
+ - `REQ-PROOFKIT-RECEIPT-004`: spec-proof bundle admission validates linkage
25
+ across requirement bindings, witness plans, producer admission, and receipt
26
+ admission without executing native witnesses or approving merge.
27
+
28
+ ## Non-Claims
29
+
30
+ - This spec does not authenticate CI, local runners, or receipt producers.
31
+ - This spec does not compute receipt freshness or current-obligation
32
+ satisfaction.
33
+ - This spec does not execute commands or verify native command pass evidence.
34
+ - This spec does not approve merge, release, registry publication, rollout, or
35
+ production readiness.
@@ -0,0 +1,121 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "sourceId": "proofkit.receipt-authority.requirements",
4
+ "specPackagePath": "docs/specs/proofkit-receipt-authority",
5
+ "overviewPath": "docs/specs/proofkit-receipt-authority/overview.md",
6
+ "requirementsPath": "docs/specs/proofkit-receipt-authority/requirements.v1.json",
7
+ "requirements": [
8
+ {
9
+ "requirementId": "REQ-PROOFKIT-RECEIPT-001",
10
+ "ownerId": "proofkit.receipt-authority",
11
+ "invariant": "Proof receipt admission validates caller-provided receipt shape, digests, timestamps, selectors, evidence refs, artifact refs, status, and provenance fields without authenticating producers or computing freshness.",
12
+ "claimLevel": "blocking",
13
+ "riskClass": "high",
14
+ "proofBindingRefs": [
15
+ "proofkit/requirement-bindings.json"
16
+ ],
17
+ "nonClaimRefs": [
18
+ "NC-PROOFKIT-RECEIPT-001"
19
+ ],
20
+ "nonClaims": [
21
+ "This requirement does not claim producer authentication, receipt freshness, native command execution, command result correctness, current-obligation matching, or merge approval."
22
+ ],
23
+ "lifecycle": {
24
+ "state": "active",
25
+ "replacementRequirementIds": [],
26
+ "evidenceRefs": []
27
+ },
28
+ "deferral": null,
29
+ "updatePolicy": {
30
+ "reviewOwnerId": "proofkit.receipt-authority",
31
+ "requiresImpactDeclaration": true,
32
+ "requiresProofBindingReview": true
33
+ }
34
+ },
35
+ {
36
+ "requirementId": "REQ-PROOFKIT-RECEIPT-002",
37
+ "ownerId": "proofkit.receipt-authority",
38
+ "invariant": "Receipt producer admission validates caller-owned producer policy and receipt metadata linkage without proving that the producer actually created the receipt.",
39
+ "claimLevel": "blocking",
40
+ "riskClass": "high",
41
+ "proofBindingRefs": [
42
+ "proofkit/requirement-bindings.json"
43
+ ],
44
+ "nonClaimRefs": [
45
+ "NC-PROOFKIT-RECEIPT-002"
46
+ ],
47
+ "nonClaims": [
48
+ "This requirement does not claim producer authentication, receipt freshness, command execution, command result correctness, CI log authority, or merge approval."
49
+ ],
50
+ "lifecycle": {
51
+ "state": "active",
52
+ "replacementRequirementIds": [],
53
+ "evidenceRefs": []
54
+ },
55
+ "deferral": null,
56
+ "updatePolicy": {
57
+ "reviewOwnerId": "proofkit.receipt-authority",
58
+ "requiresImpactDeclaration": true,
59
+ "requiresProofBindingReview": true
60
+ }
61
+ },
62
+ {
63
+ "requirementId": "REQ-PROOFKIT-RECEIPT-003",
64
+ "ownerId": "proofkit.receipt-authority",
65
+ "invariant": "Producer-policy self-proof detects when merge-obligation receipts depend on trust tuples newly admitted by the same policy change without approving or rejecting the policy change itself.",
66
+ "claimLevel": "blocking",
67
+ "riskClass": "high",
68
+ "proofBindingRefs": [
69
+ "proofkit/requirement-bindings.json"
70
+ ],
71
+ "nonClaimRefs": [
72
+ "NC-PROOFKIT-RECEIPT-003"
73
+ ],
74
+ "nonClaims": [
75
+ "This requirement does not claim producer authentication, receipt freshness, policy digest provenance, policy-diff discovery, migration exception approval, or merge approval."
76
+ ],
77
+ "lifecycle": {
78
+ "state": "active",
79
+ "replacementRequirementIds": [],
80
+ "evidenceRefs": []
81
+ },
82
+ "deferral": null,
83
+ "updatePolicy": {
84
+ "reviewOwnerId": "proofkit.receipt-authority",
85
+ "requiresImpactDeclaration": true,
86
+ "requiresProofBindingReview": true
87
+ }
88
+ },
89
+ {
90
+ "requirementId": "REQ-PROOFKIT-RECEIPT-004",
91
+ "ownerId": "proofkit.receipt-authority",
92
+ "invariant": "Spec-proof bundle admission validates linkage across requirement bindings, witness plans, producer admission, and receipt admission without executing native witnesses or approving merge.",
93
+ "claimLevel": "blocking",
94
+ "riskClass": "high",
95
+ "proofBindingRefs": [
96
+ "proofkit/requirement-bindings.json"
97
+ ],
98
+ "nonClaimRefs": [
99
+ "NC-PROOFKIT-RECEIPT-004"
100
+ ],
101
+ "nonClaims": [
102
+ "This requirement does not claim native witness execution, producer authentication, proof freshness, command result correctness, merge approval, release approval, or rollout approval."
103
+ ],
104
+ "lifecycle": {
105
+ "state": "active",
106
+ "replacementRequirementIds": [],
107
+ "evidenceRefs": []
108
+ },
109
+ "deferral": null,
110
+ "updatePolicy": {
111
+ "reviewOwnerId": "proofkit.receipt-authority",
112
+ "requiresImpactDeclaration": true,
113
+ "requiresProofBindingReview": true
114
+ }
115
+ }
116
+ ],
117
+ "nonClaims": [
118
+ "Consumers still own producer trust roots, native witness execution, receipt freshness, current-obligation matching, CI admission, merge policy, and rollout decisions.",
119
+ "Proofkit receipt authority requirements describe reusable receipt shape and linkage primitives only."
120
+ ]
121
+ }