@research-engineering/agentic-proofkit 0.1.154 → 0.1.156
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 +26 -1
- package/docs/specs/proofkit-spec-proof-core/overview.md +7 -5
- package/docs/specs/proofkit-spec-proof-core/requirements.v1.json +28 -0
- package/docs/specs/proofkit-supply-chain-quality/overview.md +5 -11
- package/docs/specs/proofkit-supply-chain-quality/requirements.v1.json +2 -2
- package/package.json +5 -3
- package/proofkit/cli-contract.v1.json +66 -4
- package/proofkit/command-families.v1.json +205 -0
- package/proofkit/receipt-producer-policy.json +3 -3
- package/proofkit/requirement-bindings.json +40 -10
- package/proofkit/witness-plan.json +6 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -29,7 +29,13 @@ Scanner commands require caller-selected roots or scopes.
|
|
|
29
29
|
No command may infer ambient repository truth from the current directory.
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## Capability Routes
|
|
33
|
+
|
|
34
|
+
Exact, non-overlapping CLI navigation membership is owned by
|
|
35
|
+
`proofkit/command-families.v1.json` and exposed through `help families` and
|
|
36
|
+
`help family <family-id>`. The table below is a cross-cutting capability map:
|
|
37
|
+
commands may appear in more than one row because a workflow can cross several
|
|
38
|
+
owner boundaries. It is not a second command-family inventory.
|
|
33
39
|
|
|
34
40
|
| Family | Main commands | Caller provides | Proofkit owns | Consumer owns | Output authority |
|
|
35
41
|
|---|---|---|---|---|---|
|
|
@@ -149,6 +155,25 @@ Decision tree:
|
|
|
149
155
|
7. Treat candidate boundaries from imperfect repositories as advisory until the
|
|
150
156
|
consuming repository commits stable requirement records and proof bindings.
|
|
151
157
|
|
|
158
|
+
## Contract Classification
|
|
159
|
+
|
|
160
|
+
Contract ceremony is determined by independent consumer-owned dimensions, not
|
|
161
|
+
by an inferred universal tier:
|
|
162
|
+
|
|
163
|
+
| Dimension | Cardinality | Typical values |
|
|
164
|
+
|---|---|---|
|
|
165
|
+
| `authorityClasses[]` | sorted set | `trust_boundary`, `public_contract`, `internal_behavior`, `derived_artifact` |
|
|
166
|
+
| `stabilityClass` | exactly one | `durable`, `evolutionary`, `local`, `generated` |
|
|
167
|
+
| `enforcementClass` | exactly one | `blocking`, `advisory`, `derived` |
|
|
168
|
+
| `evidenceClasses[]` | sorted set | `dedicated_binding`, `shared_native_test`, `rendered_freshness` |
|
|
169
|
+
|
|
170
|
+
Set-valued classes may coexist: a public API can also be a trust boundary, and
|
|
171
|
+
a generated view can also be a public contract. Proofkit admits explicit facts
|
|
172
|
+
and mechanics; it does not infer requirement meaning, a contract profile, or
|
|
173
|
+
ceremony from prose, `riskClass`, `claimLevel`, or code layout. A future
|
|
174
|
+
machine-readable classification field requires its own versioned caller-owned
|
|
175
|
+
contract and producer-to-consumer round-trip proof.
|
|
176
|
+
|
|
152
177
|
## Omitted Surfaces
|
|
153
178
|
|
|
154
179
|
This map intentionally omits exhaustive per-field schema documentation,
|
|
@@ -87,11 +87,13 @@ execution receipts, and merge policy.
|
|
|
87
87
|
- `REQ-PROOFKIT-SPEC-016`: requirement source transition reports validate
|
|
88
88
|
caller-provided previous and next source snapshots so lifecycle changes are
|
|
89
89
|
monotonic, evidence-backed, package-boundary-stable, and repository-neutral.
|
|
90
|
-
- `REQ-PROOFKIT-SPEC-017`:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
- `REQ-PROOFKIT-SPEC-017`: capability map admission validates caller-owned
|
|
91
|
+
pre-spec observations under explicit code-baseline or code-audit trust modes
|
|
92
|
+
and emits only bounded candidate requirements, bindings, or owner guidance.
|
|
93
|
+
- `REQ-PROOFKIT-SPEC-018`: an authored command-family catalog covers every
|
|
94
|
+
public CLI command exactly once, deterministically generates the private
|
|
95
|
+
runtime navigation projection, and adds opt-in family help without changing
|
|
96
|
+
root help, per-command help, or leaf dispatch.
|
|
95
97
|
|
|
96
98
|
## Non-Claims
|
|
97
99
|
|
|
@@ -463,6 +463,33 @@
|
|
|
463
463
|
"requiresImpactDeclaration": true,
|
|
464
464
|
"requiresProofBindingReview": true
|
|
465
465
|
}
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
"requirementId": "REQ-PROOFKIT-SPEC-018",
|
|
469
|
+
"ownerId": "proofkit.spec-proof-core",
|
|
470
|
+
"invariant": "Command family navigation projects the complete public CLI command inventory from one authored family catalog into a deterministic private runtime projection, preserves existing root and per-command help and leaf dispatch, admits only opt-in family help forms, rejects missing, duplicated, oversized, unsorted, or reserved-operand-colliding families, and does not infer command selection, execute commands through family membership, or create a second command inventory owner.",
|
|
471
|
+
"claimLevel": "blocking",
|
|
472
|
+
"riskClass": "medium",
|
|
473
|
+
"proofBindingRefs": [
|
|
474
|
+
"proofkit/requirement-bindings.json"
|
|
475
|
+
],
|
|
476
|
+
"nonClaimRefs": [
|
|
477
|
+
"NC-PROOFKIT-SPEC-018"
|
|
478
|
+
],
|
|
479
|
+
"nonClaims": [
|
|
480
|
+
"This requirement does not claim command recommendation, command execution through family membership, consumer policy, native witness execution, merge approval, release approval, rollout approval, or production readiness."
|
|
481
|
+
],
|
|
482
|
+
"lifecycle": {
|
|
483
|
+
"state": "active",
|
|
484
|
+
"replacementRequirementIds": [],
|
|
485
|
+
"evidenceRefs": []
|
|
486
|
+
},
|
|
487
|
+
"deferral": null,
|
|
488
|
+
"updatePolicy": {
|
|
489
|
+
"reviewOwnerId": "proofkit.spec-proof-core",
|
|
490
|
+
"requiresImpactDeclaration": true,
|
|
491
|
+
"requiresProofBindingReview": true
|
|
492
|
+
}
|
|
466
493
|
}
|
|
467
494
|
],
|
|
468
495
|
"nonClaims": [
|
|
@@ -470,6 +497,7 @@
|
|
|
470
497
|
"Proofkit spec-proof core requirements describe reusable infrastructure primitives only.",
|
|
471
498
|
"Proofkit spec-proof core requirements do not approve document deletion or infer document meaning from Markdown prose.",
|
|
472
499
|
"Proofkit spec-proof core requirements do not discover source diffs or approve requirement deletion.",
|
|
500
|
+
"Proofkit spec-proof core requirements do not infer command selection from command family membership.",
|
|
473
501
|
"Proofkit spec-proof core requirements do not make capability-map seeds stable requirement truth.",
|
|
474
502
|
"Proofkit spec-proof core requirements do not prove overview-claim extractor completeness."
|
|
475
503
|
]
|
|
@@ -39,17 +39,11 @@ vulnerability absence, or consumer rollout safety by itself.
|
|
|
39
39
|
paths expose benchmark entrypoints without making wall-clock budgets a
|
|
40
40
|
required PR gate before stable baselines exist.
|
|
41
41
|
- `REQ-PROOFKIT-QUALITY-010`: coverage metrics report requirement, binding,
|
|
42
|
-
witness, CLI inventory linkage, and descriptor-owned command
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
semantic routes outside the command-scoped app test, package-level semantic
|
|
48
|
-
routes outside the descriptor-owned command package, semantic command routes
|
|
49
|
-
whose parsed Go test body lacks the source-owned executable oracle marker for
|
|
50
|
-
the exact emitted command route fact, and missing matching semantic command
|
|
51
|
-
evidence without claiming line coverage or exhaustive test semantic
|
|
52
|
-
completeness.
|
|
42
|
+
witness, CLI inventory linkage, and descriptor-owned command proof-route
|
|
43
|
+
candidates from admitted test-evidence-inventory rows. The gate fails closed
|
|
44
|
+
on linkage dead zones, failed inventory admission, missing candidates,
|
|
45
|
+
unknown command refs, contract-only commands, or route-only commands. Static
|
|
46
|
+
route metadata and source syntax never become semantic falsifier evidence.
|
|
53
47
|
- `REQ-PROOFKIT-QUALITY-011`: CI separates the OS-independent full
|
|
54
48
|
source/package gate from macOS platform smoke, uses explicit hosted runner
|
|
55
49
|
labels instead of floating latest labels, and exposes one fail-closed
|
|
@@ -129,12 +129,12 @@
|
|
|
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
|
|
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 on explicit requirement/proof linkage dead zones, failed command-route inventory admission, missing candidate routes, unknown command refs, contract-only commands, or route-only commands; static route metadata, prose, source markers, test existence, and failure-capable syntax remain candidate evidence and cannot satisfy semantic_falsifier coverage.",
|
|
133
133
|
"claimLevel": "blocking",
|
|
134
134
|
"riskClass": "medium",
|
|
135
135
|
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
136
136
|
"nonClaimRefs": ["NC-PROOFKIT-QUALITY-010"],
|
|
137
|
-
"nonClaims": ["This requirement does not claim line coverage, dead-code absence, exhaustive semantic completeness for
|
|
137
|
+
"nonClaims": ["This requirement does not claim semantic command coverage, line coverage, dead-code absence, exhaustive semantic completeness for any test, native witness execution, receipt freshness, or merge satisfaction."],
|
|
138
138
|
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
139
139
|
"deferral": null,
|
|
140
140
|
"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.1.
|
|
4
|
+
"version": "0.1.156",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"sideEffects": false,
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
],
|
|
37
37
|
"scripts": {
|
|
38
38
|
"build": "go run ./internal/tools/packagebuild",
|
|
39
|
-
"check": "npm run npm:version && npm run source-hygiene && npm run text-policy && npm run mermaid:check && npm run go:check && npm run package:artifact && npm run self:receipt && npm run self:coverage && npm run release:closeout",
|
|
39
|
+
"check": "npm run npm:version && npm run source-hygiene && npm run command-family:check && npm run text-policy && npm run mermaid:check && npm run go:check && npm run package:artifact && npm run self:receipt && npm run self:coverage && npm run release:closeout",
|
|
40
|
+
"command-family:check": "go run ./internal/tools/commandfamilygen --check",
|
|
40
41
|
"go:actionlint": "go tool actionlint",
|
|
41
42
|
"go:bench": "go test ./internal/kernel/admission ./internal/kernel/stablejson -run '^$' -bench . -benchmem -count=10",
|
|
42
43
|
"go:check": "npm run go:fmt && npm run go:test && npm run go:vet && npm run go:staticcheck && npm run go:actionlint && npm run go:vulncheck",
|
|
@@ -44,7 +45,8 @@
|
|
|
44
45
|
"go:test": "go test ./...",
|
|
45
46
|
"go:vet": "go vet ./...",
|
|
46
47
|
"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)}\"",
|
|
47
|
-
"package:artifact": "
|
|
48
|
+
"package:artifact": "go run ./internal/tools/packageartifact",
|
|
49
|
+
"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",
|
|
48
50
|
"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",
|
|
49
51
|
"python:package": "go run ./internal/tools/pythonpackage build",
|
|
50
52
|
"python:verify": "go run ./internal/tools/pythonpackage verify",
|
|
@@ -6,7 +6,14 @@
|
|
|
6
6
|
"successExitCode": 0,
|
|
7
7
|
"failureExitCode": 1,
|
|
8
8
|
"stdout": "Successful JSON commands write exactly one JSON value to stdout unless an admitted explicit output-file flag writes that JSON value to the selected path and leaves stdout empty. Successful text or help commands write text to stdout unless an admitted explicit output-file flag writes the selected representation to the selected path and leaves stdout empty. Commands do not write stderr on success.",
|
|
9
|
-
"stderr": "Argument parsing, unsupported command, input admission, and output serialization failures write human diagnostics to stderr. Failed report commands may still write a machine-readable failed report to stdout when admission succeeds. Opt-in agent-envelope repair packets may write deterministic invalid-input JSON to stdout with exit code 1 and empty stderr."
|
|
9
|
+
"stderr": "Argument parsing, unsupported command, input admission, and output serialization failures write human diagnostics to stderr. Failed report commands may still write a machine-readable failed report to stdout when admission succeeds. Opt-in agent-envelope repair packets may write deterministic invalid-input JSON to stdout with exit code 1 and empty stderr.",
|
|
10
|
+
"helpGrammar": {
|
|
11
|
+
"rootHelpFlags": ["--help", "-h"],
|
|
12
|
+
"commandHelpFlags": ["--help", "-h"],
|
|
13
|
+
"helpCommandPositionalTarget": "optional_supported_command",
|
|
14
|
+
"helpCatalogFormsSource": "proofkit/command-families.v1.json",
|
|
15
|
+
"helpReadsCommandInput": false
|
|
16
|
+
}
|
|
10
17
|
},
|
|
11
18
|
"commands": [
|
|
12
19
|
{
|
|
@@ -42,6 +49,9 @@
|
|
|
42
49
|
"--mode",
|
|
43
50
|
"--pilot",
|
|
44
51
|
"--touched-rule-id"
|
|
52
|
+
],
|
|
53
|
+
"requiredFlags": [
|
|
54
|
+
"--mode"
|
|
45
55
|
]
|
|
46
56
|
},
|
|
47
57
|
{
|
|
@@ -108,6 +118,7 @@
|
|
|
108
118
|
"binding_witness_plan_input",
|
|
109
119
|
"capability_map",
|
|
110
120
|
"changed_path_set",
|
|
121
|
+
"compact_proof_binding",
|
|
111
122
|
"coverage_compose_input",
|
|
112
123
|
"coverage_view_input",
|
|
113
124
|
"deployment_evidence_input",
|
|
@@ -329,6 +340,22 @@
|
|
|
329
340
|
"--list",
|
|
330
341
|
"--profile",
|
|
331
342
|
"--verify"
|
|
343
|
+
],
|
|
344
|
+
"exactlyOneOfFlagGroups": [
|
|
345
|
+
[
|
|
346
|
+
"--list",
|
|
347
|
+
"--profile",
|
|
348
|
+
"--verify"
|
|
349
|
+
]
|
|
350
|
+
],
|
|
351
|
+
"flagValueRequirements": [
|
|
352
|
+
{
|
|
353
|
+
"flag": "--format",
|
|
354
|
+
"requiredFlags": [
|
|
355
|
+
"--profile"
|
|
356
|
+
],
|
|
357
|
+
"value": "markdown"
|
|
358
|
+
}
|
|
332
359
|
]
|
|
333
360
|
},
|
|
334
361
|
{
|
|
@@ -535,6 +562,9 @@
|
|
|
535
562
|
"--format",
|
|
536
563
|
"--language"
|
|
537
564
|
],
|
|
565
|
+
"requiredFlags": [
|
|
566
|
+
"--language"
|
|
567
|
+
],
|
|
538
568
|
"outputContract": {
|
|
539
569
|
"contractId": "proofkit.json-report-cli-adapter-source.output.v1",
|
|
540
570
|
"schemaVersion": 1,
|
|
@@ -945,6 +975,9 @@
|
|
|
945
975
|
"--scope",
|
|
946
976
|
"--serve",
|
|
947
977
|
"--view"
|
|
978
|
+
],
|
|
979
|
+
"requiredFlags": [
|
|
980
|
+
"--view"
|
|
948
981
|
]
|
|
949
982
|
},
|
|
950
983
|
{
|
|
@@ -1145,6 +1178,12 @@
|
|
|
1145
1178
|
"--input",
|
|
1146
1179
|
"--input-pointer",
|
|
1147
1180
|
"--local-environment-class"
|
|
1181
|
+
],
|
|
1182
|
+
"exactlyOneOfFlagGroups": [
|
|
1183
|
+
[
|
|
1184
|
+
"--empty-local-environment-policy",
|
|
1185
|
+
"--local-environment-class"
|
|
1186
|
+
]
|
|
1148
1187
|
]
|
|
1149
1188
|
},
|
|
1150
1189
|
{
|
|
@@ -1290,6 +1329,11 @@
|
|
|
1290
1329
|
"stdin": true,
|
|
1291
1330
|
"inputPointer": true,
|
|
1292
1331
|
"scopeClass": "explicit_caller_input",
|
|
1332
|
+
"inputContract": {
|
|
1333
|
+
"schemaVersion": 2,
|
|
1334
|
+
"requiredFields": ["schemaVersion", "treeId", "rootNodeId", "callerAnnotations", "nodes", "edges", "overlays"],
|
|
1335
|
+
"callerTextAuthority": "callerAnnotations fields are untrusted presentation annotations and never command-owned nonClaims"
|
|
1336
|
+
},
|
|
1293
1337
|
"outputModes": [
|
|
1294
1338
|
"json"
|
|
1295
1339
|
],
|
|
@@ -1304,6 +1348,11 @@
|
|
|
1304
1348
|
"stdin": true,
|
|
1305
1349
|
"inputPointer": true,
|
|
1306
1350
|
"scopeClass": "explicit_caller_input",
|
|
1351
|
+
"inputContract": {
|
|
1352
|
+
"schemaVersion": 2,
|
|
1353
|
+
"requiredFields": ["schemaVersion", "treeId", "rootNodeId", "callerAnnotations", "nodes", "edges", "overlays"],
|
|
1354
|
+
"callerTextAuthority": "callerAnnotations fields are untrusted presentation annotations and never command-owned nonClaims"
|
|
1355
|
+
},
|
|
1307
1356
|
"outputModes": [
|
|
1308
1357
|
"html",
|
|
1309
1358
|
"json",
|
|
@@ -1316,9 +1365,10 @@
|
|
|
1316
1365
|
"--output"
|
|
1317
1366
|
],
|
|
1318
1367
|
"outputContract": {
|
|
1319
|
-
"contractId": "proofkit.requirement-spec-tree-view.output.
|
|
1320
|
-
"schemaVersion":
|
|
1368
|
+
"contractId": "proofkit.requirement-spec-tree-view.output.v2",
|
|
1369
|
+
"schemaVersion": 2,
|
|
1321
1370
|
"authority": "requirement spec tree view output contract",
|
|
1371
|
+
"nonJsonFormats": ["html", "markdown"],
|
|
1322
1372
|
"requiredFields": [
|
|
1323
1373
|
"authority",
|
|
1324
1374
|
"nodeCount",
|
|
@@ -1567,6 +1617,9 @@
|
|
|
1567
1617
|
],
|
|
1568
1618
|
"allowedFlags": [
|
|
1569
1619
|
"--preset"
|
|
1620
|
+
],
|
|
1621
|
+
"requiredFlags": [
|
|
1622
|
+
"--preset"
|
|
1570
1623
|
]
|
|
1571
1624
|
},
|
|
1572
1625
|
{
|
|
@@ -1666,7 +1719,11 @@
|
|
|
1666
1719
|
"value": 1
|
|
1667
1720
|
}
|
|
1668
1721
|
},
|
|
1669
|
-
"
|
|
1722
|
+
"candidateOutput": {
|
|
1723
|
+
"evidenceClass": "proof_route_candidate",
|
|
1724
|
+
"semanticCoverage": "not_satisfied_until_owner_materialized"
|
|
1725
|
+
},
|
|
1726
|
+
"nonClaim": "This projection input does not make Proofkit the owner of requirement meaning, native test execution, semantic coverage, repository scanning, proof freshness, or merge policy."
|
|
1670
1727
|
},
|
|
1671
1728
|
"strict-inventory": {
|
|
1672
1729
|
"authority": "caller-owned strict test inventory admission",
|
|
@@ -1678,6 +1735,7 @@
|
|
|
1678
1735
|
"nonClaims": [
|
|
1679
1736
|
"Projection modes are closed vocabulary: proof-binding-derived or discovery-draft.",
|
|
1680
1737
|
"Discovery draft candidate output must be materialized into strict inventory before it can affect coverage.",
|
|
1738
|
+
"Proof-binding-derived routes remain proof_route_candidate entries until a consumer owner materializes an executable semantic oracle.",
|
|
1681
1739
|
"The derived inventory remains caller-owned input for downstream coverage views."
|
|
1682
1740
|
]
|
|
1683
1741
|
},
|
|
@@ -1718,6 +1776,7 @@
|
|
|
1718
1776
|
"missing_semantic_anchor",
|
|
1719
1777
|
"mock_tests_mock",
|
|
1720
1778
|
"over_broad_integration",
|
|
1779
|
+
"proof_route_candidate",
|
|
1721
1780
|
"routing_smoke_only",
|
|
1722
1781
|
"selector_fragility",
|
|
1723
1782
|
"snapshot_without_oracle",
|
|
@@ -1774,6 +1833,9 @@
|
|
|
1774
1833
|
"--input",
|
|
1775
1834
|
"--input-pointer",
|
|
1776
1835
|
"--repo-root"
|
|
1836
|
+
],
|
|
1837
|
+
"requiredFlags": [
|
|
1838
|
+
"--repo-root"
|
|
1777
1839
|
]
|
|
1778
1840
|
},
|
|
1779
1841
|
{
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"catalogId": "proofkit.command-families.v1",
|
|
4
|
+
"families": [
|
|
5
|
+
{
|
|
6
|
+
"familyId": "adoption-lifecycle",
|
|
7
|
+
"label": "Adoption lifecycle",
|
|
8
|
+
"purpose": "Select and assess repository adoption stages.",
|
|
9
|
+
"commands": [
|
|
10
|
+
"adoption-checklist",
|
|
11
|
+
"adoption-doctor",
|
|
12
|
+
"adoption-workflow-plan",
|
|
13
|
+
"gradual-adoption",
|
|
14
|
+
"gradual-adoption-bootstrap",
|
|
15
|
+
"gradual-adoption-guidance",
|
|
16
|
+
"init",
|
|
17
|
+
"pilot-admission"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"familyId": "cli-metadata-and-conformance",
|
|
22
|
+
"label": "CLI metadata and conformance",
|
|
23
|
+
"purpose": "Expose, route, generate, and self-check CLI contract surfaces.",
|
|
24
|
+
"commands": [
|
|
25
|
+
"agent-route",
|
|
26
|
+
"conformance-profile",
|
|
27
|
+
"help",
|
|
28
|
+
"json-report-cli-adapter-source",
|
|
29
|
+
"self-check"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"familyId": "deployment-and-readiness",
|
|
34
|
+
"label": "Deployment and readiness",
|
|
35
|
+
"purpose": "Admit deployment evidence and bounded closeout decisions.",
|
|
36
|
+
"commands": [
|
|
37
|
+
"branch-authority",
|
|
38
|
+
"completion-criteria",
|
|
39
|
+
"deployment-evidence-admission",
|
|
40
|
+
"readiness-closeout"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"familyId": "migration-and-retirement",
|
|
45
|
+
"label": "Migration and retirement",
|
|
46
|
+
"purpose": "Prove parity and plan retirement of consumer-local infrastructure.",
|
|
47
|
+
"commands": [
|
|
48
|
+
"migration-parity-admission",
|
|
49
|
+
"migration-plan"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"familyId": "proof-artifact-governance",
|
|
54
|
+
"label": "Proof artifact governance",
|
|
55
|
+
"purpose": "Govern custom rules, document lifecycle, freshness, and witness plans.",
|
|
56
|
+
"commands": [
|
|
57
|
+
"custom-rule-boundary",
|
|
58
|
+
"document-lifecycle-boundary",
|
|
59
|
+
"rendered-artifact-freshness",
|
|
60
|
+
"witness-plan",
|
|
61
|
+
"witness-scheduler-plan"
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"familyId": "proof-binding-topology",
|
|
66
|
+
"label": "Proof binding topology",
|
|
67
|
+
"purpose": "Admit, resolve, partition, and inspect requirement proof topology.",
|
|
68
|
+
"commands": [
|
|
69
|
+
"binding-partition",
|
|
70
|
+
"evidence-graph",
|
|
71
|
+
"proof-slice",
|
|
72
|
+
"requirement-bindings",
|
|
73
|
+
"requirement-proof-resolver",
|
|
74
|
+
"requirement-proof-source-set",
|
|
75
|
+
"spec-proof-bundle-admission"
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"familyId": "receipt-authority",
|
|
80
|
+
"label": "Receipt authority",
|
|
81
|
+
"purpose": "Admit receipts, producer compatibility, currentness, and trust classes.",
|
|
82
|
+
"commands": [
|
|
83
|
+
"producer-policy-self-proof",
|
|
84
|
+
"proof-receipt-admission",
|
|
85
|
+
"receipt-currentness-scope",
|
|
86
|
+
"receipt-producer-admission",
|
|
87
|
+
"receipt-trust-class"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"familyId": "release-artifact-consumption",
|
|
92
|
+
"label": "Release artifact consumption",
|
|
93
|
+
"purpose": "Check package release facts and external or registry consumption.",
|
|
94
|
+
"commands": [
|
|
95
|
+
"external-consumer",
|
|
96
|
+
"registry-consumer",
|
|
97
|
+
"registry-consumer-proof-input-compose",
|
|
98
|
+
"release-authority"
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"familyId": "repository-facts-and-scanning",
|
|
103
|
+
"label": "Repository facts and scanning",
|
|
104
|
+
"purpose": "Admit explicit repository facts and bounded policy scans.",
|
|
105
|
+
"commands": [
|
|
106
|
+
"repo-profile-admission",
|
|
107
|
+
"secret-scan",
|
|
108
|
+
"text-policy",
|
|
109
|
+
"typescript-public-api-surfaces",
|
|
110
|
+
"workspace-manifest-facts"
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"familyId": "requirement-navigation-and-rendering",
|
|
115
|
+
"label": "Requirement navigation and rendering",
|
|
116
|
+
"purpose": "Build and present requirement, proof, and coverage views.",
|
|
117
|
+
"commands": [
|
|
118
|
+
"requirement-browser-server",
|
|
119
|
+
"requirement-coverage-view",
|
|
120
|
+
"requirement-proof-view",
|
|
121
|
+
"requirement-source-view",
|
|
122
|
+
"requirement-spec-tree",
|
|
123
|
+
"requirement-spec-tree-view"
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"familyId": "requirement-source-lifecycle",
|
|
128
|
+
"label": "Requirement source lifecycle",
|
|
129
|
+
"purpose": "Author, admit, transition, and check requirement source claims.",
|
|
130
|
+
"commands": [
|
|
131
|
+
"requirement-authoring-plan",
|
|
132
|
+
"requirement-source-admission",
|
|
133
|
+
"requirement-source-transition",
|
|
134
|
+
"spec-overview-claims"
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"familyId": "scaffolding-and-capability-capture",
|
|
139
|
+
"label": "Scaffolding and capability capture",
|
|
140
|
+
"purpose": "Produce candidate adoption structures and capability seeds.",
|
|
141
|
+
"commands": [
|
|
142
|
+
"adoption-contract-envelope",
|
|
143
|
+
"capability-map-admission",
|
|
144
|
+
"scaffold-profile-plan",
|
|
145
|
+
"scaffold-project-structure",
|
|
146
|
+
"stack-preset"
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"familyId": "selective-evidence-and-obligations",
|
|
151
|
+
"label": "Selective evidence and obligations",
|
|
152
|
+
"purpose": "Admit selective evidence and decide proof obligations.",
|
|
153
|
+
"commands": [
|
|
154
|
+
"obligation-decision",
|
|
155
|
+
"proof-obligation-algebra",
|
|
156
|
+
"selective-gate-evidence",
|
|
157
|
+
"selective-gate-obligation-decision-input"
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"familyId": "selective-impact-planning",
|
|
162
|
+
"label": "Selective impact planning",
|
|
163
|
+
"purpose": "Convert explicit change facts into bounded verification plans.",
|
|
164
|
+
"commands": [
|
|
165
|
+
"changed-path-set",
|
|
166
|
+
"impact",
|
|
167
|
+
"requirement-impact-input-compose",
|
|
168
|
+
"selective-gate-plan"
|
|
169
|
+
]
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"familyId": "test-evidence-and-coverage-input",
|
|
173
|
+
"label": "Test evidence and coverage input",
|
|
174
|
+
"purpose": "Admit test evidence and compose coverage inputs.",
|
|
175
|
+
"commands": [
|
|
176
|
+
"requirement-coverage-input-compose",
|
|
177
|
+
"test-evidence-inventory"
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"familyId": "workspace-topology-and-package-policy",
|
|
182
|
+
"label": "Workspace topology and package policy",
|
|
183
|
+
"purpose": "Model workspace topology, shards, and package runtime policy.",
|
|
184
|
+
"commands": [
|
|
185
|
+
"package-runtime-dependency-admission",
|
|
186
|
+
"workspace-changed-package-plan",
|
|
187
|
+
"workspace-registry",
|
|
188
|
+
"workspace-shard-partition"
|
|
189
|
+
]
|
|
190
|
+
}
|
|
191
|
+
],
|
|
192
|
+
"helpForms": [
|
|
193
|
+
"help families",
|
|
194
|
+
"help family <family-id>"
|
|
195
|
+
],
|
|
196
|
+
"reservedHelpOperands": [
|
|
197
|
+
"families",
|
|
198
|
+
"family"
|
|
199
|
+
],
|
|
200
|
+
"nonClaims": [
|
|
201
|
+
"Command families do not change leaf command dispatch or execution authority.",
|
|
202
|
+
"Command families do not infer which command a caller should execute.",
|
|
203
|
+
"Command families group the public command inventory for navigation only."
|
|
204
|
+
]
|
|
205
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"policyId": "proofkit.receipt-producer-policy",
|
|
4
4
|
"receiptKinds": [
|
|
5
|
-
"proofkit.package-
|
|
5
|
+
"proofkit.package-artifact"
|
|
6
6
|
],
|
|
7
7
|
"environmentClasses": [
|
|
8
8
|
"local-go-python"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"owner": "proofkit.package-boundary",
|
|
14
14
|
"admissionLevel": "advisory",
|
|
15
15
|
"receiptKinds": [
|
|
16
|
-
"proofkit.package-
|
|
16
|
+
"proofkit.package-artifact"
|
|
17
17
|
],
|
|
18
18
|
"environmentClasses": [
|
|
19
19
|
"local-go-python"
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"owner": "proofkit.package-boundary",
|
|
29
29
|
"admissionLevel": "advisory",
|
|
30
30
|
"receiptKinds": [
|
|
31
|
-
"proofkit.package-
|
|
31
|
+
"proofkit.package-artifact"
|
|
32
32
|
],
|
|
33
33
|
"environmentClasses": [
|
|
34
34
|
"local-go-python"
|
|
@@ -469,7 +469,7 @@
|
|
|
469
469
|
"claimLevel": "blocking",
|
|
470
470
|
"proofState": "witness_backed",
|
|
471
471
|
"nonClaims": [
|
|
472
|
-
"This requirement does not claim line coverage, dead-code absence, exhaustive semantic completeness for
|
|
472
|
+
"This requirement does not claim semantic command coverage, line coverage, dead-code absence, exhaustive semantic completeness for any test, native witness execution, receipt freshness, or merge satisfaction."
|
|
473
473
|
]
|
|
474
474
|
},
|
|
475
475
|
{
|
|
@@ -571,6 +571,16 @@
|
|
|
571
571
|
"nonClaims": [
|
|
572
572
|
"This requirement does not claim repository scanning, code correctness, extraction completeness, final requirement meaning, proof-binding adequacy, native witness execution, proof freshness, merge approval, release approval, rollout approval, or production readiness."
|
|
573
573
|
]
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"requirementId": "REQ-PROOFKIT-SPEC-018",
|
|
577
|
+
"ownerId": "proofkit.spec-proof-core",
|
|
578
|
+
"specPath": "docs/specs/proofkit-spec-proof-core/requirements.v1.json",
|
|
579
|
+
"claimLevel": "blocking",
|
|
580
|
+
"proofState": "witness_backed",
|
|
581
|
+
"nonClaims": [
|
|
582
|
+
"This requirement does not claim command recommendation, command execution through family membership, consumer policy, native witness execution, merge approval, release approval, rollout approval, or production readiness."
|
|
583
|
+
]
|
|
574
584
|
}
|
|
575
585
|
],
|
|
576
586
|
"bindings": [
|
|
@@ -585,7 +595,8 @@
|
|
|
585
595
|
"proofkit.package-artifact"
|
|
586
596
|
],
|
|
587
597
|
"environmentClasses": [
|
|
588
|
-
"local-go"
|
|
598
|
+
"local-go",
|
|
599
|
+
"local-go-python"
|
|
589
600
|
]
|
|
590
601
|
},
|
|
591
602
|
{
|
|
@@ -599,7 +610,8 @@
|
|
|
599
610
|
"proofkit.package-artifact"
|
|
600
611
|
],
|
|
601
612
|
"environmentClasses": [
|
|
602
|
-
"local-go"
|
|
613
|
+
"local-go",
|
|
614
|
+
"local-go-python"
|
|
603
615
|
]
|
|
604
616
|
},
|
|
605
617
|
{
|
|
@@ -690,7 +702,7 @@
|
|
|
690
702
|
"proofkit.package-artifact"
|
|
691
703
|
],
|
|
692
704
|
"environmentClasses": [
|
|
693
|
-
"local-go"
|
|
705
|
+
"local-go-python"
|
|
694
706
|
]
|
|
695
707
|
},
|
|
696
708
|
{
|
|
@@ -1602,7 +1614,8 @@
|
|
|
1602
1614
|
"proofkit.package-artifact"
|
|
1603
1615
|
],
|
|
1604
1616
|
"environmentClasses": [
|
|
1605
|
-
"local-go"
|
|
1617
|
+
"local-go",
|
|
1618
|
+
"local-go-python"
|
|
1606
1619
|
]
|
|
1607
1620
|
},
|
|
1608
1621
|
{
|
|
@@ -1616,7 +1629,8 @@
|
|
|
1616
1629
|
"proofkit.package-artifact"
|
|
1617
1630
|
],
|
|
1618
1631
|
"environmentClasses": [
|
|
1619
|
-
"local-go"
|
|
1632
|
+
"local-go",
|
|
1633
|
+
"local-go-python"
|
|
1620
1634
|
]
|
|
1621
1635
|
},
|
|
1622
1636
|
{
|
|
@@ -1751,7 +1765,8 @@
|
|
|
1751
1765
|
"proofkit.package-artifact"
|
|
1752
1766
|
],
|
|
1753
1767
|
"environmentClasses": [
|
|
1754
|
-
"local-go"
|
|
1768
|
+
"local-go",
|
|
1769
|
+
"local-go-python"
|
|
1755
1770
|
]
|
|
1756
1771
|
},
|
|
1757
1772
|
{
|
|
@@ -1793,7 +1808,8 @@
|
|
|
1793
1808
|
"proofkit.package-artifact"
|
|
1794
1809
|
],
|
|
1795
1810
|
"environmentClasses": [
|
|
1796
|
-
"local-go"
|
|
1811
|
+
"local-go",
|
|
1812
|
+
"local-go-python"
|
|
1797
1813
|
]
|
|
1798
1814
|
},
|
|
1799
1815
|
{
|
|
@@ -1820,7 +1836,8 @@
|
|
|
1820
1836
|
"proofkit.package-artifact"
|
|
1821
1837
|
],
|
|
1822
1838
|
"environmentClasses": [
|
|
1823
|
-
"local-go"
|
|
1839
|
+
"local-go",
|
|
1840
|
+
"local-go-python"
|
|
1824
1841
|
]
|
|
1825
1842
|
},
|
|
1826
1843
|
{
|
|
@@ -1900,6 +1917,19 @@
|
|
|
1900
1917
|
"environmentClasses": [
|
|
1901
1918
|
"local-go"
|
|
1902
1919
|
]
|
|
1920
|
+
},
|
|
1921
|
+
{
|
|
1922
|
+
"requirementId": "REQ-PROOFKIT-SPEC-018",
|
|
1923
|
+
"scenarioId": "proofkit.spec-proof-core.command-family-navigation-parity",
|
|
1924
|
+
"witnessId": "proofkit.command-family-navigation.parity-falsifier",
|
|
1925
|
+
"witnessKind": "contract",
|
|
1926
|
+
"witnessPath": "internal/tools/commandfamilygen/main_test.go",
|
|
1927
|
+
"commandIds": [
|
|
1928
|
+
"proofkit.go-test"
|
|
1929
|
+
],
|
|
1930
|
+
"environmentClasses": [
|
|
1931
|
+
"local-go"
|
|
1932
|
+
]
|
|
1903
1933
|
}
|
|
1904
1934
|
],
|
|
1905
1935
|
"witnessCommands": [
|
|
@@ -1936,7 +1966,7 @@
|
|
|
1936
1966
|
{
|
|
1937
1967
|
"commandId": "proofkit.package-artifact",
|
|
1938
1968
|
"command": "npm run package:artifact",
|
|
1939
|
-
"environmentClass": "local-go"
|
|
1969
|
+
"environmentClass": "local-go-python"
|
|
1940
1970
|
},
|
|
1941
1971
|
{
|
|
1942
1972
|
"commandId": "proofkit.package-gate",
|
|
@@ -257,7 +257,7 @@
|
|
|
257
257
|
"inherit": "none",
|
|
258
258
|
"allowlist": [],
|
|
259
259
|
"classes": [
|
|
260
|
-
"local-go"
|
|
260
|
+
"local-go-python"
|
|
261
261
|
]
|
|
262
262
|
},
|
|
263
263
|
"timeoutMs": 600000,
|
|
@@ -275,6 +275,11 @@
|
|
|
275
275
|
"path": "artifacts/package/*.tgz",
|
|
276
276
|
"required": true
|
|
277
277
|
},
|
|
278
|
+
{
|
|
279
|
+
"kind": "report",
|
|
280
|
+
"path": "artifacts/proofkit/package-artifact-execution.json",
|
|
281
|
+
"required": true
|
|
282
|
+
},
|
|
278
283
|
{
|
|
279
284
|
"kind": "python-wheel-artifact",
|
|
280
285
|
"path": "artifacts/pypi/*.whl",
|