agentic-proofkit 0.1.91
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 +464 -0
- package/LICENSE +21 -0
- package/NON_CLAIMS.md +197 -0
- package/README.md +265 -0
- package/dist/agentic-proofkit +35 -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/adoption-checklist-report-design.md +138 -0
- package/docs/adoption-workflow-agent-envelope-design.md +67 -0
- package/docs/adoption-workflow-authority-routes-design.md +76 -0
- package/docs/adoption-workflow-contract-envelope-design.md +87 -0
- package/docs/adoption-workflow-plan-design.md +97 -0
- package/docs/agent-guidance-envelope-design.md +550 -0
- package/docs/binding-partition-admission-design.md +127 -0
- package/docs/bootstrap-agent-envelope-design.md +97 -0
- package/docs/bootstrap-materialization-manifest-design.md +100 -0
- package/docs/branch-authority-report-design.md +121 -0
- package/docs/changed-path-set-agent-envelope-design.md +70 -0
- package/docs/completion-criteria-report-design.md +132 -0
- package/docs/custom-rule-boundary-design.md +56 -0
- package/docs/deployment-evidence-admission-design.md +80 -0
- package/docs/document-lifecycle-boundary-design.md +62 -0
- package/docs/json-report-cli-adapter-design.md +83 -0
- package/docs/migration-parity-admission-design.md +90 -0
- package/docs/migration-plan-design.md +73 -0
- package/docs/obligation-decision-agent-envelope-design.md +105 -0
- package/docs/obligation-decision-state-design.md +100 -0
- package/docs/package-runtime-dependency-admission-design.md +80 -0
- package/docs/producer-policy-self-proof-design.md +142 -0
- package/docs/project-structure-agent-envelope-design.md +121 -0
- package/docs/project-structure-scaffold-design.md +89 -0
- package/docs/proof-obligation-algebra-design.md +108 -0
- package/docs/proof-receipt-admission-design.md +108 -0
- package/docs/proofkit-contract-map.md +55 -0
- package/docs/receipt-currentness-scope-admission-design.md +103 -0
- package/docs/receipt-producer-admission-design.md +106 -0
- package/docs/receipt-trust-class-admission-design.md +113 -0
- package/docs/rendered-artifact-freshness-design.md +55 -0
- package/docs/requirement-browser-view-design.md +229 -0
- package/docs/requirement-proof-resolver-projection-design.md +97 -0
- package/docs/requirement-proof-source-set-design.md +72 -0
- package/docs/requirement-proof-view-design.md +138 -0
- package/docs/requirement-source-admission-design.md +66 -0
- package/docs/requirement-source-transition-design.md +66 -0
- package/docs/requirement-source-view-design.md +51 -0
- package/docs/scaffold-profile-plan-design.md +72 -0
- package/docs/secret-shaped-json-scan-design.md +60 -0
- package/docs/selective-evidence-obligation-decision-design.md +139 -0
- package/docs/selective-evidence-producer-admission-design.md +106 -0
- package/docs/selective-evidence-receipt-trust-class-design.md +100 -0
- package/docs/selective-gate-evidence-agent-envelope-design.md +100 -0
- package/docs/selective-gate-plan-agent-envelope-design.md +95 -0
- package/docs/selective-planner-edge-coverage-design.md +89 -0
- package/docs/spec-overview-claim-boundary-design.md +50 -0
- package/docs/spec-proof-bundle-admission-design.md +105 -0
- package/docs/specs/proofkit-consumer-infra-retirement/overview.md +44 -0
- package/docs/specs/proofkit-consumer-infra-retirement/requirements.v1.json +175 -0
- package/docs/specs/proofkit-package-boundary/overview.md +32 -0
- package/docs/specs/proofkit-package-boundary/requirements.v1.json +121 -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 +36 -0
- package/docs/specs/proofkit-spec-proof-core/requirements.v1.json +148 -0
- package/docs/witness-scheduler-plan-design.md +57 -0
- package/docs/workspace-planning-agent-envelope-design.md +101 -0
- package/docs/workspace-registry-admission-design.md +57 -0
- package/package.json +54 -0
- package/proofkit/cli-contract.v1.json +808 -0
- package/proofkit/receipt-producer-policy.json +48 -0
- package/proofkit/requirement-bindings.json +520 -0
- package/proofkit/witness-plan.json +649 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Spec Proof Bundle Admission Design
|
|
2
|
+
|
|
3
|
+
Status: accepted; implemented as a generic report primitive.
|
|
4
|
+
|
|
5
|
+
Owner: `proofkit`.
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
A spec-first proof system needs more than independent validators. Requirement
|
|
10
|
+
records, proof bindings, witness plans, producer admission, and receipts can all
|
|
11
|
+
be individually valid while still failing to form one closed proof route.
|
|
12
|
+
|
|
13
|
+
Formal goal:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
caller-owned requirement bindings
|
|
17
|
+
+ caller-owned witness scheduler plan
|
|
18
|
+
+ optional caller-owned producer admission report
|
|
19
|
+
+ optional caller-owned receipt admission report
|
|
20
|
+
-> proofkit spec-proof-bundle admission report
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Authority Boundary
|
|
24
|
+
|
|
25
|
+
Proofkit owns:
|
|
26
|
+
|
|
27
|
+
- child report state checks for requirement bindings, witness plans, producer
|
|
28
|
+
admission, and receipt admission;
|
|
29
|
+
- binding-command to witness-plan command linkage;
|
|
30
|
+
- binding environment to witness-plan environment linkage;
|
|
31
|
+
- merge-required receipt presence and status checks;
|
|
32
|
+
- receipt witness-selector linkage to requirement or scenario ids;
|
|
33
|
+
- merge-satisfying receipt to producer-admission row fact linkage;
|
|
34
|
+
- deterministic report output and boundary non-claims.
|
|
35
|
+
|
|
36
|
+
The consuming repository owns:
|
|
37
|
+
|
|
38
|
+
- requirement meaning;
|
|
39
|
+
- concrete proof binding content;
|
|
40
|
+
- command and environment policy;
|
|
41
|
+
- native witness execution;
|
|
42
|
+
- producer authentication;
|
|
43
|
+
- receipt freshness;
|
|
44
|
+
- CI, merge, release, rollout, and production policy.
|
|
45
|
+
|
|
46
|
+
Formal rule:
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
Proofkit can validate that caller-provided proof records link together.
|
|
50
|
+
Proofkit cannot prove that the linked native witnesses are fresh, authentic, or
|
|
51
|
+
semantically sufficient.
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Model
|
|
55
|
+
|
|
56
|
+
The bundle input contains:
|
|
57
|
+
|
|
58
|
+
- one `requirementBindings` payload;
|
|
59
|
+
- one `witnessPlan` payload;
|
|
60
|
+
- optional `receiptProducerAdmission` report;
|
|
61
|
+
- optional `receiptAdmission` report;
|
|
62
|
+
- sorted `mergeRequiredReceiptIds`;
|
|
63
|
+
- caller-owned non-claims.
|
|
64
|
+
|
|
65
|
+
The report fails closed when:
|
|
66
|
+
|
|
67
|
+
- any attached child report fails;
|
|
68
|
+
- a binding command lacks a witness-plan command;
|
|
69
|
+
- a witness-plan command is not referenced by requirement bindings;
|
|
70
|
+
- a binding environment is absent from the witness-plan command;
|
|
71
|
+
- a merge-required receipt is missing, not passed, or not merge-satisfying;
|
|
72
|
+
- a merge-satisfying receipt lacks producer admission or its producer, kind,
|
|
73
|
+
environment, status, or merge-obligation facts drift from the producer row;
|
|
74
|
+
- a receipt selector is outside the requirement graph.
|
|
75
|
+
|
|
76
|
+
## Rejected Alternatives
|
|
77
|
+
|
|
78
|
+
| Alternative | Rejection reason |
|
|
79
|
+
|---|---|
|
|
80
|
+
| Publish only independent validators and let every consumer write bundle glue. | That repeats the same fragile composition logic in every repository. |
|
|
81
|
+
| Make proofkit execute witness commands before admitting the bundle. | That would turn proofkit into an orchestrator and native proof owner. |
|
|
82
|
+
| Authenticate CI producers in the bundle primitive. | Trust roots and producer authentication are repository/organization policy, not generic linkage validation. |
|
|
83
|
+
| Compute proof freshness in the bundle primitive. | Freshness depends on caller-owned current facts, invalidation rules, and merge policy. |
|
|
84
|
+
|
|
85
|
+
## Proof Obligations
|
|
86
|
+
|
|
87
|
+
- unit tests for accepted bundle linkage;
|
|
88
|
+
- negative tests for missing witness-plan commands, missing producer admission,
|
|
89
|
+
unknown receipt selectors, and failed child reports;
|
|
90
|
+
- CLI test for `spec-proof-bundle-admission`;
|
|
91
|
+
- package artifact test proving the primitive ships in the package.
|
|
92
|
+
|
|
93
|
+
## Non-Claims
|
|
94
|
+
|
|
95
|
+
Spec proof bundle admission does not claim:
|
|
96
|
+
|
|
97
|
+
- native witness execution;
|
|
98
|
+
- producer authentication;
|
|
99
|
+
- proof freshness;
|
|
100
|
+
- requirement semantic adequacy;
|
|
101
|
+
- command result correctness;
|
|
102
|
+
- merge approval;
|
|
103
|
+
- release approval;
|
|
104
|
+
- rollout approval;
|
|
105
|
+
- production readiness.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Proofkit Consumer Infrastructure Retirement Spec
|
|
2
|
+
|
|
3
|
+
This spec owns Proofkit's reusable primitives for retiring duplicated
|
|
4
|
+
consumer-side proof infrastructure. It covers migration planning, installed
|
|
5
|
+
package runtime dependency admission, workspace registry admission,
|
|
6
|
+
repo-profile admission, and adoption workflow routing.
|
|
7
|
+
It also covers structured parity evidence admission for repositories that need
|
|
8
|
+
machine-checkable preconditions before local proof-owner retirement review.
|
|
9
|
+
|
|
10
|
+
It is intentionally infrastructure-only. Consumers own old proof surfaces, new
|
|
11
|
+
Proofkit inputs, parity evidence, native witness execution, command policy,
|
|
12
|
+
receipt freshness, file deletion, CI admission, merge approval, release
|
|
13
|
+
approval, rollout approval, and production decisions.
|
|
14
|
+
|
|
15
|
+
## Requirements
|
|
16
|
+
|
|
17
|
+
- `REQ-PROOFKIT-RETIRE-001`: migration plans keep old and new proof owners
|
|
18
|
+
explicit and block retirement unless caller-provided parity evidence and
|
|
19
|
+
post-retirement validation commands exist.
|
|
20
|
+
- `REQ-PROOFKIT-RETIRE-002`: package runtime dependency admission validates
|
|
21
|
+
caller-provided installed package identity and location facts without reading
|
|
22
|
+
package manager state or resolving packages.
|
|
23
|
+
- `REQ-PROOFKIT-RETIRE-003`: workspace registry admission validates
|
|
24
|
+
caller-provided script, dependency, and lockfile facts against caller policy
|
|
25
|
+
without owning repository command policy or lockfile freshness.
|
|
26
|
+
- `REQ-PROOFKIT-RETIRE-004`: repo-profile structural and command admission
|
|
27
|
+
validates caller-owned profile, path, command, and environment facts without
|
|
28
|
+
scanning repositories or approving native proof coverage.
|
|
29
|
+
- `REQ-PROOFKIT-RETIRE-005`: adoption workflow plans route legacy migration,
|
|
30
|
+
gradual adoption, and release-channel scenarios to existing Proofkit
|
|
31
|
+
primitives through bounded structured command refs.
|
|
32
|
+
- `REQ-PROOFKIT-RETIRE-006`: migration parity admission validates
|
|
33
|
+
caller-provided parity evidence shape, source/target closure, typed
|
|
34
|
+
equivalence dimensions, and matched digest equality without owning evidence
|
|
35
|
+
authenticity, freshness, semantic correctness, or retirement approval.
|
|
36
|
+
|
|
37
|
+
## Non-Claims
|
|
38
|
+
|
|
39
|
+
- This spec does not authorize deletion of consumer files or local proof owners.
|
|
40
|
+
- This spec does not execute commands, authenticate parity evidence, compute
|
|
41
|
+
proof freshness, or approve merge.
|
|
42
|
+
- This spec does not make Proofkit a repository scanner, command-policy owner,
|
|
43
|
+
CI authority, release authority, rollout authority, or production-readiness
|
|
44
|
+
authority for consumers.
|
|
@@ -0,0 +1,175 @@
|
|
|
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
|
+
"nonClaims": [
|
|
172
|
+
"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.",
|
|
173
|
+
"Proofkit consumer infrastructure retirement requirements describe reusable planning and admission primitives only."
|
|
174
|
+
]
|
|
175
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
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 and plans
|
|
14
|
+
from caller-owned JSON without executing native witnesses, scanning implicit
|
|
15
|
+
repository state, or deciding proof freshness.
|
|
16
|
+
- `REQ-PROOFKIT-PACKAGE-003`: the root package remains installable and
|
|
17
|
+
executable by an outside consumer on the current native platform without
|
|
18
|
+
claiming registry publication.
|
|
19
|
+
- `REQ-PROOFKIT-PACKAGE-004`: CI package-gate receipts used as merge evidence
|
|
20
|
+
are admitted through a declared producer policy and proof-receipt shape
|
|
21
|
+
validator instead of current-build output alone.
|
|
22
|
+
|
|
23
|
+
## Non-Claims
|
|
24
|
+
|
|
25
|
+
- This spec does not claim consumer repository adoption.
|
|
26
|
+
- This spec does not claim registry publication.
|
|
27
|
+
- This spec does not claim runtime execution for non-native embedded platform
|
|
28
|
+
binaries unless CI supplies that native OS and CPU tuple.
|
|
29
|
+
- This spec does not claim proof freshness, merge approval, rollout approval,
|
|
30
|
+
or production readiness.
|
|
31
|
+
- This spec does not make current-build Proofkit output sufficient to admit the
|
|
32
|
+
same current build.
|
|
@@ -0,0 +1,121 @@
|
|
|
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 and plans from caller-owned JSON without executing native witnesses, scanning implicit repository state, or deciding proof freshness.",
|
|
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
|
+
"nonClaims": [
|
|
118
|
+
"Proofkit requirement source admission validates record shape only; it does not own requirement meaning.",
|
|
119
|
+
"Proofkit self-hosting records do not replace native package tests, release evidence, or registry publication proof."
|
|
120
|
+
]
|
|
121
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Proofkit Spec-Proof Core Spec
|
|
2
|
+
|
|
3
|
+
This spec owns Proofkit's reusable spec-to-proof primitives: requirement source
|
|
4
|
+
admission, requirement proof bindings, witness planning, selective proof
|
|
5
|
+
planning, selective evidence admission, rendered proof views, and bounded agent
|
|
6
|
+
envelopes.
|
|
7
|
+
|
|
8
|
+
It is intentionally infrastructure-only. Consumers provide requirement
|
|
9
|
+
sentences, proof bindings, changed-path facts, command policy, native witnesses,
|
|
10
|
+
execution receipts, and merge policy.
|
|
11
|
+
|
|
12
|
+
## Requirements
|
|
13
|
+
|
|
14
|
+
- `REQ-PROOFKIT-SPEC-001`: requirement source admission validates structured
|
|
15
|
+
`REQ-*` records and source-package shape without owning requirement meaning
|
|
16
|
+
or scanning overview prose as authority.
|
|
17
|
+
- `REQ-PROOFKIT-SPEC-002`: requirement proof binding reports validate
|
|
18
|
+
caller-owned requirement-to-witness mappings and emit deterministic lookup
|
|
19
|
+
projections without executing witnesses or deciding proof freshness.
|
|
20
|
+
- `REQ-PROOFKIT-SPEC-003`: witness planning accepts caller-owned structured
|
|
21
|
+
command metadata, scheduler constraints, and environment classes without
|
|
22
|
+
executing commands or selecting repository policy.
|
|
23
|
+
- `REQ-PROOFKIT-SPEC-004`: selective planning and selective evidence reports
|
|
24
|
+
keep changed-path facts, planned commands, receipts, and obligation
|
|
25
|
+
candidates explicit and fail closed for unknown or unmatched proof inputs.
|
|
26
|
+
- `REQ-PROOFKIT-SPEC-005`: rendered proof views and agent envelopes remain
|
|
27
|
+
bounded, derived presentations over structured source and never become
|
|
28
|
+
canonical proof or requirement authority.
|
|
29
|
+
|
|
30
|
+
## Non-Claims
|
|
31
|
+
|
|
32
|
+
- This spec does not claim consumer repository adoption.
|
|
33
|
+
- This spec does not claim native witness execution.
|
|
34
|
+
- This spec does not authenticate receipt producers or compute proof freshness.
|
|
35
|
+
- This spec does not approve merge, release, registry publication, rollout, or
|
|
36
|
+
production readiness.
|