@research-engineering/agentic-proofkit 0.1.152 → 0.1.153
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/README.md +43 -0
- package/dist/platform/darwin-arm64/agentic-proofkit +0 -0
- package/dist/platform/darwin-x64/agentic-proofkit +0 -0
- package/dist/platform/linux-arm64/agentic-proofkit +0 -0
- package/dist/platform/linux-x64/agentic-proofkit +0 -0
- package/docs/proofkit-contract-map.md +9 -5
- package/docs/release-process.md +9 -0
- package/package.json +1 -1
- package/proofkit/cli-contract.v1.json +153 -6
package/README.md
CHANGED
|
@@ -38,6 +38,10 @@ registry identity, `dist.integrity`, `dist.shasum`, `npm pack`, and root-only
|
|
|
38
38
|
registry install evidence. Bun is a supported consumer/developer package
|
|
39
39
|
manager path, not a replacement for npm release evidence.
|
|
40
40
|
|
|
41
|
+
Python consumers use the Python package as a runner wrapper over the same Go
|
|
42
|
+
CLI, not as a Python SDK. Python projects should still treat CLI/JSON records,
|
|
43
|
+
exit codes, and package metadata as the public contract.
|
|
44
|
+
|
|
41
45
|
## Project Boundary
|
|
42
46
|
|
|
43
47
|
`agentic-proofkit` is intended to provide reusable proof-workflow mechanics for
|
|
@@ -139,6 +143,45 @@ make generated invariants authoritative by itself.
|
|
|
139
143
|
|
|
140
144
|
## Start Here
|
|
141
145
|
|
|
146
|
+
Use the CLI help route before reading source:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
agentic-proofkit help
|
|
150
|
+
agentic-proofkit init
|
|
151
|
+
agentic-proofkit help repo-profile-admission
|
|
152
|
+
agentic-proofkit repo-profile-admission --help
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Command-specific help is derived from the private command descriptor table and
|
|
156
|
+
does not read stdin. The full machine-readable command inventory remains
|
|
157
|
+
`proofkit/cli-contract.v1.json`; the human route map is
|
|
158
|
+
`docs/proofkit-contract-map.md`.
|
|
159
|
+
|
|
160
|
+
| Repository state | Minimal first route | Stop condition |
|
|
161
|
+
|---|---|---|
|
|
162
|
+
| Unknown starting point | `init` | Stop before reading repository files, writing files, or treating route guidance as proof |
|
|
163
|
+
| Fresh repository with no specs and no extracted observations | `init --preset fresh`, then `scaffold-project-structure` or `gradual-adoption-bootstrap` | Stop before writing files or inventing requirement meaning |
|
|
164
|
+
| Current code is trusted as the initial contract | `capability-map-admission` with `trustMode: "code_baseline"` | Stop before treating generated seeds as admitted requirements |
|
|
165
|
+
| Current code must be audited before it becomes a contract | `capability-map-admission` with `trustMode: "audit_from_code"` | Stop at owner questions and candidate-only records |
|
|
166
|
+
| Legacy repository has local proof infrastructure | `migration-parity-admission`, then `migration-plan` | Stop before deleting local proof owners without parity evidence |
|
|
167
|
+
| A change set needs bounded checks | `changed-path-set`, optional `impact`, then `selective-gate-plan` and `selective-gate-evidence` | Stop on unknown scope, missing routes, or stale receipts |
|
|
168
|
+
|
|
169
|
+
Use `secret-scan` only when the caller provides an explicit file inventory with
|
|
170
|
+
content. It is a dedicated secret-like text detector for admitted inventory
|
|
171
|
+
records; it does not traverse the repository, validate credential liveness, or
|
|
172
|
+
replace provider secret scanning.
|
|
173
|
+
|
|
174
|
+
For TypeScript consumers that want a small wrapper instead of hand-written
|
|
175
|
+
child-process code:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
agentic-proofkit json-report-cli-adapter-source --language typescript --format json
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
The generated adapter remains caller-owned after materialization. It must be
|
|
182
|
+
reviewed, pinned to the installed package, and kept behind the same CLI/JSON
|
|
183
|
+
contract; it does not become a separate public SDK or proof authority.
|
|
184
|
+
|
|
142
185
|
| Need | Owner |
|
|
143
186
|
|---|---|
|
|
144
187
|
| Human orientation | This README |
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -33,15 +33,15 @@ No command may infer ambient repository truth from the current directory.
|
|
|
33
33
|
|
|
34
34
|
| Family | Main commands | Caller provides | Proofkit owns | Consumer owns | Output authority |
|
|
35
35
|
|---|---|---|---|---|---|
|
|
36
|
-
| Adoption and scaffolding | `adoption-contract-envelope`, `adoption-workflow-plan`, `adoption-checklist`, `adoption-doctor`, `gradual-adoption`, `gradual-adoption-bootstrap`, `gradual-adoption-guidance`, `capability-map-admission`, `pilot-admission`, `scaffold-profile-plan`, `scaffold-project-structure`, `stack-preset` | adoption intent, aggregate adoption contract envelope, checklist facts, target paths, owner routes, caller-extracted stale authority vocabulary facts, explicit pre-spec capability observations, pilot records, stack preset id | aggregate contract-envelope admission, deterministic starter plans, checklist/report admission, bounded guidance envelopes, dry-run manifests, pre-spec trust-mode admission, adoption gap and stale-authority classification, pilot shape admission | final files, final requirements, rollout policy, text extraction from files, code observation extraction, pilot truth | selected child output, plan, report, seed packet, or agent envelope |
|
|
36
|
+
| Adoption and scaffolding | `init`, `adoption-contract-envelope`, `adoption-workflow-plan`, `adoption-checklist`, `adoption-doctor`, `gradual-adoption`, `gradual-adoption-bootstrap`, `gradual-adoption-guidance`, `capability-map-admission`, `pilot-admission`, `scaffold-profile-plan`, `scaffold-project-structure`, `stack-preset` | adoption intent, aggregate adoption contract envelope, checklist facts, target paths, owner routes, caller-extracted stale authority vocabulary facts, explicit pre-spec capability observations, pilot records, stack preset id, optional init preset id | dry-run route selection, aggregate contract-envelope admission, deterministic starter plans, checklist/report admission, bounded guidance envelopes, dry-run manifests, pre-spec trust-mode admission, adoption gap and stale-authority classification, pilot shape admission | final files, final requirements, rollout policy, text extraction from files, code observation extraction, pilot truth | selected child output, plan, report, seed packet, or agent envelope |
|
|
37
37
|
| 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 |
|
|
38
38
|
| Requirement proof binding | `requirement-bindings`, `binding-partition`, `proof-slice`, `evidence-graph`, `requirement-proof-resolver`, `requirement-proof-source-set`, `requirement-proof-view`, `spec-proof-bundle-admission` | requirement records, bindings, witness commands, source-set facts, receipt reports, partition policy | graph validation, binding partition projection, compact slices, typed compact proof contract projections, resolver projections, bundle linkage checks | test semantics, witness execution, proof freshness, merge policy | proof report, partition report, slice, lookup graph, or view |
|
|
39
39
|
| Test inventory and coverage | `test-evidence-inventory`, `test-evidence-inventory --projection discovery-draft`, `test-evidence-inventory --normalized-inventory`, `requirement-coverage-input-compose`, `requirement-coverage-view`, `requirement-browser-server --view coverage` | caller-owned direct or source-set test inventory, caller-owned explicit test discovery facts, declared quality findings, requirement source, proof binding or compact proof contract, coverage universe, optional owner-invariant registry, aggregate coverage compose input | strict inventory/source-set admission, candidate-only discovery draft projection, fail-closed normalized inventory projection, deterministic coverage-view input composition from explicit facts, weak-oracle and declared-quality classification, bounded agent action guidance, requirement/test/command/owner-invariant joins, nonsemantic command-evidence classification, stable coverage failure/warning classifications, presentation-only coverage view | inventory completeness, weak-test truth, test discovery extraction, native test execution, receipt freshness, producer trust, merge policy | candidate inventory guidance, inventory report, normalized inventory data product, coverage-view input, coverage view, or browser presentation |
|
|
40
|
-
| Selective planning | `changed-path-set`, `requirement-impact-input-compose`, `impact`, `selective-gate-plan`, `selective-gate-evidence`, `selective-gate-obligation-decision-input`, `proof-obligation-algebra`, `obligation-decision` | changed paths, base/current requirement sources, base/current single-binding-per-requirement proof contracts, generated-artifact policy, local environment policy, proof-like path policy, planned receipts, obligation routes, obligation algebra records | fail-closed impact input composition, fail-closed planning, receipt comparison, obligation algebra admission, bounded agent packets | git diff truth, repository scanning, command execution, producer trust, final admission | composed impact input, plan, evidence report, obligation algebra report, or obligation input |
|
|
40
|
+
| Selective planning | `changed-path-set`, `requirement-impact-input-compose`, `impact`, `selective-gate-plan`, `selective-gate-evidence`, `selective-gate-obligation-decision-input`, `proof-obligation-algebra`, `obligation-decision` | changed paths, base/current requirement sources, base/current single-binding-per-requirement proof contracts, generated-artifact policy, local environment policy, proof-like path policy, scan obligation ownership, planned receipts, obligation routes, obligation algebra records | fail-closed impact input composition, fail-closed planning, receipt comparison, obligation algebra admission, bounded agent packets | git diff truth, repository scanning, command execution, producer trust, final admission | composed impact input, plan, evidence report, obligation algebra report, or obligation input |
|
|
41
41
|
| Receipts and producers | `proof-receipt-admission`, `receipt-producer-admission`, `receipt-currentness-scope`, `receipt-trust-class`, `producer-policy-self-proof` | receipt sets, producer policy, scope/currentness facts, trust classes | receipt shape, producer/receipt compatibility, self-proof diagnostics | producer authentication, freshness policy, CI trust roots | receipt/provenance report |
|
|
42
42
|
| Release and deployment | `release-authority`, `external-consumer`, `registry-consumer-proof-input-compose`, `registry-consumer`, `deployment-evidence-admission`, `completion-criteria`, `branch-authority`, `readiness-closeout` | package facts, tarball/registry facts, explicit primitive registry/install/smoke facts, deployment evidence, criteria, branch facts | artifact/channel boundary checks, registry-consumer input composition, release diagnostics, falsifiable criteria shape | package publication, registry fetch, package-manager execution, deployment, rollback, approval | composed input, release/deployment/readiness report |
|
|
43
43
|
| Supply-chain and quality | `self-check`, release workflow, `npm run release:sbom`, `npm run self:coverage`, `npm run go:actionlint`, `npm run go:bench` | release artifacts, source workflows, specs, bindings, witness plans, explicit benchmark invocation | deterministic self-check report shape, SBOM candidate evidence, coverage metrics, workflow lint routing, benchmark entrypoints | public-source provenance, vulnerability triage, license approval, CI run admission, release approval | self-check report, SBOM, metrics report, CI signal, or benchmark output |
|
|
44
|
-
| Repository structure | `repo-profile-admission`, `workspace-manifest-facts`, `workspace-registry`, `workspace-changed-package-plan`, `workspace-shard-partition`, `typescript-public-api-surfaces`, `text-policy`, `package-runtime-dependency-admission` | explicit repo/profile facts, caller-owned manifest records, caller-owned roots,
|
|
44
|
+
| Repository structure | `repo-profile-admission`, `workspace-manifest-facts`, `workspace-registry`, `workspace-changed-package-plan`, `workspace-shard-partition`, `typescript-public-api-surfaces`, `text-policy`, `secret-scan`, `package-runtime-dependency-admission` | explicit repo/profile facts, caller-owned manifest records, caller-owned roots, caller-owned text file inventories, optional `environmentClassPolicies` tuples | structural admission, manifest-to-workspace fact projection, workspace graph projections, TypeScript package public API checks, text policy admission, explicit-inventory secret-like text detection, shard plans | repository freshness, git/file discovery, command policy, package manager truth, provider secret scanning | structural, fact, policy, or planning report |
|
|
45
45
|
| Custom and generated artifacts | `custom-rule-boundary`, `document-lifecycle-boundary`, `rendered-artifact-freshness`, `conformance-profile`, `json-report-cli-adapter-source`, `witness-plan`, `witness-scheduler-plan` | custom rule metadata, document lifecycle records, artifact digests, profile manifests, command metadata, adapter language | boundary checks, generated-view freshness shape, deterministic adapter source generation, scheduler metadata checks | rule execution, document meaning, cache contents, CI scheduling, committed generated-source freshness | boundary report, generated source artifact, or scheduler report |
|
|
46
46
|
| CLI metadata | `help` | optional command name or help flag | built-in command catalog and help text routing | command selection, semantic proof, freshness, merge policy | text help only |
|
|
47
47
|
|
|
@@ -76,6 +76,7 @@ Route ambiguous modernization work through the smallest matching family:
|
|
|
76
76
|
| Does a `REQ-*` have a route to execution? | `requirement-bindings` or `proof-slice` | Proof bindings own route closure, while tests own executable behavior. |
|
|
77
77
|
| Tests were discovered from an existing repository but are not yet admitted proof evidence. | `test-evidence-inventory --projection discovery-draft` | It accepts explicit caller-owned discovery facts and emits candidate-only inventory guidance with a non-strict candidate authority. Stop before treating candidates as semantic coverage; the consumer must materialize strict test inventory rows. |
|
|
78
78
|
| Which checks should run for a change? | `selective-gate-plan` then `selective-gate-evidence` | Planning and receipt comparison stay separate from command execution. |
|
|
79
|
+
| Does the selective plan need a text or secret scan? | Prefer `scanObligation` with `commandOwnership: "proofkit_text_policy"` for `text-policy`, `commandOwnership: "proofkit_secret_scan"` for `secret-scan`, or `commandOwnership: "caller_owned_external"` for an external scanner; legacy `secretScan` is a compatibility alias only. | Stop before treating any inventory command as repository-wide discovery. Proofkit admits scan obligations but does not execute scanner commands or prove repository-wide credential absence. |
|
|
79
80
|
|
|
80
81
|
## Agent Decision Procedure
|
|
81
82
|
|
|
@@ -102,6 +103,7 @@ Decision tree:
|
|
|
102
103
|
|
|
103
104
|
| State or goal | Next Proofkit route | Stop or escalation condition |
|
|
104
105
|
|---|---|---|
|
|
106
|
+
| The agent does not know where to start. | `init` or `init --preset fresh|code-baseline|code-audit|legacy|change-set` | Treat output as dry-run route guidance only. Stop before scanning, writing files, or making requirements authoritative. |
|
|
105
107
|
| 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. |
|
|
106
108
|
| No admitted spec/profile exists and no capability observations exist. | `scaffold-project-structure`, `adoption-workflow-plan`, or `stack-preset` | Stop before writing files; the consumer owns materialization, overwrite policy, and final requirement text. |
|
|
107
109
|
| Candidate boundary is uncertain. | `adoption-doctor` or `gradual-adoption-guidance --agent-envelope` | Escalate to owner review when the boundary is advisory, ambiguous, or missing native witnesses. |
|
|
@@ -111,12 +113,14 @@ Decision tree:
|
|
|
111
113
|
| Overview prose may contain durable claims. | `spec-overview-claims` | Escalate when normative claims are not tied to `REQ-*` records. |
|
|
112
114
|
| Requirements have no verified proof route. | `requirement-bindings`, `witness-plan` from either an explicit `witness_command_catalog` or a complete `binding_witness_plan_input`, `proof-slice`, or `requirement-proof-resolver` | Stop before claiming proof adequacy; native witness semantics stay with the consumer. A binding-derived witness plan still needs caller-owned vocabulary and conservative command policy. |
|
|
113
115
|
| Tests or proof evidence need inventory. | `test-evidence-inventory`; use `--projection discovery-draft` only for explicit discovered-test facts, then `requirement-coverage-input-compose` when an aggregate `coverage_compose_input` exists, then `requirement-coverage-view` when a `coverage_view_input` exists | Compose only from explicit caller-owned facts. Discovery drafts are candidate-only and cannot close coverage. Use `failureClassifications[]`, `warningClassifications[]`, and `agentActionPlan[]` for machine routing. Escalate when tests are route-only, weak-oracle, unbound, or outside the caller-owned coverage universe. |
|
|
114
|
-
| A change set is known. | `changed-path-set`, optionally `requirement-impact-input-compose`, `impact`, then `selective-gate-plan --agent-envelope` | Raw `knownChangedPaths` in `agent-route` are diagnostic only. Materialize a caller-owned `changed_path_set`, compose a caller-owned `impact_input` before `impact`, and compose a caller-owned `selective_gate_plan_input` before `selective-gate-plan`. Fail closed on unknown scope, dynamic edges, missing owner routes, unbound proof-like paths, or full-gate escalation. |
|
|
116
|
+
| A change set is known. | `changed-path-set`, optionally `requirement-impact-input-compose`, `impact`, then `selective-gate-plan --agent-envelope` | Raw `knownChangedPaths` in `agent-route` are diagnostic only. Materialize a caller-owned `changed_path_set`, compose a caller-owned `impact_input` before `impact`, and compose a caller-owned `selective_gate_plan_input` before `selective-gate-plan`. Use `scanObligation` to name whether a `text-policy`, `secret-scan`, or caller-owned external scanner is required. Fail closed on unknown scope, dynamic edges, missing owner routes, unbound proof-like paths, or full-gate escalation. |
|
|
117
|
+
| Caller-owned file contents need secret-like text detection. | `secret-scan` | Provide explicit sorted file inventory with content. Stop before claiming repository-wide discovery, credential validity, provider ingestion, merge readiness, or replacement of GitHub secret scanning. |
|
|
115
118
|
| Does a TypeScript package public API match a caller-owned manifest? | `agent-route` with `goal: "verify_typescript_public_api"` and explicit `typescript_public_api_manifest` plus `typescript_public_api_repo_root`, then `typescript-public-api-surfaces --repo-root <caller-selected-root>` | This is an explicit filesystem scanner. Stop before guessing `repo-root`, claiming checkout freshness, package-manager truth, or merge readiness. |
|
|
116
119
|
| Receipts are available for planned checks. | `selective-gate-evidence --agent-envelope`; then materialize a caller-owned `obligation_decision_input` from the evidence output plus command routes, currentness, and trust facts; then run `selective-gate-obligation-decision-input`; then materialize the resulting `obligation_decision` input and run `obligation-decision --agent-envelope` | Escalate on missing, stale, invalid, untrusted, blocked, unavailable, or unknown-scope evidence. |
|
|
117
120
|
| Human inspection is needed. | `requirement-source-view`, `requirement-proof-view`, `requirement-coverage-view`, `requirement-spec-tree-view`, or `requirement-browser-server` | `agent-route` emits browser commands as plan-only by default. Use `browserMode: "serve_local_view"` for `--serve` and `openBrowser: true` for `--open`. Rendered HTML and Markdown are presentation only unless the consumer admits a tracked artifact freshness gate. |
|
|
118
121
|
| Temporary external document lifecycle facts, generated views, or rendered views need authority classification. | `document-lifecycle-boundary` | Treat lifecycle records as caller-owned metadata. Temporary design docs and implementation plans are not retained repository authority unless rewritten into deterministic specs, proof bindings, tests, package-public docs, or backlog rows. |
|
|
119
|
-
| A JavaScript/TypeScript consumer needs less wrapper code. | `json-report-cli-adapter-source --language typescript` | Generated adapter source is caller-owned after materialization. The consumer still owns package pin, binary path, repo paths, local policy, and freshness proof. |
|
|
122
|
+
| A JavaScript/TypeScript consumer needs less wrapper code. | `json-report-cli-adapter-source --language typescript --format json` | Generated adapter source is caller-owned after materialization. The consumer still owns package pin, binary path, repo paths, local policy, and freshness proof. It is a CLI runner adapter, not a separate SDK authority. |
|
|
123
|
+
| A Python consumer needs Proofkit from Python tooling. | Install the Python package when available and invoke the same CLI/JSON contract. | The Python package is a runner wrapper over the Go CLI, not a Python SDK or alternate schema owner. |
|
|
120
124
|
| Local proof infrastructure may be retired. | `migration-parity-admission`, then `migration-plan` | Stop before deleting local owners unless parity and post-retirement validation are caller-approved. |
|
|
121
125
|
| Release, package, or deploy evidence is in scope. | `release-authority`, `registry-consumer-proof-input-compose`, `registry-consumer`, `external-consumer`, `deployment-evidence-admission`, or `readiness-closeout` | Compose registry-consumer input from explicit primitive facts first when needed; final registry-consumer validation remains separate. Treat registry, release, CI, deployment, and readiness evidence as separate classes. |
|
|
122
126
|
| The agent does not know which route applies. | `agent-route` with a known goal, or this map when no route input exists yet. | Escalate to the consumer owner instead of guessing, scanning ambient state, or executing commands. |
|
package/docs/release-process.md
CHANGED
|
@@ -200,6 +200,15 @@ The evidence must distinguish:
|
|
|
200
200
|
|
|
201
201
|
These evidence classes are not interchangeable.
|
|
202
202
|
|
|
203
|
+
Historical GitHub Releases are immutable provider state. If an older release
|
|
204
|
+
metadata record names an asset that is absent from the provider release and the
|
|
205
|
+
provider rejects exact backfill, the repository records that as a historical
|
|
206
|
+
archive-evidence exception instead of mutating the release model around it.
|
|
207
|
+
Future releases must prevent recurrence by verifying the expected public asset
|
|
208
|
+
set, byte-for-byte Release asset content, `release-notes.md` presence, release
|
|
209
|
+
manifest and metadata checksum closure, and retained workflow evidence checksum
|
|
210
|
+
closure before reporting GitHub Release archive evidence as passed.
|
|
211
|
+
|
|
203
212
|
## Rollback
|
|
204
213
|
|
|
205
214
|
Published npm versions are immutable. Rollback means pinning consumers back to
|
package/package.json
CHANGED
|
@@ -103,10 +103,10 @@
|
|
|
103
103
|
"item": {
|
|
104
104
|
"kind": {
|
|
105
105
|
"enum": [
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
106
|
+
"adoption_workflow",
|
|
107
|
+
"authoring_plan",
|
|
108
|
+
"binding_witness_plan_input",
|
|
109
|
+
"capability_map",
|
|
110
110
|
"changed_path_set",
|
|
111
111
|
"coverage_compose_input",
|
|
112
112
|
"coverage_view_input",
|
|
@@ -485,6 +485,43 @@
|
|
|
485
485
|
"--input-pointer"
|
|
486
486
|
]
|
|
487
487
|
},
|
|
488
|
+
{
|
|
489
|
+
"command": "init",
|
|
490
|
+
"input": "none",
|
|
491
|
+
"stdin": false,
|
|
492
|
+
"inputPointer": false,
|
|
493
|
+
"scopeClass": "built_in_package_catalog",
|
|
494
|
+
"outputModes": [
|
|
495
|
+
"json"
|
|
496
|
+
],
|
|
497
|
+
"allowedFlags": [
|
|
498
|
+
"--preset"
|
|
499
|
+
],
|
|
500
|
+
"outputContract": {
|
|
501
|
+
"contractId": "proofkit.init.output.v1",
|
|
502
|
+
"schemaVersion": 1,
|
|
503
|
+
"authority": "dry-run adoption route guidance",
|
|
504
|
+
"presets": [
|
|
505
|
+
"all",
|
|
506
|
+
"change-set",
|
|
507
|
+
"code-audit",
|
|
508
|
+
"code-baseline",
|
|
509
|
+
"fresh",
|
|
510
|
+
"legacy"
|
|
511
|
+
],
|
|
512
|
+
"requiredReportFields": [
|
|
513
|
+
"diagnostics",
|
|
514
|
+
"nonClaims",
|
|
515
|
+
"reportId",
|
|
516
|
+
"reportKind",
|
|
517
|
+
"ruleResults",
|
|
518
|
+
"schemaVersion",
|
|
519
|
+
"state",
|
|
520
|
+
"summary"
|
|
521
|
+
],
|
|
522
|
+
"nonClaim": "Init does not read repository files, discover tests, write files, create requirements, or approve merge/release/rollout."
|
|
523
|
+
}
|
|
524
|
+
},
|
|
488
525
|
{
|
|
489
526
|
"command": "json-report-cli-adapter-source",
|
|
490
527
|
"input": "none",
|
|
@@ -776,7 +813,29 @@
|
|
|
776
813
|
"allowedFlags": [
|
|
777
814
|
"--input",
|
|
778
815
|
"--input-pointer"
|
|
779
|
-
]
|
|
816
|
+
],
|
|
817
|
+
"inputContract": {
|
|
818
|
+
"contractId": "proofkit.repo-profile-admission.input.v1",
|
|
819
|
+
"schemaVersion": 1,
|
|
820
|
+
"authority": "repo profile input admission",
|
|
821
|
+
"compatibility": {
|
|
822
|
+
"schemaVersion": "optional transitional top-level field; if present it must be 1",
|
|
823
|
+
"profile.schema": "required proofkit.repo-profile.v1"
|
|
824
|
+
},
|
|
825
|
+
"environmentPolicy": {
|
|
826
|
+
"legacyFields": [
|
|
827
|
+
"liveGithubRequiredClasses",
|
|
828
|
+
"localSecretRequiredClasses"
|
|
829
|
+
],
|
|
830
|
+
"preferredField": "environmentClassPolicies",
|
|
831
|
+
"tupleFields": [
|
|
832
|
+
"environmentClass",
|
|
833
|
+
"networkPolicy",
|
|
834
|
+
"credentialClass"
|
|
835
|
+
],
|
|
836
|
+
"nonClaim": "Repo-profile admission checks explicit caller-owned command policy facts and does not execute commands or discover repository files."
|
|
837
|
+
}
|
|
838
|
+
}
|
|
780
839
|
},
|
|
781
840
|
{
|
|
782
841
|
"command": "requirement-authoring-plan",
|
|
@@ -1244,6 +1303,62 @@
|
|
|
1244
1303
|
"--input-pointer"
|
|
1245
1304
|
]
|
|
1246
1305
|
},
|
|
1306
|
+
{
|
|
1307
|
+
"command": "secret-scan",
|
|
1308
|
+
"input": "required",
|
|
1309
|
+
"stdin": true,
|
|
1310
|
+
"inputPointer": true,
|
|
1311
|
+
"scopeClass": "explicit_caller_input",
|
|
1312
|
+
"outputModes": [
|
|
1313
|
+
"json"
|
|
1314
|
+
],
|
|
1315
|
+
"allowedFlags": [
|
|
1316
|
+
"--input",
|
|
1317
|
+
"--input-pointer"
|
|
1318
|
+
],
|
|
1319
|
+
"inputContract": {
|
|
1320
|
+
"contractId": "proofkit.secret-scan.input.v1",
|
|
1321
|
+
"schemaVersion": 1,
|
|
1322
|
+
"authority": "caller-owned explicit file inventory",
|
|
1323
|
+
"requiredFields": [
|
|
1324
|
+
"files",
|
|
1325
|
+
"nonClaims",
|
|
1326
|
+
"reportId",
|
|
1327
|
+
"schemaVersion"
|
|
1328
|
+
],
|
|
1329
|
+
"fileRecord": {
|
|
1330
|
+
"requiredFields": [
|
|
1331
|
+
"path",
|
|
1332
|
+
"state"
|
|
1333
|
+
],
|
|
1334
|
+
"optionalFields": [
|
|
1335
|
+
"contentBase64"
|
|
1336
|
+
],
|
|
1337
|
+
"state": [
|
|
1338
|
+
"missing",
|
|
1339
|
+
"present"
|
|
1340
|
+
],
|
|
1341
|
+
"rules": [
|
|
1342
|
+
"paths must be sorted unique repository-relative POSIX paths",
|
|
1343
|
+
"present files must include contentBase64",
|
|
1344
|
+
"missing files must not include contentBase64"
|
|
1345
|
+
]
|
|
1346
|
+
},
|
|
1347
|
+
"nonClaim": "Secret scan does not discover repository files or replace provider secret scanning."
|
|
1348
|
+
},
|
|
1349
|
+
"outputContract": {
|
|
1350
|
+
"contractId": "proofkit.secret-scan.output.v1",
|
|
1351
|
+
"schemaVersion": 1,
|
|
1352
|
+
"authority": "secret-like text pattern findings over admitted explicit inventory",
|
|
1353
|
+
"findingFields": [
|
|
1354
|
+
"findingClass",
|
|
1355
|
+
"line",
|
|
1356
|
+
"path"
|
|
1357
|
+
],
|
|
1358
|
+
"redactionRule": "matched secret-like values are never emitted to stdout reports",
|
|
1359
|
+
"nonClaim": "Findings are pattern detections, not credential validity proof."
|
|
1360
|
+
}
|
|
1361
|
+
},
|
|
1247
1362
|
{
|
|
1248
1363
|
"command": "selective-gate-evidence",
|
|
1249
1364
|
"input": "required",
|
|
@@ -1288,7 +1403,35 @@
|
|
|
1288
1403
|
"--agent-envelope",
|
|
1289
1404
|
"--input",
|
|
1290
1405
|
"--input-pointer"
|
|
1291
|
-
]
|
|
1406
|
+
],
|
|
1407
|
+
"inputContract": {
|
|
1408
|
+
"contractId": "proofkit.selective-gate-plan.input.v1",
|
|
1409
|
+
"schemaVersion": 1,
|
|
1410
|
+
"authority": "selective gate plan input admission",
|
|
1411
|
+
"scanObligation": {
|
|
1412
|
+
"preferred": true,
|
|
1413
|
+
"fields": [
|
|
1414
|
+
"command",
|
|
1415
|
+
"commandId",
|
|
1416
|
+
"commandOwnership",
|
|
1417
|
+
"mode",
|
|
1418
|
+
"reason",
|
|
1419
|
+
"required"
|
|
1420
|
+
],
|
|
1421
|
+
"commandOwnership": [
|
|
1422
|
+
"proofkit_secret_scan",
|
|
1423
|
+
"proofkit_text_policy",
|
|
1424
|
+
"caller_owned_external"
|
|
1425
|
+
],
|
|
1426
|
+
"reason": [
|
|
1427
|
+
"secret_scan",
|
|
1428
|
+
"text_policy",
|
|
1429
|
+
"external_secret_scan"
|
|
1430
|
+
],
|
|
1431
|
+
"legacyAlias": "secretScan",
|
|
1432
|
+
"nonClaim": "Selective gate planning admits scan obligations but does not execute scanner commands or prove repository-wide credential absence."
|
|
1433
|
+
}
|
|
1434
|
+
}
|
|
1292
1435
|
},
|
|
1293
1436
|
{
|
|
1294
1437
|
"command": "self-check",
|
|
@@ -1575,6 +1718,10 @@
|
|
|
1575
1718
|
"commands",
|
|
1576
1719
|
"vocabulary"
|
|
1577
1720
|
],
|
|
1721
|
+
"optional": [
|
|
1722
|
+
"schemaVersion"
|
|
1723
|
+
],
|
|
1724
|
+
"schemaVersionRule": "If present, schemaVersion must be 1.",
|
|
1578
1725
|
"nonClaim": "Explicit command catalogs are caller-owned; Proofkit admits command safety shape but does not execute commands."
|
|
1579
1726
|
},
|
|
1580
1727
|
"requirement-bindings": {
|