@research-engineering/agentic-proofkit 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ADOPTION.md +1 -1
- 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 +9 -2
- package/docs/release-process.md +27 -3
- package/docs/specs/proofkit-consumer-infra-retirement/overview.md +5 -3
- package/docs/specs/proofkit-consumer-infra-retirement/requirements.v1.json +1 -1
- package/docs/specs/proofkit-spec-proof-core/overview.md +19 -5
- package/docs/specs/proofkit-spec-proof-core/requirements.v1.json +3 -3
- package/docs/specs/proofkit-supply-chain-quality/overview.md +9 -3
- package/docs/specs/proofkit-supply-chain-quality/requirements.v1.json +4 -4
- package/package.json +2 -1
- package/proofkit/cli-contract.v2.json +240 -95
- package/proofkit/requirement-bindings.json +296 -10
- package/proofkit/witness-plan.json +2 -1
package/ADOPTION.md
CHANGED
|
@@ -163,7 +163,7 @@ caller-owned capability or test observations
|
|
|
163
163
|
|
|
164
164
|
Use `test-evidence-inventory --projection discovery-draft` only for explicit
|
|
165
165
|
caller-owned test discovery facts. The command does not scan repositories,
|
|
166
|
-
execute tests, emit
|
|
166
|
+
execute tests, emit execution-backed semantic evidence, or close coverage. It emits
|
|
167
167
|
candidate inventory guidance with a non-strict candidate authority so an agent
|
|
168
168
|
can ask the right owner questions and materialize strict inventory rows later.
|
|
169
169
|
Candidate inventory diagnostics are rejected by strict inventory admission until
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -42,11 +42,18 @@ owner boundaries. It is not a second command-family inventory.
|
|
|
42
42
|
| Adoption and scaffolding | `init`, `adoption-contract-envelope`, `adoption-workflow-plan`, `adoption-checklist`, `adoption-doctor`, `gradual-adoption`, `gradual-adoption-bootstrap`, `gradual-adoption-guidance`, `capability-map-admission`, `pilot-admission`, `scaffold-profile-plan`, `scaffold-project-structure`, `stack-preset` | adoption intent, aggregate adoption contract envelope, checklist facts, target paths, owner routes, caller-extracted stale authority vocabulary facts, explicit pre-spec capability observations, pilot records, stack preset id, optional init preset id | dry-run route selection, aggregate contract-envelope admission, deterministic starter plans, checklist/report admission, bounded guidance envelopes, dry-run manifests, pre-spec trust-mode admission, adoption gap and stale-authority classification, pilot shape admission | final files, final requirements, rollout policy, text extraction from files, code observation extraction, pilot truth | selected child output, plan, report, seed packet, or agent envelope |
|
|
43
43
|
| Requirement source | `capability-map-admission`, `requirement-authoring-plan`, `requirement-source-admission`, `requirement-source-transition`, `spec-overview-claims`, `requirement-spec-tree`, `requirement-spec-tree-view`, `requirement-source-view`, `requirement-browser-server` | `requirements.v1.json`, caller-owned capability maps, caller-owned authoring facts, overview claim extraction, explicit spec hierarchy, view options | candidate seed admission, candidate-only authoring packets, source-shape admission, lifecycle checks, explicit tree topology/source-ref admission, shared safe renderer fragments, presentation-only views | requirement meaning, extraction completeness, Markdown extraction completeness, hierarchy ownership, proof adequacy, file materialization | capability map report, authoring packet, source report, spec-tree report, rendered view, or browser presentation |
|
|
44
44
|
| Requirement proof binding | `requirement-bindings`, `binding-partition`, `proof-slice`, `evidence-graph`, `requirement-proof-resolver`, `requirement-proof-source-set`, `requirement-proof-view`, `spec-proof-bundle-admission` | requirement records, bindings, witness commands, source-set facts, receipt reports, partition policy | graph validation, binding partition projection, compact slices, typed compact proof contract projections, resolver projections, bundle linkage checks | test semantics, witness execution, proof freshness, merge policy | proof report, partition report, slice, lookup graph, or view |
|
|
45
|
-
| Test inventory and coverage | `test-evidence-inventory`, `test-evidence-inventory --projection discovery-draft`, `test-evidence-inventory --normalized-inventory`, `requirement-coverage-input-compose`, `requirement-coverage-view`, `requirement-browser-server --view coverage` | caller-owned direct or source-set test inventory, caller-owned explicit test discovery facts, declared quality findings, requirement source, proof binding or compact proof contract, coverage universe, optional owner-invariant registry, aggregate coverage compose input | strict inventory/source-set admission, candidate-only discovery draft projection, fail-closed normalized inventory projection, deterministic coverage-view input composition from explicit facts,
|
|
45
|
+
| Test inventory and coverage | `test-evidence-inventory`, `test-evidence-inventory --projection discovery-draft`, `test-evidence-inventory --normalized-inventory`, `requirement-coverage-input-compose`, `requirement-coverage-view`, `requirement-browser-server --view coverage` | caller-owned direct or source-set test inventory, caller-owned explicit test discovery facts, declared quality findings, requirement source, proof binding or compact proof contract, coverage universe, optional owner-invariant registry, aggregate coverage compose input | strict inventory/source-set admission, candidate-only discovery draft projection, fail-closed normalized inventory projection, deterministic coverage-view input composition from explicit facts, missing declared assertion-signal and declared-quality classification, bounded agent action guidance, requirement/test/command/owner-invariant joins, nonsemantic command-evidence classification, stable coverage failure/warning classifications, presentation-only coverage view | inventory completeness, oracle quality, test quality, test discovery extraction, native test execution, receipt freshness, producer trust, merge policy | candidate inventory guidance, inventory report, normalized inventory data product, coverage-view input, coverage view, or browser presentation |
|
|
46
46
|
| Selective planning | `changed-path-set`, `requirement-impact-input-compose`, `impact`, `selective-gate-plan`, `selective-gate-evidence`, `selective-gate-obligation-decision-input`, `proof-obligation-algebra`, `obligation-decision` | changed paths, base/current requirement sources, base/current single-binding-per-requirement proof contracts, generated-artifact policy, local environment policy, proof-like path policy, scan obligation ownership, planned receipts, obligation routes, obligation algebra records | fail-closed impact input composition, fail-closed planning, receipt comparison, obligation algebra admission, bounded agent packets | git diff truth, repository scanning, command execution, producer trust, final admission | composed impact input, plan, evidence report, obligation algebra report, or obligation input |
|
|
47
47
|
| Receipts and producers | `proof-receipt-admission`, `receipt-producer-admission`, `receipt-currentness-scope`, `receipt-trust-class`, `producer-policy-self-proof` | receipt sets, producer policy, scope/currentness facts, trust classes | receipt shape, producer/receipt compatibility, self-proof diagnostics | producer authentication, freshness policy, CI trust roots | receipt/provenance report |
|
|
48
48
|
| Release and deployment | `release-authority`, `external-consumer`, `registry-consumer-proof-input-compose`, `registry-consumer`, `deployment-evidence-admission`, `completion-criteria`, `branch-authority`, `readiness-closeout` | package facts, tarball/registry facts, explicit primitive registry/install/smoke facts, deployment evidence, criteria, branch facts | artifact/channel boundary checks, registry-consumer input composition, release diagnostics, falsifiable criteria shape | package publication, registry fetch, package-manager execution, deployment, rollback, approval | composed input, release/deployment/readiness report |
|
|
49
49
|
| Supply-chain and quality | `self-check`, release workflow, `npm run release:sbom`, `npm run self:coverage`, `npm run go:actionlint`, `npm run go:bench` | release artifacts, source workflows, specs, bindings, witness plans, explicit benchmark invocation | deterministic self-check report shape, SBOM candidate evidence, coverage metrics, workflow lint routing, benchmark entrypoints | public-source provenance, vulnerability triage, license approval, CI run admission, release approval | self-check report, SBOM, metrics report, CI signal, or benchmark output |
|
|
50
|
+
|
|
51
|
+
The `npm run release:sbom`, `npm run self:coverage`, `npm run go:actionlint`,
|
|
52
|
+
and `npm run go:bench` routes above are maintainer commands for a source
|
|
53
|
+
checkout. They are not installed-package APIs because their implementations
|
|
54
|
+
depend on repository-only `internal/` or workflow sources. Installed consumers
|
|
55
|
+
must use the public `agentic-proofkit` CLI routes declared in
|
|
56
|
+
`proofkit/cli-contract.v2.json`.
|
|
50
57
|
| Repository structure | `repo-profile-admission`, `workspace-manifest-facts`, `workspace-registry`, `workspace-changed-package-plan`, `workspace-shard-partition`, `typescript-public-api-surfaces`, `text-policy`, `secret-scan`, `package-runtime-dependency-admission` | explicit repo/profile facts, caller-owned manifest records, caller-owned roots, caller-owned text file inventories, explicit TypeScript package-manifest and per-condition source paths, optional `environmentClassPolicies` tuples | structural admission, manifest-to-workspace fact projection, workspace graph projections, bounded TypeScript package public API checks over referenced files, text policy admission, explicit-inventory secret-like text detection, shard plans | repository freshness, git/file discovery, compiler output provenance, command policy, package manager truth, provider secret scanning | structural, fact, policy, or planning report |
|
|
51
58
|
| Custom and generated artifacts | `custom-rule-boundary`, `document-lifecycle-boundary`, `rendered-artifact-freshness`, `conformance-profile`, `json-report-cli-adapter-source`, `witness-plan`, `witness-scheduler-plan` | custom rule metadata, document lifecycle records, artifact digests, profile manifests, command metadata, adapter language | boundary checks, generated-view freshness shape, deterministic adapter source generation, scheduler metadata checks | rule execution, document meaning, cache contents, CI scheduling, committed generated-source freshness | boundary report, generated source artifact, or scheduler report |
|
|
52
59
|
| CLI metadata | `help` | optional command name or help flag | built-in command catalog and help text routing | command selection, semantic proof, freshness, merge policy | text help only |
|
|
@@ -124,7 +131,7 @@ Semantic context routes are `requirement-context-compose`,
|
|
|
124
131
|
| An agent needs a bounded semantic subset instead of whole specification files. | `requirement-context-compose --repo-root <caller-selected-root>` over an explicit catalog, then `requirement-context-slice` over the materialized snapshot. | The snapshot and slice are content-bound derived projections. Stop before inferring hierarchy, scanning ambient paths, treating omissions as absence, or promoting the slice to requirement, proof, freshness, or merge authority. |
|
|
125
132
|
| Overview prose may contain durable claims. | `spec-overview-claims` | Escalate when normative claims are not tied to `REQ-*` records. |
|
|
126
133
|
| Requirements have no verified proof route. | `requirement-bindings`, `witness-plan` from either an explicit `witness_command_catalog` or a complete `binding_witness_plan_input`, `proof-slice`, or `requirement-proof-resolver` | Stop before claiming proof adequacy; native witness semantics stay with the consumer. A binding-derived witness plan still needs caller-owned vocabulary and conservative command policy. |
|
|
127
|
-
| Tests or proof evidence need inventory. | `test-evidence-inventory`; use `--projection discovery-draft` only for explicit discovered-test facts, then `requirement-coverage-input-compose` when an aggregate `coverage_compose_input` exists, then `requirement-coverage-view` when a `coverage_view_input` exists | Compose only from explicit caller-owned facts. Discovery drafts are candidate-only and cannot close coverage. Use `failureClassifications[]`, `warningClassifications[]`, and `agentActionPlan[]` for machine routing. Escalate when tests are route-only,
|
|
134
|
+
| Tests or proof evidence need inventory. | `test-evidence-inventory`; use `--projection discovery-draft` only for explicit discovered-test facts, then `requirement-coverage-input-compose` when an aggregate `coverage_compose_input` exists, then `requirement-coverage-view` when a `coverage_view_input` exists | Compose only from explicit caller-owned facts. Discovery drafts are candidate-only and cannot close coverage. Use `failureClassifications[]`, `warningClassifications[]`, and `agentActionPlan[]` for machine routing. Escalate when tests are route-only, lack a declared assertion signal, are unbound, or are outside the caller-owned coverage universe. Proofkit reports declared signals; the consumer owns oracle-quality and test-quality conclusions. |
|
|
128
135
|
| A change set is known. | `changed-path-set`, optionally `requirement-impact-input-compose`, `impact`, then `selective-gate-plan --agent-envelope` | Raw `knownChangedPaths` in `agent-route` are diagnostic only. Materialize a caller-owned `changed_path_set`, compose a caller-owned `impact_input` before `impact`, and compose a caller-owned `selective_gate_plan_input` before `selective-gate-plan`. Use `scanObligation` to name whether a `text-policy`, `secret-scan`, or caller-owned external scanner is required. Fail closed on unknown scope, dynamic edges, missing owner routes, unbound proof-like paths, or full-gate escalation. |
|
|
129
136
|
| Caller-owned file contents need secret-like text detection. | `secret-scan` | Provide explicit sorted file inventory with content. Stop before claiming repository-wide discovery, credential validity, provider ingestion, merge readiness, or replacement of GitHub secret scanning. |
|
|
130
137
|
| Does a TypeScript package public API match a caller-owned manifest? | `agent-route` with `goal: "verify_typescript_public_api"` and explicit `typescript_public_api_manifest` plus `typescript_public_api_repo_root`, then `typescript-public-api-surfaces --repo-root <caller-selected-root>` | The manifest must name each referenced `package.json`, sorted-unique export conditions, and a non-JSX `.ts`, `.mts`, or `.cts` `sourcePath` whose canonical target has the same admitted extension class. The bounded scanner accepts only the fail-closed export grammar in `proofkit/cli-contract.v2.json`; it does not parse unrestricted TypeScript or TSX, infer conventional layouts, or prove compiler output provenance, checkout freshness, package-manager truth, or merge readiness. |
|
package/docs/release-process.md
CHANGED
|
@@ -46,7 +46,20 @@ In a source checkout, the committed `release/change-record.v2.json` owns the
|
|
|
46
46
|
reviewed, version-bound declaration of the public-contract delta, migration
|
|
47
47
|
decision, platform requirements, known limitations, and rollback strategy. It
|
|
48
48
|
is not part of the installed npm or PyPI projection and does not infer change
|
|
49
|
-
completeness from the source diff.
|
|
49
|
+
completeness from the source diff.
|
|
50
|
+
|
|
51
|
+
Release-history migration support starts at the baseline named by the first
|
|
52
|
+
supporting release record. The exact baseline remains in that source-only,
|
|
53
|
+
immutable release evidence rather than this package-public document. The
|
|
54
|
+
repository does not backfill a machine release-history chain for earlier
|
|
55
|
+
pre-baseline development releases. Each later change record in its released
|
|
56
|
+
source commit owns exactly one edge from `previousVersion` to `version`. A
|
|
57
|
+
future cumulative migration plan may be derived only from a contiguous,
|
|
58
|
+
owner-admitted sequence of those immutable release records; it must not become
|
|
59
|
+
a second authored source of truth or infer migration semantics from a source
|
|
60
|
+
diff. No cumulative release-history planner is currently claimed.
|
|
61
|
+
|
|
62
|
+
The repository-owned
|
|
50
63
|
`release:manifest` tool admits that record and creates `release-manifest.json`,
|
|
51
64
|
`checksums.sha256`, `metadata-checksums.sha256`, `sbom-subjects.sha256`,
|
|
52
65
|
release notes, and deterministic SBOM candidate evidence from explicit package,
|
|
@@ -120,6 +133,13 @@ coverage metrics generation.
|
|
|
120
133
|
The dry-run package identity proves candidate tarball shape only. It does not
|
|
121
134
|
prove the bytes served by the registry after publish.
|
|
122
135
|
|
|
136
|
+
Candidate preflight also admits the npm registry `latest` identity. For an
|
|
137
|
+
unpublished candidate, `latest` must equal the change record
|
|
138
|
+
`previousVersion`. For an already-published candidate, exact candidate-to-
|
|
139
|
+
registry byte equality must be proven first and `latest` must equal the change
|
|
140
|
+
record `version`. This separates a new release edge from an idempotent replay
|
|
141
|
+
and rejects skipped or stale predecessor chains.
|
|
142
|
+
|
|
123
143
|
## Publish
|
|
124
144
|
|
|
125
145
|
Create and push an exact version tag:
|
|
@@ -134,7 +154,9 @@ The `release` workflow must:
|
|
|
134
154
|
1. verify source package identity;
|
|
135
155
|
2. run the package gate;
|
|
136
156
|
3. build publish candidate evidence through either npm publish dry-run or
|
|
137
|
-
exact existing-byte-match validation for an already published version
|
|
157
|
+
exact existing-byte-match validation for an already published version, then
|
|
158
|
+
bind the branch-specific candidate state and admitted change record to the
|
|
159
|
+
exact npm `latest` package identity;
|
|
138
160
|
4. build Python wheel candidates for the same embedded Go CLI;
|
|
139
161
|
5. prove publish readiness before any registry side effect: the tag must equal
|
|
140
162
|
`v<package.json version>`, target a commit reachable from `main`, and have
|
|
@@ -168,7 +190,9 @@ The `release` workflow must:
|
|
|
168
190
|
`artifacts/retained-evidence-checksums.sha256`. The checksum manifest lives
|
|
169
191
|
at the retained artifact root and uses exact `release/...` and
|
|
170
192
|
`attestations/...` paths, so standard checksum verification executes against
|
|
171
|
-
the downloaded artifact layout without path rewriting.
|
|
193
|
+
the downloaded artifact layout without path rewriting. Each existing-release
|
|
194
|
+
and newly-created-release branch immediately runs the repository-owned
|
|
195
|
+
`retained-evidence-verify` preflight before reporting success. The release
|
|
172
196
|
manifest records GitHub Release channel data as candidate/archive inventory;
|
|
173
197
|
`github-release.json` owns post-create GitHub Release facts only inside
|
|
174
198
|
retained workflow evidence, not as a public release asset.
|
|
@@ -30,9 +30,11 @@ approval, rollout approval, and production decisions.
|
|
|
30
30
|
gradual adoption, and release-channel scenarios to existing Proofkit
|
|
31
31
|
primitives through bounded structured command refs.
|
|
32
32
|
- `REQ-PROOFKIT-RETIRE-006`: migration parity admission validates
|
|
33
|
-
caller-provided parity
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
caller-provided parity-claim shape, source/target closure, typed equivalence
|
|
34
|
+
dimensions, consistency between caller-declared status and supplied digests,
|
|
35
|
+
and lossless record-level non-claim projection without owning digest
|
|
36
|
+
computation, evidence authenticity, freshness, semantic correctness, or
|
|
37
|
+
retirement approval.
|
|
36
38
|
- `REQ-PROOFKIT-RETIRE-007`: gradual adoption guidance keeps caller-provided
|
|
37
39
|
candidate boundaries advisory, exposes owner-review questions, routes mode
|
|
38
40
|
and checked-scope semantics through one private owner, and fails closed for
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
{
|
|
144
144
|
"requirementId": "REQ-PROOFKIT-RETIRE-006",
|
|
145
145
|
"ownerId": "proofkit.consumer-infra-retirement",
|
|
146
|
-
"invariant": "Migration parity admission validates caller-provided parity
|
|
146
|
+
"invariant": "Migration parity admission validates caller-provided parity-claim shape, source/target closure, typed equivalence dimensions, consistency between caller-declared status and caller-supplied digests, and lossless record-level non-claim projection; statuses, admitted parity claim refs, and status-derived parity counters remain explicitly caller-declared, structural and failure counts remain Proofkit-computed admission facts, and the report does not own digest computation, evidence authenticity, freshness, semantic correctness, or retirement approval.",
|
|
147
147
|
"claimLevel": "blocking",
|
|
148
148
|
"riskClass": "high",
|
|
149
149
|
"proofBindingRefs": [
|
|
@@ -49,8 +49,21 @@ execution receipts, and merge policy.
|
|
|
49
49
|
owners, scope widening, fabricated normalized inventory, non-strict
|
|
50
50
|
discovery candidate inventory, nonsemantic command evidence, and declared
|
|
51
51
|
dead zones in selected-owner or full-repository scopes, and do not treat
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
caller-authored route, falsifier, oracle-signal, or falsifier-supersession
|
|
53
|
+
metadata as selector resolution, oracle review, execution, freshness, trust,
|
|
54
|
+
sensitivity, dominance proof, verified coverage, or assurance closure;
|
|
55
|
+
discovery classifies only declared assertion-signal presence and coverage
|
|
56
|
+
re-admission requires the versioned exact root and row shapes, canonical row
|
|
57
|
+
order, exact row metadata, command-owned non-claims, exact missing-inventory
|
|
58
|
+
diagnostics, owner-scoped compact scenario identities, and a coverage basis
|
|
59
|
+
that commits to selected owners, full-repository out-of-scope source
|
|
60
|
+
identities, and the complete retained inventory projection; it retains
|
|
61
|
+
complete inventory entries without selected parents, replays owner-scope and
|
|
62
|
+
inventory-owned failure semantics, and rejects missing projection fields,
|
|
63
|
+
contradictory repeated projections, one-sided retained parent references,
|
|
64
|
+
compact scenario-to-route drift, and unowned or inconsistent state/class
|
|
65
|
+
vocabulary. The coverage basis proves internal projection consistency, not
|
|
66
|
+
source authenticity or producer identity.
|
|
54
67
|
- `REQ-PROOFKIT-SPEC-007`: caller-owned inputs are admitted into canonical
|
|
55
68
|
immutable records before any proof, policy, route, rendering, or report
|
|
56
69
|
decision consumes them.
|
|
@@ -80,9 +93,10 @@ execution receipts, and merge policy.
|
|
|
80
93
|
policy.
|
|
81
94
|
- `REQ-PROOFKIT-SPEC-012`: requirement authoring plans package caller-provided
|
|
82
95
|
design, implementation, PR, code, test, and clarification facts into
|
|
83
|
-
candidate-only requirement updates,
|
|
84
|
-
|
|
85
|
-
|
|
96
|
+
candidate-only requirement updates, preserve complete canonically ordered
|
|
97
|
+
admitted authoring references, consume requirement records only through
|
|
98
|
+
canonical owner projections, delegate structural checks to requirement source
|
|
99
|
+
admission and transition, and keep owner review/materialization outside Proofkit.
|
|
86
100
|
- `REQ-PROOFKIT-SPEC-013`: repeated cross-command proof vocabulary has one
|
|
87
101
|
private owner for proof and selective-edge state while command-local and
|
|
88
102
|
caller-owned vocabularies stay outside the shared owner.
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
{
|
|
144
144
|
"requirementId": "REQ-PROOFKIT-SPEC-006",
|
|
145
145
|
"ownerId": "proofkit.spec-proof-core",
|
|
146
|
-
"invariant": "Test evidence inventory, explicit test-discovery draft projections, proof-binding-derived inventory projections, normalized inventory projections, coverage-view input composition, and requirement coverage views classify or assemble caller-owned test-to-requirement, command, witness, owner-invariant, quality-finding, and declared-surface routes with stable machine-readable failure and warning classifications plus bounded agent action guidance while preserving source-set entry provenance, failing closed on structured selector/sourcePath drift, command-ref collisions, missing requirement owners, scope widening, fabricated normalized inventory, non-strict discovery candidate inventory, nonsemantic command evidence, and declared dead zones in selected-owner or full-repository scopes, and
|
|
146
|
+
"invariant": "Test evidence inventory, explicit test-discovery draft projections, proof-binding-derived inventory projections, normalized inventory projections, coverage-view input composition, and requirement coverage views classify or assemble caller-owned test-to-requirement, command, witness, owner-invariant, quality-finding, and declared-surface routes with stable machine-readable failure and warning classifications plus bounded agent action guidance while preserving source-set entry provenance, failing closed on structured selector/sourcePath drift, command-ref collisions, missing requirement owners, scope widening, fabricated normalized inventory, non-strict discovery candidate inventory, nonsemantic command evidence, and declared dead zones in selected-owner or full-repository scopes; caller-authored route, falsifier, oracle-signal, and falsifier-supersession metadata emits only explicit declaration or mapping states, discovery classifies only the presence of admitted assertion-signal categories, coverage output re-admission requires the versioned exact root and row shapes, canonical row order, exact row metadata, command-owned non-claims, exact missing-inventory diagnostics, owner-scoped compact scenario identities, and a coverage basis committing to selected owners, full-repository out-of-scope source identities, and the complete retained inventory projection, retains complete inventory entries even when no selected parent references them, replays owner-scope and inventory-owned failure semantics, and rejects missing projected fields, contradictory repeated projections, one-sided retained parent references, compact scenario-to-route projection drift, and unowned or inconsistent state/class vocabulary, and no such metadata or coverage-basis commitment can emit source authenticity, producer identity, selector-resolution, oracle-review, execution, freshness, trust, sensitivity, dominance-proof, verified, covered, or assurance-closure facts.",
|
|
147
147
|
"claimLevel": "blocking",
|
|
148
148
|
"riskClass": "high",
|
|
149
149
|
"proofBindingRefs": [
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"NC-PROOFKIT-SPEC-006"
|
|
154
154
|
],
|
|
155
155
|
"nonClaims": [
|
|
156
|
-
"This requirement does not claim repository scanning, native test execution, proof freshness, receipt authenticity, merge approval, or global coverage completeness outside the caller-provided universe."
|
|
156
|
+
"This requirement does not claim repository scanning, source authenticity, producer identity, selector resolution, oracle quality, native test execution, proof freshness, receipt authenticity, trust, sensitivity, assurance closure, merge approval, or global coverage completeness outside the caller-provided universe."
|
|
157
157
|
],
|
|
158
158
|
"lifecycle": {
|
|
159
159
|
"state": "active",
|
|
@@ -305,7 +305,7 @@
|
|
|
305
305
|
{
|
|
306
306
|
"requirementId": "REQ-PROOFKIT-SPEC-012",
|
|
307
307
|
"ownerId": "proofkit.spec-proof-core",
|
|
308
|
-
"invariant": "Requirement authoring plans admit caller-provided design, implementation, pull request, code, test, and clarification facts into candidate-only requirement updates, delegate candidate source and lifecycle checks to requirement-source admission and transition, and emit owner-review plans without reading repositories, writing files, inferring requirement meaning, or approving promotion.",
|
|
308
|
+
"invariant": "Requirement authoring plans admit caller-provided design, implementation, pull request, code, test, and clarification facts into candidate-only requirement updates, preserve every admitted authoring reference as a canonically ordered lossless projection of refId, kind, path, optional digest, summary, and nonClaims, consume current and candidate requirement records only through canonical requirement-source owner projections, delegate candidate source and lifecycle checks to requirement-source admission and transition, and emit owner-review plans without reading repositories, writing files, inferring requirement meaning, or approving promotion.",
|
|
309
309
|
"claimLevel": "blocking",
|
|
310
310
|
"riskClass": "high",
|
|
311
311
|
"proofBindingRefs": [
|
|
@@ -102,7 +102,12 @@ vulnerability absence, or consumer rollout safety by itself.
|
|
|
102
102
|
fields after validation.
|
|
103
103
|
- `REQ-PROOFKIT-QUALITY-015`: the package gate includes an admitted release
|
|
104
104
|
closeout completion-criteria report so unit tests alone cannot satisfy
|
|
105
|
-
release closeout
|
|
105
|
+
release closeout, and coverage-metric re-admission uses overflow-safe exact
|
|
106
|
+
producer relations plus the complete command inventory, and compares both
|
|
107
|
+
coverage command projections with the actual `cli-contract.v2.json` command
|
|
108
|
+
inventory from the same source snapshot, so neither an impossible count
|
|
109
|
+
partition nor a coordinated same-size command substitution can satisfy
|
|
110
|
+
closeout.
|
|
106
111
|
- `REQ-PROOFKIT-QUALITY-016`: release platform targets use one private owner
|
|
107
112
|
that projects platform suffixes, Go build targets, npm OS/CPU metadata,
|
|
108
113
|
package tar entries, Python wheel tags, PyPI candidate completeness,
|
|
@@ -160,8 +165,9 @@ vulnerability absence, or consumer rollout safety by itself.
|
|
|
160
165
|
exact complete current breaking, addition, and migration inventories
|
|
161
166
|
including channel-specific generated continuation bytes, rejects missing,
|
|
162
167
|
substituted, reordered, or surplus entries, and owns one independently
|
|
163
|
-
authored byte-exact complete current release-note projection
|
|
164
|
-
|
|
168
|
+
authored byte-exact complete current release-note projection. Candidate
|
|
169
|
+
preflight binds npm latest to `previousVersion` for an unpublished candidate
|
|
170
|
+
or to `version` only after exact existing-byte-match proof. One retained-
|
|
165
171
|
evidence owner builds and verifies checksums against exact
|
|
166
172
|
downloadable artifact-relative paths without inferring change completeness
|
|
167
173
|
from the source diff.
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
{
|
|
130
130
|
"requirementId": "REQ-PROOFKIT-QUALITY-010",
|
|
131
131
|
"ownerId": "proofkit.supply-chain-quality",
|
|
132
|
-
"invariant": "Coverage metrics report requirement, binding, witness, CLI inventory linkage, and descriptor-owned command proof-route candidates from admitted test-evidence-inventory rows, failing closed independently for each requirement/proof linkage dead-zone class and each missing-candidate, unknown-candidate-ref, unknown-semantic-ref, contract-only, or route-only command-route class; source-checkout witness selectors must resolve to valid functions in active Go test files with exact executable commands, critical anti-vacuity scenarios must retain their exact closed selector inventories, and failed command-route inventory admission also fails closed, while static route metadata, prose, source markers, test existence, and failure-capable syntax remain candidate evidence and cannot
|
|
132
|
+
"invariant": "Coverage metrics report requirement, binding, witness, CLI inventory linkage, and descriptor-owned command proof-route candidates from admitted test-evidence-inventory rows, failing closed independently for each requirement/proof linkage dead-zone class and each missing-candidate, unknown-candidate-ref, unknown-declared-semantic-route-ref, contract-only, or route-only command-route class; source-checkout witness selectors must resolve to valid functions in active Go test files with exact executable commands and a failure-capable assertion candidate outside literal-dead branches, uninvoked closures, and skip-bearing helper paths, critical anti-vacuity scenarios must retain their exact closed selector inventories, and failed command-route inventory admission also fails closed, while static route metadata, prose, source markers, test existence, and failure-capable syntax remain candidate evidence and cannot become execution-backed semantic evidence.",
|
|
133
133
|
"claimLevel": "blocking",
|
|
134
134
|
"riskClass": "medium",
|
|
135
135
|
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
{
|
|
195
195
|
"requirementId": "REQ-PROOFKIT-QUALITY-015",
|
|
196
196
|
"ownerId": "proofkit.supply-chain-quality",
|
|
197
|
-
"invariant": "The package gate includes an admitted release closeout completion-criteria report that classifies package artifacts, Python wrappers, release manifest, SBOM, channel scope, and self-hosting evidence instead of allowing unit tests alone to satisfy release closeout.",
|
|
197
|
+
"invariant": "The package gate includes an admitted release closeout completion-criteria report that classifies package artifacts, Python wrappers, release manifest, SBOM, channel scope, and self-hosting evidence instead of allowing unit tests alone to satisfy release closeout; coverage-metric re-admission uses overflow-safe relations to require the exact producer projection between admitted entries, routes, route classes, proof-route candidates, the complete command inventory, and commands missing declaration-only routes, and compares both coverage command projections with the actual cli-contract.v2.json command inventory from the same source snapshot.",
|
|
198
198
|
"claimLevel": "blocking",
|
|
199
199
|
"riskClass": "high",
|
|
200
200
|
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
@@ -311,12 +311,12 @@
|
|
|
311
311
|
{
|
|
312
312
|
"requirementId": "REQ-PROOFKIT-QUALITY-024",
|
|
313
313
|
"ownerId": "proofkit.supply-chain-quality",
|
|
314
|
-
"invariant": "Release metadata generation admits one closed schema-versioned machine-readable declaration of the reviewed public-contract change set, requires exact ordered equality for the complete current breaking-change, addition, and migration inventories, including channel-specific changes to public generated continuation bytes, binds its exact previous and current canonical SemVer values to a compatible or breaking change class, rejects missing, substituted, reordered, or surplus current entries plus non-monotonic or patch-range breaking releases, and renders one byte-exact independently authored complete current release-note projection with no relocated, duplicate, appended, surplus, or second owned section
|
|
314
|
+
"invariant": "Release metadata generation admits one closed schema-versioned machine-readable declaration of the reviewed public-contract change set, requires exact ordered equality for the complete current breaking-change, addition, and migration inventories, including channel-specific changes to public generated continuation bytes, binds its exact previous and current canonical SemVer values to a compatible or breaking change class, rejects missing, substituted, reordered, or surplus current entries plus non-monotonic or patch-range breaking releases, and renders one byte-exact independently authored complete current release-note projection with no relocated, duplicate, appended, surplus, or second owned section; release candidate preflight binds the admitted npm package identity and candidate state to registry latest so an unpublished candidate requires latest to equal previousVersion and an exact existing-byte-match candidate requires latest to equal version; release metadata promotes the npm channel to published only from a strictly admitted registry-authority record whose unique filename-keyed package set exactly matches both retained registry records and local candidate identity and bytes; one repository-owned retained-evidence builder and verifier checksum the exact final downloadable artifact topology with artifact-relative paths, reject unbound evidence files and symlink substitution, and fail release closeout on record, note, path, or digest drift.",
|
|
315
315
|
"claimLevel": "blocking",
|
|
316
316
|
"riskClass": "high",
|
|
317
317
|
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
318
318
|
"nonClaimRefs": ["NC-PROOFKIT-QUALITY-024"],
|
|
319
|
-
"nonClaims": ["This requirement does not infer change-record completeness from source changes, make release notes approval authority, or prove provider publication, attestation authenticity, consumer adoption, rollout approval, or production readiness."],
|
|
319
|
+
"nonClaims": ["This requirement does not infer change-record completeness from source changes, reconstruct release-history migration data before the declared support baseline, claim a cumulative release-history planner, make release notes approval authority, or prove provider publication, attestation authenticity, consumer adoption, rollout approval, or production readiness."],
|
|
320
320
|
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
321
321
|
"deferral": null,
|
|
322
322
|
"updatePolicy": {"reviewOwnerId": "proofkit.supply-chain-quality", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@research-engineering/agentic-proofkit",
|
|
3
3
|
"description": "Reusable proof profile, report, graph, and witness-planning primitives.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.3.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"sideEffects": false,
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"go:test": "go test ./...",
|
|
47
47
|
"go:vet": "go vet ./...",
|
|
48
48
|
"npm:version": "node -e \"const {execFileSync}=require('node:child_process'); const expected=require('./package.json').packageManager.split('@').at(-1); const actual=execFileSync('npm',['--version'],{encoding:'utf8'}).trim(); if(actual!==expected){throw new Error('expected npm '+expected+', got '+actual)}\"",
|
|
49
|
+
"npm:registry-evidence": "go run ./internal/tools/npmregistry",
|
|
49
50
|
"package:artifact": "go run ./internal/tools/packageartifact",
|
|
50
51
|
"package:artifact:steps": "npm run build && go run ./internal/tools/packagepack && go run ./internal/tools/packageverify && npm run python:package && npm run python:verify && npm run release:manifest",
|
|
51
52
|
"platform:smoke": "go run ./internal/tools/packagebuild current && ./dist/agentic-proofkit --help >/dev/null && go run ./internal/tools/pythonpackage build-current && go run ./internal/tools/pythonpackage verify-current",
|