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
@@ -0,0 +1,148 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "sourceId": "proofkit.spec-proof-core.requirements",
4
+ "specPackagePath": "docs/specs/proofkit-spec-proof-core",
5
+ "overviewPath": "docs/specs/proofkit-spec-proof-core/overview.md",
6
+ "requirementsPath": "docs/specs/proofkit-spec-proof-core/requirements.v1.json",
7
+ "requirements": [
8
+ {
9
+ "requirementId": "REQ-PROOFKIT-SPEC-001",
10
+ "ownerId": "proofkit.spec-proof-core",
11
+ "invariant": "Requirement source admission validates structured REQ-* records and source-package shape without owning requirement meaning or scanning overview prose as authority.",
12
+ "claimLevel": "blocking",
13
+ "riskClass": "high",
14
+ "proofBindingRefs": [
15
+ "proofkit/requirement-bindings.json"
16
+ ],
17
+ "nonClaimRefs": [
18
+ "NC-PROOFKIT-SPEC-001"
19
+ ],
20
+ "nonClaims": [
21
+ "This requirement does not claim product requirement meaning, proof freshness, native witness execution, or overview prose authority."
22
+ ],
23
+ "lifecycle": {
24
+ "state": "active",
25
+ "replacementRequirementIds": [],
26
+ "evidenceRefs": []
27
+ },
28
+ "deferral": null,
29
+ "updatePolicy": {
30
+ "reviewOwnerId": "proofkit.spec-proof-core",
31
+ "requiresImpactDeclaration": true,
32
+ "requiresProofBindingReview": true
33
+ }
34
+ },
35
+ {
36
+ "requirementId": "REQ-PROOFKIT-SPEC-002",
37
+ "ownerId": "proofkit.spec-proof-core",
38
+ "invariant": "Requirement proof binding reports validate caller-owned requirement-to-witness mappings and emit deterministic lookup projections without executing witnesses or deciding proof freshness.",
39
+ "claimLevel": "blocking",
40
+ "riskClass": "high",
41
+ "proofBindingRefs": [
42
+ "proofkit/requirement-bindings.json"
43
+ ],
44
+ "nonClaimRefs": [
45
+ "NC-PROOFKIT-SPEC-002"
46
+ ],
47
+ "nonClaims": [
48
+ "This requirement does not claim native witness pass evidence, proof freshness, receipt authenticity, or merge approval."
49
+ ],
50
+ "lifecycle": {
51
+ "state": "active",
52
+ "replacementRequirementIds": [],
53
+ "evidenceRefs": []
54
+ },
55
+ "deferral": null,
56
+ "updatePolicy": {
57
+ "reviewOwnerId": "proofkit.spec-proof-core",
58
+ "requiresImpactDeclaration": true,
59
+ "requiresProofBindingReview": true
60
+ }
61
+ },
62
+ {
63
+ "requirementId": "REQ-PROOFKIT-SPEC-003",
64
+ "ownerId": "proofkit.spec-proof-core",
65
+ "invariant": "Witness planning accepts caller-owned structured command metadata, scheduler constraints, and environment classes without executing commands or selecting repository policy.",
66
+ "claimLevel": "blocking",
67
+ "riskClass": "high",
68
+ "proofBindingRefs": [
69
+ "proofkit/requirement-bindings.json"
70
+ ],
71
+ "nonClaimRefs": [
72
+ "NC-PROOFKIT-SPEC-003"
73
+ ],
74
+ "nonClaims": [
75
+ "This requirement does not claim command execution, CI scheduling authority, credential approval, or repository-specific command policy."
76
+ ],
77
+ "lifecycle": {
78
+ "state": "active",
79
+ "replacementRequirementIds": [],
80
+ "evidenceRefs": []
81
+ },
82
+ "deferral": null,
83
+ "updatePolicy": {
84
+ "reviewOwnerId": "proofkit.spec-proof-core",
85
+ "requiresImpactDeclaration": true,
86
+ "requiresProofBindingReview": true
87
+ }
88
+ },
89
+ {
90
+ "requirementId": "REQ-PROOFKIT-SPEC-004",
91
+ "ownerId": "proofkit.spec-proof-core",
92
+ "invariant": "Selective planning and selective evidence reports keep changed-path facts, planned commands, receipts, and obligation candidates explicit and fail closed for unknown or unmatched proof inputs.",
93
+ "claimLevel": "blocking",
94
+ "riskClass": "high",
95
+ "proofBindingRefs": [
96
+ "proofkit/requirement-bindings.json"
97
+ ],
98
+ "nonClaimRefs": [
99
+ "NC-PROOFKIT-SPEC-004"
100
+ ],
101
+ "nonClaims": [
102
+ "This requirement does not claim changed-path completeness, command success, receipt authenticity, proof freshness, or approval to skip caller-owned gates."
103
+ ],
104
+ "lifecycle": {
105
+ "state": "active",
106
+ "replacementRequirementIds": [],
107
+ "evidenceRefs": []
108
+ },
109
+ "deferral": null,
110
+ "updatePolicy": {
111
+ "reviewOwnerId": "proofkit.spec-proof-core",
112
+ "requiresImpactDeclaration": true,
113
+ "requiresProofBindingReview": true
114
+ }
115
+ },
116
+ {
117
+ "requirementId": "REQ-PROOFKIT-SPEC-005",
118
+ "ownerId": "proofkit.spec-proof-core",
119
+ "invariant": "Rendered proof views and agent envelopes remain bounded, derived presentations over structured source and never become canonical proof or requirement authority.",
120
+ "claimLevel": "blocking",
121
+ "riskClass": "medium",
122
+ "proofBindingRefs": [
123
+ "proofkit/requirement-bindings.json"
124
+ ],
125
+ "nonClaimRefs": [
126
+ "NC-PROOFKIT-SPEC-005"
127
+ ],
128
+ "nonClaims": [
129
+ "This requirement does not claim generated view authority, full graph context emission, proof freshness, or agent edit approval."
130
+ ],
131
+ "lifecycle": {
132
+ "state": "active",
133
+ "replacementRequirementIds": [],
134
+ "evidenceRefs": []
135
+ },
136
+ "deferral": null,
137
+ "updatePolicy": {
138
+ "reviewOwnerId": "proofkit.spec-proof-core",
139
+ "requiresImpactDeclaration": true,
140
+ "requiresProofBindingReview": true
141
+ }
142
+ }
143
+ ],
144
+ "nonClaims": [
145
+ "Consumers still own requirement meaning, command policy, native witness execution, receipts, CI admission, and rollout decisions.",
146
+ "Proofkit spec-proof core requirements describe reusable infrastructure primitives only."
147
+ ]
148
+ }
@@ -0,0 +1,57 @@
1
+ # Witness Scheduler Plan Design
2
+
3
+ Status: implemented.
4
+
5
+ Owner: `proofkit`.
6
+
7
+ ## Problem
8
+
9
+ `witness-command` admits command shape, but scheduler and cache safety need
10
+ additional caller-owned metadata: input selectors, output selectors, resource
11
+ reads, resource writes, exclusive locks, side-effect class, retry policy,
12
+ cancellation policy, timeout policy, and cache-admission refs.
13
+
14
+ Without this layer, selective checking can know which command exists but not
15
+ whether it is safe to parallelize or cache.
16
+
17
+ ## Decision
18
+
19
+ Add `witness-scheduler-plan`, an additive deterministic report over admitted
20
+ witness commands and caller-provided scheduler policies.
21
+
22
+ The primitive validates:
23
+
24
+ - every command has exactly one scheduler policy;
25
+ - no policy references an unknown command;
26
+ - cacheable commands declare deterministic output, no network, no credentials,
27
+ input selectors, cache-admission refs, and required artifact output selectors;
28
+ - networked commands are not declared side-effect free or deterministic;
29
+ - side-effect-free commands do not declare writes or exclusive locks;
30
+ - local-write commands declare resource writes;
31
+ - shared-resource and destructive commands declare resource reads or writes;
32
+ - shared-resource and destructive commands declare exclusive locks;
33
+ - destructive commands do not retry automatically and support cooperative
34
+ cancellation;
35
+ - parallel groups have no exclusive-lock, write/write, write/read, read/write,
36
+ or destructive-concurrency collisions;
37
+ - timeout policy matches the admitted witness command timeout.
38
+
39
+ ## Authority Boundary
40
+
41
+ Proofkit validates caller-provided scheduler metadata and emits deterministic
42
+ diagnostics. It does not execute commands, inspect filesystem or lock state,
43
+ read caches, authenticate producers, compute receipt freshness, allocate CI
44
+ runners, or approve merge.
45
+
46
+ ## Rejected Alternatives
47
+
48
+ | Alternative | Rejected Because |
49
+ |---|---|
50
+ | Add resource and scheduler fields directly to `witness-command`. | That would break existing consumers of command v1 and merge command-shape admission with scheduling policy. |
51
+ | Treat missing cache dimensions as advisory. | Cache reuse is proof-adjacent; missing dimensions must fail closed for commands that opt into cache. |
52
+ | Infer resource conflicts from command strings or paths. | Proofkit must not infer repository semantics from shell text or implicit state. |
53
+
54
+ ## Follow-Up
55
+
56
+ Consumer repositories can compose this report with selective proof planning and
57
+ receipt admission, but the scheduler plan itself remains pre-execution metadata.
@@ -0,0 +1,101 @@
1
+ # Workspace Planning Agent Envelope Design
2
+
3
+ Status: accepted; implemented as opt-in CLI projections.
4
+
5
+ Owner: `proofkit`.
6
+
7
+ ## Purpose
8
+
9
+ Workspace changed-package and shard-partition reports are useful machine
10
+ planning outputs, but coding agents need a bounded work packet that says which
11
+ caller-owned proof scope to inspect without loading full changed-path,
12
+ package-root, or shard payloads.
13
+
14
+ Formal goal:
15
+
16
+ ```text
17
+ caller-owned workspace planning facts
18
+ -> deterministic workspace plan report
19
+ -> bounded agent guidance envelope
20
+ -> caller-owned command registry, CI schedule, receipts, and merge decision
21
+ ```
22
+
23
+ ## Boundary
24
+
25
+ Proofkit owns:
26
+
27
+ - deterministic envelope construction from workspace planning outputs;
28
+ - JSON-pointer context refs for selected package roots, escalation reasons,
29
+ shard rows, shard failures, and source changed paths;
30
+ - bounded action routing for package-scope, full-workspace, or failed-shard
31
+ outcomes;
32
+ - omitted-count records that keep large plan payloads in the source report;
33
+ - fail-closed blocked-precondition projection for invalid shard partitions.
34
+
35
+ The consuming repository owns:
36
+
37
+ - changed-path discovery;
38
+ - package graph freshness;
39
+ - package ownership policy;
40
+ - command registry and witness command ids;
41
+ - CI runner scheduling and retry policy;
42
+ - receipt creation, producer admission, and freshness;
43
+ - merge, release, and rollout decisions.
44
+
45
+ Formal rule:
46
+
47
+ ```text
48
+ Workspace reports own deterministic planning facts.
49
+ Workspace planning envelopes own bounded agent routing.
50
+ Consumer repositories own execution, receipts, and policy.
51
+ ```
52
+
53
+ ## Invariants
54
+
55
+ - `workspace-changed-package-plan --agent-envelope` and
56
+ `workspace-shard-partition --agent-envelope` are opt-in; ordinary JSON output
57
+ is unchanged.
58
+ - Envelopes never emit command refs because workspace planning does not own a
59
+ caller command registry.
60
+ - Envelopes reference source report JSON pointers instead of copying large
61
+ changed-path, package, or shard arrays.
62
+ - Full-workspace escalation remains visible and routes to caller-owned full
63
+ gates instead of being narrowed by package selection.
64
+ - Empty changed-package plans ask a caller-owned policy question instead of
65
+ becoming hidden pass states.
66
+ - Failed shard partitions produce a failed source state and a blocked
67
+ precondition before any caller treats matrix rows as usable.
68
+
69
+ ## Rejected Alternatives
70
+
71
+ | Alternative | Rejection reason |
72
+ |---|---|
73
+ | Add command refs to workspace planning envelopes | Package selection and shard rows do not define caller command ids or witness semantics. |
74
+ | Copy full changed-path and shard payloads into envelopes | That increases token load and creates a second lookup surface. |
75
+ | Make agent envelopes the default workspace CLI output | Existing consumers need stable machine JSON unless they opt into agent presentation. |
76
+ | Treat failed shard partitions as advisory only | Invalid partition coverage can hide omitted or duplicate package execution. |
77
+
78
+ ## Proof Obligations
79
+
80
+ - Unit tests prove changed-package envelopes include bounded context, no command
81
+ refs, explicit full-gate routing, and no hidden pass for empty package
82
+ selection.
83
+ - Unit tests prove shard partition envelopes include no scheduling authority,
84
+ produce failed source state for invalid partitions, and emit blocked
85
+ preconditions.
86
+ - CLI tests prove opt-in envelope output for both workspace commands and keep
87
+ non-workspace modes fail-closed.
88
+ - Package artifact tests prove the packed CLI supports the new projections.
89
+
90
+ ## Non-Claims
91
+
92
+ Workspace planning agent envelopes do not claim:
93
+
94
+ - git diff freshness;
95
+ - package graph freshness;
96
+ - command execution;
97
+ - CI scheduling;
98
+ - receipt authenticity or freshness;
99
+ - merge approval;
100
+ - release approval;
101
+ - rollout approval.
@@ -0,0 +1,57 @@
1
+ # Workspace Registry Admission Design
2
+
3
+ ## Purpose
4
+
5
+ Workspace registry admission gives consumers one deterministic report for
6
+ caller-provided package registry facts: root scripts, package scripts,
7
+ workspace dependency refs, and optional lockfile text.
8
+
9
+ The design goal is reuse without policy capture. Proofkit owns generic
10
+ cross-reference mechanics. The consuming repository owns which scripts are
11
+ required, which commands are exact, which package prefixes are internal, which
12
+ lockfile snippets matter, and which native witnesses make the report fresh.
13
+
14
+ ## Formal Boundary
15
+
16
+ ```text
17
+ consumer facts + consumer policy
18
+ -> proofkit workspace-registry admission
19
+ -> deterministic report
20
+ -> consumer-owned gate/receipt/merge decision
21
+ ```
22
+
23
+ Proofkit must not infer repository policy from package names, package-manager
24
+ choice, CI workflows, registry credentials, or historical consumer usage.
25
+
26
+ ## Owned Mechanics
27
+
28
+ - root script membership and exact-command comparison against caller policy;
29
+ - package required-script comparison against caller policy;
30
+ - script target existence and self-target checks against caller package facts;
31
+ - internal dependency refs checked against caller prefixes and workspace
32
+ version;
33
+ - optional lockfile text snippet and workspace entry checks;
34
+ - deterministic report shape, rule ids, diagnostics, and non-claims.
35
+
36
+ ## Consumer-Owned Inputs
37
+
38
+ - package facts and known package names;
39
+ - root and package script policy;
40
+ - internal namespace prefixes and workspace dependency version;
41
+ - optional lockfile text and expected snippets;
42
+ - repository freshness, command execution, receipt producer admission, CI
43
+ scheduling, merge policy, release policy, and rollout policy.
44
+
45
+ ## Non-Claims
46
+
47
+ The report does not execute scripts, generate lockfiles, prove lockfile
48
+ freshness, authenticate registry credentials, read implicit repository state,
49
+ approve merge, or prove package-manager behavior.
50
+
51
+ ## Acceptance
52
+
53
+ - malformed or contradictory caller facts fail closed;
54
+ - no consumer package names or script names are embedded in Proofkit;
55
+ - CLI output is deterministic JSON and supports file, stdin, and JSON Pointer
56
+ input like other input-based Proofkit commands;
57
+ - package artifact tests prove the public API, CLI, and design note are shipped.
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "agentic-proofkit",
3
+ "description": "Reusable proof profile, report, graph, and witness-planning primitives.",
4
+ "version": "0.1.91",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "sideEffects": false,
8
+ "packageManager": "npm@11.16.0",
9
+ "publishConfig": {
10
+ "access": "public",
11
+ "registry": "https://registry.npmjs.org"
12
+ },
13
+ "bin": {
14
+ "agentic-proofkit": "dist/agentic-proofkit"
15
+ },
16
+ "exports": {
17
+ "./package.json": "./package.json"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/W25X80/agentic-proofkit.git"
22
+ },
23
+ "files": [
24
+ "ADOPTION.md",
25
+ "LICENSE",
26
+ "NON_CLAIMS.md",
27
+ "README.md",
28
+ "dist/**",
29
+ "docs/*.md",
30
+ "docs/specs/**/*",
31
+ "proofkit/*.json"
32
+ ],
33
+ "scripts": {
34
+ "build": "go run ./internal/tools/packagebuild",
35
+ "check": "npm run npm:version && npm run go:check && npm run package:artifact && npm run self:receipt",
36
+ "go:check": "npm run go:fmt && npm run go:test && npm run go:vet && npm run go:staticcheck && npm run go:vulncheck",
37
+ "go:fmt": "test -z \"$(gofmt -l cmd internal scripts)\"",
38
+ "go:test": "go test ./...",
39
+ "go:vet": "go vet ./...",
40
+ "npm:version": "node -e \"const {execFileSync}=require('node:child_process'); const expected=require('./package.json').packageManager.split('@').at(-1); const actual=execFileSync('npm',['--version'],{encoding:'utf8'}).trim(); if(actual!==expected){throw new Error('expected npm '+expected+', got '+actual)}\"",
41
+ "package:artifact": "npm run build && go run ./internal/tools/packagepack && go run ./internal/tools/packageverify",
42
+ "self:receipt": "go run ./scripts/validate-self-hosting-receipts.go",
43
+ "go:staticcheck": "go tool staticcheck ./...",
44
+ "go:vulncheck": "go tool govulncheck ./..."
45
+ },
46
+ "os": [
47
+ "darwin",
48
+ "linux"
49
+ ],
50
+ "cpu": [
51
+ "arm64",
52
+ "x64"
53
+ ]
54
+ }