@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.
@@ -39,14 +39,15 @@ owner boundaries. It is not a second command-family inventory.
39
39
 
40
40
  | Family | Main commands | Caller provides | Proofkit owns | Consumer owns | Output authority |
41
41
  |---|---|---|---|---|---|
42
+ | Agent workflow planning | `change-workflow-plan`, `native-evidence-guidance` | explicit checkpoint, completed stage ids, bounded context refs, governing authority ref, and required context ref ids | optional built-in `proofkit.reviewed-change.v1` checkpoint relation, reference-closed next-stage context, deterministic agent prompts, bounded text/JSON/envelope projections, and repository-neutral native-evidence guidance with closed applicability classes | custom workflow topology, repository state discovery, stage execution, native witness semantics, evidence collection, review conclusions, merge, release, deployment, and rollout authority | next-action plan, terminal workflow report, bounded agent envelope, or guidance catalog |
42
43
  | 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 |
43
44
  | 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 |
44
- | 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 |
45
+ | 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, declaration-only compact route projection with full binding identity and role-qualified witness routes, resolver projection, bundle linkage checks | selector resolution, oracle quality, witness execution, mutation adequacy, finding completeness, proof freshness, trust, assurance, merge policy | proof report, partition report, slice, declaration lookup graph, or view |
45
46
  | 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, missing declared assertion-signal 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, oracle quality, test quality, 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 |
46
- | 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 |
47
+ | 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 declaration-only proof contracts with zero or more scenario bindings per requirement, 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, binding-aware fan-out, 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 |
47
48
  | 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
49
  | 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
- | 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
+ | 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, command-oracle candidate inventory, independently authored counterfeit corpus, explicit benchmark invocation | deterministic self-check report shape, SBOM candidate evidence, exact-file materialized-snapshot package-scoped selected-test execution, production-owner counterfeit decisions, strict one-read and current-owner command-oracle diagnostic admission, execution-backed coverage metrics, workflow lint routing, benchmark entrypoints | assertion-branch execution, mutation adequacy, producer authentication, public-source provenance, vulnerability triage, license approval, CI run admission, release approval | self-check report, SBOM, command-oracle diagnostic, metrics report, CI signal, or benchmark output |
50
51
 
51
52
  The `npm run release:sbom`, `npm run self:coverage`, `npm run go:actionlint`,
52
53
  and `npm run go:bench` routes above are maintainer commands for a source
@@ -122,6 +123,7 @@ Semantic context routes are `requirement-context-compose`,
122
123
  | State or goal | Next Proofkit route | Stop or escalation condition |
123
124
  |---|---|---|
124
125
  | The agent does not know where to start. | `init`, or `init --preset` with `fresh`, `code-baseline`, `code-audit`, `legacy`, or `change-set` | Treat output as dry-run route guidance only. Stop before scanning, writing files, or making requirements authoritative. |
126
+ | An agent needs a bounded, deterministic stage transition for an engineering change. | `change-workflow-plan` selects the optional built-in `proofkit.reviewed-change.v1` profile; use `--agent-envelope` for the compact work packet and `native-evidence-guidance` when the consuming repository has not yet materialized repository-specific evidence instructions. | Supply only explicit current checkpoint, completed stages, and admitted context references. Apply conditional guidance slots only when their applicability class matches a declared consumer mechanism. Stop before treating the profile, plan, or guidance as repository policy or as proof that a stage ran, evidence exists, review passed, or merge/release is authorized. |
125
127
  | 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. |
126
128
  | 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. |
127
129
  | 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. |
@@ -128,7 +128,16 @@ static analysis, workflow linting, vulnerability checks, npm package artifact
128
128
  creation, package artifact verification, Python wheel artifact creation, Python
129
129
  wheel verification, release SBOM, release manifest and checksum generation,
130
130
  outside-consumer binary smoke proof, self-hosting receipt validation, and
131
- coverage metrics generation.
131
+ coverage metrics generation. Coverage generation runs the exact owner-selected
132
+ Go tests through package-scoped argv vectors from an exact-file materialized
133
+ source snapshot, evaluates the independently authored counterfeit corpus
134
+ through production admission owners, and emits a command-oracle diagnostic
135
+ plus coverage metrics v2 only while the candidate, corpus, runtime, and source
136
+ identities remain current. Release closeout re-admits that diagnostic through
137
+ its sole strict owner, binds its digest to the same canonical byte read, and
138
+ revalidates current producer reachability. This local cooperative execution
139
+ does not prove assertion-branch execution, mutation adequacy, producer
140
+ authentication, or provider admission.
132
141
 
133
142
  The dry-run package identity proves candidate tarball shape only. It does not
134
143
  prove the bytes served by the registry after publish.
@@ -0,0 +1,86 @@
1
+ # Proofkit Agent Workflow Spec
2
+
3
+ This spec owns Proofkit's generic support for planning one engineering-change
4
+ snapshot and for teaching a consuming repository to define executable native
5
+ evidence. It does not own consumer product meaning, repository policy,
6
+ witnesses, merge, release, rollout, or production-readiness decisions.
7
+
8
+ The public capability is deliberately small:
9
+
10
+ 1. `change-workflow-plan` admits explicit JSON and projects one next action for
11
+ the optional built-in profile `proofkit.reviewed-change.v1`, whose ordered
12
+ stages are `architecture`, `design`, `implementation_plan`,
13
+ `implementation`, `verification`, `pull_request`, and `closeout`.
14
+ 2. `native-evidence-guidance` exposes one versioned 22-slot template for
15
+ repository-owned falsifiers, oracles, bounds, lifecycle, and non-claims.
16
+ Every slot names one closed applicability class: `always`,
17
+ `declared_input_channels`, `environment_or_network_access`,
18
+ `external_process`, or `mutable_artifacts`. The latter four apply only when
19
+ the consuming witness declares the named mechanism.
20
+ 3. Existing descriptors, dispatch, command families, root-shape CLI contracts,
21
+ agent envelopes, and package gates provide public-surface closure.
22
+
23
+ Neither command scans a repository. Both command cores are stateless pure
24
+ projections with no filesystem, Git, process, environment, clock, random,
25
+ network, container, or provider dependency. No setup facade, agent-route extension,
26
+ external prompt resource, persisted experiment state, or second source codec is
27
+ introduced.
28
+
29
+ ## Requirements
30
+
31
+ - `REQ-PROOFKIT-WORKFLOW-001`: one-time typed admission, pure deterministic
32
+ projection, and derived-output authority boundary.
33
+ - `REQ-PROOFKIT-WORKFLOW-002`: named optional built-in profile, exact
34
+ seven-stage order, prefix/checkpoint biconditional, and a disjoint terminal
35
+ output.
36
+ - `REQ-PROOFKIT-WORKFLOW-003`: 28 active state rows, one terminal row,
37
+ authority- and witness-gated executable envelope transitions, closed
38
+ blockers and clarifications when those preconditions are absent, exact
39
+ accepted-subject carry into each nonterminal successor, and an explicit
40
+ terminal stop packet.
41
+ - `REQ-PROOFKIT-WORKFLOW-004`: typed subject/finding resolution, incoming
42
+ subject identity on every noninitial stage, and internally consistent
43
+ caller-declared digests.
44
+ - `REQ-PROOFKIT-WORKFLOW-005`: shared 256-byte stable-ID admission before work,
45
+ global candidate-dependency resolution, one explicit nullable
46
+ governing-authority reference, role-preserving bounded least dependency
47
+ closure over explicit seeds, exact omission accounting, and output-byte
48
+ limits.
49
+ - `REQ-PROOFKIT-WORKFLOW-006`: only existing launcher and presentation
50
+ capabilities outside explicit input, with no ambient repository authority,
51
+ setup facade, hidden policy, or agent-route extension.
52
+ - `REQ-PROOFKIT-WORKFLOW-007`: pure deterministic repository-neutral
53
+ native-evidence guidance from one versioned typed table with five closed
54
+ applicability classes, explicit absent-channel decisions, and finite
55
+ nondisclosure corpora.
56
+ - `REQ-PROOFKIT-WORKFLOW-008`: display-safe caller admission, no-leak denial,
57
+ exact retained-or-missing witness projection, bounded actionable and
58
+ terminal text with required coordinates and exact rendered successor delta,
59
+ and no styling of caller values.
60
+ - `REQ-PROOFKIT-WORKFLOW-009`: explicit text/color selection and confinement of
61
+ ANSI to eligible terminal stdout.
62
+ - `REQ-PROOFKIT-WORKFLOW-010`: one production catalog owner for stage,
63
+ checkpoint-schema, action-prerequisite, and successor semantics,
64
+ independently authored semantic and literal-duplication oracles, and an
65
+ AST-checked two-command carrier topology with no runtime experiment or
66
+ external template residue.
67
+ - `REQ-PROOFKIT-WORKFLOW-011`: a finite factorized CLI relation closed across
68
+ descriptor/dispatcher/family/help/root-contract/witness/generated/package
69
+ surfaces, with npm-only non-runtime specification docs and cross-channel
70
+ runtime behavior proof.
71
+
72
+ Shared stable-JSON/diagnostic hardening is owned by the supply-chain-quality
73
+ spec. Typed local-reference closure is owned by the existing agent-envelope
74
+ requirement. This workflow spec consumes those owners without duplicating them.
75
+
76
+ ## Non-Claims
77
+
78
+ - Generated prompts are not authenticated and need not be obeyed or adequate.
79
+ - The built-in reviewed-change profile is optional guidance, not universal
80
+ consuming-repository process policy or a custom workflow-graph engine.
81
+ - Static prompt bytes do not prove provider token use or model reasoning.
82
+ - Least dependency closure does not prove context truth, freshness, semantic
83
+ sufficiency, or global minimality.
84
+ - A finite pilot does not prove universal repository fit.
85
+ - This spec does not select a persisted requirement-source codec.
86
+ - This spec does not approve merge, release, rollout, or production readiness.
@@ -0,0 +1,157 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "sourceId": "proofkit.agent-workflow.requirements",
4
+ "specPackagePath": "docs/specs/proofkit-agent-workflow",
5
+ "overviewPath": "docs/specs/proofkit-agent-workflow/overview.md",
6
+ "requirementsPath": "docs/specs/proofkit-agent-workflow/requirements.v1.json",
7
+ "requirements": [
8
+ {
9
+ "requirementId": "REQ-PROOFKIT-WORKFLOW-001",
10
+ "ownerId": "proofkit.agent-workflow",
11
+ "invariant": "Change-workflow planning admits one explicit caller snapshot into an immutable typed projection, decides only from that projection, and deterministically returns one derived non-authoritative plan without executing or supervising agents, witnesses, repository operations, providers, CI, merge, release, rollout, or deployment; no prompt, report, envelope, view, test, or generated record becomes a second semantic owner.",
12
+ "claimLevel": "blocking",
13
+ "riskClass": "high",
14
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
15
+ "nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-001"],
16
+ "nonClaims": ["The planner does not authenticate caller assertions or prove that a planned action was executed, correct, reviewed, or completed."],
17
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
18
+ "deferral": null,
19
+ "updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
20
+ },
21
+ {
22
+ "requirementId": "REQ-PROOFKIT-WORKFLOW-002",
23
+ "ownerId": "proofkit.agent-workflow",
24
+ "invariant": "The optional built-in workflow profile proofkit.reviewed-change.v1 owns exactly the ordered stages architecture, design, implementation_plan, implementation, verification, pull_request, and closeout; every non-envelope plan names that profile, completedStageIds is exactly one prefix of that order, every incomplete prefix has a non-null checkpoint and an active stage equal to the first stage outside the prefix, and the complete prefix has a null checkpoint if and only if the output is the disjoint workflow_complete variant with no active-stage, action, checkpoint-state, or prompt field.",
25
+ "claimLevel": "blocking",
26
+ "riskClass": "high",
27
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
28
+ "nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-002"],
29
+ "nonClaims": ["Stage ordering does not prove the semantic adequacy of any architecture, design, plan, implementation, verification, pull request, or closeout artifact."],
30
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
31
+ "deferral": null,
32
+ "updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
33
+ },
34
+ {
35
+ "requirementId": "REQ-PROOFKIT-WORKFLOW-003",
36
+ "ownerId": "proofkit.agent-workflow",
37
+ "invariant": "The active checkpoint is exactly one closed discriminated variant not_started, ready_for_review, review_findings, or review_passed; one independently enumerable total non-overlapping relation maps the 28 active stage/checkpoint rows to exactly one stage-specific first action, review, repair, or accept_stage, the twenty-ninth complete-prefix row maps only to workflow_complete, an active agent envelope emits its single next_action only when a governing authority ref is retained and the verify action additionally retains at least one caller-owned witness ref, otherwise it emits no executable action plus closed blockers and clarification questions, every accept_stage plan and emitted envelope action declares exactly one equal successorStateDelta containing only completedStageIds and checkpoint, a nonterminal delta carries the accepted subjectRefId and subjectDigest into the next stage's not_started checkpoint while the terminal delta has a null checkpoint, applying that delta by replacing only those two input fields while preserving schemaVersion, governingAuthorityRefId, contextRefs, and requiredContextRefIds produces exactly one legal successor snapshot, the terminal envelope names workflow_complete and an explicit stop action without a successor delta, and every surplus, missing, or otherwise illegal field combination fails closed.",
38
+ "claimLevel": "blocking",
39
+ "riskClass": "high",
40
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
41
+ "nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-003"],
42
+ "nonClaims": ["The snapshot relation does not own pending work, elapsed time, predecessor history, waiver, abort, reopen, or external task-state transitions."],
43
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
44
+ "deferral": null,
45
+ "updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
46
+ },
47
+ {
48
+ "requirementId": "REQ-PROOFKIT-WORKFLOW-004",
49
+ "ownerId": "proofkit.agent-workflow",
50
+ "invariant": "Every noninitial not_started, ready_for_review, review_findings, and review_passed checkpoint binds the caller-declared stage artifact through one subjectRefId that resolves exactly one artifact context reference and one equal lowercase SHA-256 subject digest; the initial architecture/not_started checkpoint alone has no incoming subject, assessed variants require an equal assessmentSubjectDigest, review_findings resolves each findingRef exactly once to a finding context reference, and a malformed, absent, surplus, unresolved, wrong-kind, or mismatched identity fails before an action is projected.",
51
+ "claimLevel": "blocking",
52
+ "riskClass": "high",
53
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
54
+ "nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-004"],
55
+ "nonClaims": ["Digest equality proves only internal equality of caller-declared identity fields and does not bind actual bytes, authenticate the reviewer, establish currentness or trust, or prove assessment quality."],
56
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
57
+ "deferral": null,
58
+ "updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
59
+ },
60
+ {
61
+ "requirementId": "REQ-PROOFKIT-WORKFLOW-005",
62
+ "ownerId": "proofkit.agent-workflow",
63
+ "invariant": "The planner admits 0 to 48 strictly refId-sorted unique candidate context references; every candidate ID, nullable governingAuthorityRefId, required seed ID, dependency ID, subject ID, and finding ID is first admitted by the shared stable RuleID owner with a 256 UTF-8 byte maximum before sorting, indexing, closure, or projection; every dependency of every candidate resolves exactly once before seed selection or closure, including dependencies of candidates that the final closure omits; the governingAuthorityRefId when present resolves exactly one authority reference; it admits 0 to 12 required seed IDs, at most 12 finding references, at most 8 dependencies per candidate, at most 384 UTF-8 bytes per artifact path, and at most 18432 aggregate candidate-path bytes; it returns the unique least dependency-closed subset containing the governing authority, required, subject, and finding seeds, fails closed above 24 retained references or 9216 retained-path bytes, derives the exact sorted candidate-minus-retained omission set, summarizes that set once in an envelope, classifies only the selected governing authority as semantic_owner while other authority, artifact, finding, and witness references remain owner_surface, evidence, review_finding, and proof_binding respectively, and fails JSON, envelope, and text outputs above 128 KiB, 128 KiB, and 8192 bytes before partial output.",
64
+ "claimLevel": "blocking",
65
+ "riskClass": "high",
66
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
67
+ "nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-005"],
68
+ "nonClaims": ["Structural least closure relative to caller-declared seeds and edges does not prove context truth, freshness, semantic sufficiency, global minimality, or provider token usage."],
69
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
70
+ "deferral": null,
71
+ "updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
72
+ },
73
+ {
74
+ "requirementId": "REQ-PROOFKIT-WORKFLOW-006",
75
+ "ownerId": "proofkit.agent-workflow",
76
+ "invariant": "After existing bounded CLI transport, immutable installed-launcher profile admission, and immutable presentation-capability capture, the semantic planner accepts no repository root, caller prompt, caller-selected bound, command, environment, receipt body, or external authority field and has no filesystem, Git, process, environment, clock, random, network, container, or provider dependency; the CLI reads only the explicit input transport, the existing launcher-profile and optional Python-executable transport capabilities, and startup TTY/NO_COLOR presence needed by requested presentation, and the capability adds no setup facade, ambient scan, hidden repository policy, consumer-specific route, or agent-route extension.",
77
+ "claimLevel": "blocking",
78
+ "riskClass": "high",
79
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
80
+ "nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-006"],
81
+ "nonClaims": ["Explicit caller input does not establish repository identity, policy, source meaning, authorization to mutate, or the truth of observations made outside Proofkit."],
82
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
83
+ "deferral": null,
84
+ "updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
85
+ },
86
+ {
87
+ "requirementId": "REQ-PROOFKIT-WORKFLOW-007",
88
+ "ownerId": "proofkit.agent-workflow",
89
+ "invariant": "Native-evidence guidance has exactly one versioned repository-neutral semantic owner that emits exactly the declared semantic owner, subject/currentness, execution root/source snapshot, exact argv, stdin/input bytes, toolchain/platform/locale/timezone/dependencies, positive control, independent near-miss falsifier, executable oracle, input/work bounds, environment/network policy, CPU/memory/disk/file-descriptor/PID bounds, output-channel bounds, timeout/process-group/detached-child policy, exit mapping, nondisclosure, cleanup/crash inventory, receipt identity, currentness/trust, escalation, retirement, and non-claim slots; every slot carries exactly one closed applicability class from always, declared_input_channels, environment_or_network_access, external_process, and mutable_artifacts so mechanism-specific decisions are conditional on the corresponding declared consumer mechanism; always-applicable output and receipt slots require each present channel to be bounded and identity-bound while each absent channel is explicitly not_applicable, nondisclosure selects one finite exact corpus and one finite explicitly derived fragment list rather than an unbounded fragment claim; every admitted CLI delivery is deterministically bound to that owner, and JSON and text are derived without input, mutable shared state, filesystem, Git, process, environment, clock, random, network, container, provider, or other ambient dependency.",
90
+ "claimLevel": "blocking",
91
+ "riskClass": "high",
92
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
93
+ "nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-007"],
94
+ "nonClaims": ["The template does not generate, execute, approve, authenticate, or prove adequacy of a consuming repository's script, witness, oracle, receipt, policy, or cleanup implementation."],
95
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
96
+ "deferral": null,
97
+ "updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
98
+ },
99
+ {
100
+ "requirementId": "REQ-PROOFKIT-WORKFLOW-008",
101
+ "ownerId": "proofkit.agent-workflow",
102
+ "invariant": "Every workflow caller-visible value is admitted through its typed owner; display-safe values reject malformed UTF-8, secret-shaped content, ASCII controls, DEL, Unicode Cc, Cf, Zl, and Zp without echo; every active prompt packet projects observed fact, uncertainty, the resolved governingAuthorityRefId or a closed missing-owner escalation target, exact admitted coordinates, candidate action, one closed proof-availability state distinguishing a missing consumer witness from exact retained witness refs, non-claim, stop condition, and expected successor from command-owned tables, and when governingAuthorityRefId is null the packet forbids repository mutation until the caller supplies it; planner text contains the state, active stage and action when present, checkpoint, owner or escalation, stop condition, expected successor, omission count, and one non-claim within 24 lines and 8192 bytes, and an accept_stage projection additionally renders the exact successor completed-stage set, checkpoint state, subject ref, and subject digest while the terminal variant renders explicit consumer owner, stop condition, and no successor; guidance text contains every slot ID, applicability class, required decision, and completion criterion within 48 lines and 16384 bytes; caller-owned values are never terminal-styled.",
103
+ "claimLevel": "blocking",
104
+ "riskClass": "high",
105
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
106
+ "nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-008"],
107
+ "nonClaims": ["Bounded nondisclosure admission does not prove absence of every possible sensitive value or every terminal interpretation."],
108
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
109
+ "deferral": null,
110
+ "updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
111
+ },
112
+ {
113
+ "requirementId": "REQ-PROOFKIT-WORKFLOW-009",
114
+ "ownerId": "proofkit.agent-workflow",
115
+ "invariant": "Workflow commands default to JSON and color never; text and color auto require explicit flags, auto is eligible only for terminal stdout when immutable startup capabilities report a TTY and no NO_COLOR setting, admitted style tokens strip exactly to canonical plain text, and JSON, stderr, redirected stdout, files, prompts, envelopes, reports, receipts, and generated records remain ANSI-free.",
116
+ "claimLevel": "blocking",
117
+ "riskClass": "high",
118
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
119
+ "nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-009"],
120
+ "nonClaims": ["Terminal styling is presentation only and does not claim identical rendering across terminal emulators."],
121
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
122
+ "deferral": null,
123
+ "updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
124
+ },
125
+ {
126
+ "requirementId": "REQ-PROOFKIT-WORKFLOW-010",
127
+ "ownerId": "proofkit.agent-workflow",
128
+ "invariant": "The production capability has exactly one workflow catalog declaration owning stage order, incoming-subject policy, checkpoint field schemas, checkpoint-action relations, action prerequisites, successor-emission policy, and action profiles, and exactly one guidance-table declaration owning evidence slots; descriptor closure exposes exactly one required-input planner carrier and one no-input guidance carrier in one coherent command family, a source-topology oracle rejects duplicate or retired production owners, duplicated catalog vocabulary, and runtime guidance resources, and independent literal state, action-profile, successor, and slot oracles falsify semantic drift without becoming production owners; the capability adds no persisted experiment matrix, candidate receipt, source-codec variant, external prompt duplicate, repository adapter, setup state, or generic agent executor.",
129
+ "claimLevel": "blocking",
130
+ "riskClass": "medium",
131
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
132
+ "nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-010"],
133
+ "nonClaims": ["Structural minimality does not prove universal usability, open-world optimality, lower provider token use, or lower cognitive cost for every user and repository."],
134
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
135
+ "deferral": null,
136
+ "updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
137
+ },
138
+ {
139
+ "requirementId": "REQ-PROOFKIT-WORKFLOW-011",
140
+ "ownerId": "proofkit.agent-workflow",
141
+ "invariant": "Every admitted workflow command, option, and runtime guidance resource participates in one finite factorized relation over carrier identity, global-option position/cardinality/value, command-option cardinality/value, help exclusivity, positional-operand count, input transport, output mode, envelope, and presentation capability; that relation is closed across descriptor, dedicated dispatcher, command family, help, contract-map route, root-shape CLI input/output summary, positive whole-process witness, independent negative falsifier, generated contract projection, breaking version-edge wire observation, and supported installed npm and wheel smokes for each admitted CLI carrier that exercise required input, pre-read input-pointer admission, JSON layout, agent envelope, text, color denial, exclusive help, surplus positional operands, and no-input guidance classes as applicable; the npm package admits the durable workflow specification as channel-specific non-runtime documentation through its existing docs projection, every runtime-required resource remains closed in each package channel, the selected topology adds no external runtime or template resource, and omission, surplus, cross-wire, or stale projection fails the repository gate.",
142
+ "claimLevel": "blocking",
143
+ "riskClass": "high",
144
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
145
+ "nonClaimRefs": ["NC-PROOFKIT-WORKFLOW-011"],
146
+ "nonClaims": ["Public-surface closure does not claim wheel documentation parity and does not prove registry publication, provider ingestion, compatibility on untested platforms, native witness truth, merge approval, rollout, or production readiness."],
147
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
148
+ "deferral": null,
149
+ "updatePolicy": {"reviewOwnerId": "proofkit.agent-workflow", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
150
+ }
151
+ ],
152
+ "nonClaims": [
153
+ "Generated plans, prompts, templates, envelopes, views, reports, and patches remain derived guidance and are not semantic, proof, merge, release, rollout, or readiness authority.",
154
+ "Proofkit does not own consuming-repository requirement meaning, engineering policy, witnesses, merge decisions, release decisions, rollout decisions, or production-readiness decisions.",
155
+ "This source neither selects nor authorizes a persisted requirement-source codec or a migration away from the current requirement source."
156
+ ]
157
+ }
@@ -16,14 +16,13 @@ execution receipts, and merge policy.
16
16
  or scanning overview prose as authority; one shipped, marker-bounded example
17
17
  is parsed as bounded expansion-free literal shell words and executed through
18
18
  the installed current product as a first valid input.
19
- - `REQ-PROOFKIT-SPEC-002`: requirement proof binding reports validate
20
- caller-owned requirement-to-witness mappings, require compact scenarios to be
21
- admitted `surface_id::stable_anchor` identities, require compact witness
22
- selectors to use `repo/path::stable_anchor` identities, admit caller-owned
23
- source-set fragments and selected-source resolver projections, and derive
24
- typed compact proof contract projections for surfaces, scenarios, witnesses,
25
- commands, environment classes, conformance facts, and falsification routes
26
- without executing witnesses or deciding proof freshness.
19
+ - `REQ-PROOFKIT-SPEC-002`: compact proof route declarations preserve the full
20
+ requirement/surface/scenario binding identity and role-qualified witness-route
21
+ identity, preserve each route's JSON-safe non-negative resolution order, admit
22
+ declaration-only v2 contracts plus source-set v2 and fragment v3 inputs, retain
23
+ distinct positive and falsification roles even for one shared selector, and
24
+ reject legacy proof-state, synthetic evidence counts, collapsed roles, and
25
+ identity-loss projections without claiming execution or assurance.
27
26
  - `REQ-PROOFKIT-SPEC-003`: witness planning accepts caller-owned structured
28
27
  command metadata, scheduler constraints, environment classes, and
29
28
  binding-derived command projections only through admitted witness vocabulary
@@ -36,9 +35,13 @@ execution receipts, and merge policy.
36
35
  candidates explicit, keep merge approval consumer-owned, and fail closed for
37
36
  unknown or unmatched proof inputs.
38
37
  - `REQ-PROOFKIT-SPEC-005`: rendered proof views and agent envelopes remain
39
- bounded, reference-closed derived presentations over structured source,
40
- count each semantic omission once, and never become canonical proof or
41
- requirement authority.
38
+ bounded, reference-closed derived presentations over structured source and
39
+ never become canonical proof or requirement authority; agent envelopes also
40
+ admit lossless safe local identities before display sanitization, omit unsafe
41
+ identities without turning a redaction label into a lookup key, count each
42
+ semantic omission once, and use unique, pairwise-disjoint local target-ID
43
+ domains so each retained untyped local reference resolves to at most one
44
+ target in their union.
42
45
  - `REQ-PROOFKIT-SPEC-006`: test evidence inventory, explicit test-discovery
43
46
  draft projections, proof-binding-derived inventory projections, normalized
44
47
  inventory projections, coverage-view input composition, and requirement
@@ -79,11 +82,13 @@ execution receipts, and merge policy.
79
82
  serving with one exact supported-view vocabulary without accepting
80
83
  caller-owned raw HTML or making rendered output authoritative.
81
84
  - `REQ-PROOFKIT-SPEC-010`: requirement impact input composition converts
82
- caller-owned base/current requirement sources, single-current-binding compact
83
- proof contracts, changed-path facts, generated-artifact policy, local
84
- environment policy, and proof-like path policy into a direct `impact` input
85
- without scanning repositories, executing witnesses, or becoming a second
86
- impact evaluator.
85
+ caller-owned base/current requirement sources, compact proof contracts with
86
+ one or more current bindings per active blocking requirement, changed-path
87
+ facts, generated-artifact policy, local environment policy, and proof-like
88
+ path policy into a direct `impact` input, treating every referenced surface
89
+ semantic change as a change to every referencing binding under the
90
+ proof-binding source-path policy, without scanning repositories, executing
91
+ witnesses, or becoming a second impact evaluator.
87
92
  - `REQ-PROOFKIT-SPEC-011`: adoption contract envelope admission validates a
88
93
  complete caller-owned aggregate adoption envelope, selects one child route
89
94
  through orthogonal CLI flags, rejects repeated single-value mode or pilot
@@ -141,6 +146,14 @@ execution receipts, and merge policy.
141
146
  evidence planes, consumes the normalized v1/v2 context boundary, and accepts
142
147
  code topology only as explicit caller-owned input with source-digest,
143
148
  parent-edge, abstraction-order, and pre-materialization budget closure.
149
+ - `REQ-PROOFKIT-SPEC-024`: a private representation-neutral requirement-source
150
+ v2 model separates immutable atomic, authoring-layout, and typed-reference
151
+ projections, closes every metadata owner, group-member relation, and typed
152
+ reference under independently observed input, instantiated-scenario, and
153
+ expanded-output bounds with fixed budget-error precedence, and proves exact
154
+ package, field, representation, variant, and positive/negative relation
155
+ coverage without attributing correlated edits to independent field
156
+ causality, selecting a codec, or changing a public source boundary.
144
157
 
145
158
  ## Non-Claims
146
159
 
@@ -35,7 +35,7 @@
35
35
  {
36
36
  "requirementId": "REQ-PROOFKIT-SPEC-002",
37
37
  "ownerId": "proofkit.spec-proof-core",
38
- "invariant": "Requirement proof binding reports validate caller-owned requirement-to-witness mappings, require compact scenarios to use admitted surface_id::stable_anchor identities, require compact witness selectors to use admitted repo/path::stable_anchor identities, admit caller-owned source-set fragments and selected-source resolver projections, and derive typed compact proof contract projections for surfaces, scenarios, witnesses, commands, environment classes, conformance facts, and falsification routes without executing witnesses or deciding proof freshness.",
38
+ "invariant": "Requirement proof route declaration admission preserves each compact binding identity as requirementId, surfaceId, and scenarioId; preserves each witness route as bindingRecordId, role, selector, a JSON-safe non-negative resolutionOrderIndex, and witnessRouteId; admits exactly one positive and one falsification role even when both roles use the same selector; requires declaration-only v2 compact discriminators and admitted source-set v2 or fragment-v3 identities; rejects legacy proof-state, synthetic checked or finding counts, collapsed roles, and identity-loss projections; and derives only caller-owned declaration or lookup facts without executing witnesses or deciding selector resolution, oracle quality, mutation adequacy, proof freshness, trust, assurance, merge, rollout, or production readiness.",
39
39
  "claimLevel": "blocking",
40
40
  "riskClass": "high",
41
41
  "proofBindingRefs": [
@@ -45,7 +45,7 @@
45
45
  "NC-PROOFKIT-SPEC-002"
46
46
  ],
47
47
  "nonClaims": [
48
- "This requirement does not claim native witness pass evidence, proof freshness, receipt authenticity, or merge approval."
48
+ "This requirement does not claim selector existence or resolution, oracle quality, native witness execution or pass evidence, mutation adequacy, finding completeness or absence, proof freshness, receipt authenticity, trust, assurance, merge approval, rollout approval, or production readiness."
49
49
  ],
50
50
  "lifecycle": {
51
51
  "state": "active",
@@ -116,9 +116,9 @@
116
116
  {
117
117
  "requirementId": "REQ-PROOFKIT-SPEC-005",
118
118
  "ownerId": "proofkit.spec-proof-core",
119
- "invariant": "Rendered proof views and agent envelopes remain bounded, reference-closed derived presentations over structured source, count each semantic omission once, and never become canonical proof or requirement authority.",
119
+ "invariant": "Rendered proof views and agent envelopes remain bounded, reference-closed derived presentations over structured source and never become canonical proof or requirement authority; agent envelopes additionally admit local target IDs and untyped local references as lossless safe identities before display sanitization, omit unsafe identities without using a replacement label as a lookup key, count each semantic omission once, and require target IDs to be unique within each local domain and pairwise disjoint across local domains so every retained untyped local reference resolves to at most one target in their union.",
120
120
  "claimLevel": "blocking",
121
- "riskClass": "medium",
121
+ "riskClass": "high",
122
122
  "proofBindingRefs": [
123
123
  "proofkit/requirement-bindings.json"
124
124
  ],
@@ -251,7 +251,7 @@
251
251
  {
252
252
  "requirementId": "REQ-PROOFKIT-SPEC-010",
253
253
  "ownerId": "proofkit.spec-proof-core",
254
- "invariant": "Requirement impact input composition converts caller-owned base and current requirement sources, single-current-binding compact proof contracts, changed-path facts, generated-artifact policy, local environment policy, and proof-like path policy into a direct impact command input while preserving downstream impact semantics and without scanning repositories, executing witnesses, deciding freshness, or becoming a second impact evaluator.",
254
+ "invariant": "Requirement impact input composition converts caller-owned base and current requirement sources, compact proof contracts with one or more current bindings per active blocking requirement, changed-path facts, generated-artifact policy, local environment policy, and proof-like path policy into a direct impact command input; treats every referenced surface semantic change as a change to every referencing binding under the proof-binding source-path policy; preserves downstream impact semantics; and does not scan repositories, execute witnesses, decide freshness, or become a second impact evaluator.",
255
255
  "claimLevel": "blocking",
256
256
  "riskClass": "high",
257
257
  "proofBindingRefs": [
@@ -555,6 +555,19 @@
555
555
  "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
556
556
  "deferral": null,
557
557
  "updatePolicy": {"reviewOwnerId": "proofkit.spec-proof-core", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
558
+ },
559
+ {
560
+ "requirementId": "REQ-PROOFKIT-SPEC-024",
561
+ "ownerId": "proofkit.spec-proof-core",
562
+ "invariant": "A private representation-neutral requirement-source v2 model admits one bounded source into immutable atomic, authoring-layout, and typed-reference projections; it preserves atomic requirement identity while expanding grouped statement stems and premises, preserves group-to-member relations under composite identity, assigns every effective metadata field to exactly one resolving profile or member owner, admits lifecycle, deferral, update-policy, scenario, vocabulary, non-claim, and derivation semantics through closed variants and references, applies architecture-independent input, instantiated-scenario, and expanded-materialization cardinality and text budgets in a fixed precedence before per-item semantic work, rejects both lexical and single-pass parameter-instantiated observation contradictions, normalizes admitted set-like values deterministically, emits nondisclosing diagnostics deterministically for each exact input, and preserves ordered action sequences. An independently authored exact typed-field and closed-variant manifest plus an identity-aware admitted semantic mutant corpus proves individual field projection, both metadata-owner branches, or an explicitly named referential relation with negative near-miss controls and without attributing correlated edits to independent field causality; independent structural observers prove exact package exports and direct imports, representation neutrality, exact input, instantiated-scenario, and expanded-output costs, and exact versus limit-minus-one budget behavior.",
563
+ "claimLevel": "blocking",
564
+ "riskClass": "high",
565
+ "proofBindingRefs": ["proofkit/requirement-bindings.json"],
566
+ "nonClaimRefs": ["NC-PROOFKIT-SPEC-024"],
567
+ "nonClaims": ["This private single-source model does not select or expose a source codec, parse or serialize a persisted source, retain a normalized mirror, establish cross-source requirement identity, authenticate derivation objects, digests, selectors, or freshness, authenticate a caller-declared sourceKind or prove its author's authority or trust class, cut over any current requirement consumer, prove requirement meaning or implementation correctness, execute native witnesses, approve merge or release, or establish rollout or production readiness."],
568
+ "lifecycle": {"state": "active", "replacementRequirementIds": [], "evidenceRefs": []},
569
+ "deferral": null,
570
+ "updatePolicy": {"reviewOwnerId": "proofkit.spec-proof-core", "requiresImpactDeclaration": true, "requiresProofBindingReview": true}
558
571
  }
559
572
  ],
560
573
  "nonClaims": [
@@ -58,15 +58,20 @@ vulnerability absence, or consumer rollout safety by itself.
58
58
  - `REQ-PROOFKIT-QUALITY-009`: performance-sensitive parser and serializer
59
59
  paths expose benchmark entrypoints without making wall-clock budgets a
60
60
  required PR gate before stable baselines exist.
61
- - `REQ-PROOFKIT-QUALITY-010`: coverage metrics report requirement, binding,
62
- witness, CLI inventory linkage, and descriptor-owned command proof-route
63
- candidates from admitted test-evidence-inventory rows, while critical
64
- anti-vacuity scenarios retain exact closed selector inventories. Each linkage and route
65
- conjunct has an independent fail-closed falsifier, and each source-checkout
66
- selector resolves to a valid function in an active Go test file with its
67
- exact executable command; static route metadata, prose, source markers, test
68
- existence, and failure-capable syntax never become semantic falsifier
69
- evidence.
61
+ - `REQ-PROOFKIT-QUALITY-010`: coverage metrics keep static proof-route
62
+ candidates separate from an execution-backed command-oracle ledger. The
63
+ ledger runs exact selected Go tests through package-scoped argv vectors from
64
+ one exact-file materialized source snapshot, joins reserved lifecycle
65
+ attributes to every candidate identity, terminates bounded subprocesses on
66
+ cancellation or output overflow, confines atomic artifact publication and
67
+ invalidation to non-symlink repository paths, and fails closed on incomplete
68
+ command coverage or event, source, selection, producer-reachability, and
69
+ identity drift. A versioned counterfeit corpus owns checked-in expected
70
+ decisions for every required policy axis, evidence class, record coordinate,
71
+ and substitution axis; its mutations execute the production admission and
72
+ lifecycle owners rather than a generated expectation copy. Passing selected
73
+ tests does not prove assertion-branch execution, mutation adequacy, or
74
+ exhaustive command semantics.
70
75
  - `REQ-PROOFKIT-QUALITY-011`: CI separates the OS-independent full
71
76
  source/package gate from macOS platform smoke, executes the complete Go
72
77
  package set through its owner command, uses explicit hosted runner labels
@@ -102,12 +107,11 @@ vulnerability absence, or consumer rollout safety by itself.
102
107
  fields after validation.
103
108
  - `REQ-PROOFKIT-QUALITY-015`: the package gate includes an admitted release
104
109
  closeout completion-criteria report so unit tests alone cannot satisfy
105
- release closeout, and coverage-metric re-admission uses overflow-safe exact
106
- producer relations plus the complete command inventory, and compares both
107
- coverage command projections with the actual `cli-contract.v2.json` command
108
- inventory from the same source snapshot, so neither an impossible count
109
- partition nor a coordinated same-size command substitution can satisfy
110
- closeout.
110
+ release closeout. Coverage re-admission rejects candidate-only v1, requires
111
+ overflow-safe exact producer relations plus the complete command inventory,
112
+ and binds coverage v2 to the current command-oracle diagnostic through the
113
+ ledger owner's one-read canonical admission, current-owner revalidation, and
114
+ record, candidate-set, corpus, revision, and source-snapshot digests.
111
115
  - `REQ-PROOFKIT-QUALITY-016`: release platform targets use one private owner
112
116
  that projects platform suffixes, Go build targets, npm OS/CPU metadata,
113
117
  package tar entries, Python wheel tags, PyPI candidate completeness,
@@ -156,10 +160,16 @@ vulnerability absence, or consumer rollout safety by itself.
156
160
  failed attempts retain attempt-scoped action, DOM, network, and source traces
157
161
  without continuous screenshot capture plus a bounded best-effort failure
158
162
  screenshot, without creating passed proof.
159
- - `REQ-PROOFKIT-QUALITY-023`: Python wheels independently bind advertised
160
- platform compatibility to decoded executable bytes, and the wheel set rejects
161
- version, identity, presence, and digest drift; wheels carry Core Metadata 2.4
162
- plus an exact, RECORD-closed repository license payload.
163
+ - `REQ-PROOFKIT-QUALITY-023`: npm platform binaries and Python wheels
164
+ independently bind to the same release binary for every target; a separate
165
+ bounded decoder also compares the final tar and wheel members directly,
166
+ without a mutable intermediate; package-set wheel and embedded-binary digest
167
+ claims, including npm SHA-1/SRI, must equal bytes decoded from one immutable
168
+ snapshot and release closeout recomputes them through repository-confined,
169
+ bounded, identity-checked non-symlink handles; wheels bind advertised platform
170
+ compatibility to decoded executable bytes, reject version, identity,
171
+ presence, and digest drift, and carry Core Metadata 2.4 plus an exact,
172
+ RECORD-closed repository license payload.
163
173
  - `REQ-PROOFKIT-QUALITY-024`: a closed version-bound machine record binds the
164
174
  exact previous/current SemVer pair and compatible/breaking class, declares the
165
175
  exact complete current breaking, addition, and migration inventories
@@ -176,6 +186,18 @@ vulnerability absence, or consumer rollout safety by itself.
176
186
  commit identities, admitted status expressions, the required aggregate shell
177
187
  program, and read-only treatment of an existing release are source-oracle
178
188
  invariants.
189
+ - `REQ-PROOFKIT-QUALITY-026`: every public or retained-evidence stable JSON
190
+ implementation accepts only the repository-pinned Unicode scalar set and matches one
191
+ preimplementation byte corpus for the pinned control, format, and separator
192
+ table without changing decoded values.
193
+ - `REQ-PROOFKIT-QUALITY-027`: report-visible diagnostics and structural text
194
+ apply the same scalar, Unicode-whitespace, control/format, and split-secret
195
+ taxonomy, replace rejected caller values as a whole without echoing any
196
+ fragment, bound diagnostic output, and own dynamic Go/JavaScript error
197
+ projection plus failure-only bounded child-process diagnostics for repository
198
+ tools. On supported Unix hosts, an installed-carrier success additionally
199
+ requires confirmed process-group absence after the parent is reaped; cleanup
200
+ timeout is an explicit failure rather than a successful terminal result.
179
201
 
180
202
  ## Non-Claims
181
203