@research-engineering/agentic-proofkit 0.1.159 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ADOPTION.md +7 -6
- package/README.md +95 -14
- package/dist/agentic-proofkit +5 -0
- package/dist/platform/darwin-arm64/agentic-proofkit +0 -0
- package/dist/platform/darwin-x64/agentic-proofkit +0 -0
- package/dist/platform/linux-arm64/agentic-proofkit +0 -0
- package/dist/platform/linux-x64/agentic-proofkit +0 -0
- package/docs/proofkit-contract-map.md +3 -2
- package/docs/release-process.md +22 -10
- package/docs/specs/proofkit-consumer-infra-retirement/overview.md +2 -1
- package/docs/specs/proofkit-consumer-infra-retirement/requirements.v1.json +1 -1
- package/docs/specs/proofkit-package-boundary/overview.md +46 -17
- package/docs/specs/proofkit-package-boundary/requirements.v1.json +9 -9
- package/docs/specs/proofkit-spec-proof-core/overview.md +32 -17
- package/docs/specs/proofkit-spec-proof-core/requirements.v1.json +13 -13
- package/docs/specs/proofkit-supply-chain-quality/overview.md +96 -24
- package/docs/specs/proofkit-supply-chain-quality/requirements.v1.json +52 -13
- package/package.json +7 -8
- package/proofkit/cli-contract.v2.json +12701 -91
- package/proofkit/receipt-producer-policy.json +1 -1
- package/proofkit/requirement-bindings.json +1090 -17
- package/proofkit/witness-plan.json +68 -2
- package/AGENTS.md +0 -160
- package/CONTRIBUTING.md +0 -81
|
@@ -171,6 +171,35 @@
|
|
|
171
171
|
]
|
|
172
172
|
}
|
|
173
173
|
},
|
|
174
|
+
{
|
|
175
|
+
"schemaVersion": 1,
|
|
176
|
+
"id": "proofkit.command-contract-check",
|
|
177
|
+
"cwd": ".",
|
|
178
|
+
"argv": [
|
|
179
|
+
"npm",
|
|
180
|
+
"run",
|
|
181
|
+
"command-contract:check"
|
|
182
|
+
],
|
|
183
|
+
"environment": {
|
|
184
|
+
"inherit": "none",
|
|
185
|
+
"allowlist": [],
|
|
186
|
+
"classes": [
|
|
187
|
+
"local-go"
|
|
188
|
+
]
|
|
189
|
+
},
|
|
190
|
+
"timeoutMs": 600000,
|
|
191
|
+
"networkPolicy": "none",
|
|
192
|
+
"credentialClass": "none",
|
|
193
|
+
"cachePolicy": "disabled",
|
|
194
|
+
"expectedArtifacts": [],
|
|
195
|
+
"parallelGroup": "local-go-static",
|
|
196
|
+
"exitCodePolicy": {
|
|
197
|
+
"kind": "zero",
|
|
198
|
+
"successCodes": [
|
|
199
|
+
0
|
|
200
|
+
]
|
|
201
|
+
}
|
|
202
|
+
},
|
|
174
203
|
{
|
|
175
204
|
"schemaVersion": 1,
|
|
176
205
|
"id": "proofkit.go-fmt",
|
|
@@ -738,6 +767,7 @@
|
|
|
738
767
|
"internal/kernel/admit",
|
|
739
768
|
"internal/kernel/agentenvelope",
|
|
740
769
|
"internal/kernel/browserdoc",
|
|
770
|
+
"internal/kernel/cliexec",
|
|
741
771
|
"internal/kernel/compactproofcontract",
|
|
742
772
|
"internal/kernel/digest",
|
|
743
773
|
"internal/kernel/markdownfmt",
|
|
@@ -758,6 +788,8 @@
|
|
|
758
788
|
"scripts/browser-proof-inputs.test.mjs",
|
|
759
789
|
"scripts/browser-runtime-proof-inputs.v1.json",
|
|
760
790
|
"scripts/browser-selection-authority.test.mjs",
|
|
791
|
+
"scripts/stable-json.mjs",
|
|
792
|
+
"scripts/stable-json.test.mjs",
|
|
761
793
|
"scripts/write-browser-proof.mjs",
|
|
762
794
|
"tests/browser",
|
|
763
795
|
"tsconfig.browser.json"
|
|
@@ -788,8 +820,8 @@
|
|
|
788
820
|
"timeoutMs": 600000
|
|
789
821
|
},
|
|
790
822
|
"nonClaims": [
|
|
791
|
-
"Browser runtime proof does not
|
|
792
|
-
"Pinned Playwright engines
|
|
823
|
+
"Browser runtime proof does not establish full WCAG 2.2 conformance, complete screen-reader interoperability, every operating-system theme, 400-percent zoom behavior, registry publication, rollout, or production readiness.",
|
|
824
|
+
"Pinned Chromium, Firefox, and Playwright WebKit engines do not prove branded Safari compatibility."
|
|
793
825
|
]
|
|
794
826
|
},
|
|
795
827
|
{
|
|
@@ -843,6 +875,40 @@
|
|
|
843
875
|
"Self-hosting witness policy does not prove producer authentication or merge approval."
|
|
844
876
|
]
|
|
845
877
|
},
|
|
878
|
+
{
|
|
879
|
+
"commandId": "proofkit.command-contract-check",
|
|
880
|
+
"inputSelectors": [
|
|
881
|
+
"internal/app/command_contract_generated.go",
|
|
882
|
+
"internal/command/stackpreset/preset_ids_generated.go",
|
|
883
|
+
"internal/tools/commandcontractgen",
|
|
884
|
+
"proofkit/cli-contract.v2.json"
|
|
885
|
+
],
|
|
886
|
+
"outputSelectors": [],
|
|
887
|
+
"resourceReads": [
|
|
888
|
+
"resource.proofkit.source"
|
|
889
|
+
],
|
|
890
|
+
"resourceWrites": [],
|
|
891
|
+
"exclusiveLocks": [],
|
|
892
|
+
"sideEffectClass": "none",
|
|
893
|
+
"deterministicOutput": true,
|
|
894
|
+
"cacheAdmissionRefs": [],
|
|
895
|
+
"retryPolicy": {
|
|
896
|
+
"kind": "none",
|
|
897
|
+
"maxAttempts": 1
|
|
898
|
+
},
|
|
899
|
+
"cancellationPolicy": {
|
|
900
|
+
"kind": "cooperative",
|
|
901
|
+
"graceMs": 5000
|
|
902
|
+
},
|
|
903
|
+
"timeoutPolicy": {
|
|
904
|
+
"kind": "bounded",
|
|
905
|
+
"timeoutMs": 600000
|
|
906
|
+
},
|
|
907
|
+
"nonClaims": [
|
|
908
|
+
"Generated projection freshness does not execute native command semantics or validate package publication.",
|
|
909
|
+
"Self-hosting witness policy does not prove producer authentication or merge approval."
|
|
910
|
+
]
|
|
911
|
+
},
|
|
846
912
|
{
|
|
847
913
|
"commandId": "proofkit.coverage-metrics",
|
|
848
914
|
"inputSelectors": [
|
package/AGENTS.md
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
# agentic-proofkit Agent Instructions
|
|
2
|
-
|
|
3
|
-
This file is the repository coding-agent entrypoint for `agentic-proofkit`.
|
|
4
|
-
|
|
5
|
-
Scope: repository root unless a nearer nested `AGENTS.md` exists. A nested
|
|
6
|
-
entrypoint may refine local build or ownership rules, but it must not weaken
|
|
7
|
-
root safety, proof, release, or secret-handling rules.
|
|
8
|
-
|
|
9
|
-
Formal logic is the basis for every analysis, conclusion, decision, and
|
|
10
|
-
implementation action in this repository.
|
|
11
|
-
|
|
12
|
-
## Authority Precedence
|
|
13
|
-
|
|
14
|
-
Use this order when instructions or evidence conflict:
|
|
15
|
-
|
|
16
|
-
1. system and developer instructions of the current execution environment;
|
|
17
|
-
2. safety, security, legal, privacy, and secret-handling constraints;
|
|
18
|
-
3. explicit user instructions for the current task;
|
|
19
|
-
4. nearest scoped `AGENTS.md`;
|
|
20
|
-
5. this repository authority model;
|
|
21
|
-
6. `README.md` as a human overview only;
|
|
22
|
-
7. `BACKLOG.md` for active work, blocked claims, and deferred work;
|
|
23
|
-
8. `ADOPTION.md`, `NON_CLAIMS.md`, `docs/proofkit-contract-map.md`, and
|
|
24
|
-
`docs/specs/*` as owner surfaces for their stated boundaries;
|
|
25
|
-
9. imported source files, tests, package metadata, workflows, and
|
|
26
|
-
machine-readable contracts as owners for their exact behavior after they
|
|
27
|
-
exist in this repository;
|
|
28
|
-
10. generated artifacts, registry output, CI logs, model output, chat memory,
|
|
29
|
-
issue text, and pull-request text as evidence only after owner admission.
|
|
30
|
-
|
|
31
|
-
If owner surfaces conflict, preserve safety, identify the contradiction, and
|
|
32
|
-
fix or report it. Do not silently choose the more convenient source.
|
|
33
|
-
|
|
34
|
-
## Current Imported Surface
|
|
35
|
-
|
|
36
|
-
The repository is in a staged public cutover. Treat only files present in this
|
|
37
|
-
repository as authority for their exact behavior.
|
|
38
|
-
|
|
39
|
-
Imported source files, tests, package metadata, workflows, machine-readable
|
|
40
|
-
contracts, and specifications own their bounded surfaces after the pull request
|
|
41
|
-
that imports them has been reviewed and merged. Absent layers are non-claims.
|
|
42
|
-
|
|
43
|
-
Do not infer package publication, public-source provenance, provider-side
|
|
44
|
-
security ingestion, branch protection, Trusted Publisher, rollout, deployment,
|
|
45
|
-
or production readiness from source presence alone. Those claims require their
|
|
46
|
-
own release, provider, or deployment evidence.
|
|
47
|
-
|
|
48
|
-
## Deterministic Start
|
|
49
|
-
|
|
50
|
-
1. If the task names a concrete path, read that path first.
|
|
51
|
-
2. If the request is clear, do not ask whether to resume previous work.
|
|
52
|
-
3. If the request is ambiguous and strong unfinished-work signals exist,
|
|
53
|
-
inspect the worktree state and ask whether to resume.
|
|
54
|
-
4. Use `BACKLOG.md` for active work, blocked claims, and deferred work.
|
|
55
|
-
5. Load one primary owner surface for the task. Load a second owner surface only
|
|
56
|
-
when the task clearly crosses another boundary.
|
|
57
|
-
6. Stop context loading once the owner boundary, allowed mutation, proof path,
|
|
58
|
-
and closeout requirements are known.
|
|
59
|
-
|
|
60
|
-
## Repository Invariants
|
|
61
|
-
|
|
62
|
-
- Proofkit stays generic. Do not add consuming-repository product policy,
|
|
63
|
-
topology-specific assertions, rollout decisions, or native witness execution
|
|
64
|
-
authority.
|
|
65
|
-
- The intended public contract is the CLI plus JSON input/output, exit codes,
|
|
66
|
-
package metadata, and shipped contract records after those surfaces are
|
|
67
|
-
imported.
|
|
68
|
-
- Caller-owned input is untrusted until admitted into canonical immutable
|
|
69
|
-
records. Code must not validate one representation and later reread mutable
|
|
70
|
-
caller input for policy, route, proof, persistence, or report decisions.
|
|
71
|
-
- Rendered HTML, Markdown, agent envelopes, and generated reports are derived
|
|
72
|
-
products. They are not authority unless a consuming repository explicitly
|
|
73
|
-
admits a tracked artifact with freshness checks.
|
|
74
|
-
- Current-build Proofkit output may provide advisory self-consistency, but
|
|
75
|
-
merge-critical proof must not depend only on the build being proven.
|
|
76
|
-
- New commands, files, specs, or docs are admitted only when they own a named
|
|
77
|
-
invariant, reusable algorithm, public contract, anti-corruption boundary, or
|
|
78
|
-
documented adoption or release obligation.
|
|
79
|
-
- Architecture documents, ADRs, and roadmaps are admissible only when a
|
|
80
|
-
deterministic requirement, machine contract, test, shipped operational guide,
|
|
81
|
-
or backlog row cannot express the same current authority with lower token
|
|
82
|
-
cost. They must name owner, scope, proof path, non-claims, and retirement or
|
|
83
|
-
supersession condition.
|
|
84
|
-
|
|
85
|
-
## Security And Trust Boundaries
|
|
86
|
-
|
|
87
|
-
- Do not commit, print, log, summarize, or store secrets in docs, reports,
|
|
88
|
-
prompts, URLs, argv, fixtures, generated artifacts, or package metadata.
|
|
89
|
-
- Missing credentials, private source visibility, unavailable live services, or
|
|
90
|
-
blocked registry/provenance preconditions are `blocked` or `unverified`, not
|
|
91
|
-
`passed`.
|
|
92
|
-
- Local artifacts, registry output, release assets, CI receipts, and provider
|
|
93
|
-
dashboards are distinct evidence classes. Do not treat one as another unless
|
|
94
|
-
an owner surface defines the implication.
|
|
95
|
-
- Local, dry-run, generated, advisory, registry, provider, live, credentialed,
|
|
96
|
-
rollout, and production evidence classes do not imply each other unless an
|
|
97
|
-
owner-approved proof explicitly defines that implication.
|
|
98
|
-
- Trusted Publisher or OIDC release claims must name the workflow, source ref,
|
|
99
|
-
package, registry, environment, and post-publish registry identity.
|
|
100
|
-
|
|
101
|
-
## Git And Worktree Safety
|
|
102
|
-
|
|
103
|
-
- Inspect worktree state before modifying files.
|
|
104
|
-
- Never revert user or other-agent changes unless explicitly requested.
|
|
105
|
-
- Do not use destructive version-control operations unless the user clearly
|
|
106
|
-
requested them or a repository owner surface defines a safe path.
|
|
107
|
-
- Use conventional commits.
|
|
108
|
-
- Keep changes owner-scoped and proof-scoped.
|
|
109
|
-
- Do not commit build artifacts, package tarballs, caches, local credentials,
|
|
110
|
-
or generated proof residue unless a release owner explicitly admits the
|
|
111
|
-
artifact.
|
|
112
|
-
|
|
113
|
-
## Proof And Gates
|
|
114
|
-
|
|
115
|
-
Use the narrowest owner-valid proof first, then the current closeout gate for
|
|
116
|
-
the imported surface.
|
|
117
|
-
|
|
118
|
-
For public contract-only changes:
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
git diff --check
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
For runtime, package, CLI, workflow, or specification changes:
|
|
125
|
-
|
|
126
|
-
```bash
|
|
127
|
-
npm run check
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
Use narrower owner-valid gates first when iterating, then run the closeout gate
|
|
131
|
-
against the final committed object before push or merge whenever the change is
|
|
132
|
-
publishable.
|
|
133
|
-
|
|
134
|
-
Skipped gates must state the exact blocker and must not be reported as success.
|
|
135
|
-
|
|
136
|
-
## Decision Protocol
|
|
137
|
-
|
|
138
|
-
Every non-trivial design or implementation decision should answer:
|
|
139
|
-
|
|
140
|
-
```text
|
|
141
|
-
problem:
|
|
142
|
-
chosen owner boundary:
|
|
143
|
-
rejected lower-cost alternative:
|
|
144
|
-
proof invariant:
|
|
145
|
-
non-claims:
|
|
146
|
-
rollback or overturn condition:
|
|
147
|
-
why this avoids accidental complexity:
|
|
148
|
-
why this avoids premature over-decomposition:
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
Add a durable rule only when it closes a confirmed repeatable weakness with a
|
|
152
|
-
known owner, trigger, proof path, and lower-cost alternative analysis.
|
|
153
|
-
|
|
154
|
-
## Closeout Contract
|
|
155
|
-
|
|
156
|
-
Before stopping, report changed surfaces, proof gates run, skipped gates and
|
|
157
|
-
blockers, residual risk, explicit non-claims, and next action only if work
|
|
158
|
-
remains. For non-trivial changes, include a retro finding or `none`. For
|
|
159
|
-
repeated or systemic failures, also state the falsified invariant, correction
|
|
160
|
-
owner, and proof against recurrence.
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Contributing
|
|
2
|
-
|
|
3
|
-
Thank you for improving `agentic-proofkit`.
|
|
4
|
-
|
|
5
|
-
This project accepts changes that preserve Proofkit's boundary as a reusable
|
|
6
|
-
CLI/JSON proof infrastructure toolkit. Consumer-specific policy, product
|
|
7
|
-
semantics, native witness execution, proof freshness decisions, merge
|
|
8
|
-
admission, and rollout approval belong in consuming repositories.
|
|
9
|
-
|
|
10
|
-
## Start Here
|
|
11
|
-
|
|
12
|
-
1. Read [AGENTS.md](AGENTS.md) for repository authority, proof, and closeout
|
|
13
|
-
rules.
|
|
14
|
-
2. Use [README.md](README.md) for human orientation.
|
|
15
|
-
3. Use [docs/proofkit-contract-map.md](docs/proofkit-contract-map.md) to find
|
|
16
|
-
the owner command or primitive.
|
|
17
|
-
4. Use [ADOPTION.md](ADOPTION.md) for dependency and channel authority.
|
|
18
|
-
5. Use [BACKLOG.md](BACKLOG.md) to check active work, blocked claims, and
|
|
19
|
-
deferred work.
|
|
20
|
-
6. Use [NON_CLAIMS.md](NON_CLAIMS.md) to understand the boundary between
|
|
21
|
-
Proofkit mechanics and consuming-repository authority.
|
|
22
|
-
|
|
23
|
-
## Local Checks
|
|
24
|
-
|
|
25
|
-
Run before proposing a non-trivial change:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
npm ci --ignore-scripts
|
|
29
|
-
npx playwright install chromium firefox webkit
|
|
30
|
-
npm run check
|
|
31
|
-
git diff --check
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
The browser engine installation is a one-time prerequisite for the pinned
|
|
35
|
-
rendered-runtime gate. CI installs the same engines with their Linux system
|
|
36
|
-
dependencies before running that gate.
|
|
37
|
-
|
|
38
|
-
If your local project uses Bun, `bun run check` is acceptable as a convenience
|
|
39
|
-
runner only when it invokes the same scripts and leaves `npm run check`
|
|
40
|
-
equivalent. Release and package-authority proof remains npm-owned.
|
|
41
|
-
|
|
42
|
-
For CLI or Go changes, run focused Go tests first. For package or release
|
|
43
|
-
changes, inspect [docs/release-process.md](docs/release-process.md).
|
|
44
|
-
|
|
45
|
-
## Change Admission
|
|
46
|
-
|
|
47
|
-
An accepted change should have:
|
|
48
|
-
|
|
49
|
-
- one clear owner scope;
|
|
50
|
-
- a named invariant or contract it improves;
|
|
51
|
-
- the lower-cost alternative considered and rejected;
|
|
52
|
-
- proof that matches the changed evidence class;
|
|
53
|
-
- explicit non-claims when the change does not prove runtime, release,
|
|
54
|
-
consumer adoption, native witness execution, or rollout readiness.
|
|
55
|
-
|
|
56
|
-
Do not add generated HTML, generated lookup graphs, local artifacts, package
|
|
57
|
-
tarballs, `dist/`, `artifacts/`, `node_modules/`, credentials, or consumer
|
|
58
|
-
repository snapshots to source control unless a release owner explicitly
|
|
59
|
-
admits the artifact.
|
|
60
|
-
|
|
61
|
-
## Pull Requests
|
|
62
|
-
|
|
63
|
-
Pull requests are maintainer-controlled. Public users may open issues, but pull
|
|
64
|
-
request creation is restricted to collaborators until the governance model
|
|
65
|
-
changes.
|
|
66
|
-
|
|
67
|
-
Use concise pull requests. The title and summary should state the exact owner
|
|
68
|
-
scope and reviewable outcome. Avoid copied logs, stale checklists, and broad
|
|
69
|
-
"cleanup" claims.
|
|
70
|
-
|
|
71
|
-
Good PR descriptions answer:
|
|
72
|
-
|
|
73
|
-
- what changed;
|
|
74
|
-
- why the owner boundary is correct;
|
|
75
|
-
- what proof ran;
|
|
76
|
-
- what is not claimed.
|
|
77
|
-
|
|
78
|
-
## Conduct
|
|
79
|
-
|
|
80
|
-
Be direct, evidence-based, and respectful. Disagreement should focus on the
|
|
81
|
-
invariant, owner boundary, proof, and lower-cost alternative.
|