@research-engineering/agentic-proofkit 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/platform/darwin-arm64/agentic-proofkit +0 -0
- package/dist/platform/darwin-x64/agentic-proofkit +0 -0
- package/dist/platform/linux-arm64/agentic-proofkit +0 -0
- package/dist/platform/linux-x64/agentic-proofkit +0 -0
- package/docs/proofkit-contract-map.md +5 -3
- package/docs/release-process.md +10 -1
- package/docs/specs/proofkit-agent-workflow/overview.md +86 -0
- package/docs/specs/proofkit-agent-workflow/requirements.v1.json +157 -0
- package/docs/specs/proofkit-spec-proof-core/overview.md +29 -16
- package/docs/specs/proofkit-spec-proof-core/requirements.v1.json +18 -5
- package/docs/specs/proofkit-supply-chain-quality/overview.md +41 -19
- package/docs/specs/proofkit-supply-chain-quality/requirements.v1.json +30 -4
- package/package.json +2 -2
- package/proofkit/cli-contract.v2.json +709 -249
- package/proofkit/command-families.v1.json +9 -0
- package/proofkit/requirement-bindings.json +1241 -14
- package/proofkit/witness-plan.json +12 -0
|
@@ -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,
|
|
132
|
+
"invariant": "Coverage metrics report requirement, binding, witness, CLI inventory linkage, descriptor-owned command proof-route candidates, and a separate execution-backed command-oracle ledger. The ledger must bind every candidate commandRef, selector, concrete negative case, falsification event, assertion oracle, expected public outcome, and owner invariant to one immutable exact-file materialized source snapshot; execute exactly the selected active Go tests through canonically ordered package-scoped argv vectors that cannot select same-named non-candidate tests in another package; require unique package start and pass events, unique test run and pass events, owner-reserved cooperative attributes for every candidate, bounded cancellable subprocesses, and immediate process-group termination on output-limit violation; reject missing, unknown, duplicate, skipped, failed, reordered, context-invalid, spoofed-output, cross-test, source-drift, producer-unreachable candidate projections, and correlated identity substitutions; publish and invalidate local diagnostic and metrics artifacts atomically through repository-confined non-symlink destinations; revalidate current candidate, corpus, runtime, and source identities before and after artifact publication; and fail closed when any public command lacks execution-backed evidence. An independently authored versioned counterfeit corpus must bijectively cover every shipped evidence class, required policy axis, record coordinate, and declared substitution axis with positive controls and checked-in exact expected decisions evaluated through the production admission and lifecycle owners rather than a generated expectation registry. Static route metadata, prose, legacy source markers, test existence, and failure-capable syntax remain proof-route candidates and cannot satisfy the execution-backed closure.",
|
|
133
133
|
"claimLevel": "blocking",
|
|
134
134
|
"riskClass": "medium",
|
|
135
135
|
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
136
136
|
"nonClaimRefs": ["NC-PROOFKIT-QUALITY-010"],
|
|
137
|
-
"nonClaims": ["
|
|
137
|
+
"nonClaims": ["Successful selected tests do not prove assertion-branch execution, mutation adequacy, line coverage, dead-code absence, exhaustive command semantics, malicious-test resistance, producer authentication, receipt freshness, merge satisfaction, or production readiness."],
|
|
138
138
|
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
139
139
|
"deferral": null,
|
|
140
140
|
"updatePolicy": {"reviewOwnerId": "proofkit.supply-chain-quality", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
{
|
|
195
195
|
"requirementId": "REQ-PROOFKIT-QUALITY-015",
|
|
196
196
|
"ownerId": "proofkit.supply-chain-quality",
|
|
197
|
-
"invariant": "The package gate includes an admitted release closeout completion-criteria report that classifies package artifacts, Python wrappers, release manifest, SBOM, channel scope, and self-hosting evidence instead of allowing unit tests alone to satisfy release closeout; coverage-metric re-admission uses overflow-safe relations to require the exact producer projection between admitted entries, routes, route classes, proof-route candidates, the complete command inventory, and commands missing declaration-only routes,
|
|
197
|
+
"invariant": "The package gate includes an admitted release closeout completion-criteria report that classifies package artifacts, Python wrappers, release manifest, SBOM, channel scope, and self-hosting evidence instead of allowing unit tests alone to satisfy release closeout; coverage-metric re-admission rejects candidate-only v1 reports, uses overflow-safe relations to require the exact producer projection between admitted entries, routes, route classes, proof-route candidates, execution-backed command-oracle entries, the complete command inventory, and commands missing declaration-only routes, compares both coverage command projections with the actual cli-contract.v2.json command inventory, and binds the coverage report to a command-oracle diagnostic admitted by its sole owner from one bounded byte read, with the digest computed from those same canonical bytes and matched by candidate-set digest, counterfeit-corpus digest, source revision, and source-snapshot digest. Release closeout additionally revalidates that the diagnostic remains reachable from the current candidate, corpus, runtime, and source owners before admitting it.",
|
|
198
198
|
"claimLevel": "blocking",
|
|
199
199
|
"riskClass": "high",
|
|
200
200
|
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
@@ -298,7 +298,7 @@
|
|
|
298
298
|
{
|
|
299
299
|
"requirementId": "REQ-PROOFKIT-QUALITY-023",
|
|
300
300
|
"ownerId": "proofkit.supply-chain-quality",
|
|
301
|
-
"invariant": "
|
|
301
|
+
"invariant": "Every npm platform-binary tar entry and every Python wheel independently binds its embedded executable bytes to the same release-platform binary, and release metadata generation admits every final npm tarball, wheel, and SBOM exactly once into one bounded regular non-symlink immutable snapshot, derives npm pack SHA-1 and SRI claims, final carrier decoding, direct chunked binary equality, wheel and embedded-binary digests, release checksums, and SBOM-subject checksums only from that epoch, requires every npm pack and Python package-set digest claim to equal those decoded bytes, and revalidates every source identity before metadata persistence without relying on a mutable intermediate dist directory or claimed digests; release closeout independently reopens every declared repository-confined npm tarball and wheel through bounded identity-checked non-symlink handles, recomputes npm SHA-1 and SRI plus both wheel and embedded-binary digests, and rejects unsafe or duplicate archive topology before accepting package evidence; both tar and wheel decoders reject duplicate entry names and require exact release-platform closure; the wheel-set verifier independently rejects version drift, duplicate identities, missing files, and SHA drift; each wheel independently decodes Darwin Mach-O bytes so an advertised macOS platform minimum is never lower than the executable minimum, uses Core Metadata 2.4 License-Expression and License-File fields, carries an exact repository LICENSE copy under the wheel licenses directory, and closes every payload entry through RECORD.",
|
|
302
302
|
"claimLevel": "blocking",
|
|
303
303
|
"riskClass": "critical",
|
|
304
304
|
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
@@ -333,6 +333,32 @@
|
|
|
333
333
|
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
334
334
|
"deferral": null,
|
|
335
335
|
"updatePolicy": {"reviewOwnerId": "proofkit.supply-chain-quality", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"requirementId": "REQ-PROOFKIT-QUALITY-026",
|
|
339
|
+
"ownerId": "proofkit.supply-chain-quality",
|
|
340
|
+
"invariant": "Every repository-owned stable JSON implementation used by a public or retained-evidence path accepts only Unicode 15.0.0 scalar strings, rejecting malformed UTF-8 byte strings and unpaired UTF-16 surrogates as applicable, emits the same deterministic semantic-preserving JSON escapes for the pinned Cc, Cf, Zl, and Zp range table, preserves ordinary decoded values, and remains byte-compatible with one versioned owner-authored literal range corpus whose Go projection is exhaustively checked against the Unicode 15.0.0 category oracle and whose JavaScript and generated TypeScript projections are exhaustively checked over the scalar domain.",
|
|
341
|
+
"claimLevel": "blocking",
|
|
342
|
+
"riskClass": "high",
|
|
343
|
+
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
344
|
+
"nonClaimRefs": ["NC-PROOFKIT-QUALITY-026"],
|
|
345
|
+
"nonClaims": ["This bounded encoding policy does not prove terminal-rendering equivalence or safety of arbitrary downstream decoders."],
|
|
346
|
+
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
347
|
+
"deferral": null,
|
|
348
|
+
"updatePolicy": {"reviewOwnerId": "proofkit.supply-chain-quality", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"requirementId": "REQ-PROOFKIT-QUALITY-027",
|
|
352
|
+
"ownerId": "proofkit.supply-chain-quality",
|
|
353
|
+
"invariant": "Every report-visible diagnostic and structural-text sanitizer accepts only Unicode 15.0.0 scalar strings, recognizes one explicit Unicode whitespace alphabet plus the pinned Cc, Cf, Zl, and Zp range table and contiguous or control-split secret-shaped values through one shared taxonomy, replaces any rejected caller-owned value as a whole with one fixed command-owned label without emitting its bytes, code points, prefix, suffix, or caller-controlled replacement text, and bounds admitted diagnostic projection to 512 Unicode scalars; every Go and JavaScript repository tool entrypoint routes dynamic errors through that owner, failed child-process stderr that enters this diagnostic boundary is captured under a fixed byte limit before whole-value sanitization while successful child stderr is not projected, direct child stderr wiring is rejected, and the installed-carrier smoke adapter bounds stdout, stderr, time, and cleanup; on supported Unix hosts, a successful installed-carrier result requires confirmed process-group absence after the command parent is reaped, while cleanup timeout or probe failure is an explicit failed operation rather than a successful terminal result.",
|
|
354
|
+
"claimLevel": "blocking",
|
|
355
|
+
"riskClass": "high",
|
|
356
|
+
"proofBindingRefs": ["proofkit/requirement-bindings.json"],
|
|
357
|
+
"nonClaimRefs": ["NC-PROOFKIT-QUALITY-027"],
|
|
358
|
+
"nonClaims": ["This bounded diagnostic taxonomy does not prove confidentiality of values outside its admitted secret and control classes or claim that every repository-internal tool invocation uses the installed-carrier timeout policy."],
|
|
359
|
+
"lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
|
|
360
|
+
"deferral": null,
|
|
361
|
+
"updatePolicy": {"reviewOwnerId": "proofkit.supply-chain-quality", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
|
|
336
362
|
}
|
|
337
363
|
]
|
|
338
364
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@research-engineering/agentic-proofkit",
|
|
3
3
|
"description": "Reusable proof profile, report, graph, and witness-planning primitives.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.5.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"sideEffects": false,
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"build": "go run ./internal/tools/packagebuild",
|
|
37
37
|
"check": "npm run npm:version && npm run source-hygiene && npm run command-contract:check && npm run command-family:check && npm run text-policy && npm run mermaid:check && npm run go:check && npm run browser:check && npm run package:artifact && npm run self:receipt && npm run self:coverage && npm run release:closeout",
|
|
38
38
|
"browser:check": "npm run browser:static-check && npm run browser:test",
|
|
39
|
-
"browser:static-check": "tsc -p tsconfig.browser.json && node --test scripts/browser-proof-execution.test.mjs scripts/browser-proof-inputs.test.mjs scripts/browser-selection-authority.test.mjs scripts/stable-json.test.mjs",
|
|
39
|
+
"browser:static-check": "tsc -p tsconfig.browser.json && node --test scripts/browser-proof-execution.test.mjs scripts/browser-proof-inputs.test.mjs scripts/browser-selection-authority.test.mjs scripts/diagnostic-entrypoints.test.mjs scripts/stable-json.test.mjs",
|
|
40
40
|
"browser:test": "go run ./internal/tools/browserproofverify --run",
|
|
41
41
|
"command-family:check": "go run ./internal/tools/commandfamilygen --check",
|
|
42
42
|
"go:actionlint": "go tool actionlint",
|