@research-engineering/agentic-proofkit 0.2.0 → 0.2.1
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 +7 -0
- package/docs/release-process.md +27 -3
- package/docs/specs/proofkit-supply-chain-quality/overview.md +3 -2
- package/docs/specs/proofkit-supply-chain-quality/requirements.v1.json +3 -3
- package/package.json +2 -1
- package/proofkit/cli-contract.v2.json +177 -43
- package/proofkit/requirement-bindings.json +182 -6
- package/proofkit/witness-plan.json +1 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -47,6 +47,13 @@ owner boundaries. It is not a second command-family inventory.
|
|
|
47
47
|
| Receipts and producers | `proof-receipt-admission`, `receipt-producer-admission`, `receipt-currentness-scope`, `receipt-trust-class`, `producer-policy-self-proof` | receipt sets, producer policy, scope/currentness facts, trust classes | receipt shape, producer/receipt compatibility, self-proof diagnostics | producer authentication, freshness policy, CI trust roots | receipt/provenance report |
|
|
48
48
|
| Release and deployment | `release-authority`, `external-consumer`, `registry-consumer-proof-input-compose`, `registry-consumer`, `deployment-evidence-admission`, `completion-criteria`, `branch-authority`, `readiness-closeout` | package facts, tarball/registry facts, explicit primitive registry/install/smoke facts, deployment evidence, criteria, branch facts | artifact/channel boundary checks, registry-consumer input composition, release diagnostics, falsifiable criteria shape | package publication, registry fetch, package-manager execution, deployment, rollback, approval | composed input, release/deployment/readiness report |
|
|
49
49
|
| Supply-chain and quality | `self-check`, release workflow, `npm run release:sbom`, `npm run self:coverage`, `npm run go:actionlint`, `npm run go:bench` | release artifacts, source workflows, specs, bindings, witness plans, explicit benchmark invocation | deterministic self-check report shape, SBOM candidate evidence, coverage metrics, workflow lint routing, benchmark entrypoints | public-source provenance, vulnerability triage, license approval, CI run admission, release approval | self-check report, SBOM, metrics report, CI signal, or benchmark output |
|
|
50
|
+
|
|
51
|
+
The `npm run release:sbom`, `npm run self:coverage`, `npm run go:actionlint`,
|
|
52
|
+
and `npm run go:bench` routes above are maintainer commands for a source
|
|
53
|
+
checkout. They are not installed-package APIs because their implementations
|
|
54
|
+
depend on repository-only `internal/` or workflow sources. Installed consumers
|
|
55
|
+
must use the public `agentic-proofkit` CLI routes declared in
|
|
56
|
+
`proofkit/cli-contract.v2.json`.
|
|
50
57
|
| Repository structure | `repo-profile-admission`, `workspace-manifest-facts`, `workspace-registry`, `workspace-changed-package-plan`, `workspace-shard-partition`, `typescript-public-api-surfaces`, `text-policy`, `secret-scan`, `package-runtime-dependency-admission` | explicit repo/profile facts, caller-owned manifest records, caller-owned roots, caller-owned text file inventories, explicit TypeScript package-manifest and per-condition source paths, optional `environmentClassPolicies` tuples | structural admission, manifest-to-workspace fact projection, workspace graph projections, bounded TypeScript package public API checks over referenced files, text policy admission, explicit-inventory secret-like text detection, shard plans | repository freshness, git/file discovery, compiler output provenance, command policy, package manager truth, provider secret scanning | structural, fact, policy, or planning report |
|
|
51
58
|
| Custom and generated artifacts | `custom-rule-boundary`, `document-lifecycle-boundary`, `rendered-artifact-freshness`, `conformance-profile`, `json-report-cli-adapter-source`, `witness-plan`, `witness-scheduler-plan` | custom rule metadata, document lifecycle records, artifact digests, profile manifests, command metadata, adapter language | boundary checks, generated-view freshness shape, deterministic adapter source generation, scheduler metadata checks | rule execution, document meaning, cache contents, CI scheduling, committed generated-source freshness | boundary report, generated source artifact, or scheduler report |
|
|
52
59
|
| CLI metadata | `help` | optional command name or help flag | built-in command catalog and help text routing | command selection, semantic proof, freshness, merge policy | text help only |
|
package/docs/release-process.md
CHANGED
|
@@ -46,7 +46,20 @@ In a source checkout, the committed `release/change-record.v2.json` owns the
|
|
|
46
46
|
reviewed, version-bound declaration of the public-contract delta, migration
|
|
47
47
|
decision, platform requirements, known limitations, and rollback strategy. It
|
|
48
48
|
is not part of the installed npm or PyPI projection and does not infer change
|
|
49
|
-
completeness from the source diff.
|
|
49
|
+
completeness from the source diff.
|
|
50
|
+
|
|
51
|
+
Release-history migration support starts at the baseline named by the first
|
|
52
|
+
supporting release record. The exact baseline remains in that source-only,
|
|
53
|
+
immutable release evidence rather than this package-public document. The
|
|
54
|
+
repository does not backfill a machine release-history chain for earlier
|
|
55
|
+
pre-baseline development releases. Each later change record in its released
|
|
56
|
+
source commit owns exactly one edge from `previousVersion` to `version`. A
|
|
57
|
+
future cumulative migration plan may be derived only from a contiguous,
|
|
58
|
+
owner-admitted sequence of those immutable release records; it must not become
|
|
59
|
+
a second authored source of truth or infer migration semantics from a source
|
|
60
|
+
diff. No cumulative release-history planner is currently claimed.
|
|
61
|
+
|
|
62
|
+
The repository-owned
|
|
50
63
|
`release:manifest` tool admits that record and creates `release-manifest.json`,
|
|
51
64
|
`checksums.sha256`, `metadata-checksums.sha256`, `sbom-subjects.sha256`,
|
|
52
65
|
release notes, and deterministic SBOM candidate evidence from explicit package,
|
|
@@ -120,6 +133,13 @@ coverage metrics generation.
|
|
|
120
133
|
The dry-run package identity proves candidate tarball shape only. It does not
|
|
121
134
|
prove the bytes served by the registry after publish.
|
|
122
135
|
|
|
136
|
+
Candidate preflight also admits the npm registry `latest` identity. For an
|
|
137
|
+
unpublished candidate, `latest` must equal the change record
|
|
138
|
+
`previousVersion`. For an already-published candidate, exact candidate-to-
|
|
139
|
+
registry byte equality must be proven first and `latest` must equal the change
|
|
140
|
+
record `version`. This separates a new release edge from an idempotent replay
|
|
141
|
+
and rejects skipped or stale predecessor chains.
|
|
142
|
+
|
|
123
143
|
## Publish
|
|
124
144
|
|
|
125
145
|
Create and push an exact version tag:
|
|
@@ -134,7 +154,9 @@ The `release` workflow must:
|
|
|
134
154
|
1. verify source package identity;
|
|
135
155
|
2. run the package gate;
|
|
136
156
|
3. build publish candidate evidence through either npm publish dry-run or
|
|
137
|
-
exact existing-byte-match validation for an already published version
|
|
157
|
+
exact existing-byte-match validation for an already published version, then
|
|
158
|
+
bind the branch-specific candidate state and admitted change record to the
|
|
159
|
+
exact npm `latest` package identity;
|
|
138
160
|
4. build Python wheel candidates for the same embedded Go CLI;
|
|
139
161
|
5. prove publish readiness before any registry side effect: the tag must equal
|
|
140
162
|
`v<package.json version>`, target a commit reachable from `main`, and have
|
|
@@ -168,7 +190,9 @@ The `release` workflow must:
|
|
|
168
190
|
`artifacts/retained-evidence-checksums.sha256`. The checksum manifest lives
|
|
169
191
|
at the retained artifact root and uses exact `release/...` and
|
|
170
192
|
`attestations/...` paths, so standard checksum verification executes against
|
|
171
|
-
the downloaded artifact layout without path rewriting.
|
|
193
|
+
the downloaded artifact layout without path rewriting. Each existing-release
|
|
194
|
+
and newly-created-release branch immediately runs the repository-owned
|
|
195
|
+
`retained-evidence-verify` preflight before reporting success. The release
|
|
172
196
|
manifest records GitHub Release channel data as candidate/archive inventory;
|
|
173
197
|
`github-release.json` owns post-create GitHub Release facts only inside
|
|
174
198
|
retained workflow evidence, not as a public release asset.
|
|
@@ -160,8 +160,9 @@ vulnerability absence, or consumer rollout safety by itself.
|
|
|
160
160
|
exact complete current breaking, addition, and migration inventories
|
|
161
161
|
including channel-specific generated continuation bytes, rejects missing,
|
|
162
162
|
substituted, reordered, or surplus entries, and owns one independently
|
|
163
|
-
authored byte-exact complete current release-note projection
|
|
164
|
-
|
|
163
|
+
authored byte-exact complete current release-note projection. Candidate
|
|
164
|
+
preflight binds npm latest to `previousVersion` for an unpublished candidate
|
|
165
|
+
or to `version` only after exact existing-byte-match proof. One retained-
|
|
165
166
|
evidence owner builds and verifies checksums against exact
|
|
166
167
|
downloadable artifact-relative paths without inferring change completeness
|
|
167
168
|
from the source diff.
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
{
|
|
130
130
|
"requirementId": "REQ-PROOFKIT-QUALITY-010",
|
|
131
131
|
"ownerId": "proofkit.supply-chain-quality",
|
|
132
|
-
"invariant": "Coverage metrics report requirement, binding, witness, CLI inventory linkage, and descriptor-owned command proof-route candidates from admitted test-evidence-inventory rows, failing closed independently for each requirement/proof linkage dead-zone class and each missing-candidate, unknown-candidate-ref, unknown-semantic-ref, contract-only, or route-only command-route class; source-checkout witness selectors must resolve to valid functions in active Go test files with exact executable commands, critical anti-vacuity scenarios must retain their exact closed selector inventories, and failed command-route inventory admission also fails closed, while static route metadata, prose, source markers, test existence, and failure-capable syntax remain candidate evidence and cannot satisfy semantic_falsifier coverage.",
|
|
132
|
+
"invariant": "Coverage metrics report requirement, binding, witness, CLI inventory linkage, and descriptor-owned command proof-route candidates from admitted test-evidence-inventory rows, failing closed independently for each requirement/proof linkage dead-zone class and each missing-candidate, unknown-candidate-ref, unknown-semantic-ref, contract-only, or route-only command-route class; source-checkout witness selectors must resolve to valid functions in active Go test files with exact executable commands and a failure-capable assertion candidate outside literal-dead branches, uninvoked closures, and skip-bearing helper paths, critical anti-vacuity scenarios must retain their exact closed selector inventories, and failed command-route inventory admission also fails closed, while static route metadata, prose, source markers, test existence, and failure-capable syntax remain candidate evidence and cannot satisfy semantic_falsifier coverage.",
|
|
133
133
|
"claimLevel": "blocking",
|
|
134
134
|
"riskClass": "medium",
|
|
135
135
|
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
@@ -311,12 +311,12 @@
|
|
|
311
311
|
{
|
|
312
312
|
"requirementId": "REQ-PROOFKIT-QUALITY-024",
|
|
313
313
|
"ownerId": "proofkit.supply-chain-quality",
|
|
314
|
-
"invariant": "Release metadata generation admits one closed schema-versioned machine-readable declaration of the reviewed public-contract change set, requires exact ordered equality for the complete current breaking-change, addition, and migration inventories, including channel-specific changes to public generated continuation bytes, binds its exact previous and current canonical SemVer values to a compatible or breaking change class, rejects missing, substituted, reordered, or surplus current entries plus non-monotonic or patch-range breaking releases, and renders one byte-exact independently authored complete current release-note projection with no relocated, duplicate, appended, surplus, or second owned section
|
|
314
|
+
"invariant": "Release metadata generation admits one closed schema-versioned machine-readable declaration of the reviewed public-contract change set, requires exact ordered equality for the complete current breaking-change, addition, and migration inventories, including channel-specific changes to public generated continuation bytes, binds its exact previous and current canonical SemVer values to a compatible or breaking change class, rejects missing, substituted, reordered, or surplus current entries plus non-monotonic or patch-range breaking releases, and renders one byte-exact independently authored complete current release-note projection with no relocated, duplicate, appended, surplus, or second owned section; release candidate preflight binds the admitted npm package identity and candidate state to registry latest so an unpublished candidate requires latest to equal previousVersion and an exact existing-byte-match candidate requires latest to equal version; release metadata promotes the npm channel to published only from a strictly admitted registry-authority record whose unique filename-keyed package set exactly matches both retained registry records and local candidate identity and bytes; one repository-owned retained-evidence builder and verifier checksum the exact final downloadable artifact topology with artifact-relative paths, reject unbound evidence files and symlink substitution, and fail release closeout on record, note, path, or digest drift.",
|
|
315
315
|
"claimLevel": "blocking",
|
|
316
316
|
"riskClass": "high",
|
|
317
317
|
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
318
318
|
"nonClaimRefs": ["NC-PROOFKIT-QUALITY-024"],
|
|
319
|
-
"nonClaims": ["This requirement does not infer change-record completeness from source changes, make release notes approval authority, or prove provider publication, attestation authenticity, consumer adoption, rollout approval, or production readiness."],
|
|
319
|
+
"nonClaims": ["This requirement does not infer change-record completeness from source changes, reconstruct release-history migration data before the declared support baseline, claim a cumulative release-history planner, make release notes approval authority, or prove provider publication, attestation authenticity, consumer adoption, rollout approval, or production readiness."],
|
|
320
320
|
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
321
321
|
"deferral": null,
|
|
322
322
|
"updatePolicy": {"reviewOwnerId": "proofkit.supply-chain-quality", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@research-engineering/agentic-proofkit",
|
|
3
3
|
"description": "Reusable proof profile, report, graph, and witness-planning primitives.",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"sideEffects": false,
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"go:test": "go test ./...",
|
|
47
47
|
"go:vet": "go vet ./...",
|
|
48
48
|
"npm:version": "node -e \"const {execFileSync}=require('node:child_process'); const expected=require('./package.json').packageManager.split('@').at(-1); const actual=execFileSync('npm',['--version'],{encoding:'utf8'}).trim(); if(actual!==expected){throw new Error('expected npm '+expected+', got '+actual)}\"",
|
|
49
|
+
"npm:registry-evidence": "go run ./internal/tools/npmregistry",
|
|
49
50
|
"package:artifact": "go run ./internal/tools/packageartifact",
|
|
50
51
|
"package:artifact:steps": "npm run build && go run ./internal/tools/packagepack && go run ./internal/tools/packageverify && npm run python:package && npm run python:verify && npm run release:manifest",
|
|
51
52
|
"platform:smoke": "go run ./internal/tools/packagebuild current && ./dist/agentic-proofkit --help >/dev/null && go run ./internal/tools/pythonpackage build-current && go run ./internal/tools/pythonpackage verify-current",
|
|
@@ -206,7 +206,7 @@
|
|
|
206
206
|
"rootDefinitionDigest": "sha256:104d1e8bef615582ead1c7c8c64b7e1643a76c2bc2a1f224189c372cf8cc4aa1",
|
|
207
207
|
"nativeSource": {
|
|
208
208
|
"path": "internal/command/adoptiondoctor",
|
|
209
|
-
"canonicalDigest": "sha256:
|
|
209
|
+
"canonicalDigest": "sha256:cec92b209d2fa36cf5da43a7049d3c24212f6762a085b065e75b46f1c5fda625",
|
|
210
210
|
"evidenceClass": "source_checkout"
|
|
211
211
|
},
|
|
212
212
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -237,7 +237,7 @@
|
|
|
237
237
|
"rootDefinitionDigest": "sha256:90583a47b9bdd605b2d3f24dcb1a5dbb2b4d9da20d7be097da381c9c77229e62",
|
|
238
238
|
"nativeSource": {
|
|
239
239
|
"path": "internal/command/adoptiondoctor",
|
|
240
|
-
"canonicalDigest": "sha256:
|
|
240
|
+
"canonicalDigest": "sha256:cec92b209d2fa36cf5da43a7049d3c24212f6762a085b065e75b46f1c5fda625",
|
|
241
241
|
"evidenceClass": "source_checkout"
|
|
242
242
|
},
|
|
243
243
|
"nativeOutputWitnessSelector": {
|
|
@@ -988,6 +988,9 @@
|
|
|
988
988
|
"value": "markdown"
|
|
989
989
|
}
|
|
990
990
|
],
|
|
991
|
+
"singleOccurrenceFlags": [
|
|
992
|
+
"--format"
|
|
993
|
+
],
|
|
991
994
|
"inputContract": {
|
|
992
995
|
"contractId": "proofkit.conformance-profile.input.v1",
|
|
993
996
|
"schemaVersion": 1,
|
|
@@ -1773,6 +1776,9 @@
|
|
|
1773
1776
|
"requiredFlags": [
|
|
1774
1777
|
"--language"
|
|
1775
1778
|
],
|
|
1779
|
+
"singleOccurrenceFlags": [
|
|
1780
|
+
"--format"
|
|
1781
|
+
],
|
|
1776
1782
|
"outputContract": {
|
|
1777
1783
|
"contractId": "proofkit.json-report-cli-adapter-source.output.v1",
|
|
1778
1784
|
"schemaVersion": 1,
|
|
@@ -1850,7 +1856,7 @@
|
|
|
1850
1856
|
"rootDefinitionDigest": "sha256:a1f8ab777249d7ff613bfb3256cd96514235ac90d02ad39ce8720330cbd71d38",
|
|
1851
1857
|
"nativeSource": {
|
|
1852
1858
|
"path": "internal/command/migrationparityadmission",
|
|
1853
|
-
"canonicalDigest": "sha256:
|
|
1859
|
+
"canonicalDigest": "sha256:e6d7db500dea081cbf5c50a0b56051c3f5f193d5dbcc314871cd2bae0c0b3e6a",
|
|
1854
1860
|
"evidenceClass": "source_checkout"
|
|
1855
1861
|
},
|
|
1856
1862
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -1882,7 +1888,7 @@
|
|
|
1882
1888
|
"rootDefinitionDigest": "sha256:aaea5c7d9d12e1fbc406d080dcda5aca84351c5a2048d40535a1b3895cc37440",
|
|
1883
1889
|
"nativeSource": {
|
|
1884
1890
|
"path": "internal/command/migrationparityadmission",
|
|
1885
|
-
"canonicalDigest": "sha256:
|
|
1891
|
+
"canonicalDigest": "sha256:e6d7db500dea081cbf5c50a0b56051c3f5f193d5dbcc314871cd2bae0c0b3e6a",
|
|
1886
1892
|
"evidenceClass": "source_checkout"
|
|
1887
1893
|
},
|
|
1888
1894
|
"nativeOutputWitnessSelector": {
|
|
@@ -2014,7 +2020,7 @@
|
|
|
2014
2020
|
"rootDefinitionDigest": "sha256:5c9e25b7a7e379f21cd586693f1303a823699c348129a35c20c79fe0a225597f",
|
|
2015
2021
|
"nativeSource": {
|
|
2016
2022
|
"path": "internal/command/obligationdecision",
|
|
2017
|
-
"canonicalDigest": "sha256:
|
|
2023
|
+
"canonicalDigest": "sha256:507d019a96d80343890f30f94cf5d908fb0140d2513370021195f28de0420573",
|
|
2018
2024
|
"evidenceClass": "source_checkout"
|
|
2019
2025
|
},
|
|
2020
2026
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -2042,7 +2048,7 @@
|
|
|
2042
2048
|
"rootDefinitionDigest": "sha256:0a9bf16564faaf4362e84b490ec24e722ed5b98617d8f4d7f62d8ce30e21c2e5",
|
|
2043
2049
|
"nativeSource": {
|
|
2044
2050
|
"path": "internal/command/obligationdecision",
|
|
2045
|
-
"canonicalDigest": "sha256:
|
|
2051
|
+
"canonicalDigest": "sha256:507d019a96d80343890f30f94cf5d908fb0140d2513370021195f28de0420573",
|
|
2046
2052
|
"evidenceClass": "source_checkout"
|
|
2047
2053
|
},
|
|
2048
2054
|
"nativeOutputWitnessSelector": {
|
|
@@ -2179,6 +2185,15 @@
|
|
|
2179
2185
|
"--pilot",
|
|
2180
2186
|
"--stack-diverse"
|
|
2181
2187
|
],
|
|
2188
|
+
"flagValueRequirements": [
|
|
2189
|
+
{
|
|
2190
|
+
"flag": "--pilot",
|
|
2191
|
+
"requiredFlags": [
|
|
2192
|
+
"--contract-envelope"
|
|
2193
|
+
],
|
|
2194
|
+
"value": "all"
|
|
2195
|
+
}
|
|
2196
|
+
],
|
|
2182
2197
|
"inputContract": {
|
|
2183
2198
|
"contractId": "proofkit.pilot-admission.input.v1",
|
|
2184
2199
|
"schemaVersion": 1,
|
|
@@ -2216,7 +2231,7 @@
|
|
|
2216
2231
|
"nativeSources": [
|
|
2217
2232
|
{
|
|
2218
2233
|
"path": "internal/app",
|
|
2219
|
-
"canonicalDigest": "sha256:
|
|
2234
|
+
"canonicalDigest": "sha256:0bea47d33304e528ffbe087688ea2dee07cf42e55632eda3b479732e221841d9",
|
|
2220
2235
|
"evidenceClass": "source_checkout"
|
|
2221
2236
|
},
|
|
2222
2237
|
{
|
|
@@ -2333,7 +2348,7 @@
|
|
|
2333
2348
|
"rootDefinitionDigest": "sha256:cf9e13e7e1186d4dcdcfcecfe33c4dc61f88791242b42a4a3a92b349c605b476",
|
|
2334
2349
|
"nativeSource": {
|
|
2335
2350
|
"path": "internal/command/proofobligationalgebra",
|
|
2336
|
-
"canonicalDigest": "sha256:
|
|
2351
|
+
"canonicalDigest": "sha256:825fe712a106ce1c6b60d9a723d06c48838684fd1cfeaa3415849e20abcd4368",
|
|
2337
2352
|
"evidenceClass": "source_checkout"
|
|
2338
2353
|
},
|
|
2339
2354
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -2360,7 +2375,7 @@
|
|
|
2360
2375
|
"rootDefinitionDigest": "sha256:4133b3c92c688c56a04871ededc6a595b17690d02e70ee35b87f728c21109a37",
|
|
2361
2376
|
"nativeSource": {
|
|
2362
2377
|
"path": "internal/command/proofobligationalgebra",
|
|
2363
|
-
"canonicalDigest": "sha256:
|
|
2378
|
+
"canonicalDigest": "sha256:825fe712a106ce1c6b60d9a723d06c48838684fd1cfeaa3415849e20abcd4368",
|
|
2364
2379
|
"evidenceClass": "source_checkout"
|
|
2365
2380
|
},
|
|
2366
2381
|
"nativeOutputWitnessSelector": {
|
|
@@ -2611,7 +2626,7 @@
|
|
|
2611
2626
|
"rootDefinitionDigest": "sha256:912f60b637aa0ca917b1c90d4caa4e3e65ec60ad0c5529d0da9d815fc766c5f5",
|
|
2612
2627
|
"nativeSource": {
|
|
2613
2628
|
"path": "internal/command/receiptcurrentnessscope",
|
|
2614
|
-
"canonicalDigest": "sha256:
|
|
2629
|
+
"canonicalDigest": "sha256:64fe8dfe45c5af89533bcc3bd7448977cf51b446df18eff11bf4dd3a8815c1d0",
|
|
2615
2630
|
"evidenceClass": "source_checkout"
|
|
2616
2631
|
},
|
|
2617
2632
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -2638,7 +2653,7 @@
|
|
|
2638
2653
|
"rootDefinitionDigest": "sha256:30a1b7ef616c1e44bbdbebc6e511231166a2d1ea600d8d5954484fe8c0e7cdf4",
|
|
2639
2654
|
"nativeSource": {
|
|
2640
2655
|
"path": "internal/command/receiptcurrentnessscope",
|
|
2641
|
-
"canonicalDigest": "sha256:
|
|
2656
|
+
"canonicalDigest": "sha256:64fe8dfe45c5af89533bcc3bd7448977cf51b446df18eff11bf4dd3a8815c1d0",
|
|
2642
2657
|
"evidenceClass": "source_checkout"
|
|
2643
2658
|
},
|
|
2644
2659
|
"nativeOutputWitnessSelector": {
|
|
@@ -2749,7 +2764,7 @@
|
|
|
2749
2764
|
"rootDefinitionDigest": "sha256:19b0af54f38516daf4c0fb386a16284821f07ee14028738b5287a09f8b3b2122",
|
|
2750
2765
|
"nativeSource": {
|
|
2751
2766
|
"path": "internal/command/receipttrustclass",
|
|
2752
|
-
"canonicalDigest": "sha256:
|
|
2767
|
+
"canonicalDigest": "sha256:22a0a2e7e6f2a657a2da1a4b8ec58be090a7bf26d924b98b78ca91b45208126f",
|
|
2753
2768
|
"evidenceClass": "source_checkout"
|
|
2754
2769
|
},
|
|
2755
2770
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -2777,7 +2792,7 @@
|
|
|
2777
2792
|
"rootDefinitionDigest": "sha256:3914567b0719287a883352e711121f71610ab041df74a009edd2363fb6907872",
|
|
2778
2793
|
"nativeSource": {
|
|
2779
2794
|
"path": "internal/command/receipttrustclass",
|
|
2780
|
-
"canonicalDigest": "sha256:
|
|
2795
|
+
"canonicalDigest": "sha256:22a0a2e7e6f2a657a2da1a4b8ec58be090a7bf26d924b98b78ca91b45208126f",
|
|
2781
2796
|
"evidenceClass": "source_checkout"
|
|
2782
2797
|
},
|
|
2783
2798
|
"nativeOutputWitnessSelector": {
|
|
@@ -3027,7 +3042,7 @@
|
|
|
3027
3042
|
"rootDefinitionDigest": "sha256:525ed9c2b820df9f52dce95442bf48bccfba1368f82e9bf68b92c275cf79b51c",
|
|
3028
3043
|
"nativeSource": {
|
|
3029
3044
|
"path": "internal/command/renderedartifactfreshness",
|
|
3030
|
-
"canonicalDigest": "sha256:
|
|
3045
|
+
"canonicalDigest": "sha256:7782f4cecf9f35b5a5deda9b9fdf76fa485cdddd018d6f08aecd4f13a8cd4342",
|
|
3031
3046
|
"evidenceClass": "source_checkout"
|
|
3032
3047
|
},
|
|
3033
3048
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -3054,7 +3069,7 @@
|
|
|
3054
3069
|
"rootDefinitionDigest": "sha256:99c5af92d1f98744436493c4330c78ed409da2f72be0bb7bb82670cf7fb8fe2f",
|
|
3055
3070
|
"nativeSource": {
|
|
3056
3071
|
"path": "internal/command/renderedartifactfreshness",
|
|
3057
|
-
"canonicalDigest": "sha256:
|
|
3072
|
+
"canonicalDigest": "sha256:7782f4cecf9f35b5a5deda9b9fdf76fa485cdddd018d6f08aecd4f13a8cd4342",
|
|
3058
3073
|
"evidenceClass": "source_checkout"
|
|
3059
3074
|
},
|
|
3060
3075
|
"nativeOutputWitnessSelector": {
|
|
@@ -3326,13 +3341,110 @@
|
|
|
3326
3341
|
"requiredFlags": [
|
|
3327
3342
|
"--view"
|
|
3328
3343
|
],
|
|
3344
|
+
"singleOccurrenceFlags": [
|
|
3345
|
+
"--session-mode",
|
|
3346
|
+
"--session-timeout-seconds"
|
|
3347
|
+
],
|
|
3348
|
+
"flagChoices": {
|
|
3349
|
+
"--host": [
|
|
3350
|
+
"127.0.0.1",
|
|
3351
|
+
"::1"
|
|
3352
|
+
],
|
|
3353
|
+
"--scope": [
|
|
3354
|
+
"graph",
|
|
3355
|
+
"slice"
|
|
3356
|
+
],
|
|
3357
|
+
"--session-mode": [
|
|
3358
|
+
"browse",
|
|
3359
|
+
"one-shot-question"
|
|
3360
|
+
],
|
|
3361
|
+
"--view": [
|
|
3362
|
+
"coverage",
|
|
3363
|
+
"proof",
|
|
3364
|
+
"source",
|
|
3365
|
+
"spec-tree",
|
|
3366
|
+
"workspace"
|
|
3367
|
+
]
|
|
3368
|
+
},
|
|
3369
|
+
"atMostOneOfFlagGroups": [
|
|
3370
|
+
[
|
|
3371
|
+
"--empty-local-environment-policy",
|
|
3372
|
+
"--local-environment-class"
|
|
3373
|
+
]
|
|
3374
|
+
],
|
|
3375
|
+
"flagPresenceRequirements": [
|
|
3376
|
+
{
|
|
3377
|
+
"flag": "--empty-local-environment-policy",
|
|
3378
|
+
"requiredFlagValues": [
|
|
3379
|
+
{
|
|
3380
|
+
"flag": "--view",
|
|
3381
|
+
"value": "proof"
|
|
3382
|
+
}
|
|
3383
|
+
],
|
|
3384
|
+
"requiredFlags": []
|
|
3385
|
+
},
|
|
3386
|
+
{
|
|
3387
|
+
"flag": "--local-environment-class",
|
|
3388
|
+
"requiredFlagValues": [
|
|
3389
|
+
{
|
|
3390
|
+
"flag": "--view",
|
|
3391
|
+
"value": "proof"
|
|
3392
|
+
}
|
|
3393
|
+
],
|
|
3394
|
+
"requiredFlags": []
|
|
3395
|
+
},
|
|
3396
|
+
{
|
|
3397
|
+
"flag": "--open",
|
|
3398
|
+
"requiredFlags": [
|
|
3399
|
+
"--serve"
|
|
3400
|
+
]
|
|
3401
|
+
},
|
|
3402
|
+
{
|
|
3403
|
+
"flag": "--scope",
|
|
3404
|
+
"requiredFlagValues": [
|
|
3405
|
+
{
|
|
3406
|
+
"flag": "--view",
|
|
3407
|
+
"value": "proof"
|
|
3408
|
+
}
|
|
3409
|
+
],
|
|
3410
|
+
"requiredFlags": []
|
|
3411
|
+
},
|
|
3412
|
+
{
|
|
3413
|
+
"flag": "--session-timeout-seconds",
|
|
3414
|
+
"requiredFlagValues": [
|
|
3415
|
+
{
|
|
3416
|
+
"flag": "--session-mode",
|
|
3417
|
+
"value": "one-shot-question"
|
|
3418
|
+
}
|
|
3419
|
+
],
|
|
3420
|
+
"requiredFlags": []
|
|
3421
|
+
}
|
|
3422
|
+
],
|
|
3329
3423
|
"flagValueRequirements": [
|
|
3330
3424
|
{
|
|
3331
3425
|
"flag": "--session-mode",
|
|
3426
|
+
"requiredFlagValues": [
|
|
3427
|
+
{
|
|
3428
|
+
"flag": "--view",
|
|
3429
|
+
"value": "workspace"
|
|
3430
|
+
}
|
|
3431
|
+
],
|
|
3432
|
+
"requiredFlags": [
|
|
3433
|
+
"--serve"
|
|
3434
|
+
],
|
|
3435
|
+
"value": "browse"
|
|
3436
|
+
},
|
|
3437
|
+
{
|
|
3438
|
+
"flag": "--session-mode",
|
|
3439
|
+
"requiredFlagValues": [
|
|
3440
|
+
{
|
|
3441
|
+
"flag": "--view",
|
|
3442
|
+
"value": "workspace"
|
|
3443
|
+
}
|
|
3444
|
+
],
|
|
3332
3445
|
"requiredFlags": [
|
|
3333
3446
|
"--open",
|
|
3334
|
-
"--serve"
|
|
3335
|
-
"--view"
|
|
3447
|
+
"--serve"
|
|
3336
3448
|
],
|
|
3337
3449
|
"value": "one-shot-question"
|
|
3338
3450
|
}
|
|
@@ -3370,7 +3482,7 @@
|
|
|
3370
3482
|
"rootDefinitionDigest": "sha256:50a7bb1b477b6067d410cf22db7e7564a9742aa7f6a270642149d372f0156007",
|
|
3371
3483
|
"nativeSource": {
|
|
3372
3484
|
"path": "internal/command/requirementbrowser",
|
|
3373
|
-
"canonicalDigest": "sha256:
|
|
3485
|
+
"canonicalDigest": "sha256:df4d6ca7f6f08342e48e44dad7cfbbcb25869c039814efd875e6435b4aeefa33",
|
|
3374
3486
|
"evidenceClass": "source_checkout"
|
|
3375
3487
|
},
|
|
3376
3488
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -3407,7 +3519,7 @@
|
|
|
3407
3519
|
"rootDefinitionDigest": "sha256:c2e7d851c7928560d4267fe85ebc0ae61e33c4c0ef15f7f7b01deb73bb80eda7",
|
|
3408
3520
|
"nativeSource": {
|
|
3409
3521
|
"path": "internal/command/requirementbrowser",
|
|
3410
|
-
"canonicalDigest": "sha256:
|
|
3522
|
+
"canonicalDigest": "sha256:df4d6ca7f6f08342e48e44dad7cfbbcb25869c039814efd875e6435b4aeefa33",
|
|
3411
3523
|
"evidenceClass": "source_checkout"
|
|
3412
3524
|
},
|
|
3413
3525
|
"nativeOutputWitnessSelector": {
|
|
@@ -3454,7 +3566,7 @@
|
|
|
3454
3566
|
"rootDefinitionDigest": "sha256:41bc233c96bd468bc96eeb0447e037cacdbcf92bb04161052303e8747e4282f2",
|
|
3455
3567
|
"nativeSource": {
|
|
3456
3568
|
"path": "internal/command/requirementcontext",
|
|
3457
|
-
"canonicalDigest": "sha256:
|
|
3569
|
+
"canonicalDigest": "sha256:c814fcecb510be1b2fbe1d9911825d29874491e42a7e6e69b55e0f678b332492",
|
|
3458
3570
|
"evidenceClass": "source_checkout"
|
|
3459
3571
|
},
|
|
3460
3572
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -3494,7 +3606,7 @@
|
|
|
3494
3606
|
"rootDefinitionDigest": "sha256:cdadd7b589d682a122cfe2b801f001a3b22a2269aa4977ebe073932d11e1f816",
|
|
3495
3607
|
"nativeSource": {
|
|
3496
3608
|
"path": "internal/command/requirementcontext",
|
|
3497
|
-
"canonicalDigest": "sha256:
|
|
3609
|
+
"canonicalDigest": "sha256:c814fcecb510be1b2fbe1d9911825d29874491e42a7e6e69b55e0f678b332492",
|
|
3498
3610
|
"evidenceClass": "source_checkout"
|
|
3499
3611
|
},
|
|
3500
3612
|
"nativeOutputWitnessSelector": {
|
|
@@ -3541,7 +3653,7 @@
|
|
|
3541
3653
|
"rootDefinitionDigest": "sha256:43852cf1a52b3c1f000ec95e460fbad157a6b6a39958d20f81c9e1e4d31e3c6f",
|
|
3542
3654
|
"nativeSource": {
|
|
3543
3655
|
"path": "internal/command/requirementcontext",
|
|
3544
|
-
"canonicalDigest": "sha256:
|
|
3656
|
+
"canonicalDigest": "sha256:c814fcecb510be1b2fbe1d9911825d29874491e42a7e6e69b55e0f678b332492",
|
|
3545
3657
|
"evidenceClass": "source_checkout"
|
|
3546
3658
|
},
|
|
3547
3659
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -3579,7 +3691,7 @@
|
|
|
3579
3691
|
"rootDefinitionDigest": "sha256:61f7fd43e2e9da5bde9b61bb86e02cbf337a43c6891ca888c1d42936e5b16456",
|
|
3580
3692
|
"nativeSource": {
|
|
3581
3693
|
"path": "internal/command/requirementcontext",
|
|
3582
|
-
"canonicalDigest": "sha256:
|
|
3694
|
+
"canonicalDigest": "sha256:c814fcecb510be1b2fbe1d9911825d29874491e42a7e6e69b55e0f678b332492",
|
|
3583
3695
|
"evidenceClass": "source_checkout"
|
|
3584
3696
|
},
|
|
3585
3697
|
"nativeOutputWitnessSelector": {
|
|
@@ -3762,6 +3874,9 @@
|
|
|
3762
3874
|
"--input",
|
|
3763
3875
|
"--input-pointer"
|
|
3764
3876
|
],
|
|
3877
|
+
"singleOccurrenceFlags": [
|
|
3878
|
+
"--format"
|
|
3879
|
+
],
|
|
3765
3880
|
"outputContract": {
|
|
3766
3881
|
"contractId": "proofkit.requirement-coverage-view.output.v1",
|
|
3767
3882
|
"schemaVersion": 1,
|
|
@@ -3805,7 +3920,7 @@
|
|
|
3805
3920
|
"rootDefinitionDigest": "sha256:697d24d12d4772b67283f24da2f265372de241bd4741ac23f7b984ca96023818",
|
|
3806
3921
|
"nativeSource": {
|
|
3807
3922
|
"path": "internal/command/requirementcoverageview",
|
|
3808
|
-
"canonicalDigest": "sha256:
|
|
3923
|
+
"canonicalDigest": "sha256:c2a999a43db2e7b9ed65a599865bd291c7a0a4daf64973aefb40e684dee34c5a",
|
|
3809
3924
|
"evidenceClass": "source_checkout"
|
|
3810
3925
|
},
|
|
3811
3926
|
"nativeOutputWitnessSelector": {
|
|
@@ -3838,7 +3953,7 @@
|
|
|
3838
3953
|
"rootDefinitionDigest": "sha256:b5ddab0a55a381f002b39ece0f5727171f7984856e553200bbb62a49821ff6ac",
|
|
3839
3954
|
"nativeSource": {
|
|
3840
3955
|
"path": "internal/command/requirementcoverageview",
|
|
3841
|
-
"canonicalDigest": "sha256:
|
|
3956
|
+
"canonicalDigest": "sha256:c2a999a43db2e7b9ed65a599865bd291c7a0a4daf64973aefb40e684dee34c5a",
|
|
3842
3957
|
"evidenceClass": "source_checkout"
|
|
3843
3958
|
},
|
|
3844
3959
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -3904,7 +4019,7 @@
|
|
|
3904
4019
|
"rootDefinitionDigest": "sha256:9fd57d299d4e76bb3b0bf10f313a8dd9bfd593b8d15fa4844d5e342c4d929ee9",
|
|
3905
4020
|
"nativeSource": {
|
|
3906
4021
|
"path": "internal/command/requirementimpactinput",
|
|
3907
|
-
"canonicalDigest": "sha256:
|
|
4022
|
+
"canonicalDigest": "sha256:f45499ce46858ba03325cc52875b10181d9a190244ca21471b651a122a890636",
|
|
3908
4023
|
"evidenceClass": "source_checkout"
|
|
3909
4024
|
},
|
|
3910
4025
|
"nativeOutputWitnessSelector": {
|
|
@@ -3946,7 +4061,7 @@
|
|
|
3946
4061
|
"rootDefinitionDigest": "sha256:e6af8f427f781395710407a87bfd5fa91a0b3c8aaaee437c2487472a243b22a6",
|
|
3947
4062
|
"nativeSource": {
|
|
3948
4063
|
"path": "internal/command/requirementimpactinput",
|
|
3949
|
-
"canonicalDigest": "sha256:
|
|
4064
|
+
"canonicalDigest": "sha256:f45499ce46858ba03325cc52875b10181d9a190244ca21471b651a122a890636",
|
|
3950
4065
|
"evidenceClass": "source_checkout"
|
|
3951
4066
|
},
|
|
3952
4067
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -4183,6 +4298,9 @@
|
|
|
4183
4298
|
"--local-environment-class",
|
|
4184
4299
|
"--scope"
|
|
4185
4300
|
],
|
|
4301
|
+
"singleOccurrenceFlags": [
|
|
4302
|
+
"--format"
|
|
4303
|
+
],
|
|
4186
4304
|
"inputContract": {
|
|
4187
4305
|
"contractId": "proofkit.requirement-proof-view.input.v1",
|
|
4188
4306
|
"schemaVersion": 1,
|
|
@@ -4192,7 +4310,7 @@
|
|
|
4192
4310
|
"rootDefinitionDigest": "sha256:5aed3bcb99337d4937243d61d1f8ed1b1b358108a7710152221bfd5961a3aeb7",
|
|
4193
4311
|
"nativeSource": {
|
|
4194
4312
|
"path": "internal/command/requirementproofview",
|
|
4195
|
-
"canonicalDigest": "sha256:
|
|
4313
|
+
"canonicalDigest": "sha256:ab2902ef8c5bc19d8d084b8fa355dbab09cae61eecf6bbe6946d882b73f9b687",
|
|
4196
4314
|
"evidenceClass": "source_checkout"
|
|
4197
4315
|
},
|
|
4198
4316
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -4219,7 +4337,7 @@
|
|
|
4219
4337
|
"rootDefinitionDigest": "sha256:d1da2a4593aa2f4a1531e1a5be8e3bc877a5ff45f978b7f39a0bf708b01cb564",
|
|
4220
4338
|
"nativeSource": {
|
|
4221
4339
|
"path": "internal/command/requirementproofview",
|
|
4222
|
-
"canonicalDigest": "sha256:
|
|
4340
|
+
"canonicalDigest": "sha256:ab2902ef8c5bc19d8d084b8fa355dbab09cae61eecf6bbe6946d882b73f9b687",
|
|
4223
4341
|
"evidenceClass": "source_checkout"
|
|
4224
4342
|
},
|
|
4225
4343
|
"nativeOutputWitnessSelector": {
|
|
@@ -4260,7 +4378,7 @@
|
|
|
4260
4378
|
"rootDefinitionDigest": "sha256:1f30133908a40c16f8ed236725e36b1999fc125f1450efa1c28264c42e6c8a63",
|
|
4261
4379
|
"nativeSource": {
|
|
4262
4380
|
"path": "internal/command/requirementdiff",
|
|
4263
|
-
"canonicalDigest": "sha256:
|
|
4381
|
+
"canonicalDigest": "sha256:49fb852dd5b80784635165f0c02a8c8d2f275b00a261f1220c60eb3a648b03fa",
|
|
4264
4382
|
"evidenceClass": "source_checkout"
|
|
4265
4383
|
},
|
|
4266
4384
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -4298,7 +4416,7 @@
|
|
|
4298
4416
|
"rootDefinitionDigest": "sha256:abe2eda1ca5496bd33cd659a419a46d7b69a2b8cc50203c7ba6acd31625b760f",
|
|
4299
4417
|
"nativeSource": {
|
|
4300
4418
|
"path": "internal/command/requirementdiff",
|
|
4301
|
-
"canonicalDigest": "sha256:
|
|
4419
|
+
"canonicalDigest": "sha256:49fb852dd5b80784635165f0c02a8c8d2f275b00a261f1220c60eb3a648b03fa",
|
|
4302
4420
|
"evidenceClass": "source_checkout"
|
|
4303
4421
|
},
|
|
4304
4422
|
"nativeOutputWitnessSelector": {
|
|
@@ -4478,6 +4596,9 @@
|
|
|
4478
4596
|
"--input",
|
|
4479
4597
|
"--input-pointer"
|
|
4480
4598
|
],
|
|
4599
|
+
"singleOccurrenceFlags": [
|
|
4600
|
+
"--format"
|
|
4601
|
+
],
|
|
4481
4602
|
"inputContract": {
|
|
4482
4603
|
"contractId": "proofkit.requirement-source-view.input.v1",
|
|
4483
4604
|
"schemaVersion": 1,
|
|
@@ -4683,6 +4804,9 @@
|
|
|
4683
4804
|
"--input-pointer",
|
|
4684
4805
|
"--output"
|
|
4685
4806
|
],
|
|
4807
|
+
"singleOccurrenceFlags": [
|
|
4808
|
+
"--format"
|
|
4809
|
+
],
|
|
4686
4810
|
"outputContract": {
|
|
4687
4811
|
"contractId": "proofkit.requirement-spec-tree-view.output.v2",
|
|
4688
4812
|
"schemaVersion": 2,
|
|
@@ -4755,7 +4879,7 @@
|
|
|
4755
4879
|
"rootDefinitionDigest": "sha256:6487ff537380d1cbffe5a72b9688e9ce6baffa218e76f8dbbfe8f50d14509219",
|
|
4756
4880
|
"nativeSource": {
|
|
4757
4881
|
"path": "internal/command/requirementgraph",
|
|
4758
|
-
"canonicalDigest": "sha256:
|
|
4882
|
+
"canonicalDigest": "sha256:330cc4ceef881c5ad8cfac76c0c9876ed65e897d5ffe631e01c8625d35b09fa3",
|
|
4759
4883
|
"evidenceClass": "source_checkout"
|
|
4760
4884
|
},
|
|
4761
4885
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -4793,7 +4917,7 @@
|
|
|
4793
4917
|
"rootDefinitionDigest": "sha256:37d07abc4d9122176ffab9842b5d85fbfdbe068ee9e4097da8fc21206aae1d47",
|
|
4794
4918
|
"nativeSource": {
|
|
4795
4919
|
"path": "internal/command/requirementgraph",
|
|
4796
|
-
"canonicalDigest": "sha256:
|
|
4920
|
+
"canonicalDigest": "sha256:330cc4ceef881c5ad8cfac76c0c9876ed65e897d5ffe631e01c8625d35b09fa3",
|
|
4797
4921
|
"evidenceClass": "source_checkout"
|
|
4798
4922
|
},
|
|
4799
4923
|
"nativeOutputWitnessSelector": {
|
|
@@ -5017,7 +5141,7 @@
|
|
|
5017
5141
|
"rootDefinitionDigest": "sha256:6df7c84b104a318b2f6b04b662c3dfb54b16f4fb339cfb5f0ba6ee56485fae8f",
|
|
5018
5142
|
"nativeSource": {
|
|
5019
5143
|
"path": "internal/command/secretscan",
|
|
5020
|
-
"canonicalDigest": "sha256:
|
|
5144
|
+
"canonicalDigest": "sha256:e5eb7dfbbb78c1d964cdc374e2ea43e201cd54b5cae18016ad7a00182cbb01cb",
|
|
5021
5145
|
"evidenceClass": "source_checkout"
|
|
5022
5146
|
},
|
|
5023
5147
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -5059,7 +5183,7 @@
|
|
|
5059
5183
|
"rootDefinitionDigest": "sha256:e4113bfd0c2affe54c8f231ca280a405ba24adfb5e219ad548bd5c175c3d5f54",
|
|
5060
5184
|
"nativeSource": {
|
|
5061
5185
|
"path": "internal/command/secretscan",
|
|
5062
|
-
"canonicalDigest": "sha256:
|
|
5186
|
+
"canonicalDigest": "sha256:e5eb7dfbbb78c1d964cdc374e2ea43e201cd54b5cae18016ad7a00182cbb01cb",
|
|
5063
5187
|
"evidenceClass": "source_checkout"
|
|
5064
5188
|
},
|
|
5065
5189
|
"nativeOutputWitnessSelector": {
|
|
@@ -5102,7 +5226,7 @@
|
|
|
5102
5226
|
"rootDefinitionDigest": "sha256:0615e61b546c079fa662e7a83e5472bdc137eceafd42700dcfa9e78c8c5397b0",
|
|
5103
5227
|
"nativeSource": {
|
|
5104
5228
|
"path": "internal/command/selectivegateevidence",
|
|
5105
|
-
"canonicalDigest": "sha256:
|
|
5229
|
+
"canonicalDigest": "sha256:eb23cea0bb22b585f9441504278db2291ea49a12cc3118ed0a1d5f0f5eb59978",
|
|
5106
5230
|
"evidenceClass": "source_checkout"
|
|
5107
5231
|
},
|
|
5108
5232
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -5130,7 +5254,7 @@
|
|
|
5130
5254
|
"rootDefinitionDigest": "sha256:8b8537b08340434bcb6c91fc446d8bf7aaa782e8e88763a31aa19720bf49a113",
|
|
5131
5255
|
"nativeSource": {
|
|
5132
5256
|
"path": "internal/command/selectivegateevidence",
|
|
5133
|
-
"canonicalDigest": "sha256:
|
|
5257
|
+
"canonicalDigest": "sha256:eb23cea0bb22b585f9441504278db2291ea49a12cc3118ed0a1d5f0f5eb59978",
|
|
5134
5258
|
"evidenceClass": "source_checkout"
|
|
5135
5259
|
},
|
|
5136
5260
|
"nativeOutputWitnessSelector": {
|
|
@@ -5172,7 +5296,7 @@
|
|
|
5172
5296
|
"rootDefinitionDigest": "sha256:394c4523f385351794db259b7a7d365d0852ee22ec38695b1336f6559f823a15",
|
|
5173
5297
|
"nativeSource": {
|
|
5174
5298
|
"path": "internal/command/selectivegateevidence",
|
|
5175
|
-
"canonicalDigest": "sha256:
|
|
5299
|
+
"canonicalDigest": "sha256:eb23cea0bb22b585f9441504278db2291ea49a12cc3118ed0a1d5f0f5eb59978",
|
|
5176
5300
|
"evidenceClass": "source_checkout"
|
|
5177
5301
|
},
|
|
5178
5302
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -5200,7 +5324,7 @@
|
|
|
5200
5324
|
"rootDefinitionDigest": "sha256:f4c5b8430047a0a9c19d6c180bdf8b20b1980519dbdbf18e05870ebe5ea51942",
|
|
5201
5325
|
"nativeSource": {
|
|
5202
5326
|
"path": "internal/command/selectivegateevidence",
|
|
5203
|
-
"canonicalDigest": "sha256:
|
|
5327
|
+
"canonicalDigest": "sha256:eb23cea0bb22b585f9441504278db2291ea49a12cc3118ed0a1d5f0f5eb59978",
|
|
5204
5328
|
"evidenceClass": "source_checkout"
|
|
5205
5329
|
},
|
|
5206
5330
|
"nativeOutputWitnessSelector": {
|
|
@@ -5341,7 +5465,7 @@
|
|
|
5341
5465
|
"rootDefinitionDigest": "sha256:3c842174dff5361e7f83166469b832805e05aa314b073c16234b5b64e346281e",
|
|
5342
5466
|
"nativeSource": {
|
|
5343
5467
|
"path": "internal/app",
|
|
5344
|
-
"canonicalDigest": "sha256:
|
|
5468
|
+
"canonicalDigest": "sha256:0bea47d33304e528ffbe087688ea2dee07cf42e55632eda3b479732e221841d9",
|
|
5345
5469
|
"evidenceClass": "source_checkout"
|
|
5346
5470
|
},
|
|
5347
5471
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -5370,7 +5494,7 @@
|
|
|
5370
5494
|
"rootDefinitionDigest": "sha256:0ea95e277ebe44cd2de42c29b47c38686ac0b6b390d8965367437b3fe138e209",
|
|
5371
5495
|
"nativeSource": {
|
|
5372
5496
|
"path": "internal/app",
|
|
5373
|
-
"canonicalDigest": "sha256:
|
|
5497
|
+
"canonicalDigest": "sha256:0bea47d33304e528ffbe087688ea2dee07cf42e55632eda3b479732e221841d9",
|
|
5374
5498
|
"evidenceClass": "source_checkout"
|
|
5375
5499
|
},
|
|
5376
5500
|
"nativeOutputWitnessSelector": {
|
|
@@ -5544,6 +5668,16 @@
|
|
|
5544
5668
|
"requiredFlags": [
|
|
5545
5669
|
"--preset"
|
|
5546
5670
|
],
|
|
5671
|
+
"flagChoices": {
|
|
5672
|
+
"--preset": [
|
|
5673
|
+
"agentic_runtime_repo",
|
|
5674
|
+
"generated_docs_contract_repo",
|
|
5675
|
+
"python_service",
|
|
5676
|
+
"python_typescript_service",
|
|
5677
|
+
"typescript_monorepo",
|
|
5678
|
+
"typescript_workspace"
|
|
5679
|
+
]
|
|
5680
|
+
},
|
|
5547
5681
|
"outputContract": {
|
|
5548
5682
|
"contractId": "proofkit.stack-preset.output.v1",
|
|
5549
5683
|
"schemaVersion": 1,
|
|
@@ -5851,7 +5985,7 @@
|
|
|
5851
5985
|
"rootDefinitionDigest": "sha256:af1e6196ddee9ee4262ca14c9cca1451c89241ebeef177af4a12be866b088f9a",
|
|
5852
5986
|
"nativeSource": {
|
|
5853
5987
|
"path": "internal/command/textpolicy",
|
|
5854
|
-
"canonicalDigest": "sha256:
|
|
5988
|
+
"canonicalDigest": "sha256:7b46a4a0372f3ecd5a9ae7c42a0ba0200d436834cfcdfa8a2d4860be0d8f78d6",
|
|
5855
5989
|
"evidenceClass": "source_checkout"
|
|
5856
5990
|
},
|
|
5857
5991
|
"nativeAdmissionWitnessSelector": {
|
|
@@ -5878,7 +6012,7 @@
|
|
|
5878
6012
|
"rootDefinitionDigest": "sha256:a47795a1a72dcece9e3e513c8d33829fed187a959450d1ce007697a434b26df1",
|
|
5879
6013
|
"nativeSource": {
|
|
5880
6014
|
"path": "internal/command/textpolicy",
|
|
5881
|
-
"canonicalDigest": "sha256:
|
|
6015
|
+
"canonicalDigest": "sha256:7b46a4a0372f3ecd5a9ae7c42a0ba0200d436834cfcdfa8a2d4860be0d8f78d6",
|
|
5882
6016
|
"evidenceClass": "source_checkout"
|
|
5883
6017
|
},
|
|
5884
6018
|
"nativeOutputWitnessSelector": {
|
|
@@ -602,7 +602,7 @@
|
|
|
602
602
|
"specPath": "docs/specs/proofkit-supply-chain-quality/requirements.v1.json",
|
|
603
603
|
"claimLevel": "blocking",
|
|
604
604
|
"proofState": "witness_backed",
|
|
605
|
-
"nonClaims": ["This requirement does not infer change-record completeness from source changes, make release notes approval authority, or prove provider publication, attestation authenticity, consumer adoption, rollout approval, or production readiness."]
|
|
605
|
+
"nonClaims": ["This requirement does not infer change-record completeness from source changes, reconstruct release-history migration data before the declared support baseline, claim a cumulative release-history planner, make release notes approval authority, or prove provider publication, attestation authenticity, consumer adoption, rollout approval, or production readiness."]
|
|
606
606
|
},
|
|
607
607
|
{
|
|
608
608
|
"requirementId": "REQ-PROOFKIT-QUALITY-025",
|
|
@@ -1035,6 +1035,10 @@
|
|
|
1035
1035
|
{
|
|
1036
1036
|
"selector": "TestReceiptIDKeepsLocalAndCIIdentitiesDistinct",
|
|
1037
1037
|
"command": "go test ./scripts -run '^TestReceiptIDKeepsLocalAndCIIdentitiesDistinct$'"
|
|
1038
|
+
},
|
|
1039
|
+
{
|
|
1040
|
+
"selector": "TestRunInvokesEveryRequiredSelfHostingAdmissionBoundary",
|
|
1041
|
+
"command": "go test ./scripts -run '^TestRunInvokesEveryRequiredSelfHostingAdmissionBoundary$'"
|
|
1038
1042
|
}
|
|
1039
1043
|
],
|
|
1040
1044
|
"commandIds": [
|
|
@@ -1469,12 +1473,37 @@
|
|
|
1469
1473
|
"local-go"
|
|
1470
1474
|
]
|
|
1471
1475
|
},
|
|
1476
|
+
{
|
|
1477
|
+
"requirementId": "REQ-PROOFKIT-SPEC-007",
|
|
1478
|
+
"scenarioId": "proofkit.spec-proof-core.canonical-command-input-admission",
|
|
1479
|
+
"witnessId": "proofkit.app.required-input-command-admission",
|
|
1480
|
+
"witnessKind": "contract",
|
|
1481
|
+
"witnessPath": "internal/app/command_coverage_test.go",
|
|
1482
|
+
"witnessSelectors": [
|
|
1483
|
+
{
|
|
1484
|
+
"selector": "TestRequiredInputCommandsRejectMalformedCallerRecords",
|
|
1485
|
+
"command": "go test ./internal/app -run '^TestRequiredInputCommandsRejectMalformedCallerRecords$'"
|
|
1486
|
+
}
|
|
1487
|
+
],
|
|
1488
|
+
"commandIds": [
|
|
1489
|
+
"proofkit.go-test"
|
|
1490
|
+
],
|
|
1491
|
+
"environmentClasses": [
|
|
1492
|
+
"local-go"
|
|
1493
|
+
]
|
|
1494
|
+
},
|
|
1472
1495
|
{
|
|
1473
1496
|
"requirementId": "REQ-PROOFKIT-SPEC-007",
|
|
1474
1497
|
"scenarioId": "proofkit.spec-proof-core.canonical-input-admission",
|
|
1475
1498
|
"witnessId": "proofkit.admission.decode-typed-json-canonical-record",
|
|
1476
1499
|
"witnessKind": "contract",
|
|
1477
1500
|
"witnessPath": "internal/kernel/admission/json_test.go",
|
|
1501
|
+
"witnessSelectors": [
|
|
1502
|
+
{
|
|
1503
|
+
"selector": "TestDecodeTypedJSONUsesStrictAdmission",
|
|
1504
|
+
"command": "go test ./internal/kernel/admission -run '^TestDecodeTypedJSONUsesStrictAdmission$'"
|
|
1505
|
+
}
|
|
1506
|
+
],
|
|
1478
1507
|
"commandIds": [
|
|
1479
1508
|
"proofkit.go-test"
|
|
1480
1509
|
],
|
|
@@ -1701,6 +1730,12 @@
|
|
|
1701
1730
|
"witnessId": "proofkit.receipt-trust-status-vocabulary.command-admission",
|
|
1702
1731
|
"witnessKind": "contract",
|
|
1703
1732
|
"witnessPath": "internal/command/receipttrustclass/receipt_trust_class_test.go",
|
|
1733
|
+
"witnessSelectors": [
|
|
1734
|
+
{
|
|
1735
|
+
"selector": "TestBuildRejectsHigherRankThatWeakensMinimumTrustSemantics",
|
|
1736
|
+
"command": "go test ./internal/command/receipttrustclass -run '^TestBuildRejectsHigherRankThatWeakensMinimumTrustSemantics$'"
|
|
1737
|
+
}
|
|
1738
|
+
],
|
|
1704
1739
|
"commandIds": [
|
|
1705
1740
|
"proofkit.go-test"
|
|
1706
1741
|
],
|
|
@@ -2243,6 +2278,10 @@
|
|
|
2243
2278
|
"selector": "TestBindingWitnessSelectorsRejectNonTestAndBuildExcludedFiles",
|
|
2244
2279
|
"command": "go test ./internal/tools/coveragemetrics -run '^TestBindingWitnessSelectorsRejectNonTestAndBuildExcludedFiles$'"
|
|
2245
2280
|
},
|
|
2281
|
+
{
|
|
2282
|
+
"selector": "TestBindingWitnessSelectorsRejectVacuousTestBody",
|
|
2283
|
+
"command": "go test ./internal/tools/coveragemetrics -run '^TestBindingWitnessSelectorsRejectVacuousTestBody$'"
|
|
2284
|
+
},
|
|
2246
2285
|
{
|
|
2247
2286
|
"selector": "TestBindingWitnessSelectorsRequireExactCriticalInventories",
|
|
2248
2287
|
"command": "go test ./internal/tools/coveragemetrics -run '^TestBindingWitnessSelectorsRequireExactCriticalInventories$'"
|
|
@@ -2790,11 +2829,21 @@
|
|
|
2790
2829
|
]
|
|
2791
2830
|
},
|
|
2792
2831
|
{
|
|
2793
|
-
"requirementId": "REQ-PROOFKIT-QUALITY-
|
|
2832
|
+
"requirementId": "REQ-PROOFKIT-QUALITY-024",
|
|
2794
2833
|
"scenarioId": "proofkit.supply-chain-quality.release-manifest-json-abi-registry-evidence",
|
|
2795
2834
|
"witnessId": "proofkit.release-manifest.json-abi-registry-evidence",
|
|
2796
2835
|
"witnessKind": "contract",
|
|
2797
2836
|
"witnessPath": "internal/tools/releasemanifest/main_test.go",
|
|
2837
|
+
"witnessSelectors": [
|
|
2838
|
+
{
|
|
2839
|
+
"selector": "TestNPMRegistryPublicationRequiresTypedAuthorityEvidence",
|
|
2840
|
+
"command": "go test ./internal/tools/releasemanifest -run '^TestNPMRegistryPublicationRequiresTypedAuthorityEvidence$'"
|
|
2841
|
+
},
|
|
2842
|
+
{
|
|
2843
|
+
"selector": "TestNPMRegistryAuthorityFlowsFromAdmittedFileToPublishedChannel",
|
|
2844
|
+
"command": "go test ./internal/tools/releasemanifest -run '^TestNPMRegistryAuthorityFlowsFromAdmittedFileToPublishedChannel$'"
|
|
2845
|
+
}
|
|
2846
|
+
],
|
|
2798
2847
|
"commandIds": [
|
|
2799
2848
|
"proofkit.go-test",
|
|
2800
2849
|
"proofkit.package-artifact"
|
|
@@ -2804,6 +2853,51 @@
|
|
|
2804
2853
|
"local-go-python"
|
|
2805
2854
|
]
|
|
2806
2855
|
},
|
|
2856
|
+
{
|
|
2857
|
+
"requirementId": "REQ-PROOFKIT-QUALITY-024",
|
|
2858
|
+
"scenarioId": "proofkit.supply-chain-quality.npm-registry-authority-producer",
|
|
2859
|
+
"witnessId": "proofkit.npm-registry.authority-producer",
|
|
2860
|
+
"witnessKind": "contract",
|
|
2861
|
+
"witnessPath": "internal/tools/npmregistry/main_test.go",
|
|
2862
|
+
"witnessSelectors": [
|
|
2863
|
+
{
|
|
2864
|
+
"selector": "TestRunBuildsCanonicalTypedRegistryEvidence",
|
|
2865
|
+
"command": "go test ./internal/tools/npmregistry -run '^TestRunBuildsCanonicalTypedRegistryEvidence$'"
|
|
2866
|
+
},
|
|
2867
|
+
{
|
|
2868
|
+
"selector": "TestRunRejectsRegistryPackageSetSubstitution",
|
|
2869
|
+
"command": "go test ./internal/tools/npmregistry -run '^TestRunRejectsRegistryPackageSetSubstitution$'"
|
|
2870
|
+
}
|
|
2871
|
+
],
|
|
2872
|
+
"commandIds": [
|
|
2873
|
+
"proofkit.go-test",
|
|
2874
|
+
"proofkit.package-artifact"
|
|
2875
|
+
],
|
|
2876
|
+
"environmentClasses": [
|
|
2877
|
+
"local-go",
|
|
2878
|
+
"local-go-python"
|
|
2879
|
+
]
|
|
2880
|
+
},
|
|
2881
|
+
{
|
|
2882
|
+
"requirementId": "REQ-PROOFKIT-QUALITY-024",
|
|
2883
|
+
"scenarioId": "proofkit.supply-chain-quality.npm-registry-workflow-delegation",
|
|
2884
|
+
"witnessId": "proofkit.release-workflow.npm-registry-owner-delegation",
|
|
2885
|
+
"witnessKind": "contract",
|
|
2886
|
+
"witnessPath": "scripts/validate-self-hosting-receipts_test.go",
|
|
2887
|
+
"witnessSelectors": [
|
|
2888
|
+
{
|
|
2889
|
+
"selector": "TestReleaseWorkflowDelegatesNPMRegistryEvidenceToRepositoryOwner",
|
|
2890
|
+
"command": "go test ./scripts -run '^TestReleaseWorkflowDelegatesNPMRegistryEvidenceToRepositoryOwner$'"
|
|
2891
|
+
}
|
|
2892
|
+
],
|
|
2893
|
+
"commandIds": [
|
|
2894
|
+
"proofkit.actionlint",
|
|
2895
|
+
"proofkit.go-test"
|
|
2896
|
+
],
|
|
2897
|
+
"environmentClasses": [
|
|
2898
|
+
"local-go"
|
|
2899
|
+
]
|
|
2900
|
+
},
|
|
2807
2901
|
{
|
|
2808
2902
|
"requirementId": "REQ-PROOFKIT-QUALITY-003",
|
|
2809
2903
|
"scenarioId": "proofkit.supply-chain-quality.fuzz-property-boundaries",
|
|
@@ -2837,6 +2931,10 @@
|
|
|
2837
2931
|
"witnessKind": "contract",
|
|
2838
2932
|
"witnessPath": "scripts/workflow_security_scanner_oracles_test.go",
|
|
2839
2933
|
"witnessSelectors": [
|
|
2934
|
+
{
|
|
2935
|
+
"selector": "TestOSVSourceScanFailsForEveryNonzeroScannerStatus",
|
|
2936
|
+
"command": "go test ./scripts -run '^TestOSVSourceScanFailsForEveryNonzeroScannerStatus$'"
|
|
2937
|
+
},
|
|
2840
2938
|
{
|
|
2841
2939
|
"selector": "TestSecurityScannerWorkflowsSeparateProviderPublicationPermissions",
|
|
2842
2940
|
"command": "go test ./scripts -run '^TestSecurityScannerWorkflowsSeparateProviderPublicationPermissions$'"
|
|
@@ -2853,16 +2951,48 @@
|
|
|
2853
2951
|
{
|
|
2854
2952
|
"requirementId": "REQ-PROOFKIT-QUALITY-001",
|
|
2855
2953
|
"scenarioId": "proofkit.supply-chain-quality.release-attestation-wiring",
|
|
2856
|
-
"witnessId": "proofkit.release-workflow.attestation-wiring",
|
|
2857
|
-
"witnessKind": "
|
|
2858
|
-
"witnessPath": "
|
|
2954
|
+
"witnessId": "proofkit.release-workflow.attestation-and-retention-wiring",
|
|
2955
|
+
"witnessKind": "contract",
|
|
2956
|
+
"witnessPath": "scripts/validate-self-hosting-receipts_test.go",
|
|
2957
|
+
"witnessSelectors": [
|
|
2958
|
+
{
|
|
2959
|
+
"selector": "TestReleaseWorkflowRetainsReleaseAssetAndPostCreateEvidenceClosure",
|
|
2960
|
+
"command": "go test ./scripts -run '^TestReleaseWorkflowRetainsReleaseAssetAndPostCreateEvidenceClosure$'"
|
|
2961
|
+
}
|
|
2962
|
+
],
|
|
2859
2963
|
"commandIds": [
|
|
2860
|
-
"proofkit.actionlint"
|
|
2964
|
+
"proofkit.actionlint",
|
|
2965
|
+
"proofkit.go-test"
|
|
2861
2966
|
],
|
|
2862
2967
|
"environmentClasses": [
|
|
2863
2968
|
"local-go"
|
|
2864
2969
|
]
|
|
2865
2970
|
},
|
|
2971
|
+
{
|
|
2972
|
+
"requirementId": "REQ-PROOFKIT-QUALITY-001",
|
|
2973
|
+
"scenarioId": "proofkit.supply-chain-quality.retained-evidence-manifest",
|
|
2974
|
+
"witnessId": "proofkit.retained-evidence.downloadable-topology",
|
|
2975
|
+
"witnessKind": "contract",
|
|
2976
|
+
"witnessPath": "internal/tools/retainedevidence/manifest_test.go",
|
|
2977
|
+
"witnessSelectors": [
|
|
2978
|
+
{
|
|
2979
|
+
"selector": "TestManifestRejectsUnboundAttestationAndSymlink",
|
|
2980
|
+
"command": "go test ./internal/tools/retainedevidence -run '^TestManifestRejectsUnboundAttestationAndSymlink$'"
|
|
2981
|
+
},
|
|
2982
|
+
{
|
|
2983
|
+
"selector": "TestManifestUsesDownloadableArtifactPaths",
|
|
2984
|
+
"command": "go test ./internal/tools/retainedevidence -run '^TestManifestUsesDownloadableArtifactPaths$'"
|
|
2985
|
+
}
|
|
2986
|
+
],
|
|
2987
|
+
"commandIds": [
|
|
2988
|
+
"proofkit.go-test",
|
|
2989
|
+
"proofkit.package-artifact"
|
|
2990
|
+
],
|
|
2991
|
+
"environmentClasses": [
|
|
2992
|
+
"local-go",
|
|
2993
|
+
"local-go-python"
|
|
2994
|
+
]
|
|
2995
|
+
},
|
|
2866
2996
|
{
|
|
2867
2997
|
"requirementId": "REQ-PROOFKIT-QUALITY-002",
|
|
2868
2998
|
"scenarioId": "proofkit.supply-chain-quality.release-sbom",
|
|
@@ -3144,6 +3274,12 @@
|
|
|
3144
3274
|
"witnessId": "proofkit.retained-evidence.download-layout-falsifier",
|
|
3145
3275
|
"witnessKind": "contract",
|
|
3146
3276
|
"witnessPath": "internal/tools/retainedevidence/manifest_test.go",
|
|
3277
|
+
"witnessSelectors": [
|
|
3278
|
+
{
|
|
3279
|
+
"selector": "TestVerifyRejectsManifestAddressDrift",
|
|
3280
|
+
"command": "go test ./internal/tools/retainedevidence -run '^TestVerifyRejectsManifestAddressDrift$'"
|
|
3281
|
+
}
|
|
3282
|
+
],
|
|
3147
3283
|
"commandIds": ["proofkit.go-test"],
|
|
3148
3284
|
"environmentClasses": ["local-go"]
|
|
3149
3285
|
},
|
|
@@ -3153,6 +3289,46 @@
|
|
|
3153
3289
|
"witnessId": "proofkit.release-closeout.change-record-falsifier",
|
|
3154
3290
|
"witnessKind": "contract",
|
|
3155
3291
|
"witnessPath": "internal/tools/releasecloseoutinput/main_test.go",
|
|
3292
|
+
"witnessSelectors": [
|
|
3293
|
+
{
|
|
3294
|
+
"selector": "TestBuildInputFailsClosedForEachBlockingEvidenceClass",
|
|
3295
|
+
"command": "go test ./internal/tools/releasecloseoutinput -run '^TestBuildInputFailsClosedForEachBlockingEvidenceClass$'"
|
|
3296
|
+
}
|
|
3297
|
+
],
|
|
3298
|
+
"commandIds": ["proofkit.go-test"],
|
|
3299
|
+
"environmentClasses": ["local-go"]
|
|
3300
|
+
},
|
|
3301
|
+
{
|
|
3302
|
+
"requirementId": "REQ-PROOFKIT-QUALITY-024",
|
|
3303
|
+
"scenarioId": "proofkit.supply-chain-quality.release-predecessor-lineage",
|
|
3304
|
+
"witnessId": "proofkit.release-preflight.predecessor-lineage-falsifier",
|
|
3305
|
+
"witnessKind": "contract",
|
|
3306
|
+
"witnessPath": "internal/tools/releasepreflight/main_test.go",
|
|
3307
|
+
"witnessSelectors": [
|
|
3308
|
+
{
|
|
3309
|
+
"selector": "TestValidateNPMReleaseLineage",
|
|
3310
|
+
"command": "go test ./internal/tools/releasepreflight -run '^TestValidateNPMReleaseLineage$'"
|
|
3311
|
+
},
|
|
3312
|
+
{
|
|
3313
|
+
"selector": "TestRunNPMLineageUsesAdmittedRecordAndProviderIdentity",
|
|
3314
|
+
"command": "go test ./internal/tools/releasepreflight -run '^TestRunNPMLineageUsesAdmittedRecordAndProviderIdentity$'"
|
|
3315
|
+
}
|
|
3316
|
+
],
|
|
3317
|
+
"commandIds": ["proofkit.go-test"],
|
|
3318
|
+
"environmentClasses": ["local-go"]
|
|
3319
|
+
},
|
|
3320
|
+
{
|
|
3321
|
+
"requirementId": "REQ-PROOFKIT-QUALITY-024",
|
|
3322
|
+
"scenarioId": "proofkit.supply-chain-quality.release-predecessor-lineage-workflow",
|
|
3323
|
+
"witnessId": "proofkit.release-workflow.predecessor-lineage-oracle",
|
|
3324
|
+
"witnessKind": "contract",
|
|
3325
|
+
"witnessPath": "scripts/validate-self-hosting-receipts_test.go",
|
|
3326
|
+
"witnessSelectors": [
|
|
3327
|
+
{
|
|
3328
|
+
"selector": "TestReleaseWorkflowCandidateEvidenceAllowsExistingNPMByteMatch",
|
|
3329
|
+
"command": "go test ./scripts -run '^TestReleaseWorkflowCandidateEvidenceAllowsExistingNPMByteMatch$'"
|
|
3330
|
+
}
|
|
3331
|
+
],
|
|
3156
3332
|
"commandIds": ["proofkit.go-test"],
|
|
3157
3333
|
"environmentClasses": ["local-go"]
|
|
3158
3334
|
},
|