agentic-proofkit 0.1.91

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.
Files changed (73) hide show
  1. package/ADOPTION.md +464 -0
  2. package/LICENSE +21 -0
  3. package/NON_CLAIMS.md +197 -0
  4. package/README.md +265 -0
  5. package/dist/agentic-proofkit +35 -0
  6. package/dist/platform/darwin-arm64/agentic-proofkit +0 -0
  7. package/dist/platform/darwin-x64/agentic-proofkit +0 -0
  8. package/dist/platform/linux-arm64/agentic-proofkit +0 -0
  9. package/dist/platform/linux-x64/agentic-proofkit +0 -0
  10. package/docs/adoption-checklist-report-design.md +138 -0
  11. package/docs/adoption-workflow-agent-envelope-design.md +67 -0
  12. package/docs/adoption-workflow-authority-routes-design.md +76 -0
  13. package/docs/adoption-workflow-contract-envelope-design.md +87 -0
  14. package/docs/adoption-workflow-plan-design.md +97 -0
  15. package/docs/agent-guidance-envelope-design.md +550 -0
  16. package/docs/binding-partition-admission-design.md +127 -0
  17. package/docs/bootstrap-agent-envelope-design.md +97 -0
  18. package/docs/bootstrap-materialization-manifest-design.md +100 -0
  19. package/docs/branch-authority-report-design.md +121 -0
  20. package/docs/changed-path-set-agent-envelope-design.md +70 -0
  21. package/docs/completion-criteria-report-design.md +132 -0
  22. package/docs/custom-rule-boundary-design.md +56 -0
  23. package/docs/deployment-evidence-admission-design.md +80 -0
  24. package/docs/document-lifecycle-boundary-design.md +62 -0
  25. package/docs/json-report-cli-adapter-design.md +83 -0
  26. package/docs/migration-parity-admission-design.md +90 -0
  27. package/docs/migration-plan-design.md +73 -0
  28. package/docs/obligation-decision-agent-envelope-design.md +105 -0
  29. package/docs/obligation-decision-state-design.md +100 -0
  30. package/docs/package-runtime-dependency-admission-design.md +80 -0
  31. package/docs/producer-policy-self-proof-design.md +142 -0
  32. package/docs/project-structure-agent-envelope-design.md +121 -0
  33. package/docs/project-structure-scaffold-design.md +89 -0
  34. package/docs/proof-obligation-algebra-design.md +108 -0
  35. package/docs/proof-receipt-admission-design.md +108 -0
  36. package/docs/proofkit-contract-map.md +55 -0
  37. package/docs/receipt-currentness-scope-admission-design.md +103 -0
  38. package/docs/receipt-producer-admission-design.md +106 -0
  39. package/docs/receipt-trust-class-admission-design.md +113 -0
  40. package/docs/rendered-artifact-freshness-design.md +55 -0
  41. package/docs/requirement-browser-view-design.md +229 -0
  42. package/docs/requirement-proof-resolver-projection-design.md +97 -0
  43. package/docs/requirement-proof-source-set-design.md +72 -0
  44. package/docs/requirement-proof-view-design.md +138 -0
  45. package/docs/requirement-source-admission-design.md +66 -0
  46. package/docs/requirement-source-transition-design.md +66 -0
  47. package/docs/requirement-source-view-design.md +51 -0
  48. package/docs/scaffold-profile-plan-design.md +72 -0
  49. package/docs/secret-shaped-json-scan-design.md +60 -0
  50. package/docs/selective-evidence-obligation-decision-design.md +139 -0
  51. package/docs/selective-evidence-producer-admission-design.md +106 -0
  52. package/docs/selective-evidence-receipt-trust-class-design.md +100 -0
  53. package/docs/selective-gate-evidence-agent-envelope-design.md +100 -0
  54. package/docs/selective-gate-plan-agent-envelope-design.md +95 -0
  55. package/docs/selective-planner-edge-coverage-design.md +89 -0
  56. package/docs/spec-overview-claim-boundary-design.md +50 -0
  57. package/docs/spec-proof-bundle-admission-design.md +105 -0
  58. package/docs/specs/proofkit-consumer-infra-retirement/overview.md +44 -0
  59. package/docs/specs/proofkit-consumer-infra-retirement/requirements.v1.json +175 -0
  60. package/docs/specs/proofkit-package-boundary/overview.md +32 -0
  61. package/docs/specs/proofkit-package-boundary/requirements.v1.json +121 -0
  62. package/docs/specs/proofkit-receipt-authority/overview.md +35 -0
  63. package/docs/specs/proofkit-receipt-authority/requirements.v1.json +121 -0
  64. package/docs/specs/proofkit-spec-proof-core/overview.md +36 -0
  65. package/docs/specs/proofkit-spec-proof-core/requirements.v1.json +148 -0
  66. package/docs/witness-scheduler-plan-design.md +57 -0
  67. package/docs/workspace-planning-agent-envelope-design.md +101 -0
  68. package/docs/workspace-registry-admission-design.md +57 -0
  69. package/package.json +54 -0
  70. package/proofkit/cli-contract.v1.json +808 -0
  71. package/proofkit/receipt-producer-policy.json +48 -0
  72. package/proofkit/requirement-bindings.json +520 -0
  73. package/proofkit/witness-plan.json +649 -0
package/ADOPTION.md ADDED
@@ -0,0 +1,464 @@
1
+ # Adoption Contract
2
+
3
+ `agentic-proofkit` targets public npm release. Consumers may still pilot exact
4
+ tarball artifacts, but a consumer may treat the package as an organization-wide
5
+ dependency only after public release evidence, exact install proof, parity
6
+ proof, and rollback path are recorded for that consumer.
7
+
8
+ Formal channel invariant:
9
+
10
+ ```text
11
+ external dependency ready :=
12
+ exact package artifact identity
13
+ and package gate evidence
14
+ and installed CLI binary consumer contract
15
+ and explicit rollback path
16
+ and channel-specific authority
17
+ ```
18
+
19
+ For the current `tarball_pilot` channel, channel-specific authority is the exact
20
+ root tarball produced by `npm run package:artifact`. It is not a source checkout,
21
+ not a Git URL, not a registry release, and not a consumer rollout approval.
22
+
23
+ For the `registry_release` channel, channel-specific authority is a published
24
+ root package produced by the `release` workflow from tag `v<version>`. A
25
+ publish-ready PR alone is not registry publication.
26
+
27
+ ## One-Dependency Infrastructure Model
28
+
29
+ Consumers should treat agentic-proofkit as a reusable infrastructure dependency, not as a
30
+ repository policy owner. One dependency may provide schemas, validators,
31
+ scaffolding, migration helpers, renderers, selective planners, impact resolvers,
32
+ receipt validators, agent envelope builders, CI helper commands, and optional
33
+ presentation adapters. The consumer still provides product specifications,
34
+ requirement records, concrete proof bindings, command and environment policy,
35
+ native witnesses, CI admission policy, credential approval, and rollout
36
+ decisions.
37
+
38
+ Consumer adoption should therefore create or maintain caller-owned structured
39
+ records, then use proofkit to validate, render, slice, and plan around those
40
+ records:
41
+
42
+ ```text
43
+ consumer structured records
44
+ -> proofkit validation and reports
45
+ -> on-demand human rendering
46
+ -> bounded agent slices/envelopes
47
+ -> caller-owned native witnesses and receipts
48
+ ```
49
+
50
+ Routine rendered HTML or Markdown views, agent envelopes, and validation reports
51
+ should not be committed by default. They are derived products unless a consumer
52
+ proves that a small tracked artifact improves review or offline operation and is
53
+ protected by freshness checks.
54
+
55
+ ## Proofkit Self-Hosting Convergence
56
+
57
+ Proofkit is also a consumer of the spec-first machine-proof architecture it
58
+ implements. It may dogfood its current CLI for advisory self-consistency and
59
+ developer feedback, but the current build must not be the sole merge-critical
60
+ authority for admitting itself.
61
+
62
+ Target state:
63
+
64
+ ```text
65
+ Proofkit human specs
66
+ -> structured REQ-* records
67
+ -> proof bindings
68
+ -> witness plans over existing package commands
69
+ -> admitted CI or release receipts
70
+ ```
71
+
72
+ Convergence must proceed in owner-scoped slices:
73
+
74
+ | Slice | Owner boundary | Required trust anchor | Non-claims |
75
+ |---|---|---|---|
76
+ | Package boundary | Public binary, CLI boundary, and package artifact requirements | Existing `npm run check`, `npm run package:artifact`, publish dry-run evidence from the `release` workflow, and outside-consumer binary smoke proof | Does not claim consumer adoption, registry publication, or proof freshness |
77
+ | Requirement records | Human-readable specs plus structured requirement records for Proofkit-owned primitives | Schema admission from the previous released Proofkit, a minimal bootstrap verifier, or admitted CI producer policy | Does not infer requirements from prose, tests, or generated views |
78
+ | Proof bindings | REQ-* to witness-command mappings for existing native package checks | Existing native witness commands and admitted producer policy | Does not execute commands inside Proofkit validators or replace native pass/fail truth |
79
+ | Receipts | Release and CI receipts for package gates | Admitted CI runner or signed/attested producer policy | Does not make local advisory receipts merge-satisfying evidence |
80
+ | Generated views | On-demand human rendering and agent envelopes | Freshness validation against structured source when a view is tracked | Generated views are lookup-only and are not authority |
81
+
82
+ First implementation slice:
83
+
84
+ 1. Add a package-boundary spec package for Proofkit-owned public API, CLI, and
85
+ package artifact requirements.
86
+ 2. Add structured requirement records for that package-boundary slice.
87
+ 3. Bind those requirements to existing witness commands such as typecheck,
88
+ tests, package artifact checks, and outside-consumer binary smoke proof.
89
+ 4. Keep rendered views and agent envelopes generated on demand, not tracked by
90
+ default.
91
+ 5. Promote enforcement from advisory to blocking only after the external trust
92
+ anchor proves parity.
93
+
94
+ Second implementation slice:
95
+
96
+ 1. Add a spec-proof-core spec package for Proofkit-owned requirement source,
97
+ proof binding, witness planning, selective proof, rendered view, and agent
98
+ envelope primitives.
99
+ 2. Add structured requirement records for that spec-proof-core slice.
100
+ 3. Bind those records to existing native tests for requirement source
101
+ admission, requirement proof bindings, witness planning, selective planning,
102
+ selective evidence, requirement proof views, and bounded agent envelopes.
103
+ 4. Keep consumer requirement meaning, command policy, receipts, CI admission,
104
+ and rollout decisions outside Proofkit.
105
+ 5. Treat rendered views and agent envelopes as generated presentation only, not
106
+ tracked authority.
107
+ 6. Close self-hosting linkage through generated `spec-proof-bundle-admission`
108
+ artifacts, not tracked generated views.
109
+
110
+ Third implementation slice:
111
+
112
+ 1. Add a receipt-authority spec package for Proofkit-owned proof receipt shape,
113
+ receipt producer linkage, producer-policy self-proof, and spec-proof bundle
114
+ linkage primitives.
115
+ 2. Add structured requirement records for that receipt-authority slice.
116
+ 3. Bind those records to existing native tests for proof receipt admission,
117
+ receipt producer admission, producer-policy self-proof, and spec-proof
118
+ bundle admission.
119
+ 4. Keep producer authentication, receipt freshness, native witness execution,
120
+ current-obligation matching, and merge/release/rollout decisions outside
121
+ Proofkit.
122
+ 5. Use the receipt-authority slice as a trust-boundary prerequisite for later
123
+ consumer helper-retirement claims, not as a claim that any consumer evidence
124
+ is fresh or merge-satisfying.
125
+
126
+ Fourth implementation slice:
127
+
128
+ 1. Add a consumer-infrastructure-retirement spec package for Proofkit-owned
129
+ migration planning, installed package dependency admission, workspace
130
+ registry admission, repo-profile admission, and adoption workflow routing.
131
+ 2. Add structured requirement records for that consumer-retirement slice.
132
+ 3. Bind those records to existing native tests for migration plans, package
133
+ runtime dependency admission, workspace registry admission, repo-profile
134
+ structural admission, and adoption workflow routing.
135
+ 4. Keep old proof surfaces, parity evidence, native witness execution, command
136
+ policy, receipts, CI admission, file deletion, merge approval, release
137
+ approval, and rollout decisions inside each consuming repository.
138
+ 5. Use the consumer-retirement slice as an auditable prerequisite for later
139
+ consumer helper deletion, not as a claim that any consumer repository is
140
+ ready to delete local infrastructure.
141
+
142
+ This section is a convergence plan, not proof evidence. Package behavior remains
143
+ owned by source, tests, build output, package metadata, CI, and release
144
+ artifacts. Consumer repositories still own their own requirement sentences,
145
+ proof bindings, command policy, receipts, and rollout decisions.
146
+
147
+ ## Current Channels
148
+
149
+ The supported pilot channel is an exact npm tarball set produced by the package
150
+ gate. The default long-lived dependency channel is the public npm registry. The
151
+ default archive/provenance channel is a GitHub Release attached to the same
152
+ version tag. GitHub Packages remains a supported registry kind only for
153
+ consumers that intentionally choose a GitHub-scoped private or internal package
154
+ channel.
155
+
156
+ Normal consumers declare only the root `agentic-proofkit` package. The package
157
+ contains the supported platform binaries and selects the current OS/CPU tuple at
158
+ runtime. Pilot proofs therefore pin one root tarball instead of a root/platform
159
+ tarball pair.
160
+
161
+ Local producer command:
162
+
163
+ ```bash
164
+ npm run check
165
+ npm run package:artifact
166
+ ```
167
+
168
+ CI producer:
169
+
170
+ - workflow: `ci`;
171
+ - artifact name: `agentic-proofkit-npm-package-<git-sha>`;
172
+ - contents: root package tarball, `npm-pack.json`, and self-hosting proof
173
+ receipts;
174
+ - retention: 14 days.
175
+
176
+ Consumers must pin the exact tarball source and keep their own lockfile
177
+ integrity. The tarball is suitable for pilot integration and CI proof, not for
178
+ long-lived release management.
179
+
180
+ Registry producer workflow:
181
+
182
+ - workflow: `release`;
183
+ - trigger: version tag `v<package.json version>` or manual dispatch on that tag;
184
+ - packages: the single `agentic-proofkit` root package;
185
+ - registry: `https://registry.npmjs.org`;
186
+ - authority: npm Trusted Publisher through GitHub Actions OIDC with
187
+ `id-token: write`;
188
+ - archive authority: GitHub Release on the same version tag.
189
+
190
+ Registry publication also requires npm account security. The package owner
191
+ account must have verified email and write-protective 2FA, and release
192
+ publication must run through an admitted npm Trusted Publisher configuration
193
+ for GitHub Actions OIDC. The publisher is scoped to `release.yml`, the
194
+ `npm-production` environment, and the `agentic-proofkit` package.
195
+
196
+ The workflow runs the package gate and `npm publish --dry-run --json` in a
197
+ read-only candidate job. Only the publish job receives `id-token: write`; it
198
+ publishes the root package through npm Trusted Publishing, records post-publish
199
+ registry artifact identity, verifies a root-only registry install, and verifies
200
+ registry signatures. Only the release-assets job receives `contents: write`;
201
+ it creates the GitHub Release containing the package tarball, SHA-256 checksum
202
+ file, and release manifest. The workflow does not migrate any consumer
203
+ repository.
204
+
205
+ The same boundary is machine-checkable through:
206
+
207
+ ```bash
208
+ agentic-proofkit release-authority --input proofkit/release-authority.json
209
+ ```
210
+
211
+ Consumer-provided registry install evidence can be normalized through:
212
+
213
+ ```bash
214
+ agentic-proofkit registry-consumer --input proofkit/registry-consumer.json
215
+ ```
216
+
217
+ Gradual adoption can also emit deterministic agent guidance:
218
+
219
+ ```bash
220
+ agentic-proofkit adoption-workflow-plan --input proofkit/adoption-workflow-plan.json
221
+ agentic-proofkit adoption-workflow-plan --input proofkit/adoption-workflow-envelope.json --contract-envelope
222
+ agentic-proofkit adoption-workflow-plan --input proofkit/adoption-workflow-plan.json --agent-envelope
223
+ agentic-proofkit adoption-checklist --input proofkit/adoption-checklist.json
224
+ agentic-proofkit branch-authority --input proofkit/branch-authority.json
225
+ agentic-proofkit deployment-evidence-admission --input proofkit/deployment-evidence-admission.json
226
+ agentic-proofkit stack-preset --preset typescript_workspace
227
+ agentic-proofkit workspace-changed-package-plan --input proofkit/workspace-changed-package-plan.json
228
+ agentic-proofkit workspace-shard-partition --input proofkit/workspace-shard-partition.json
229
+ agentic-proofkit scaffold-profile-plan --input proofkit/scaffold-profile-plan.json
230
+ agentic-proofkit scaffold-project-structure --input proofkit/project-structure-scaffold.json
231
+ agentic-proofkit scaffold-project-structure --input proofkit/project-structure-scaffold.json --agent-envelope
232
+ agentic-proofkit gradual-adoption-bootstrap --input proofkit/bootstrap.json
233
+ agentic-proofkit gradual-adoption-bootstrap --input proofkit/bootstrap.json --agent-envelope
234
+ agentic-proofkit gradual-adoption-bootstrap --input proofkit/bootstrap.json --materialization-manifest
235
+ agentic-proofkit gradual-adoption-guidance --input proofkit/adoption-guidance.json
236
+ agentic-proofkit requirement-bindings --input proofkit/requirement-bindings.json
237
+ agentic-proofkit requirement-proof-source-set --input proofkit/requirement-proof-source-set.json
238
+ agentic-proofkit proof-slice --input proofkit/requirement-bindings.json
239
+ agentic-proofkit requirement-proof-view --input proofkit/requirement-bindings.json --scope slice --format markdown
240
+ agentic-proofkit requirement-proof-view --input proofkit/requirement-bindings.json --scope slice --format html > /tmp/proofkit-proof-view.html
241
+ agentic-proofkit typescript-public-api-surfaces --input proofkit/typescript-public-api-surfaces.json --repo-root .
242
+ agentic-proofkit spec-proof-bundle-admission --input proofkit/spec-proof-bundle.json
243
+ agentic-proofkit migration-parity-admission --input proofkit/migration-parity-admission.json
244
+ agentic-proofkit migration-plan --input proofkit/migration-plan.json
245
+ agentic-proofkit package-runtime-dependency-admission --input proofkit/package-runtime-dependency-admission.json
246
+ agentic-proofkit selective-gate-evidence --input proofkit/selective-gate-evidence.json
247
+ agentic-proofkit selective-gate-plan --input proofkit/selective-gate-plan.json
248
+ ```
249
+
250
+ Adoption workflow plans are the scenario-level entrypoint. They route
251
+ caller-selected scenarios such as new repository adoption, existing gradual
252
+ adoption, legacy proof migration, and release-channel checks to existing
253
+ Proofkit primitives. They use structured argv command refs and missing-input
254
+ blockers, but they do not scan the repository, execute commands, authenticate
255
+ receipts, decide proof freshness, or choose whether the scenario is appropriate
256
+ for the consumer.
257
+ HTML requirement views are self-contained browser documents with search,
258
+ filters, and ID visibility controls. Generate them on demand for review rather
259
+ than committing them as source truth; if a repository chooses to track a
260
+ rendered view, it owns a rendered-artifact freshness gate.
261
+ When the caller declares `adoption_checklist` or `branch_authority` input refs,
262
+ the same workflow can also route to `adoption-checklist` and
263
+ `branch-authority`. Those refs are optional routes, not global adoption
264
+ preconditions; checklist requiredness and expected branch policy stay in the
265
+ consuming repository.
266
+ Workflow agent envelopes are opt-in bounded presentations over the same plan.
267
+ They preserve structured `argv` command refs for agents and omit primitive
268
+ input payload bodies.
269
+
270
+ Adoption checklist reports summarize caller-owned adoption evidence after a
271
+ scenario has been selected. The consumer provides checklist items, required
272
+ item ids, evidence refs, command refs, blockers, and non-claims. Proofkit
273
+ deterministically classifies required items as satisfied, missing, blocked, or
274
+ not applicable. It does not scan repositories, execute commands, authenticate
275
+ evidence refs, prove freshness, infer requiredness policy, or approve merge,
276
+ release, or rollout.
277
+
278
+ Branch authority reports summarize caller-owned branch-setting and workflow
279
+ branch-ref evidence. The consumer provides observed branch refs, expected
280
+ branch refs, requiredness, evidence refs, and non-claims. Proofkit compares
281
+ those facts deterministically and exposes required versus advisory drift. It
282
+ does not query GitHub, parse workflow files, mutate branch settings, prove
283
+ branch protection, execute CI or publish workflows, or choose branch policy.
284
+
285
+ Bootstrap reports produce starter payload plans for the first non-blocking
286
+ module adoption. They list caller-owned files, emit JSON payloads for
287
+ `gradual-adoption`, `gradual-adoption-guidance`, starter
288
+ requirement-to-witness proof binding, and `witness-plan`, and include a
289
+ structured `agentActionPlan`. They do not write files, scan implicit repository
290
+ state, execute native witnesses, or choose rollout policy.
291
+
292
+ Bootstrap agent envelopes are opt-in compact projections over bootstrap
293
+ reports. They include planned file refs, observe-mode command refs, route
294
+ questions, and bind/verify/promote actions, but intentionally omit full starter
295
+ payloads. They are for agent routing, not file transport or proof evidence.
296
+
297
+ Bootstrap materialization manifests are opt-in dry-run projections over
298
+ bootstrap reports. They list planned files, payload-backed JSON content,
299
+ `sha256:` content refs, and caller-owned content gaps. They help a developer or
300
+ agent review first-adoption file changes, but they do not write files, inspect
301
+ existing files, resolve conflicts, or prove that files exist after review.
302
+
303
+ Project-structure scaffolds compose profile scaffold, bootstrap, materialized
304
+ starter payloads, and workflow routing into one first-adoption review packet.
305
+ Their agent envelopes are opt-in bounded routing packets over that review
306
+ packet. They include candidate file refs, blocked caller-content preconditions,
307
+ command refs, route questions, and action items, but intentionally omit starter
308
+ payload bodies. They are for agent routing, not file transport, overwrite
309
+ approval, or proof evidence.
310
+
311
+ Guidance reports are routing artifacts. They may tell an agent which owner,
312
+ spec, proof binding, command, blocked precondition, or next action to inspect
313
+ next. Their `agentActionPlan` entries carry phase, caller-owned evidence refs,
314
+ caller-owned commands, and non-claims, but they do not execute native
315
+ witnesses, create proof truth, or approve rollout.
316
+ `callerSuggestedAutofixCandidates` entries are caller-owned suggestions; their
317
+ safety remains owned by the consuming repository.
318
+
319
+ Stack preset reports are starter shapes. They can suggest initial files,
320
+ environment classes, proof-like paths, witness kinds, and commands for common
321
+ repository classes, but they are not mandatory CI policy and they do not inspect
322
+ the consumer repository.
323
+
324
+ Repo-profile scaffold plans bridge stack presets to caller-owned profile
325
+ authoring. They emit a deterministic draft shape, provenance, caller-required
326
+ gaps, and follow-up validation commands from explicit caller input. They do not
327
+ scan the repository, write `repo-profile.v1.json`, admit profile correctness,
328
+ or decide command/environment policy.
329
+
330
+ Migration plans bridge local proof infrastructure to Proofkit primitives for
331
+ existing repositories. They order baseline, parallel-proof, parity-check,
332
+ old-owner retirement, and post-retirement validation phases. They block
333
+ retirement candidates that lack caller-provided parity evidence or
334
+ post-retirement validation commands, but they do not delete files, execute
335
+ commands, authenticate parity, or approve retirement.
336
+
337
+ Migration parity admission validates the structured parity evidence that a
338
+ consumer may later reference from a migration plan. It checks declared
339
+ source-owner and target-ref closure, typed equivalence kinds, caller-provided
340
+ digest equality for `matched` records, and fail-closed parity statuses. It does
341
+ not compute digests, execute native witnesses, authenticate receipts, prove
342
+ semantic correctness, compute freshness, or approve old-owner retirement.
343
+
344
+ Requirement-binding reports validate caller-provided `REQ-*` to witness-command
345
+ records, emit lookup-only evidence graphs, and emit compact proof slices for
346
+ agent work packets. They do not own requirement meaning, execute native
347
+ witnesses, decide proof freshness, or approve proof coverage.
348
+
349
+ Requirement-proof views render the same caller-owned structured records as
350
+ lookup-only JSON, Markdown, or HTML. They are human presentation products, not
351
+ canonical proof truth, and they should normally be generated on demand instead
352
+ of committed.
353
+
354
+ Selective gate plans are caller-input projections. A consumer supplies changed
355
+ paths, generated-artifact ownership rules, proof-like path coverage,
356
+ package-gate commands, dependency-freshness inputs, private prefixes, and
357
+ artifact-integrity policies. The report returns mandatory commands, skipped
358
+ gate reasons, generated artifact obligations, and fail-closed diagnostics. It
359
+ does not read git state, prove changed-path completeness, execute commands,
360
+ prove command success, choose repository policy, approve proof coverage, pass a
361
+ secret scan, or decide proof freshness.
362
+
363
+ Workspace changed-package and shard-partition reports expose the reusable
364
+ workspace planning primitives directly through the CLI for non-TypeScript or
365
+ thin-adapter consumers. The caller provides changed paths, package nodes,
366
+ escalation rules, selected roots, and shard totals; Proofkit returns
367
+ deterministic package roots, escalation reasons, dependency closures, and
368
+ matrix rows. It does not discover git changes, scan repositories, choose CI
369
+ commands, schedule runners, or approve gate skipping.
370
+
371
+ Selective gate evidence reports compare a caller-provided selective gate plan
372
+ with caller-provided execution receipts. The report verifies that every planned
373
+ command has exactly one receipt, that unexpected receipts are rejected, and
374
+ that failed, blocked, or not-run receipts are visible in deterministic output.
375
+ It does not execute planned commands, read CI logs, prove log freshness, prove
376
+ receipt authenticity, or decide whether a consuming repository may skip any
377
+ caller-owned gate.
378
+
379
+ Gradual guidance modes:
380
+
381
+ | Mode | Meaning |
382
+ |---|---|
383
+ | `observe` | Emit agent routing without blocking on caller proof state. |
384
+ | `warn` | Preserve a passing guidance report while surfacing source gaps as warnings. |
385
+ | `enforce-touched` | Fail closed for touched failed rules or reported missing proof bindings in the checked scope. |
386
+ | `enforce-all` | Fail or block on any caller-owned source report failure, blocked precondition, or missing proof binding. |
387
+
388
+ Recommended consumer rollout:
389
+
390
+ 1. Start with `observe` for one bounded module and a caller-owned native witness.
391
+ 2. Move to `warn` after the report route is stable and visible in CI logs.
392
+ 3. Move to `enforce-touched` for changed modules after proof bindings cover touched work.
393
+ 4. Move to `enforce-all` only after the repository owner admits full coverage.
394
+
395
+ `tarball_pilot` reports must keep `manifestPrivate=true`, must not declare a
396
+ registry authority, must use a `file_tarball` dependency pin, and must bind the
397
+ declared artifact and rollback pin to the package name and version.
398
+ Strict `registry_release` reports use `schemaVersion=3` and fail closed unless
399
+ the input declares registry kind, registry URL, package scope, visibility,
400
+ publish authority mode, publish workflow, source repository, consumer migration
401
+ path, rollback policy, and publish dry-run proof. Legacy `schemaVersion=1`
402
+ registry inputs remain accepted for compatibility, but they do not carry
403
+ source-repository proof.
404
+ GitHub Packages releases must use the GitHub source owner as the npm package
405
+ scope and `github_actions_github_token` as the publish authority. Public npm
406
+ registry provenance releases require both public source repository visibility
407
+ and public package visibility.
408
+
409
+ Consumer dependency shape:
410
+
411
+ ```json
412
+ {
413
+ "devDependencies": {
414
+ "agentic-proofkit": "file:vendor/agentic-proofkit/agentic-proofkit-<version>.tgz"
415
+ }
416
+ }
417
+ ```
418
+
419
+ Registry dependency shape:
420
+
421
+ ```json
422
+ {
423
+ "devDependencies": {
424
+ "agentic-proofkit": "<version>"
425
+ }
426
+ }
427
+ ```
428
+
429
+ Consumers must not depend on a sibling source checkout, a Git URL, `src/`,
430
+ `dist/`, or any deep import path.
431
+
432
+ ## Consumer Obligations
433
+
434
+ A CLI consumer must:
435
+
436
+ - commit the package-manager lockfile change;
437
+ - run an installed `agentic-proofkit` binary smoke test after installation;
438
+ - keep product specifications, requirement bindings, native witnesses, CI gates,
439
+ and rollout policy in the consuming repository;
440
+ - keep custom proof rules outside this package unless they generalize across
441
+ repositories;
442
+ - avoid copying proofkit source files into the consumer.
443
+
444
+ Proofkit does not publish a package-root SDK contract. Consumers that need a
445
+ language-native wrapper should keep that wrapper in their own repository and
446
+ drive the installed CLI/JSON contract instead of importing `src/`, `dist/`, or
447
+ any deep package path.
448
+
449
+ Rollback is deletion of the file dependency, tarball reference, and lockfile
450
+ entry. No registry state is created by this pilot channel.
451
+
452
+ ## Registry Promotion Gate
453
+
454
+ Registry publication remains a separate action even after this repository is
455
+ publish-ready. A promotion must prove:
456
+
457
+ - source repository owner, name, URL, and visibility;
458
+ - registry package visibility for the selected channel;
459
+ - exact package version and immutable install evidence;
460
+ - consumer migration path from tarball pilots to versioned dependency pins.
461
+ - rollback path to the prior admitted dependency version.
462
+
463
+ Only a consumer migration PR may remove a consumer's local fallback or tarball
464
+ dependency after exact registry install and parity evidence pass.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ivan Pereverziev
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.