@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.
- package/ADOPTION.md +198 -0
- package/AGENTS.md +160 -0
- package/BACKLOG.md +217 -0
- package/CONTRIBUTING.md +70 -0
- package/LICENSE +21 -0
- package/NON_CLAIMS.md +45 -0
- package/README.md +50 -0
- package/SECURITY.md +52 -0
- package/dist/agentic-proofkit +36 -0
- package/dist/platform/darwin-arm64/agentic-proofkit +0 -0
- package/dist/platform/darwin-x64/agentic-proofkit +0 -0
- package/dist/platform/linux-arm64/agentic-proofkit +0 -0
- package/dist/platform/linux-x64/agentic-proofkit +0 -0
- package/docs/proofkit-contract-map.md +148 -0
- package/docs/release-process.md +228 -0
- package/docs/specs/proofkit-consumer-infra-retirement/overview.md +62 -0
- package/docs/specs/proofkit-consumer-infra-retirement/requirements.v1.json +283 -0
- package/docs/specs/proofkit-package-boundary/overview.md +43 -0
- package/docs/specs/proofkit-package-boundary/requirements.v1.json +176 -0
- package/docs/specs/proofkit-receipt-authority/overview.md +35 -0
- package/docs/specs/proofkit-receipt-authority/requirements.v1.json +121 -0
- package/docs/specs/proofkit-spec-proof-core/overview.md +98 -0
- package/docs/specs/proofkit-spec-proof-core/requirements.v1.json +448 -0
- package/docs/specs/proofkit-supply-chain-quality/overview.md +95 -0
- package/docs/specs/proofkit-supply-chain-quality/requirements.v1.json +260 -0
- package/package.json +71 -0
- package/proofkit/cli-contract.v1.json +1601 -0
- package/proofkit/receipt-producer-policy.json +49 -0
- package/proofkit/requirement-bindings.json +1914 -0
- 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
|
+
}
|