@research-engineering/agentic-proofkit 0.1.159 → 0.1.160

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 CHANGED
@@ -42,6 +42,8 @@ Python consumers use the Python package as a runner wrapper over the same Go
42
42
  CLI, not as a Python SDK. Python projects should still treat CLI/JSON records,
43
43
  exit codes, and package metadata as the public contract.
44
44
 
45
+ Published Darwin binary distributions require macOS 12.0 or later.
46
+
45
47
  ## Project Boundary
46
48
 
47
49
  `agentic-proofkit` is intended to provide reusable proof-workflow mechanics for
@@ -42,7 +42,11 @@ Go source
42
42
  -> GitHub Release assets with checksums and SBOM for provenance lookup
43
43
  ```
44
44
 
45
- The repository-owned `release:manifest` tool creates `release-manifest.json`,
45
+ The committed `release/change-record.v1.json` owns the reviewed, version-bound
46
+ declaration of the public-contract delta, migration decision, platform
47
+ requirements, known limitations, and rollback strategy. It does not infer
48
+ change completeness from the source diff. The repository-owned
49
+ `release:manifest` tool admits that record and creates `release-manifest.json`,
46
50
  `checksums.sha256`, `metadata-checksums.sha256`, `sbom-subjects.sha256`,
47
51
  release notes, and deterministic SBOM candidate evidence from explicit package,
48
52
  registry, and release evidence. `checksums.sha256` covers distributable archive
@@ -77,18 +81,21 @@ Before publishing a version:
77
81
 
78
82
  1. The source tree is clean.
79
83
  2. `package.json` contains the exact new version.
80
- 3. `package.json` repository, license, bin, exports, files, and publishConfig
84
+ 3. `release/change-record.v1.json` contains the same version and explicitly
85
+ classifies breaking changes, additions, migration, platform requirements,
86
+ known limitations, and rollback.
87
+ 4. `package.json` repository, license, bin, exports, files, and publishConfig
81
88
  match the intended public package contract.
82
- 4. The npm account has verified email and write-protective 2FA, or the package
89
+ 5. The npm account has verified email and write-protective 2FA, or the package
83
90
  uses an admitted Trusted Publisher configuration.
84
- 5. When `PROOFKIT_ENABLE_PYPI_PUBLISH=true`, the PyPI account has a normal or
91
+ 6. When `PROOFKIT_ENABLE_PYPI_PUBLISH=true`, the PyPI account has a normal or
85
92
  pending Trusted Publisher configured for project `agentic-proofkit`,
86
93
  repository `research-engineering/agentic-proofkit`, workflow `release.yml`, and
87
94
  environment `pypi`.
88
- 6. The release workflow is configured for the package, public npm registry, and
95
+ 7. The release workflow is configured for the package, public npm registry, and
89
96
  release environments. PyPI release configuration is required only when the
90
97
  PyPI channel is explicitly enabled.
91
- 7. `npm run check` passes locally or the release candidate workflow provides
98
+ 8. `npm run check` passes locally or the release candidate workflow provides
92
99
  equivalent current-head evidence.
93
100
 
94
101
  ## Candidate Proof
@@ -156,7 +163,10 @@ The `release` workflow must:
156
163
  14. retain normalized GitHub Release metadata as workflow release evidence at
157
164
  `artifacts/release/github-release.json` after byte-for-byte asset
158
165
  verification, and bind it plus any attestation record with
159
- `artifacts/release/retained-evidence-checksums.sha256`. The release
166
+ `artifacts/retained-evidence-checksums.sha256`. The checksum manifest lives
167
+ at the retained artifact root and uses exact `release/...` and
168
+ `attestations/...` paths, so standard checksum verification executes against
169
+ the downloaded artifact layout without path rewriting. The release
160
170
  manifest records GitHub Release channel data as candidate/archive inventory;
161
171
  `github-release.json` owns post-create GitHub Release facts only inside
162
172
  retained workflow evidence, not as a public release asset.
@@ -108,10 +108,13 @@ execution receipts, and merge policy.
108
108
  boundaries, and non-claims, then emits a bounded source-bound question packet
109
109
  only after explicit user submission.
110
110
  - `REQ-PROOFKIT-SPEC-022`: semantic diff compares admitted requirement fields
111
- by owner-declared scalar, set, and map semantics rather than textual order.
112
- - `REQ-PROOFKIT-SPEC-023`: traceability graphs preserve specification, proof,
113
- code traceability, and native execution as distinct evidence planes and
114
- accept code topology only as explicit caller-owned input.
111
+ by owner-declared scalar, set, map, and lifecycle semantics, covers entity
112
+ additions and removals, and remains closed under output re-admission.
113
+ - `REQ-PROOFKIT-SPEC-023`: traceability graph input schema v2 preserves
114
+ specification, proof, code traceability, and native execution as distinct
115
+ evidence planes and accepts code topology only as explicit caller-owned input
116
+ with source-digest, parent-edge, abstraction-order, and pre-materialization
117
+ budget closure.
115
118
 
116
119
  ## Non-Claims
117
120
 
@@ -533,7 +533,7 @@
533
533
  {
534
534
  "requirementId": "REQ-PROOFKIT-SPEC-022",
535
535
  "ownerId": "proofkit.spec-proof-core",
536
- "invariant": "Requirement semantic diff compares two admitted context snapshots by stable requirement identity and owner-declared scalar, set, and map field classes, producing deterministic added, removed, and modified facts without textual diff, inferred move semantics, or authority over requirement meaning.",
536
+ "invariant": "Requirement semantic diff compares two admitted context snapshots by stable requirement identity and owner-declared scalar, set, map, and lifecycle field classes, producing canonically ordered added, removed, and modified facts that remain closed under output re-admission without textual diff, inferred move semantics, or authority over requirement meaning.",
537
537
  "claimLevel": "blocking",
538
538
  "riskClass": "medium",
539
539
  "proofBindingRefs": ["proofkit/requirement-bindings.json"],
@@ -546,7 +546,7 @@
546
546
  {
547
547
  "requirementId": "REQ-PROOFKIT-SPEC-023",
548
548
  "ownerId": "proofkit.spec-proof-core",
549
- "invariant": "Requirement traceability graph deterministically projects admitted specification and proof topology plus explicit caller-owned code topology while preserving specification, proof, code traceability, and native execution as distinct evidence planes and rejecting dangling topology references.",
549
+ "invariant": "Requirement traceability graph input schema v2 deterministically projects admitted specification and proof topology plus explicit caller-owned code topology while preserving specification, proof, code traceability, and native execution as distinct evidence planes; one typed topology validator rejects dangling endpoints, enforces the bijection between non-root parentNodeId facts and contains edges with broader parent abstraction, verifies every supplied code-source digest, and applies node, edge, and source-byte budgets before per-item semantic materialization.",
550
550
  "claimLevel": "blocking",
551
551
  "riskClass": "high",
552
552
  "proofBindingRefs": ["proofkit/requirement-bindings.json"],
@@ -98,6 +98,14 @@ vulnerability absence, or consumer rollout safety by itself.
98
98
  routes, bounded server cleanup, repository-confined non-symlink proof
99
99
  artifacts, and machine-admitted per-project rendered engine evidence without
100
100
  runtime dependencies or a production bundler.
101
+ - `REQ-PROOFKIT-QUALITY-023`: Python wheels independently bind advertised
102
+ platform compatibility to decoded executable bytes and carry Core Metadata
103
+ 2.4 plus an exact, RECORD-closed repository license payload.
104
+ - `REQ-PROOFKIT-QUALITY-024`: a version-bound machine record declares the
105
+ reviewed public-contract change set and owns release-note content, while one
106
+ retained-evidence owner builds and verifies checksums against exact
107
+ downloadable artifact-relative paths without inferring change completeness
108
+ from the source diff.
101
109
 
102
110
  ## Non-Claims
103
111
 
@@ -294,6 +294,32 @@
294
294
  "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
295
295
  "deferral": null,
296
296
  "updatePolicy": {"reviewOwnerId": "proofkit.supply-chain-quality", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
297
+ },
298
+ {
299
+ "requirementId": "REQ-PROOFKIT-QUALITY-023",
300
+ "ownerId": "proofkit.supply-chain-quality",
301
+ "invariant": "Each Python wheel binds its embedded executable to the release binary digest, 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
+ "claimLevel": "blocking",
303
+ "riskClass": "critical",
304
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
305
+ "nonClaimRefs": ["NC-PROOFKIT-QUALITY-023"],
306
+ "nonClaims": ["This requirement does not claim execution on every accepted operating-system version, legal approval, registry publication, release approval, rollout approval, or production readiness."],
307
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
308
+ "deferral": null,
309
+ "updatePolicy": {"reviewOwnerId": "proofkit.supply-chain-quality", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
310
+ },
311
+ {
312
+ "requirementId": "REQ-PROOFKIT-QUALITY-024",
313
+ "ownerId": "proofkit.supply-chain-quality",
314
+ "invariant": "Release metadata generation admits one version-bound machine-readable declaration of the reviewed public-contract change set and renders release notes as its exact projection, while 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
+ "claimLevel": "blocking",
316
+ "riskClass": "high",
317
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
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."],
320
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
321
+ "deferral": null,
322
+ "updatePolicy": {"reviewOwnerId": "proofkit.supply-chain-quality", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
297
323
  }
298
324
  ]
299
325
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@research-engineering/agentic-proofkit",
3
3
  "description": "Reusable proof profile, report, graph, and witness-planning primitives.",
4
- "version": "0.1.159",
4
+ "version": "0.1.160",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "sideEffects": false,
@@ -588,6 +588,22 @@
588
588
  "proofState": "witness_backed",
589
589
  "nonClaims": ["This requirement does not claim full WCAG conformance, every branded browser, provider CI ingestion, registry publication, release approval, rollout approval, or production readiness."]
590
590
  },
591
+ {
592
+ "requirementId": "REQ-PROOFKIT-QUALITY-023",
593
+ "ownerId": "proofkit.supply-chain-quality",
594
+ "specPath": "docs/specs/proofkit-supply-chain-quality/requirements.v1.json",
595
+ "claimLevel": "blocking",
596
+ "proofState": "witness_backed",
597
+ "nonClaims": ["This requirement does not claim execution on every accepted operating-system version, legal approval, registry publication, release approval, rollout approval, or production readiness."]
598
+ },
599
+ {
600
+ "requirementId": "REQ-PROOFKIT-QUALITY-024",
601
+ "ownerId": "proofkit.supply-chain-quality",
602
+ "specPath": "docs/specs/proofkit-supply-chain-quality/requirements.v1.json",
603
+ "claimLevel": "blocking",
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."]
606
+ },
591
607
  {
592
608
  "requirementId": "REQ-PROOFKIT-SPEC-017",
593
609
  "ownerId": "proofkit.spec-proof-core",
@@ -2257,6 +2273,51 @@
2257
2273
  "commandIds": ["proofkit.browser-check"],
2258
2274
  "environmentClasses": ["local-node-browser"]
2259
2275
  },
2276
+ {
2277
+ "requirementId": "REQ-PROOFKIT-QUALITY-023",
2278
+ "scenarioId": "proofkit.supply-chain-quality.python-wheel-platform-byte-compatibility",
2279
+ "witnessId": "proofkit.python-package.macho-platform-falsifier",
2280
+ "witnessKind": "contract",
2281
+ "witnessPath": "internal/tools/pythonpackage/metadata_test.go",
2282
+ "commandIds": ["proofkit.go-test"],
2283
+ "environmentClasses": ["local-go"]
2284
+ },
2285
+ {
2286
+ "requirementId": "REQ-PROOFKIT-QUALITY-023",
2287
+ "scenarioId": "proofkit.supply-chain-quality.python-wheel-license-closure",
2288
+ "witnessId": "proofkit.python-package.license-payload-falsifier",
2289
+ "witnessKind": "contract",
2290
+ "witnessPath": "internal/tools/pythonpackage/metadata_test.go",
2291
+ "commandIds": ["proofkit.go-test"],
2292
+ "environmentClasses": ["local-go"]
2293
+ },
2294
+ {
2295
+ "requirementId": "REQ-PROOFKIT-QUALITY-024",
2296
+ "scenarioId": "proofkit.supply-chain-quality.release-change-record-projection",
2297
+ "witnessId": "proofkit.release-change.versioned-projection-falsifier",
2298
+ "witnessKind": "contract",
2299
+ "witnessPath": "internal/tools/releasechange/record_test.go",
2300
+ "commandIds": ["proofkit.go-test"],
2301
+ "environmentClasses": ["local-go"]
2302
+ },
2303
+ {
2304
+ "requirementId": "REQ-PROOFKIT-QUALITY-024",
2305
+ "scenarioId": "proofkit.supply-chain-quality.retained-evidence-artifact-topology",
2306
+ "witnessId": "proofkit.retained-evidence.download-layout-falsifier",
2307
+ "witnessKind": "contract",
2308
+ "witnessPath": "internal/tools/retainedevidence/manifest_test.go",
2309
+ "commandIds": ["proofkit.go-test"],
2310
+ "environmentClasses": ["local-go"]
2311
+ },
2312
+ {
2313
+ "requirementId": "REQ-PROOFKIT-QUALITY-024",
2314
+ "scenarioId": "proofkit.supply-chain-quality.release-closeout-change-record",
2315
+ "witnessId": "proofkit.release-closeout.change-record-falsifier",
2316
+ "witnessKind": "contract",
2317
+ "witnessPath": "internal/tools/releasecloseoutinput/main_test.go",
2318
+ "commandIds": ["proofkit.go-test"],
2319
+ "environmentClasses": ["local-go"]
2320
+ },
2260
2321
  {
2261
2322
  "requirementId": "REQ-PROOFKIT-SPEC-019",
2262
2323
  "scenarioId": "proofkit.spec-proof-core.requirement-context-composition",
@@ -2266,6 +2327,15 @@
2266
2327
  "commandIds": ["proofkit.go-test"],
2267
2328
  "environmentClasses": ["local-go"]
2268
2329
  },
2330
+ {
2331
+ "requirementId": "REQ-PROOFKIT-SPEC-019",
2332
+ "scenarioId": "proofkit.spec-proof-core.requirement-context-composition-whole-cli",
2333
+ "witnessId": "proofkit.app.requirement-context-compose-cli-falsifier",
2334
+ "witnessKind": "contract",
2335
+ "witnessPath": "internal/app/requirement_context_cli_test.go",
2336
+ "commandIds": ["proofkit.go-test"],
2337
+ "environmentClasses": ["local-go"]
2338
+ },
2269
2339
  {
2270
2340
  "requirementId": "REQ-PROOFKIT-SPEC-020",
2271
2341
  "scenarioId": "proofkit.spec-proof-core.requirement-context-slicing",
@@ -2275,6 +2345,15 @@
2275
2345
  "commandIds": ["proofkit.go-test"],
2276
2346
  "environmentClasses": ["local-go"]
2277
2347
  },
2348
+ {
2349
+ "requirementId": "REQ-PROOFKIT-SPEC-020",
2350
+ "scenarioId": "proofkit.spec-proof-core.requirement-context-slicing-whole-cli",
2351
+ "witnessId": "proofkit.app.requirement-context-slice-cli-falsifier",
2352
+ "witnessKind": "contract",
2353
+ "witnessPath": "internal/app/requirement_context_cli_test.go",
2354
+ "commandIds": ["proofkit.go-test"],
2355
+ "environmentClasses": ["local-go"]
2356
+ },
2278
2357
  {
2279
2358
  "requirementId": "REQ-PROOFKIT-SPEC-021",
2280
2359
  "scenarioId": "proofkit.spec-proof-core.requirement-browser-workspace-handoff",
@@ -2302,6 +2381,15 @@
2302
2381
  "commandIds": ["proofkit.go-test"],
2303
2382
  "environmentClasses": ["local-go"]
2304
2383
  },
2384
+ {
2385
+ "requirementId": "REQ-PROOFKIT-SPEC-021",
2386
+ "scenarioId": "proofkit.spec-proof-core.requirement-browser-one-shot-cleanup",
2387
+ "witnessId": "proofkit.requirement-browser.one-shot-cleanup-falsifier",
2388
+ "witnessKind": "contract",
2389
+ "witnessPath": "internal/command/requirementbrowser/server_test.go",
2390
+ "commandIds": ["proofkit.go-test"],
2391
+ "environmentClasses": ["local-go"]
2392
+ },
2305
2393
  {
2306
2394
  "requirementId": "REQ-PROOFKIT-SPEC-022",
2307
2395
  "scenarioId": "proofkit.spec-proof-core.requirement-semantic-diff",
@@ -2311,6 +2399,24 @@
2311
2399
  "commandIds": ["proofkit.go-test"],
2312
2400
  "environmentClasses": ["local-go"]
2313
2401
  },
2402
+ {
2403
+ "requirementId": "REQ-PROOFKIT-SPEC-022",
2404
+ "scenarioId": "proofkit.spec-proof-core.requirement-semantic-diff-complete-algebra",
2405
+ "witnessId": "proofkit.requirement-semantic-diff.complete-algebra-falsifier",
2406
+ "witnessKind": "contract",
2407
+ "witnessPath": "internal/command/requirementdiff/requirementdiff_test.go",
2408
+ "commandIds": ["proofkit.go-test"],
2409
+ "environmentClasses": ["local-go"]
2410
+ },
2411
+ {
2412
+ "requirementId": "REQ-PROOFKIT-SPEC-022",
2413
+ "scenarioId": "proofkit.spec-proof-core.requirement-semantic-diff-whole-cli",
2414
+ "witnessId": "proofkit.app.requirement-semantic-diff-cli-falsifier",
2415
+ "witnessKind": "contract",
2416
+ "witnessPath": "internal/app/requirement_context_cli_test.go",
2417
+ "commandIds": ["proofkit.go-test"],
2418
+ "environmentClasses": ["local-go"]
2419
+ },
2314
2420
  {
2315
2421
  "requirementId": "REQ-PROOFKIT-SPEC-023",
2316
2422
  "scenarioId": "proofkit.spec-proof-core.requirement-traceability-evidence-planes",
@@ -2320,6 +2426,24 @@
2320
2426
  "commandIds": ["proofkit.go-test"],
2321
2427
  "environmentClasses": ["local-go"]
2322
2428
  },
2429
+ {
2430
+ "requirementId": "REQ-PROOFKIT-SPEC-023",
2431
+ "scenarioId": "proofkit.spec-proof-core.requirement-traceability-topology-closure",
2432
+ "witnessId": "proofkit.requirement-traceability.topology-closure-falsifier",
2433
+ "witnessKind": "contract",
2434
+ "witnessPath": "internal/command/requirementgraph/requirementgraph_test.go",
2435
+ "commandIds": ["proofkit.go-test"],
2436
+ "environmentClasses": ["local-go"]
2437
+ },
2438
+ {
2439
+ "requirementId": "REQ-PROOFKIT-SPEC-023",
2440
+ "scenarioId": "proofkit.spec-proof-core.requirement-traceability-whole-cli",
2441
+ "witnessId": "proofkit.app.requirement-traceability-cli-falsifier",
2442
+ "witnessKind": "contract",
2443
+ "witnessPath": "internal/app/requirement_context_cli_test.go",
2444
+ "commandIds": ["proofkit.go-test"],
2445
+ "environmentClasses": ["local-go"]
2446
+ },
2323
2447
  {
2324
2448
  "requirementId": "REQ-PROOFKIT-SPEC-021",
2325
2449
  "scenarioId": "proofkit.spec-proof-core.requirement-browser-rendered-runtime",
@@ -2329,6 +2453,15 @@
2329
2453
  "commandIds": ["proofkit.browser-check"],
2330
2454
  "environmentClasses": ["local-node-browser"]
2331
2455
  },
2456
+ {
2457
+ "requirementId": "REQ-PROOFKIT-SPEC-021",
2458
+ "scenarioId": "proofkit.spec-proof-core.requirement-browser-unicode-code-point-selection",
2459
+ "witnessId": "proofkit.requirement-browser.unicode-selection-falsifier",
2460
+ "witnessKind": "technical",
2461
+ "witnessPath": "tests/browser/workspace.spec.mjs",
2462
+ "commandIds": ["proofkit.browser-check"],
2463
+ "environmentClasses": ["local-node-browser"]
2464
+ },
2332
2465
  {
2333
2466
  "requirementId": "REQ-PROOFKIT-QUALITY-022",
2334
2467
  "scenarioId": "proofkit.supply-chain-quality.browser-static-and-runtime-proof",