@research-engineering/agentic-proofkit 0.8.0 → 0.9.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/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 +6 -2
- package/docs/specs/proofkit-agent-workflow/overview.md +29 -6
- package/docs/specs/proofkit-agent-workflow/requirements.v1.json +56 -0
- package/docs/specs/proofkit-spec-proof-core/overview.md +6 -0
- package/docs/specs/proofkit-spec-proof-core/requirements.v1.json +14 -1
- package/package.json +1 -1
- package/proofkit/cli-contract.v2.json +294 -16
- package/proofkit/command-families.v1.json +9 -0
- package/proofkit/requirement-bindings.json +486 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -10,6 +10,8 @@ This map helps consuming repositories choose the smallest Proofkit CLI command
|
|
|
10
10
|
or JSON contract without loading the full README or source tree. It is not an
|
|
11
11
|
exhaustive schema reference. The canonical command inventory is
|
|
12
12
|
`proofkit/cli-contract.v2.json`.
|
|
13
|
+
Its `commandRouteGrammar.omittedRoutePolicy` field owns how consumers expand a
|
|
14
|
+
command record that omits an explicit `route`.
|
|
13
15
|
|
|
14
16
|
Formal rule:
|
|
15
17
|
|
|
@@ -39,7 +41,8 @@ owner boundaries. It is not a second command-family inventory.
|
|
|
39
41
|
|
|
40
42
|
| Family | Main commands | Caller provides | Proofkit owns | Consumer owns | Output authority |
|
|
41
43
|
|---|---|---|---|---|---|
|
|
42
|
-
|
|
|
44
|
+
| Project state navigation | `status`, `next` | explicit repository root | bounded transaction-first materialized-project inspection, normalized observation identity, deterministic project-state classification, and one non-executable next action; admitted in-bound records bind exact content digests, while unread out-of-bound records intentionally identify only their invalid class | repository policy, byte identity for unread out-of-bound records, witness execution, receipt trust/currentness/scope, merge, release, deployment, rollout, and production readiness | project-status report, next-action packet, or bounded text projection |
|
|
45
|
+
| Agent workflow planning | `change plan`, `native-evidence-guidance` | explicit checkpoint, completed stage ids, bounded context refs, governing authority ref, and required context ref ids | optional built-in `proofkit.reviewed-change.v1` checkpoint relation, reference-closed next-stage context, deterministic agent prompts, bounded text/JSON/envelope projections, and repository-neutral native-evidence guidance with closed applicability classes | custom workflow topology, repository state discovery, stage execution, native witness semantics, evidence collection, review conclusions, merge, release, deployment, and rollout authority | next-action plan, terminal workflow report, bounded agent envelope, or guidance catalog |
|
|
43
46
|
| Adoption and scaffolding | `adopt plan`, `adopt materialize plan`, `adopt materialize apply`, `adopt materialize recover`, `repository-inventory`, `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` | explicit repository root, explicit fresh/code-baseline/audit-from-code intent, optional stack hint, owner-reviewed candidate packet, expected transaction and desired-state identities, recovery action, aggregate adoption contract envelope, checklist facts, target paths, owner routes, caller-extracted stale authority vocabulary facts, explicit pre-spec capability observations, and pilot records | bounded fixed-catalog root inventory, candidate-only front-door tasks, owner-closed read-only materialization plans, confined transactional apply and recovery receipts, 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, and pilot shape admission | stack selection, arbitrary source inspection, candidate review, final requirement meaning, proof adequacy, rollout policy, text extraction, code observation extraction, and pilot truth | inventory, candidate-only plan, transaction-bound materialization plan or receipt, selected child output, report, seed packet, or agent envelope |
|
|
44
47
|
| 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 |
|
|
45
48
|
| 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, declaration-only compact route projection with full binding identity and role-qualified witness routes, resolver projection, bundle linkage checks | selector resolution, oracle quality, witness execution, mutation adequacy, finding completeness, proof freshness, trust, assurance, merge policy | proof report, partition report, slice, declaration lookup graph, or view |
|
|
@@ -128,8 +131,9 @@ Semantic context routes are `requirement-context-compose`,
|
|
|
128
131
|
|
|
129
132
|
| State or goal | Next Proofkit route | Stop or escalation condition |
|
|
130
133
|
|---|---|---|
|
|
134
|
+
| The repository may already contain a materialized Proofkit project. | `status --repo-root <caller-selected-root>` for the full bounded classification or `next --repo-root <caller-selected-root>` for its single action projection. | Treat `verification_required` as a request to run repository-owned verification, never as completion or approval. Stop on blocked or recovery-required states; the packet does not execute its route or own policy. |
|
|
131
135
|
| The agent does not know where to start. | `adopt plan --mode <mode> --repo-root <caller-selected-root>`, where mode is `fresh`, `code-baseline`, or `audit-from-code` | Choose the trust intent explicitly. Treat the fixed-catalog inventory and tasks as a read-only candidate plan; stop before arbitrary source inspection, writing files, or making requirements authoritative. |
|
|
132
|
-
| An agent needs a bounded, deterministic stage transition for an engineering change. | `change
|
|
136
|
+
| An agent needs a bounded, deterministic stage transition for an engineering change. | `change plan` selects the optional built-in `proofkit.reviewed-change.v1` profile; use `--agent-envelope` for the compact work packet and `native-evidence-guidance` when the consuming repository has not yet materialized repository-specific evidence instructions. | Supply only explicit current checkpoint, completed stages, and admitted context references. Apply conditional guidance slots only when their applicability class matches a declared consumer mechanism. Stop before treating the profile, plan, or guidance as repository policy or as proof that a stage ran, evidence exists, review passed, or merge/release is authorized. |
|
|
133
137
|
| No admitted spec/profile exists and the caller has explicit capability observations. | `capability-map-admission`; use `trustMode: "code_baseline"` only when maintainers intentionally freeze current code, otherwise use `trustMode: "audit_from_code"`. | Stop before treating seeds as stable requirements. The consumer owns observation extraction, materialization, requirement meaning, and proof adequacy. |
|
|
134
138
|
| No admitted spec/profile exists and no capability observations exist. | Start with `adopt plan --mode fresh --repo-root <caller-selected-root>`; use `scaffold-project-structure`, `adoption-workflow-plan`, or `stack-preset` only as later specialist routes when an owner has selected them. | Treat front-door tasks as candidate-only. Stop before writing files; the consumer owns materialization, overwrite policy, and final requirement text. |
|
|
135
139
|
| Owner-reviewed candidate requirement sources, proof bindings, and test inventory are ready for repository materialization. | Use command ID `adopt-materialize-plan` through route `adopt materialize plan --input <candidate-packet> --repo-root <caller-selected-root>`, review the exact transaction and desired-state identities, then use command ID `adopt-materialize-apply` through route `adopt materialize apply` with both expected identities. Use `adopt materialize recover` only for the exact observed transaction and state-compatible `resume` or `rollback` action. | Stop on stale state, unknown ownership, path-role collision, pending transaction, identity mismatch, or recovery-required output. A plan or receipt does not prove requirement meaning, witness truth, proof adequacy, merge approval, rollout, or production readiness. |
|
|
@@ -7,7 +7,7 @@ witnesses, merge, release, rollout, or production-readiness decisions.
|
|
|
7
7
|
|
|
8
8
|
The public capability is deliberately small:
|
|
9
9
|
|
|
10
|
-
1. `change
|
|
10
|
+
1. `change plan` admits explicit JSON and projects one next action for
|
|
11
11
|
the optional built-in profile `proofkit.reviewed-change.v1`, whose ordered
|
|
12
12
|
stages are `architecture`, `design`, `implementation_plan`,
|
|
13
13
|
`implementation`, `verification`, `pull_request`, and `closeout`.
|
|
@@ -19,12 +19,19 @@ The public capability is deliberately small:
|
|
|
19
19
|
the consuming witness declares the named mechanism.
|
|
20
20
|
3. Existing descriptors, dispatch, command families, root-shape CLI contracts,
|
|
21
21
|
agent envelopes, and package gates provide public-surface closure.
|
|
22
|
+
4. `status --repo-root` classifies only a bounded normalized
|
|
23
|
+
materialized-project observation, and `next --repo-root` projects one
|
|
24
|
+
bounded action. Admitted in-bound records bind exact content digests;
|
|
25
|
+
unread out-of-bound records bind only their invalid class. Neither command
|
|
26
|
+
claims native execution or proof completion.
|
|
22
27
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
The change planner and evidence-guidance cores are stateless pure projections.
|
|
29
|
+
Project status reads only an explicit repository root, the conventional routing
|
|
30
|
+
manifest, its declared children, and transaction control state through bounded
|
|
31
|
+
owner-admitted transport. No workflow command executes Git, native witnesses,
|
|
32
|
+
network, containers, or providers. No workflow command adds a setup facade,
|
|
33
|
+
hidden route policy, external prompt resource, persisted experiment state,
|
|
34
|
+
generic report interpreter, or second source codec. Agent-route brief and full
|
|
28
35
|
projections remain independently owned by the spec-proof-core package.
|
|
29
36
|
|
|
30
37
|
## Requirements
|
|
@@ -69,6 +76,22 @@ projections remain independently owned by the spec-proof-core package.
|
|
|
69
76
|
descriptor/dispatcher/family/help/root-contract/witness/generated/package
|
|
70
77
|
surfaces, with npm-only non-runtime specification docs and cross-channel
|
|
71
78
|
runtime behavior proof.
|
|
79
|
+
- `REQ-PROOFKIT-WORKFLOW-012`: one truthful project-state owner, exhaustive
|
|
80
|
+
precedence, existing child and cross-record closure owners, and no promotion
|
|
81
|
+
of source declarations or caller status into execution evidence.
|
|
82
|
+
- `REQ-PROOFKIT-WORKFLOW-013`: one application-write-free root-bound inspection
|
|
83
|
+
lease, cooperative writer exclusion, descriptor-relative exact-path
|
|
84
|
+
traversal, bounded content-cohort validation, fail-closed partial control
|
|
85
|
+
observations, one bounded retry, and a portable non-disclosing
|
|
86
|
+
normalized-observation identity.
|
|
87
|
+
Filesystem-owned read metadata such as access time is outside that guarantee.
|
|
88
|
+
- `REQ-PROOFKIT-WORKFLOW-014`: one total state-to-action table, one bounded
|
|
89
|
+
next action, explicit owner decisions, and no embedded route universe.
|
|
90
|
+
- `REQ-PROOFKIT-WORKFLOW-015`: status/next CLI channel and exit semantics,
|
|
91
|
+
checkpointed pre-emission failure discipline, one bounded stdout write
|
|
92
|
+
without claiming cancellation rollback or atomicity from an external sink,
|
|
93
|
+
and a versioned breaking replacement
|
|
94
|
+
of the flat change route by `change plan` across source and installed carriers.
|
|
72
95
|
|
|
73
96
|
Shared stable-JSON/diagnostic hardening is owned by the supply-chain-quality
|
|
74
97
|
spec. Typed local-reference closure is owned by the existing agent-envelope
|
|
@@ -147,6 +147,62 @@
|
|
|
147
147
|
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
148
148
|
"deferral": null,
|
|
149
149
|
"updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-012",
|
|
153
|
+
"ownerId": "proofkit.agent-workflow",
|
|
154
|
+
"invariant": "Project status consumes only one explicit repository root, the conventional digest-routed project manifest, its exact manifest-declared canonical children, and one repository-transaction control projection; it delegates child admission and cross-record closure to the adoption-materialization owner, publishes exactly one state from uninitialized, recovery_required, blocked, stale, and verification_required through one exhaustive precedence table, and never promotes source declarations, binding commands, caller-owned passed labels, or caller-declared workflow completion into native execution, receipt currentness, trust, merge, release, rollout, deployment, or production-readiness evidence.",
|
|
155
|
+
"claimLevel": "blocking",
|
|
156
|
+
"riskClass": "high",
|
|
157
|
+
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
158
|
+
"nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-012"],
|
|
159
|
+
"nonClaims": ["Project status classifies the observed materialized-project snapshot and can become stale immediately after emission; it does not prove native witness execution or complete any declared proof scope."],
|
|
160
|
+
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
161
|
+
"deferral": null,
|
|
162
|
+
"updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-013",
|
|
166
|
+
"ownerId": "proofkit.agent-workflow",
|
|
167
|
+
"invariant": "Project inspection is explicit, root-confined, application-write-free, symlink-denying, byte-bounded, and normalized-observation-bound: Proofkit performs no repository mutation operation; one inspection lease pins one repository root for the whole attempt, exports only exact read-only file capabilities, and, when the transaction control namespace exists, holds its native cooperative writer lock; transaction control is projected by its native owner as clean, recoverable with an exact transaction identity, or invalid with a portable content-bound observation epoch only after the entire namespace is observed within canonical entry, file, aggregate, depth, and file-type bounds, while overflow or unsupported shape fails without a partial packet; every manifest and child route is traversed component by component from the pinned root with exact-name admission, no symlink following, descriptor identity checks, regular-file admission, per-file one-MiB and per-pass aggregate eight-MiB limits before semantic decoding; the root identity and transaction observation are equal before and after the read and a second bounded digest pass over the manifest and every routed child equals the admitted first-pass cohort, or the operation performs at most one complete retry and then fails as concurrent change; every public state receives a snapshot identity over one total tagged observation whose admitted in-bound records bind exact content digests, whose unread out-of-bound records intentionally bind only their invalid class, whose project is unknown or admitted, whose manifest is absent, invalid with an optional bounded content digest, or admitted with identity and content digest, whose transaction carries its tagged state and epoch, whose children are ordered kind/state/expected/observed digest records, and whose cross-record closure state is explicit, without exposing raw bytes, repository paths, or caller text.",
|
|
168
|
+
"claimLevel": "blocking",
|
|
169
|
+
"riskClass": "high",
|
|
170
|
+
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
171
|
+
"nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-013"],
|
|
172
|
+
"nonClaims": ["A coherent read snapshot does not prevent later filesystem mutation, authenticate repository ownership, provide power-loss or multi-reader atomicity, exclude a same-user writer that bypasses the repository transaction owner, identify unread out-of-bound record bytes beyond their normalized invalid class, or prevent the filesystem from updating read-side metadata such as access time."],
|
|
173
|
+
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
174
|
+
"deferral": null,
|
|
175
|
+
"updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-014",
|
|
179
|
+
"ownerId": "proofkit.agent-workflow",
|
|
180
|
+
"invariant": "Project next-action output is a deterministic bounded projection of the admitted project status through one total state-to-action table: blocked maps to non-executable repair, recovery_required maps to a non-executable recovery-direction decision bound to the transaction identity, uninitialized maps to a non-executable source-trust-mode decision, stale maps to rematerialization, and verification_required maps to repository-owned native verification; it emits exactly one action, at most sixteen stable non-disclosing issue codes, no route universe, no inferred trust mode, recovery direction, command success, or owner decision, and stable JSON within 32768 bytes plus text within 4096 UTF-8 bytes and sixteen lines that preserves exactly projectState, actionClass, executable, commandRoute, contextRef, requiredDecision, and issueCodes while intentionally omitting JSON-only packetId, snapshotId, statusRef, and nonClaims.",
|
|
181
|
+
"claimLevel": "blocking",
|
|
182
|
+
"riskClass": "high",
|
|
183
|
+
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
184
|
+
"nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-014"],
|
|
185
|
+
"nonClaims": ["A next-action packet is derived guidance; it does not execute, authorize, or prove the proposed action."],
|
|
186
|
+
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
187
|
+
"deferral": null,
|
|
188
|
+
"updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-015",
|
|
192
|
+
"ownerId": "proofkit.agent-workflow",
|
|
193
|
+
"invariant": "The public status and next commands require exactly one explicit --repo-root, default to stable ANSI-free JSON, admit text and terminal-only color through the shared presentation contract, return exit zero for every successfully classified project state, including bounded project-record decoding or admission failure, and return exit one without beginning output emission for invocation, confinement, inspection-bound, concurrent-change, cleanup, serialization, or cancellation observed at bounded operation checkpoints and the final pre-emission checkpoint; successful serialization reaches stdout through one bounded write, and a transport failure returns exit one without claiming atomic behavior from a writer that accepted a prefix before failing; the same versioned breaking public edge adds both commands, replaces the flat change-workflow-plan route with change plan without adding a route-alias registry or second implementation, rejects the retired route, admits the hierarchical route, and closes descriptor, help, CLI contract, command family, contract map, ABI, source witness, installed npm, and installed wheel surfaces.",
|
|
194
|
+
"claimLevel": "blocking",
|
|
195
|
+
"riskClass": "high",
|
|
196
|
+
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
197
|
+
"nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-015"],
|
|
198
|
+
"nonClaims": [
|
|
199
|
+
"A caller-provided stdout writer that accepts a prefix and then fails does not provide an atomic sink, so Proofkit does not claim that such a transport leaves stdout empty.",
|
|
200
|
+
"CLI surface closure does not prove registry publication, provider ingestion, consumer migration, native witness truth, rollout, or production readiness.",
|
|
201
|
+
"Cancellation racing after the final pre-emission checkpoint cannot retract bytes subsequently accepted by an external writer."
|
|
202
|
+
],
|
|
203
|
+
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
204
|
+
"deferral": null,
|
|
205
|
+
"updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
|
150
206
|
}
|
|
151
207
|
],
|
|
152
208
|
"nonClaims": [
|
|
@@ -199,6 +199,12 @@ execution receipts, and merge policy.
|
|
|
199
199
|
- `REQ-PROOFKIT-SPEC-034`: the pre-materialization-to-transactional-
|
|
200
200
|
materialization public version edge binds all three transactional
|
|
201
201
|
materialization routes and their exact public contracts to a compatible
|
|
202
|
+
byte-frozen predecessor release record without coupling the historical edge
|
|
203
|
+
to the live release record or reinterpreting the frozen prior edge.
|
|
204
|
+
- `REQ-PROOFKIT-SPEC-035`: the project-state public version edge binds the exact
|
|
205
|
+
raw ABI identities, proves the complete semantic ABI difference after
|
|
206
|
+
normalizing only native-source digests, and binds status, next, the
|
|
207
|
+
change-plan route replacement, and omitted-route policy to one breaking
|
|
202
208
|
release record without reinterpreting the frozen prior edge.
|
|
203
209
|
|
|
204
210
|
## Non-Claims
|
|
@@ -689,7 +689,7 @@
|
|
|
689
689
|
{
|
|
690
690
|
"requirementId": "REQ-PROOFKIT-SPEC-034",
|
|
691
691
|
"ownerId": "proofkit.spec-proof-core",
|
|
692
|
-
"invariant": "The 0.7.0-to-0.8.0 public version edge binds the exact previous and
|
|
692
|
+
"invariant": "The byte-frozen 0.7.0-to-0.8.0 public version edge binds the exact previous and released 0.8.0 public ABI digests; the exact addition of adopt materialize plan, apply, and recover with their public routes and input/output contract identities and digests; an explicit added-command selection policy; and the complete ordered additive inventory to one digest-bound archived 0.8.0 release change record. The edge is compatible, contains no breaking changes or migration steps, and later releases cannot mutate, reinterpret, or bind it to the live current release record or live command metadata.",
|
|
693
693
|
"claimLevel": "blocking",
|
|
694
694
|
"riskClass": "high",
|
|
695
695
|
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
@@ -698,6 +698,19 @@
|
|
|
698
698
|
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
699
699
|
"deferral": null,
|
|
700
700
|
"updatePolicy": {"reviewOwnerId": "proofkit.spec-proof-core", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
"requirementId": "REQ-PROOFKIT-SPEC-035",
|
|
704
|
+
"ownerId": "proofkit.spec-proof-core",
|
|
705
|
+
"invariant": "The 0.8.0-to-0.9.0 public version edge binds the exact raw previous and current public ABI digests and proves their complete semantic difference: status and next are the only added commands; their public routes and output contract identities and digests are exact; the flat change-workflow-plan route is replaced by change plan while preserving one internal implementation and the input/output contract identities and digests; every predecessor command is otherwise identical after normalizing only native-source canonical digests; every predecessor contract definition remains exact; added definitions are exactly the transitive closure of the added commands; and omitted-route policy is the only process-contract addition. Native-source digest churn remains bound by the raw edge digests rather than being misclassified as wire-semantic change. The complete ordered breaking, additive, and migration inventories bind to one digest-bound current release change record; the edge rejects the retired route, admits the hierarchical route, and cannot mutate or reinterpret the byte-frozen 0.7.0-to-0.8.0 edge.",
|
|
706
|
+
"claimLevel": "blocking",
|
|
707
|
+
"riskClass": "high",
|
|
708
|
+
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
709
|
+
"nonClaimRefs": ["NC-PROOFKIT-SPEC-035"],
|
|
710
|
+
"nonClaims": ["A source-bound version edge does not authenticate registry publication, provider ingestion, consumer migration, native witness truth, rollout, or production readiness."],
|
|
711
|
+
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
712
|
+
"deferral": null,
|
|
713
|
+
"updatePolicy": {"reviewOwnerId": "proofkit.spec-proof-core", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
|
701
714
|
}
|
|
702
715
|
],
|
|
703
716
|
"nonClaims": [
|
package/package.json
CHANGED
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"maximumTokens": 4,
|
|
13
13
|
"separator": " ",
|
|
14
14
|
"tokenPattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
|
|
15
|
-
"ambiguityPolicy": "no_route_is_prefix_of_another"
|
|
15
|
+
"ambiguityPolicy": "no_route_is_prefix_of_another",
|
|
16
|
+
"omittedRoutePolicy": "command_id"
|
|
16
17
|
},
|
|
17
18
|
"globalOptions": {
|
|
18
19
|
"jsonLayout": {
|
|
@@ -111,7 +112,7 @@
|
|
|
111
112
|
"rootDefinitionDigest": "sha256:3dbf760a8f8b0a4093c1dd4edc23367c5ef8027b31c18a01490afb657fcc03ad",
|
|
112
113
|
"nativeSource": {
|
|
113
114
|
"path": "internal/command/adoptionmaterialization",
|
|
114
|
-
"canonicalDigest": "sha256:
|
|
115
|
+
"canonicalDigest": "sha256:2940a39db54e51167e3f3373aa38525fc734fddc3902ac7d7ed1fdf326066cfe",
|
|
115
116
|
"evidenceClass": "source_checkout"
|
|
116
117
|
},
|
|
117
118
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -142,17 +143,17 @@
|
|
|
142
143
|
"nativeSources": [
|
|
143
144
|
{
|
|
144
145
|
"path": "internal/app",
|
|
145
|
-
"canonicalDigest": "sha256:
|
|
146
|
+
"canonicalDigest": "sha256:7fa037cfe6147827468954667d103b27796ff43c1d1f74d81be1f545d7534a8e",
|
|
146
147
|
"evidenceClass": "source_checkout"
|
|
147
148
|
},
|
|
148
149
|
{
|
|
149
150
|
"path": "internal/command/adoptionmaterialization",
|
|
150
|
-
"canonicalDigest": "sha256:
|
|
151
|
+
"canonicalDigest": "sha256:2940a39db54e51167e3f3373aa38525fc734fddc3902ac7d7ed1fdf326066cfe",
|
|
151
152
|
"evidenceClass": "source_checkout"
|
|
152
153
|
},
|
|
153
154
|
{
|
|
154
155
|
"path": "internal/kernel/repositorytransaction",
|
|
155
|
-
"canonicalDigest": "sha256:
|
|
156
|
+
"canonicalDigest": "sha256:fd549a1f5795524d4f7feed3a4ebcef03e3d6fe53d6ce7e8e24ff5014de9a9cd",
|
|
156
157
|
"evidenceClass": "source_checkout"
|
|
157
158
|
}
|
|
158
159
|
],
|
|
@@ -249,7 +250,7 @@
|
|
|
249
250
|
"rootDefinitionDigest": "sha256:c18995fb310dbde102bea231d83ec3756ffdf863199acbc88237471d06278c9e",
|
|
250
251
|
"nativeSource": {
|
|
251
252
|
"path": "internal/command/adoptionmaterialization",
|
|
252
|
-
"canonicalDigest": "sha256:
|
|
253
|
+
"canonicalDigest": "sha256:2940a39db54e51167e3f3373aa38525fc734fddc3902ac7d7ed1fdf326066cfe",
|
|
253
254
|
"evidenceClass": "source_checkout"
|
|
254
255
|
},
|
|
255
256
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -280,17 +281,17 @@
|
|
|
280
281
|
"nativeSources": [
|
|
281
282
|
{
|
|
282
283
|
"path": "internal/app",
|
|
283
|
-
"canonicalDigest": "sha256:
|
|
284
|
+
"canonicalDigest": "sha256:7fa037cfe6147827468954667d103b27796ff43c1d1f74d81be1f545d7534a8e",
|
|
284
285
|
"evidenceClass": "source_checkout"
|
|
285
286
|
},
|
|
286
287
|
{
|
|
287
288
|
"path": "internal/command/adoptionmaterialization",
|
|
288
|
-
"canonicalDigest": "sha256:
|
|
289
|
+
"canonicalDigest": "sha256:2940a39db54e51167e3f3373aa38525fc734fddc3902ac7d7ed1fdf326066cfe",
|
|
289
290
|
"evidenceClass": "source_checkout"
|
|
290
291
|
},
|
|
291
292
|
{
|
|
292
293
|
"path": "internal/kernel/repositorytransaction",
|
|
293
|
-
"canonicalDigest": "sha256:
|
|
294
|
+
"canonicalDigest": "sha256:fd549a1f5795524d4f7feed3a4ebcef03e3d6fe53d6ce7e8e24ff5014de9a9cd",
|
|
294
295
|
"evidenceClass": "source_checkout"
|
|
295
296
|
}
|
|
296
297
|
],
|
|
@@ -394,17 +395,17 @@
|
|
|
394
395
|
"nativeSources": [
|
|
395
396
|
{
|
|
396
397
|
"path": "internal/app",
|
|
397
|
-
"canonicalDigest": "sha256:
|
|
398
|
+
"canonicalDigest": "sha256:7fa037cfe6147827468954667d103b27796ff43c1d1f74d81be1f545d7534a8e",
|
|
398
399
|
"evidenceClass": "source_checkout"
|
|
399
400
|
},
|
|
400
401
|
{
|
|
401
402
|
"path": "internal/command/adoptionmaterialization",
|
|
402
|
-
"canonicalDigest": "sha256:
|
|
403
|
+
"canonicalDigest": "sha256:2940a39db54e51167e3f3373aa38525fc734fddc3902ac7d7ed1fdf326066cfe",
|
|
403
404
|
"evidenceClass": "source_checkout"
|
|
404
405
|
},
|
|
405
406
|
{
|
|
406
407
|
"path": "internal/kernel/repositorytransaction",
|
|
407
|
-
"canonicalDigest": "sha256:
|
|
408
|
+
"canonicalDigest": "sha256:fd549a1f5795524d4f7feed3a4ebcef03e3d6fe53d6ce7e8e24ff5014de9a9cd",
|
|
408
409
|
"evidenceClass": "source_checkout"
|
|
409
410
|
}
|
|
410
411
|
],
|
|
@@ -1185,7 +1186,7 @@
|
|
|
1185
1186
|
"nativeSources": [
|
|
1186
1187
|
{
|
|
1187
1188
|
"path": "internal/app",
|
|
1188
|
-
"canonicalDigest": "sha256:
|
|
1189
|
+
"canonicalDigest": "sha256:7fa037cfe6147827468954667d103b27796ff43c1d1f74d81be1f545d7534a8e",
|
|
1189
1190
|
"evidenceClass": "source_checkout"
|
|
1190
1191
|
},
|
|
1191
1192
|
{
|
|
@@ -1423,6 +1424,10 @@
|
|
|
1423
1424
|
},
|
|
1424
1425
|
{
|
|
1425
1426
|
"command": "change-workflow-plan",
|
|
1427
|
+
"route": [
|
|
1428
|
+
"change",
|
|
1429
|
+
"plan"
|
|
1430
|
+
],
|
|
1426
1431
|
"input": "required",
|
|
1427
1432
|
"stdin": true,
|
|
1428
1433
|
"inputPointer": true,
|
|
@@ -2728,6 +2733,95 @@
|
|
|
2728
2733
|
}
|
|
2729
2734
|
}
|
|
2730
2735
|
},
|
|
2736
|
+
{
|
|
2737
|
+
"command": "next",
|
|
2738
|
+
"input": "none",
|
|
2739
|
+
"stdin": false,
|
|
2740
|
+
"inputPointer": false,
|
|
2741
|
+
"scopeClass": "explicit_filesystem_scan",
|
|
2742
|
+
"outputModes": [
|
|
2743
|
+
"json",
|
|
2744
|
+
"text"
|
|
2745
|
+
],
|
|
2746
|
+
"allowedFlags": [
|
|
2747
|
+
"--color",
|
|
2748
|
+
"--format",
|
|
2749
|
+
"--repo-root"
|
|
2750
|
+
],
|
|
2751
|
+
"requiredFlags": [
|
|
2752
|
+
"--repo-root"
|
|
2753
|
+
],
|
|
2754
|
+
"singleOccurrenceFlags": [
|
|
2755
|
+
"--color",
|
|
2756
|
+
"--format",
|
|
2757
|
+
"--repo-root"
|
|
2758
|
+
],
|
|
2759
|
+
"flagChoices": {
|
|
2760
|
+
"--color": [
|
|
2761
|
+
"auto",
|
|
2762
|
+
"never"
|
|
2763
|
+
],
|
|
2764
|
+
"--format": [
|
|
2765
|
+
"json",
|
|
2766
|
+
"text"
|
|
2767
|
+
]
|
|
2768
|
+
},
|
|
2769
|
+
"flagPresenceRequirements": [
|
|
2770
|
+
{
|
|
2771
|
+
"flag": "--color",
|
|
2772
|
+
"requiredFlagValues": [
|
|
2773
|
+
{
|
|
2774
|
+
"flag": "--format",
|
|
2775
|
+
"value": "text"
|
|
2776
|
+
}
|
|
2777
|
+
],
|
|
2778
|
+
"requiredFlags": []
|
|
2779
|
+
}
|
|
2780
|
+
],
|
|
2781
|
+
"outputContract": {
|
|
2782
|
+
"contractId": "proofkit.next.output.v1",
|
|
2783
|
+
"schemaVersion": 1,
|
|
2784
|
+
"rootType": "object",
|
|
2785
|
+
"closed": true,
|
|
2786
|
+
"rootDefinitionRef": "proofkit.next.output.v1.root-shape",
|
|
2787
|
+
"rootDefinitionDigest": "sha256:b046def1ec1d608e3c76efd84127df7cd8b0a10a920e7ad9b8b850826432d3af",
|
|
2788
|
+
"nativeSource": {
|
|
2789
|
+
"path": "internal/command/projectstatus",
|
|
2790
|
+
"canonicalDigest": "sha256:050ff57dee13ac2cc7c71ab4f2ed94c8d9a73f945544ecb57c18c07da4ed5c13",
|
|
2791
|
+
"evidenceClass": "source_checkout"
|
|
2792
|
+
},
|
|
2793
|
+
"nativeOutputWitnessSelector": {
|
|
2794
|
+
"path": "internal/app/project_status_command_test.go",
|
|
2795
|
+
"test": "TestNextOutputUsesExactRootShape",
|
|
2796
|
+
"command": "go test ./internal/app -run '^TestNextOutputUsesExactRootShape$'",
|
|
2797
|
+
"evidenceClass": "source_checkout"
|
|
2798
|
+
},
|
|
2799
|
+
"compatibilitySummary": [
|
|
2800
|
+
"schemaVersion=1",
|
|
2801
|
+
"one non-executable next-action projection derived from the same bounded project snapshot as status",
|
|
2802
|
+
"bounded text preserves exactly projectState, actionClass, executable, commandRoute, contextRef, requiredDecision, and issueCodes; packetId, snapshotId, statusRef, and nonClaims remain JSON-only",
|
|
2803
|
+
"root-shape-only definition proofkit.next.output.v1.root-shape; nested fields, types, cardinalities, and native witness execution remain native-owner claims"
|
|
2804
|
+
],
|
|
2805
|
+
"ownerRequirementRefs": [
|
|
2806
|
+
"REQ-PROOFKIT-PACKAGE-002",
|
|
2807
|
+
"REQ-PROOFKIT-QUALITY-004",
|
|
2808
|
+
"REQ-PROOFKIT-WORKFLOW-012",
|
|
2809
|
+
"REQ-PROOFKIT-WORKFLOW-013",
|
|
2810
|
+
"REQ-PROOFKIT-WORKFLOW-014",
|
|
2811
|
+
"REQ-PROOFKIT-WORKFLOW-015"
|
|
2812
|
+
],
|
|
2813
|
+
"flagChoices": {
|
|
2814
|
+
"--color": [
|
|
2815
|
+
"auto",
|
|
2816
|
+
"never"
|
|
2817
|
+
],
|
|
2818
|
+
"--format": [
|
|
2819
|
+
"json",
|
|
2820
|
+
"text"
|
|
2821
|
+
]
|
|
2822
|
+
}
|
|
2823
|
+
}
|
|
2824
|
+
},
|
|
2731
2825
|
{
|
|
2732
2826
|
"command": "obligation-decision",
|
|
2733
2827
|
"input": "required",
|
|
@@ -2963,7 +3057,7 @@
|
|
|
2963
3057
|
"nativeSources": [
|
|
2964
3058
|
{
|
|
2965
3059
|
"path": "internal/app",
|
|
2966
|
-
"canonicalDigest": "sha256:
|
|
3060
|
+
"canonicalDigest": "sha256:7fa037cfe6147827468954667d103b27796ff43c1d1f74d81be1f545d7534a8e",
|
|
2967
3061
|
"evidenceClass": "source_checkout"
|
|
2968
3062
|
},
|
|
2969
3063
|
{
|
|
@@ -6253,7 +6347,7 @@
|
|
|
6253
6347
|
"rootDefinitionDigest": "sha256:3c842174dff5361e7f83166469b832805e05aa314b073c16234b5b64e346281e",
|
|
6254
6348
|
"nativeSource": {
|
|
6255
6349
|
"path": "internal/app",
|
|
6256
|
-
"canonicalDigest": "sha256:
|
|
6350
|
+
"canonicalDigest": "sha256:7fa037cfe6147827468954667d103b27796ff43c1d1f74d81be1f545d7534a8e",
|
|
6257
6351
|
"evidenceClass": "source_checkout"
|
|
6258
6352
|
},
|
|
6259
6353
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -6282,7 +6376,7 @@
|
|
|
6282
6376
|
"rootDefinitionDigest": "sha256:0ea95e277ebe44cd2de42c29b47c38686ac0b6b390d8965367437b3fe138e209",
|
|
6283
6377
|
"nativeSource": {
|
|
6284
6378
|
"path": "internal/app",
|
|
6285
|
-
"canonicalDigest": "sha256:
|
|
6379
|
+
"canonicalDigest": "sha256:7fa037cfe6147827468954667d103b27796ff43c1d1f74d81be1f545d7534a8e",
|
|
6286
6380
|
"evidenceClass": "source_checkout"
|
|
6287
6381
|
},
|
|
6288
6382
|
"nativeOutputWitnessSelector": {
|
|
@@ -6505,6 +6599,96 @@
|
|
|
6505
6599
|
]
|
|
6506
6600
|
}
|
|
6507
6601
|
},
|
|
6602
|
+
{
|
|
6603
|
+
"command": "status",
|
|
6604
|
+
"input": "none",
|
|
6605
|
+
"stdin": false,
|
|
6606
|
+
"inputPointer": false,
|
|
6607
|
+
"scopeClass": "explicit_filesystem_scan",
|
|
6608
|
+
"outputModes": [
|
|
6609
|
+
"json",
|
|
6610
|
+
"text"
|
|
6611
|
+
],
|
|
6612
|
+
"allowedFlags": [
|
|
6613
|
+
"--color",
|
|
6614
|
+
"--format",
|
|
6615
|
+
"--repo-root"
|
|
6616
|
+
],
|
|
6617
|
+
"requiredFlags": [
|
|
6618
|
+
"--repo-root"
|
|
6619
|
+
],
|
|
6620
|
+
"singleOccurrenceFlags": [
|
|
6621
|
+
"--color",
|
|
6622
|
+
"--format",
|
|
6623
|
+
"--repo-root"
|
|
6624
|
+
],
|
|
6625
|
+
"flagChoices": {
|
|
6626
|
+
"--color": [
|
|
6627
|
+
"auto",
|
|
6628
|
+
"never"
|
|
6629
|
+
],
|
|
6630
|
+
"--format": [
|
|
6631
|
+
"json",
|
|
6632
|
+
"text"
|
|
6633
|
+
]
|
|
6634
|
+
},
|
|
6635
|
+
"flagPresenceRequirements": [
|
|
6636
|
+
{
|
|
6637
|
+
"flag": "--color",
|
|
6638
|
+
"requiredFlagValues": [
|
|
6639
|
+
{
|
|
6640
|
+
"flag": "--format",
|
|
6641
|
+
"value": "text"
|
|
6642
|
+
}
|
|
6643
|
+
],
|
|
6644
|
+
"requiredFlags": []
|
|
6645
|
+
}
|
|
6646
|
+
],
|
|
6647
|
+
"outputContract": {
|
|
6648
|
+
"contractId": "proofkit.status.output.v1",
|
|
6649
|
+
"schemaVersion": 1,
|
|
6650
|
+
"rootType": "object",
|
|
6651
|
+
"closed": true,
|
|
6652
|
+
"rootDefinitionRef": "proofkit.status.output.v1.root-shape",
|
|
6653
|
+
"rootDefinitionDigest": "sha256:4d26ca7b7f6be8120fbac40519db02d8e5ae8ba7264208c714fbb9f1cb88ef15",
|
|
6654
|
+
"nativeSource": {
|
|
6655
|
+
"path": "internal/command/projectstatus",
|
|
6656
|
+
"canonicalDigest": "sha256:050ff57dee13ac2cc7c71ab4f2ed94c8d9a73f945544ecb57c18c07da4ed5c13",
|
|
6657
|
+
"evidenceClass": "source_checkout"
|
|
6658
|
+
},
|
|
6659
|
+
"nativeOutputWitnessSelector": {
|
|
6660
|
+
"path": "internal/app/project_status_command_test.go",
|
|
6661
|
+
"test": "TestStatusOutputUsesExactRootShape",
|
|
6662
|
+
"command": "go test ./internal/app -run '^TestStatusOutputUsesExactRootShape$'",
|
|
6663
|
+
"evidenceClass": "source_checkout"
|
|
6664
|
+
},
|
|
6665
|
+
"compatibilitySummary": [
|
|
6666
|
+
"schemaVersion=1",
|
|
6667
|
+
"bounded read-only classification over a normalized transaction, manifest, child-currentness, child-admission, and cross-record-closure observation; admitted in-bound records bind exact content digests and unread out-of-bound records bind only their invalid class",
|
|
6668
|
+
"verification_required means structurally admitted and never means complete, merge-ready, release-ready, or production-ready",
|
|
6669
|
+
"bounded text preserves exactly projectState, snapshotId, nextAction.actionClass, and issueCodes; project, manifest, transaction, child, closure, action-identity, and nonClaims coordinates remain JSON-only",
|
|
6670
|
+
"root-shape-only definition proofkit.status.output.v1.root-shape; nested fields, types, cardinalities, and native witness execution remain native-owner claims"
|
|
6671
|
+
],
|
|
6672
|
+
"ownerRequirementRefs": [
|
|
6673
|
+
"REQ-PROOFKIT-PACKAGE-002",
|
|
6674
|
+
"REQ-PROOFKIT-QUALITY-004",
|
|
6675
|
+
"REQ-PROOFKIT-WORKFLOW-012",
|
|
6676
|
+
"REQ-PROOFKIT-WORKFLOW-013",
|
|
6677
|
+
"REQ-PROOFKIT-WORKFLOW-014",
|
|
6678
|
+
"REQ-PROOFKIT-WORKFLOW-015"
|
|
6679
|
+
],
|
|
6680
|
+
"flagChoices": {
|
|
6681
|
+
"--color": [
|
|
6682
|
+
"auto",
|
|
6683
|
+
"never"
|
|
6684
|
+
],
|
|
6685
|
+
"--format": [
|
|
6686
|
+
"json",
|
|
6687
|
+
"text"
|
|
6688
|
+
]
|
|
6689
|
+
}
|
|
6690
|
+
}
|
|
6691
|
+
},
|
|
6508
6692
|
{
|
|
6509
6693
|
"command": "test-evidence-inventory",
|
|
6510
6694
|
"input": "required",
|
|
@@ -10758,6 +10942,52 @@
|
|
|
10758
10942
|
},
|
|
10759
10943
|
"canonicalDigest": "sha256:218011a133540f57ef74f8748747e00d33b6757c9f77725ecef39f45fb19423f"
|
|
10760
10944
|
},
|
|
10945
|
+
{
|
|
10946
|
+
"definitionId": "proofkit.next.output.v1.root-shape",
|
|
10947
|
+
"schemaVersion": 1,
|
|
10948
|
+
"rootType": "object",
|
|
10949
|
+
"closed": true,
|
|
10950
|
+
"definitionRefs": [],
|
|
10951
|
+
"fieldTree": {
|
|
10952
|
+
"kind": "root_shape_only",
|
|
10953
|
+
"nonClaims": [
|
|
10954
|
+
"Root-shape definitions do not claim nested field shapes, leaf types, cardinalities, or semantic validity.",
|
|
10955
|
+
"Root-shape definitions do not replace direct public-CLI runtime witnesses for variant selection."
|
|
10956
|
+
],
|
|
10957
|
+
"variants": [
|
|
10958
|
+
{
|
|
10959
|
+
"allowedFields": [
|
|
10960
|
+
"action",
|
|
10961
|
+
"issueCodes",
|
|
10962
|
+
"nonClaims",
|
|
10963
|
+
"packetId",
|
|
10964
|
+
"packetKind",
|
|
10965
|
+
"projectState",
|
|
10966
|
+
"schemaVersion",
|
|
10967
|
+
"snapshotId",
|
|
10968
|
+
"statusRef"
|
|
10969
|
+
],
|
|
10970
|
+
"requiredFields": [
|
|
10971
|
+
"action",
|
|
10972
|
+
"issueCodes",
|
|
10973
|
+
"nonClaims",
|
|
10974
|
+
"packetId",
|
|
10975
|
+
"packetKind",
|
|
10976
|
+
"projectState",
|
|
10977
|
+
"schemaVersion",
|
|
10978
|
+
"snapshotId",
|
|
10979
|
+
"statusRef"
|
|
10980
|
+
],
|
|
10981
|
+
"rootKind": "object",
|
|
10982
|
+
"variantId": "01-root",
|
|
10983
|
+
"when": [
|
|
10984
|
+
"default JSON mode"
|
|
10985
|
+
]
|
|
10986
|
+
}
|
|
10987
|
+
]
|
|
10988
|
+
},
|
|
10989
|
+
"canonicalDigest": "sha256:b046def1ec1d608e3c76efd84127df7cd8b0a10a920e7ad9b8b850826432d3af"
|
|
10990
|
+
},
|
|
10761
10991
|
{
|
|
10762
10992
|
"definitionId": "proofkit.obligation-decision.input.v1.root-shape",
|
|
10763
10993
|
"schemaVersion": 1,
|
|
@@ -15373,6 +15603,54 @@
|
|
|
15373
15603
|
},
|
|
15374
15604
|
"canonicalDigest": "sha256:338f720a24bd36f4ab34cad9b14d3bd26389119e5c713146f1c4eb019f4a0637"
|
|
15375
15605
|
},
|
|
15606
|
+
{
|
|
15607
|
+
"definitionId": "proofkit.status.output.v1.root-shape",
|
|
15608
|
+
"schemaVersion": 1,
|
|
15609
|
+
"rootType": "object",
|
|
15610
|
+
"closed": true,
|
|
15611
|
+
"definitionRefs": [],
|
|
15612
|
+
"fieldTree": {
|
|
15613
|
+
"kind": "root_shape_only",
|
|
15614
|
+
"nonClaims": [
|
|
15615
|
+
"Root-shape definitions do not claim nested field shapes, leaf types, cardinalities, or semantic validity.",
|
|
15616
|
+
"Root-shape definitions do not replace direct public-CLI runtime witnesses for variant selection."
|
|
15617
|
+
],
|
|
15618
|
+
"variants": [
|
|
15619
|
+
{
|
|
15620
|
+
"allowedFields": [
|
|
15621
|
+
"issueCodes",
|
|
15622
|
+
"manifestId",
|
|
15623
|
+
"nextAction",
|
|
15624
|
+
"nonClaims",
|
|
15625
|
+
"projectId",
|
|
15626
|
+
"projectState",
|
|
15627
|
+
"reportKind",
|
|
15628
|
+
"schemaVersion",
|
|
15629
|
+
"snapshotId",
|
|
15630
|
+
"statusId"
|
|
15631
|
+
],
|
|
15632
|
+
"requiredFields": [
|
|
15633
|
+
"issueCodes",
|
|
15634
|
+
"manifestId",
|
|
15635
|
+
"nextAction",
|
|
15636
|
+
"nonClaims",
|
|
15637
|
+
"projectId",
|
|
15638
|
+
"projectState",
|
|
15639
|
+
"reportKind",
|
|
15640
|
+
"schemaVersion",
|
|
15641
|
+
"snapshotId",
|
|
15642
|
+
"statusId"
|
|
15643
|
+
],
|
|
15644
|
+
"rootKind": "object",
|
|
15645
|
+
"variantId": "01-root",
|
|
15646
|
+
"when": [
|
|
15647
|
+
"default JSON mode"
|
|
15648
|
+
]
|
|
15649
|
+
}
|
|
15650
|
+
]
|
|
15651
|
+
},
|
|
15652
|
+
"canonicalDigest": "sha256:4d26ca7b7f6be8120fbac40519db02d8e5ae8ba7264208c714fbb9f1cb88ef15"
|
|
15653
|
+
},
|
|
15376
15654
|
{
|
|
15377
15655
|
"definitionId": "proofkit.test-evidence-inventory.input.v2.root-shape",
|
|
15378
15656
|
"schemaVersion": 2,
|
|
@@ -68,6 +68,15 @@
|
|
|
68
68
|
"migration-plan"
|
|
69
69
|
]
|
|
70
70
|
},
|
|
71
|
+
{
|
|
72
|
+
"familyId": "project-state-navigation",
|
|
73
|
+
"label": "Project state navigation",
|
|
74
|
+
"purpose": "Classify a materialized project and expose one bounded next action.",
|
|
75
|
+
"commands": [
|
|
76
|
+
"next",
|
|
77
|
+
"status"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
71
80
|
{
|
|
72
81
|
"familyId": "proof-artifact-governance",
|
|
73
82
|
"label": "Proof artifact governance",
|
|
@@ -776,6 +776,14 @@
|
|
|
776
776
|
"proofState": "witness_backed",
|
|
777
777
|
"nonClaims": ["A source-bound version edge does not authenticate registry publication, provider ingestion, consumer adoption, native witness truth, rollout, or production readiness."]
|
|
778
778
|
},
|
|
779
|
+
{
|
|
780
|
+
"requirementId": "REQ-PROOFKIT-SPEC-035",
|
|
781
|
+
"ownerId": "proofkit.spec-proof-core",
|
|
782
|
+
"specPath": "docs/specs/proofkit-spec-proof-core/requirements.v1.json",
|
|
783
|
+
"claimLevel": "blocking",
|
|
784
|
+
"proofState": "witness_backed",
|
|
785
|
+
"nonClaims": ["A source-bound version edge does not authenticate registry publication, provider ingestion, consumer migration, native witness truth, rollout, or production readiness."]
|
|
786
|
+
},
|
|
779
787
|
{
|
|
780
788
|
"requirementId": "REQ-PROOFKIT-WORKFLOW-001",
|
|
781
789
|
"ownerId": "proofkit.agent-workflow",
|
|
@@ -863,6 +871,42 @@
|
|
|
863
871
|
"claimLevel": "blocking",
|
|
864
872
|
"proofState": "witness_backed",
|
|
865
873
|
"nonClaims": ["Public-surface closure does not claim wheel documentation parity and does not prove registry publication, provider ingestion, compatibility on untested platforms, native witness truth, merge approval, rollout, or production readiness."]
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-012",
|
|
877
|
+
"ownerId": "proofkit.agent-workflow",
|
|
878
|
+
"specPath": "docs/specs/proofkit-agent-workflow/requirements.v1.json",
|
|
879
|
+
"claimLevel": "blocking",
|
|
880
|
+
"proofState": "witness_backed",
|
|
881
|
+
"nonClaims": ["Project status classifies the observed materialized-project snapshot and can become stale immediately after emission; it does not prove native witness execution or complete any declared proof scope."]
|
|
882
|
+
},
|
|
883
|
+
{
|
|
884
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-013",
|
|
885
|
+
"ownerId": "proofkit.agent-workflow",
|
|
886
|
+
"specPath": "docs/specs/proofkit-agent-workflow/requirements.v1.json",
|
|
887
|
+
"claimLevel": "blocking",
|
|
888
|
+
"proofState": "witness_backed",
|
|
889
|
+
"nonClaims": ["A coherent read snapshot does not prevent later filesystem mutation, authenticate repository ownership, provide power-loss or multi-reader atomicity, exclude a same-user writer that bypasses the repository transaction owner, identify unread out-of-bound record bytes beyond their normalized invalid class, or prevent the filesystem from updating read-side metadata such as access time."]
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-014",
|
|
893
|
+
"ownerId": "proofkit.agent-workflow",
|
|
894
|
+
"specPath": "docs/specs/proofkit-agent-workflow/requirements.v1.json",
|
|
895
|
+
"claimLevel": "blocking",
|
|
896
|
+
"proofState": "witness_backed",
|
|
897
|
+
"nonClaims": ["A next-action packet is derived guidance; it does not execute, authorize, or prove the proposed action."]
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-015",
|
|
901
|
+
"ownerId": "proofkit.agent-workflow",
|
|
902
|
+
"specPath": "docs/specs/proofkit-agent-workflow/requirements.v1.json",
|
|
903
|
+
"claimLevel": "blocking",
|
|
904
|
+
"proofState": "witness_backed",
|
|
905
|
+
"nonClaims": [
|
|
906
|
+
"A caller-provided stdout writer that accepts a prefix and then fails does not provide an atomic sink, so Proofkit does not claim that such a transport leaves stdout empty.",
|
|
907
|
+
"CLI surface closure does not prove registry publication, provider ingestion, consumer migration, native witness truth, rollout, or production readiness.",
|
|
908
|
+
"Cancellation racing after the final pre-emission checkpoint cannot retract bytes subsequently accepted by an external writer."
|
|
909
|
+
]
|
|
866
910
|
}
|
|
867
911
|
],
|
|
868
912
|
"bindings": [
|
|
@@ -1231,6 +1275,29 @@
|
|
|
1231
1275
|
"local-go"
|
|
1232
1276
|
]
|
|
1233
1277
|
},
|
|
1278
|
+
{
|
|
1279
|
+
"requirementId": "REQ-PROOFKIT-PACKAGE-002",
|
|
1280
|
+
"scenarioId": "proofkit.package-boundary.project-status-output-root-witnesses",
|
|
1281
|
+
"witnessId": "proofkit.project-status.cli-output-root.exact-witnesses",
|
|
1282
|
+
"witnessKind": "contract",
|
|
1283
|
+
"witnessPath": "internal/app/project_status_command_test.go",
|
|
1284
|
+
"witnessSelectors": [
|
|
1285
|
+
{
|
|
1286
|
+
"selector": "TestNextOutputUsesExactRootShape",
|
|
1287
|
+
"command": "go test ./internal/app -run '^TestNextOutputUsesExactRootShape$'"
|
|
1288
|
+
},
|
|
1289
|
+
{
|
|
1290
|
+
"selector": "TestStatusOutputUsesExactRootShape",
|
|
1291
|
+
"command": "go test ./internal/app -run '^TestStatusOutputUsesExactRootShape$'"
|
|
1292
|
+
}
|
|
1293
|
+
],
|
|
1294
|
+
"commandIds": [
|
|
1295
|
+
"proofkit.go-test"
|
|
1296
|
+
],
|
|
1297
|
+
"environmentClasses": [
|
|
1298
|
+
"local-go"
|
|
1299
|
+
]
|
|
1300
|
+
},
|
|
1234
1301
|
{
|
|
1235
1302
|
"requirementId": "REQ-PROOFKIT-PACKAGE-003",
|
|
1236
1303
|
"scenarioId": "proofkit.package-boundary.outside-consumer-artifact",
|
|
@@ -2528,6 +2595,29 @@
|
|
|
2528
2595
|
"local-go"
|
|
2529
2596
|
]
|
|
2530
2597
|
},
|
|
2598
|
+
{
|
|
2599
|
+
"requirementId": "REQ-PROOFKIT-QUALITY-004",
|
|
2600
|
+
"scenarioId": "proofkit.supply-chain-quality.project-status-cli-abi",
|
|
2601
|
+
"witnessId": "proofkit.project-status.cli-abi.exact-output",
|
|
2602
|
+
"witnessKind": "contract",
|
|
2603
|
+
"witnessPath": "internal/app/project_status_command_test.go",
|
|
2604
|
+
"witnessSelectors": [
|
|
2605
|
+
{
|
|
2606
|
+
"selector": "TestNextOutputUsesExactRootShape",
|
|
2607
|
+
"command": "go test ./internal/app -run '^TestNextOutputUsesExactRootShape$'"
|
|
2608
|
+
},
|
|
2609
|
+
{
|
|
2610
|
+
"selector": "TestStatusOutputUsesExactRootShape",
|
|
2611
|
+
"command": "go test ./internal/app -run '^TestStatusOutputUsesExactRootShape$'"
|
|
2612
|
+
}
|
|
2613
|
+
],
|
|
2614
|
+
"commandIds": [
|
|
2615
|
+
"proofkit.go-test"
|
|
2616
|
+
],
|
|
2617
|
+
"environmentClasses": [
|
|
2618
|
+
"local-go"
|
|
2619
|
+
]
|
|
2620
|
+
},
|
|
2531
2621
|
{
|
|
2532
2622
|
"requirementId": "REQ-PROOFKIT-QUALITY-004",
|
|
2533
2623
|
"scenarioId": "proofkit.supply-chain-quality.cli-contract-topology",
|
|
@@ -5857,6 +5947,10 @@
|
|
|
5857
5947
|
"selector": "TestGrammarBoundariesAreExact",
|
|
5858
5948
|
"command": "go test ./internal/kernel/commandroute -run '^TestGrammarBoundariesAreExact$'"
|
|
5859
5949
|
},
|
|
5950
|
+
{
|
|
5951
|
+
"selector": "TestOmittedRoutePolicyUsesStableCommandIdentity",
|
|
5952
|
+
"command": "go test ./internal/kernel/commandroute -run '^TestOmittedRoutePolicyUsesStableCommandIdentity$'"
|
|
5953
|
+
},
|
|
5860
5954
|
{
|
|
5861
5955
|
"selector": "TestParseRequiresCanonicalSeparatorAndRoundTrip",
|
|
5862
5956
|
"command": "go test ./internal/kernel/commandroute -run '^TestParseRequiresCanonicalSeparatorAndRoundTrip$'"
|
|
@@ -6145,6 +6239,398 @@
|
|
|
6145
6239
|
],
|
|
6146
6240
|
"commandIds": ["proofkit.go-test"],
|
|
6147
6241
|
"environmentClasses": ["local-go"]
|
|
6242
|
+
},
|
|
6243
|
+
{
|
|
6244
|
+
"requirementId": "REQ-PROOFKIT-SPEC-035",
|
|
6245
|
+
"scenarioId": "proofkit.spec-proof-core.project-navigation-version-edge",
|
|
6246
|
+
"witnessId": "proofkit.project-navigation.version-edge-falsifier",
|
|
6247
|
+
"witnessKind": "contract",
|
|
6248
|
+
"witnessPath": "internal/app/project_navigation_version_edge_test.go",
|
|
6249
|
+
"witnessSelectors": [
|
|
6250
|
+
{
|
|
6251
|
+
"selector": "TestProjectNavigationVersionEdgeClosesPublicRoutes",
|
|
6252
|
+
"command": "go test ./internal/app -run '^TestProjectNavigationVersionEdgeClosesPublicRoutes$'"
|
|
6253
|
+
},
|
|
6254
|
+
{
|
|
6255
|
+
"selector": "TestProjectNavigationVersionEdgeRejectsCoordinatedChangeRecordDrift",
|
|
6256
|
+
"command": "go test ./internal/app -run '^TestProjectNavigationVersionEdgeRejectsCoordinatedChangeRecordDrift$'"
|
|
6257
|
+
},
|
|
6258
|
+
{
|
|
6259
|
+
"selector": "TestProjectNavigationVersionEdgePreservesFrozenPredecessor",
|
|
6260
|
+
"command": "go test ./internal/app -run '^TestProjectNavigationVersionEdgePreservesFrozenPredecessor$'"
|
|
6261
|
+
}
|
|
6262
|
+
],
|
|
6263
|
+
"commandIds": ["proofkit.go-test"],
|
|
6264
|
+
"environmentClasses": ["local-go"]
|
|
6265
|
+
},
|
|
6266
|
+
{
|
|
6267
|
+
"requirementId": "REQ-PROOFKIT-SPEC-035",
|
|
6268
|
+
"scenarioId": "proofkit.spec-proof-core.project-navigation-public-abi-diff",
|
|
6269
|
+
"witnessId": "proofkit.project-navigation.public-abi-diff-falsifier",
|
|
6270
|
+
"witnessKind": "contract",
|
|
6271
|
+
"witnessPath": "internal/app/project_navigation_abi_closure_test.go",
|
|
6272
|
+
"witnessSelectors": [
|
|
6273
|
+
{
|
|
6274
|
+
"selector": "TestProjectNavigationVersionEdgeClosesCompletePublicABIDiff",
|
|
6275
|
+
"command": "go test ./internal/app -run '^TestProjectNavigationVersionEdgeClosesCompletePublicABIDiff$'"
|
|
6276
|
+
}
|
|
6277
|
+
],
|
|
6278
|
+
"commandIds": ["proofkit.go-test"],
|
|
6279
|
+
"environmentClasses": ["local-go"]
|
|
6280
|
+
},
|
|
6281
|
+
{
|
|
6282
|
+
"requirementId": "REQ-PROOFKIT-SPEC-035",
|
|
6283
|
+
"scenarioId": "proofkit.spec-proof-core.project-navigation-public-abi-diff-mutations",
|
|
6284
|
+
"witnessId": "proofkit.project-navigation.public-abi-diff-mutation-falsifier",
|
|
6285
|
+
"witnessKind": "contract",
|
|
6286
|
+
"witnessPath": "internal/app/project_navigation_abi_mutation_test.go",
|
|
6287
|
+
"witnessSelectors": [
|
|
6288
|
+
{
|
|
6289
|
+
"selector": "TestProjectNavigationVersionEdgeRejectsUndeclaredPublicABIDrift",
|
|
6290
|
+
"command": "go test ./internal/app -run '^TestProjectNavigationVersionEdgeRejectsUndeclaredPublicABIDrift$'"
|
|
6291
|
+
}
|
|
6292
|
+
],
|
|
6293
|
+
"commandIds": ["proofkit.go-test"],
|
|
6294
|
+
"environmentClasses": ["local-go"]
|
|
6295
|
+
},
|
|
6296
|
+
{
|
|
6297
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-012",
|
|
6298
|
+
"scenarioId": "proofkit.agent-workflow.project-state-total-classification",
|
|
6299
|
+
"witnessId": "proofkit.project-state.total-classification-falsifier",
|
|
6300
|
+
"witnessKind": "contract",
|
|
6301
|
+
"witnessPath": "internal/command/projectstatus/projectstatus_test.go",
|
|
6302
|
+
"witnessSelectors": [
|
|
6303
|
+
{
|
|
6304
|
+
"selector": "TestEvaluateTotalStateActionTable",
|
|
6305
|
+
"command": "go test ./internal/command/projectstatus -run '^TestEvaluateTotalStateActionTable$'"
|
|
6306
|
+
},
|
|
6307
|
+
{
|
|
6308
|
+
"selector": "TestOutputAdmissionRejectsUnreachableClosureCombination",
|
|
6309
|
+
"command": "go test ./internal/command/projectstatus -run '^TestOutputAdmissionRejectsUnreachableClosureCombination$'"
|
|
6310
|
+
}
|
|
6311
|
+
],
|
|
6312
|
+
"commandIds": ["proofkit.go-test"],
|
|
6313
|
+
"environmentClasses": ["local-go"]
|
|
6314
|
+
},
|
|
6315
|
+
{
|
|
6316
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-012",
|
|
6317
|
+
"scenarioId": "proofkit.agent-workflow.project-state-child-admission-owner",
|
|
6318
|
+
"witnessId": "proofkit.project-state.child-admission-owner-falsifier",
|
|
6319
|
+
"witnessKind": "contract",
|
|
6320
|
+
"witnessPath": "internal/command/projectstatus/dependency_test.go",
|
|
6321
|
+
"witnessSelectors": [
|
|
6322
|
+
{
|
|
6323
|
+
"selector": "TestProjectStatusDelegatesChildAdmissionToMaterializationOwner",
|
|
6324
|
+
"command": "go test ./internal/command/projectstatus -run '^TestProjectStatusDelegatesChildAdmissionToMaterializationOwner$'"
|
|
6325
|
+
}
|
|
6326
|
+
],
|
|
6327
|
+
"commandIds": ["proofkit.go-test"],
|
|
6328
|
+
"environmentClasses": ["local-go"]
|
|
6329
|
+
},
|
|
6330
|
+
{
|
|
6331
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-012",
|
|
6332
|
+
"scenarioId": "proofkit.agent-workflow.project-state-child-owner-delegation",
|
|
6333
|
+
"witnessId": "proofkit.project-state.child-owner-delegation-falsifier",
|
|
6334
|
+
"witnessKind": "contract",
|
|
6335
|
+
"witnessPath": "internal/command/adoptionmaterialization/project_closure_test.go",
|
|
6336
|
+
"witnessSelectors": [
|
|
6337
|
+
{
|
|
6338
|
+
"selector": "TestAdmitMaterializedProjectRoutesEveryManifestArtifactKindThroughItsOwner",
|
|
6339
|
+
"command": "go test ./internal/command/adoptionmaterialization -run '^TestAdmitMaterializedProjectRoutesEveryManifestArtifactKindThroughItsOwner$'"
|
|
6340
|
+
},
|
|
6341
|
+
{
|
|
6342
|
+
"selector": "TestMaterializedProjectRecordSnapshotDoesNotAliasCallerInput",
|
|
6343
|
+
"command": "go test ./internal/command/adoptionmaterialization -run '^TestMaterializedProjectRecordSnapshotDoesNotAliasCallerInput$'"
|
|
6344
|
+
}
|
|
6345
|
+
],
|
|
6346
|
+
"commandIds": ["proofkit.go-test"],
|
|
6347
|
+
"environmentClasses": ["local-go"]
|
|
6348
|
+
},
|
|
6349
|
+
{
|
|
6350
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-013",
|
|
6351
|
+
"scenarioId": "proofkit.agent-workflow.project-state-bounded-inspection",
|
|
6352
|
+
"witnessId": "proofkit.project-state.bounded-inspection-falsifier",
|
|
6353
|
+
"witnessKind": "contract",
|
|
6354
|
+
"witnessPath": "internal/command/projectstatus/inspect_test.go",
|
|
6355
|
+
"witnessSelectors": [
|
|
6356
|
+
{
|
|
6357
|
+
"selector": "TestInspectClassifiesMaterializedProjectWithoutApplicationWrites",
|
|
6358
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectClassifiesMaterializedProjectWithoutApplicationWrites$'"
|
|
6359
|
+
},
|
|
6360
|
+
{
|
|
6361
|
+
"selector": "TestInspectFailsClosedOnSymlinksAndBoundsWithoutDisclosure",
|
|
6362
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectFailsClosedOnSymlinksAndBoundsWithoutDisclosure$'"
|
|
6363
|
+
},
|
|
6364
|
+
{
|
|
6365
|
+
"selector": "TestInspectRejectsCaseAliasedCanonicalRoute",
|
|
6366
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectRejectsCaseAliasedCanonicalRoute$'"
|
|
6367
|
+
},
|
|
6368
|
+
{
|
|
6369
|
+
"selector": "TestInspectCohortValidationClosesCleanEpochABA",
|
|
6370
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectCohortValidationClosesCleanEpochABA$'"
|
|
6371
|
+
},
|
|
6372
|
+
{
|
|
6373
|
+
"selector": "TestInspectCleanupFailureDominatesRetryableSnapshotChange",
|
|
6374
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectCleanupFailureDominatesRetryableSnapshotChange$'"
|
|
6375
|
+
},
|
|
6376
|
+
{
|
|
6377
|
+
"selector": "TestInspectMapsRecoverableControlState",
|
|
6378
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectMapsRecoverableControlState$'"
|
|
6379
|
+
},
|
|
6380
|
+
{
|
|
6381
|
+
"selector": "TestInspectMapsInvalidControlState",
|
|
6382
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectMapsInvalidControlState$'"
|
|
6383
|
+
},
|
|
6384
|
+
{
|
|
6385
|
+
"selector": "TestInspectAttemptRejectsFinalRepositoryRootReplacement",
|
|
6386
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectAttemptRejectsFinalRepositoryRootReplacement$'"
|
|
6387
|
+
},
|
|
6388
|
+
{
|
|
6389
|
+
"selector": "TestInspectRejectsAdmittedChildrenWithInvalidCrossRecordClosure",
|
|
6390
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectRejectsAdmittedChildrenWithInvalidCrossRecordClosure$'"
|
|
6391
|
+
},
|
|
6392
|
+
{
|
|
6393
|
+
"selector": "TestInspectRejectsChangingControlEpochAcrossBothAttempts",
|
|
6394
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectRejectsChangingControlEpochAcrossBothAttempts$'"
|
|
6395
|
+
},
|
|
6396
|
+
{
|
|
6397
|
+
"selector": "TestReadProjectFileEnforcesAggregateBoundBeforeRead",
|
|
6398
|
+
"command": "go test ./internal/command/projectstatus -run '^TestReadProjectFileEnforcesAggregateBoundBeforeRead$'"
|
|
6399
|
+
},
|
|
6400
|
+
{
|
|
6401
|
+
"selector": "TestReadProjectFileRejectsSameByteRouteReplacement",
|
|
6402
|
+
"command": "go test ./internal/command/projectstatus -run '^TestReadProjectFileRejectsSameByteRouteReplacement$'"
|
|
6403
|
+
},
|
|
6404
|
+
{
|
|
6405
|
+
"selector": "TestInspectDeduplicatesRepeatedIssueCodes",
|
|
6406
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectDeduplicatesRepeatedIssueCodes$'"
|
|
6407
|
+
},
|
|
6408
|
+
{
|
|
6409
|
+
"selector": "TestInspectHonorsCancellationBetweenBoundedReads",
|
|
6410
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectHonorsCancellationBetweenBoundedReads$'"
|
|
6411
|
+
},
|
|
6412
|
+
{
|
|
6413
|
+
"selector": "TestInspectHonorsCancellationAfterFinalControlObservation",
|
|
6414
|
+
"command": "go test ./internal/command/projectstatus -run '^TestInspectHonorsCancellationAfterFinalControlObservation$'"
|
|
6415
|
+
},
|
|
6416
|
+
{
|
|
6417
|
+
"selector": "TestOutOfBoundManifestIdentityIsAClassificationNotByteIdentity",
|
|
6418
|
+
"command": "go test ./internal/command/projectstatus -run '^TestOutOfBoundManifestIdentityIsAClassificationNotByteIdentity$'"
|
|
6419
|
+
}
|
|
6420
|
+
],
|
|
6421
|
+
"commandIds": ["proofkit.go-test"],
|
|
6422
|
+
"environmentClasses": ["local-go"]
|
|
6423
|
+
},
|
|
6424
|
+
{
|
|
6425
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-013",
|
|
6426
|
+
"scenarioId": "proofkit.agent-workflow.project-state-application-write-free-topology",
|
|
6427
|
+
"witnessId": "proofkit.project-state.application-write-free-topology-falsifier",
|
|
6428
|
+
"witnessKind": "contract",
|
|
6429
|
+
"witnessPath": "internal/command/projectstatus/dependency_test.go",
|
|
6430
|
+
"witnessSelectors": [
|
|
6431
|
+
{
|
|
6432
|
+
"selector": "TestProjectStatusProductionTopologyForbidsRepositoryMutationCalls",
|
|
6433
|
+
"command": "go test ./internal/command/projectstatus -run '^TestProjectStatusProductionTopologyForbidsRepositoryMutationCalls$'"
|
|
6434
|
+
}
|
|
6435
|
+
],
|
|
6436
|
+
"commandIds": ["proofkit.go-test"],
|
|
6437
|
+
"environmentClasses": ["local-go"]
|
|
6438
|
+
},
|
|
6439
|
+
{
|
|
6440
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-013",
|
|
6441
|
+
"scenarioId": "proofkit.agent-workflow.project-state-control-file-coherence",
|
|
6442
|
+
"witnessId": "proofkit.project-state.control-file-coherence-falsifier",
|
|
6443
|
+
"witnessKind": "contract",
|
|
6444
|
+
"witnessPath": "internal/kernel/repositorytransaction/control_inspection_test.go",
|
|
6445
|
+
"witnessSelectors": [
|
|
6446
|
+
{
|
|
6447
|
+
"selector": "TestInspectControlFileRejectsGrowthAfterRoutePreflight",
|
|
6448
|
+
"command": "go test ./internal/kernel/repositorytransaction -run '^TestInspectControlFileRejectsGrowthAfterRoutePreflight$'"
|
|
6449
|
+
},
|
|
6450
|
+
{
|
|
6451
|
+
"selector": "TestInspectControlFileRejectsSameByteRouteReplacement",
|
|
6452
|
+
"command": "go test ./internal/kernel/repositorytransaction -run '^TestInspectControlFileRejectsSameByteRouteReplacement$'"
|
|
6453
|
+
},
|
|
6454
|
+
{
|
|
6455
|
+
"selector": "TestInspectionLeaseDoesNotResolveAReplacementRoot",
|
|
6456
|
+
"command": "go test ./internal/kernel/repositorytransaction -run '^TestInspectionLeaseDoesNotResolveAReplacementRoot$'"
|
|
6457
|
+
},
|
|
6458
|
+
{
|
|
6459
|
+
"selector": "TestInspectionLeaseRejectsControlNamespaceCreatedAfterOpen",
|
|
6460
|
+
"command": "go test ./internal/kernel/repositorytransaction -run '^TestInspectionLeaseRejectsControlNamespaceCreatedAfterOpen$'"
|
|
6461
|
+
},
|
|
6462
|
+
{
|
|
6463
|
+
"selector": "TestInspectionLeasePinsRootAndExcludesCooperativeWriter",
|
|
6464
|
+
"command": "go test ./internal/kernel/repositorytransaction -run '^TestInspectionLeasePinsRootAndExcludesCooperativeWriter$'"
|
|
6465
|
+
},
|
|
6466
|
+
{
|
|
6467
|
+
"selector": "TestInspectionLeaseExportsOnlyReadOnlyFileCapability",
|
|
6468
|
+
"command": "go test ./internal/kernel/repositorytransaction -run '^TestInspectionLeaseExportsOnlyReadOnlyFileCapability$'"
|
|
6469
|
+
},
|
|
6470
|
+
{
|
|
6471
|
+
"selector": "TestInspectionLeaseFileCannotBeReassertedAsMutable",
|
|
6472
|
+
"command": "go test ./internal/kernel/repositorytransaction -run '^TestInspectionLeaseFileCannotBeReassertedAsMutable$'"
|
|
6473
|
+
},
|
|
6474
|
+
{
|
|
6475
|
+
"selector": "TestInspectControlStateRejectsPartialControlObservations",
|
|
6476
|
+
"command": "go test ./internal/kernel/repositorytransaction -run '^TestInspectControlStateRejectsPartialControlObservations$'"
|
|
6477
|
+
},
|
|
6478
|
+
{
|
|
6479
|
+
"selector": "TestInspectControlStateHashesSymlinkTargetsWithoutDisclosingThem",
|
|
6480
|
+
"command": "go test ./internal/kernel/repositorytransaction -run '^TestInspectControlStateHashesSymlinkTargetsWithoutDisclosingThem$'"
|
|
6481
|
+
},
|
|
6482
|
+
{
|
|
6483
|
+
"selector": "TestInspectControlStateRejectsClassificationChangeHiddenByPortableNameIdentity",
|
|
6484
|
+
"command": "go test ./internal/kernel/repositorytransaction -run '^TestInspectControlStateRejectsClassificationChangeHiddenByPortableNameIdentity$'"
|
|
6485
|
+
},
|
|
6486
|
+
{
|
|
6487
|
+
"selector": "TestInspectControlStateUsesPortableObservationFields",
|
|
6488
|
+
"command": "go test ./internal/kernel/repositorytransaction -run '^TestInspectControlStateUsesPortableObservationFields$'"
|
|
6489
|
+
}
|
|
6490
|
+
],
|
|
6491
|
+
"commandIds": ["proofkit.go-test"],
|
|
6492
|
+
"environmentClasses": ["local-go"]
|
|
6493
|
+
},
|
|
6494
|
+
{
|
|
6495
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-013",
|
|
6496
|
+
"scenarioId": "proofkit.agent-workflow.project-state-exact-route-traversal",
|
|
6497
|
+
"witnessId": "proofkit.project-state.exact-route-traversal-falsifier",
|
|
6498
|
+
"witnessKind": "contract",
|
|
6499
|
+
"witnessPath": "internal/kernel/rootpath/exact_test.go",
|
|
6500
|
+
"witnessSelectors": [
|
|
6501
|
+
{
|
|
6502
|
+
"selector": "TestOpenExactRegularFileRejectsParentSymlinkABA",
|
|
6503
|
+
"command": "go test ./internal/kernel/rootpath -run '^TestOpenExactRegularFileRejectsParentSymlinkABA$'"
|
|
6504
|
+
},
|
|
6505
|
+
{
|
|
6506
|
+
"selector": "TestOpenExactRegularFileRejectsFinalComponentABA",
|
|
6507
|
+
"command": "go test ./internal/kernel/rootpath -run '^TestOpenExactRegularFileRejectsFinalComponentABA$'"
|
|
6508
|
+
}
|
|
6509
|
+
],
|
|
6510
|
+
"commandIds": ["proofkit.go-test"],
|
|
6511
|
+
"environmentClasses": ["local-go"]
|
|
6512
|
+
},
|
|
6513
|
+
{
|
|
6514
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-014",
|
|
6515
|
+
"scenarioId": "proofkit.agent-workflow.project-next-action-output-closure",
|
|
6516
|
+
"witnessId": "proofkit.project-next-action.output-closure-falsifier",
|
|
6517
|
+
"witnessKind": "contract",
|
|
6518
|
+
"witnessPath": "internal/command/projectstatus/projectstatus_test.go",
|
|
6519
|
+
"witnessSelectors": [
|
|
6520
|
+
{
|
|
6521
|
+
"selector": "TestEvaluateTotalStateActionTable",
|
|
6522
|
+
"command": "go test ./internal/command/projectstatus -run '^TestEvaluateTotalStateActionTable$'"
|
|
6523
|
+
},
|
|
6524
|
+
{
|
|
6525
|
+
"selector": "TestOutputAdmissionRejectsReidentifiedStateActionMismatch",
|
|
6526
|
+
"command": "go test ./internal/command/projectstatus -run '^TestOutputAdmissionRejectsReidentifiedStateActionMismatch$'"
|
|
6527
|
+
},
|
|
6528
|
+
{
|
|
6529
|
+
"selector": "TestTextProjectionIsBoundedAndSemanticallyDerived",
|
|
6530
|
+
"command": "go test ./internal/command/projectstatus -run '^TestTextProjectionIsBoundedAndSemanticallyDerived$'"
|
|
6531
|
+
}
|
|
6532
|
+
],
|
|
6533
|
+
"commandIds": ["proofkit.go-test"],
|
|
6534
|
+
"environmentClasses": ["local-go"]
|
|
6535
|
+
},
|
|
6536
|
+
{
|
|
6537
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-015",
|
|
6538
|
+
"scenarioId": "proofkit.agent-workflow.project-navigation-public-cli",
|
|
6539
|
+
"witnessId": "proofkit.project-navigation.public-cli-falsifier",
|
|
6540
|
+
"witnessKind": "contract",
|
|
6541
|
+
"witnessPath": "internal/app/project_status_command_test.go",
|
|
6542
|
+
"witnessSelectors": [
|
|
6543
|
+
{
|
|
6544
|
+
"selector": "TestNextCLI",
|
|
6545
|
+
"command": "go test ./internal/app -run '^TestNextCLI$'"
|
|
6546
|
+
},
|
|
6547
|
+
{
|
|
6548
|
+
"selector": "TestProjectStatusCLI",
|
|
6549
|
+
"command": "go test ./internal/app -run '^TestProjectStatusCLI$'"
|
|
6550
|
+
},
|
|
6551
|
+
{
|
|
6552
|
+
"selector": "TestProjectStatusCLIHonorsCanceledContextBeforeOutput",
|
|
6553
|
+
"command": "go test ./internal/app -run '^TestProjectStatusCLIHonorsCanceledContextBeforeOutput$'"
|
|
6554
|
+
},
|
|
6555
|
+
{
|
|
6556
|
+
"selector": "TestProjectStatusOutputMatrix",
|
|
6557
|
+
"command": "go test ./internal/app -run '^TestProjectStatusOutputMatrix$'"
|
|
6558
|
+
},
|
|
6559
|
+
{
|
|
6560
|
+
"selector": "TestProjectStatusTransportFailureUsesOneBoundedWriteWithoutAtomicSinkClaim",
|
|
6561
|
+
"command": "go test ./internal/app -run '^TestProjectStatusTransportFailureUsesOneBoundedWriteWithoutAtomicSinkClaim$'"
|
|
6562
|
+
},
|
|
6563
|
+
{
|
|
6564
|
+
"selector": "TestStatusCLI",
|
|
6565
|
+
"command": "go test ./internal/app -run '^TestStatusCLI$'"
|
|
6566
|
+
}
|
|
6567
|
+
],
|
|
6568
|
+
"commandIds": ["proofkit.command-contract-check", "proofkit.go-test"],
|
|
6569
|
+
"environmentClasses": ["local-go"]
|
|
6570
|
+
},
|
|
6571
|
+
{
|
|
6572
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-015",
|
|
6573
|
+
"scenarioId": "proofkit.agent-workflow.project-navigation-installed-carriers",
|
|
6574
|
+
"witnessId": "proofkit.project-navigation.installed-carrier-falsifier",
|
|
6575
|
+
"witnessKind": "contract",
|
|
6576
|
+
"witnessPath": "internal/tools/workflowsmoke/workflow_smoke_test.go",
|
|
6577
|
+
"witnessSelectors": [
|
|
6578
|
+
{
|
|
6579
|
+
"selector": "TestVerifyAcceptsApplicationCLI",
|
|
6580
|
+
"command": "go test ./internal/tools/workflowsmoke -run '^TestVerifyAcceptsApplicationCLI$'"
|
|
6581
|
+
},
|
|
6582
|
+
{
|
|
6583
|
+
"selector": "TestVerifyRejectsCarrierContractMutations",
|
|
6584
|
+
"command": "go test ./internal/tools/workflowsmoke -run '^TestVerifyRejectsCarrierContractMutations$'"
|
|
6585
|
+
}
|
|
6586
|
+
],
|
|
6587
|
+
"commandIds": ["proofkit.go-test", "proofkit.package-artifact"],
|
|
6588
|
+
"environmentClasses": ["local-go", "local-go-python"]
|
|
6589
|
+
},
|
|
6590
|
+
{
|
|
6591
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-015",
|
|
6592
|
+
"scenarioId": "proofkit.agent-workflow.project-navigation-installed-npm-carrier-closure",
|
|
6593
|
+
"witnessId": "proofkit.project-navigation.installed-npm-carrier-closure-falsifier",
|
|
6594
|
+
"witnessKind": "contract",
|
|
6595
|
+
"witnessPath": "internal/tools/packageverify/workflow_carrier_test.go",
|
|
6596
|
+
"witnessSelectors": [
|
|
6597
|
+
{
|
|
6598
|
+
"selector": "TestInstalledNPMWorkflowCarrierClosure",
|
|
6599
|
+
"command": "go test ./internal/tools/packageverify -run '^TestInstalledNPMWorkflowCarrierClosure$'"
|
|
6600
|
+
}
|
|
6601
|
+
],
|
|
6602
|
+
"commandIds": ["proofkit.go-test"],
|
|
6603
|
+
"environmentClasses": ["local-go"]
|
|
6604
|
+
},
|
|
6605
|
+
{
|
|
6606
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-015",
|
|
6607
|
+
"scenarioId": "proofkit.agent-workflow.project-navigation-installed-wheel-carrier-closure",
|
|
6608
|
+
"witnessId": "proofkit.project-navigation.installed-wheel-carrier-closure-falsifier",
|
|
6609
|
+
"witnessKind": "contract",
|
|
6610
|
+
"witnessPath": "internal/tools/pythonpackage/workflow_carrier_test.go",
|
|
6611
|
+
"witnessSelectors": [
|
|
6612
|
+
{
|
|
6613
|
+
"selector": "TestInstalledPythonWorkflowCarrierClosure",
|
|
6614
|
+
"command": "go test ./internal/tools/pythonpackage -run '^TestInstalledPythonWorkflowCarrierClosure$'"
|
|
6615
|
+
}
|
|
6616
|
+
],
|
|
6617
|
+
"commandIds": ["proofkit.go-test"],
|
|
6618
|
+
"environmentClasses": ["local-go"]
|
|
6619
|
+
},
|
|
6620
|
+
{
|
|
6621
|
+
"requirementId": "REQ-PROOFKIT-WORKFLOW-015",
|
|
6622
|
+
"scenarioId": "proofkit.agent-workflow.project-navigation-version-edge",
|
|
6623
|
+
"witnessId": "proofkit.project-navigation.public-version-edge-falsifier",
|
|
6624
|
+
"witnessKind": "contract",
|
|
6625
|
+
"witnessPath": "internal/app/project_navigation_version_edge_test.go",
|
|
6626
|
+
"witnessSelectors": [
|
|
6627
|
+
{
|
|
6628
|
+
"selector": "TestProjectNavigationVersionEdgeClosesPublicRoutes",
|
|
6629
|
+
"command": "go test ./internal/app -run '^TestProjectNavigationVersionEdgeClosesPublicRoutes$'"
|
|
6630
|
+
}
|
|
6631
|
+
],
|
|
6632
|
+
"commandIds": ["proofkit.go-test"],
|
|
6633
|
+
"environmentClasses": ["local-go"]
|
|
6148
6634
|
}
|
|
6149
6635
|
],
|
|
6150
6636
|
"witnessCommands": [
|