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.
Files changed (73) hide show
  1. package/ADOPTION.md +464 -0
  2. package/LICENSE +21 -0
  3. package/NON_CLAIMS.md +197 -0
  4. package/README.md +265 -0
  5. package/dist/agentic-proofkit +35 -0
  6. package/dist/platform/darwin-arm64/agentic-proofkit +0 -0
  7. package/dist/platform/darwin-x64/agentic-proofkit +0 -0
  8. package/dist/platform/linux-arm64/agentic-proofkit +0 -0
  9. package/dist/platform/linux-x64/agentic-proofkit +0 -0
  10. package/docs/adoption-checklist-report-design.md +138 -0
  11. package/docs/adoption-workflow-agent-envelope-design.md +67 -0
  12. package/docs/adoption-workflow-authority-routes-design.md +76 -0
  13. package/docs/adoption-workflow-contract-envelope-design.md +87 -0
  14. package/docs/adoption-workflow-plan-design.md +97 -0
  15. package/docs/agent-guidance-envelope-design.md +550 -0
  16. package/docs/binding-partition-admission-design.md +127 -0
  17. package/docs/bootstrap-agent-envelope-design.md +97 -0
  18. package/docs/bootstrap-materialization-manifest-design.md +100 -0
  19. package/docs/branch-authority-report-design.md +121 -0
  20. package/docs/changed-path-set-agent-envelope-design.md +70 -0
  21. package/docs/completion-criteria-report-design.md +132 -0
  22. package/docs/custom-rule-boundary-design.md +56 -0
  23. package/docs/deployment-evidence-admission-design.md +80 -0
  24. package/docs/document-lifecycle-boundary-design.md +62 -0
  25. package/docs/json-report-cli-adapter-design.md +83 -0
  26. package/docs/migration-parity-admission-design.md +90 -0
  27. package/docs/migration-plan-design.md +73 -0
  28. package/docs/obligation-decision-agent-envelope-design.md +105 -0
  29. package/docs/obligation-decision-state-design.md +100 -0
  30. package/docs/package-runtime-dependency-admission-design.md +80 -0
  31. package/docs/producer-policy-self-proof-design.md +142 -0
  32. package/docs/project-structure-agent-envelope-design.md +121 -0
  33. package/docs/project-structure-scaffold-design.md +89 -0
  34. package/docs/proof-obligation-algebra-design.md +108 -0
  35. package/docs/proof-receipt-admission-design.md +108 -0
  36. package/docs/proofkit-contract-map.md +55 -0
  37. package/docs/receipt-currentness-scope-admission-design.md +103 -0
  38. package/docs/receipt-producer-admission-design.md +106 -0
  39. package/docs/receipt-trust-class-admission-design.md +113 -0
  40. package/docs/rendered-artifact-freshness-design.md +55 -0
  41. package/docs/requirement-browser-view-design.md +229 -0
  42. package/docs/requirement-proof-resolver-projection-design.md +97 -0
  43. package/docs/requirement-proof-source-set-design.md +72 -0
  44. package/docs/requirement-proof-view-design.md +138 -0
  45. package/docs/requirement-source-admission-design.md +66 -0
  46. package/docs/requirement-source-transition-design.md +66 -0
  47. package/docs/requirement-source-view-design.md +51 -0
  48. package/docs/scaffold-profile-plan-design.md +72 -0
  49. package/docs/secret-shaped-json-scan-design.md +60 -0
  50. package/docs/selective-evidence-obligation-decision-design.md +139 -0
  51. package/docs/selective-evidence-producer-admission-design.md +106 -0
  52. package/docs/selective-evidence-receipt-trust-class-design.md +100 -0
  53. package/docs/selective-gate-evidence-agent-envelope-design.md +100 -0
  54. package/docs/selective-gate-plan-agent-envelope-design.md +95 -0
  55. package/docs/selective-planner-edge-coverage-design.md +89 -0
  56. package/docs/spec-overview-claim-boundary-design.md +50 -0
  57. package/docs/spec-proof-bundle-admission-design.md +105 -0
  58. package/docs/specs/proofkit-consumer-infra-retirement/overview.md +44 -0
  59. package/docs/specs/proofkit-consumer-infra-retirement/requirements.v1.json +175 -0
  60. package/docs/specs/proofkit-package-boundary/overview.md +32 -0
  61. package/docs/specs/proofkit-package-boundary/requirements.v1.json +121 -0
  62. package/docs/specs/proofkit-receipt-authority/overview.md +35 -0
  63. package/docs/specs/proofkit-receipt-authority/requirements.v1.json +121 -0
  64. package/docs/specs/proofkit-spec-proof-core/overview.md +36 -0
  65. package/docs/specs/proofkit-spec-proof-core/requirements.v1.json +148 -0
  66. package/docs/witness-scheduler-plan-design.md +57 -0
  67. package/docs/workspace-planning-agent-envelope-design.md +101 -0
  68. package/docs/workspace-registry-admission-design.md +57 -0
  69. package/package.json +54 -0
  70. package/proofkit/cli-contract.v1.json +808 -0
  71. package/proofkit/receipt-producer-policy.json +48 -0
  72. package/proofkit/requirement-bindings.json +520 -0
  73. 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.