@arbiterforge/ca-pi 0.17.9 → 0.18.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/README.md +1 -1
- package/package.json +1 -1
- package/plugins/ca-pi/CHANGELOG.md +26 -0
- package/plugins/ca-pi/SPRINT.md +3 -1
- package/plugins/ca-pi/helpers/artifacts/ca-artifact-darwin-amd64 +0 -0
- package/plugins/ca-pi/helpers/artifacts/ca-artifact-darwin-arm64 +0 -0
- package/plugins/ca-pi/helpers/artifacts/ca-artifact-linux-amd64 +0 -0
- package/plugins/ca-pi/helpers/artifacts/ca-artifact-linux-arm64 +0 -0
- package/plugins/ca-pi/helpers/artifacts/ca-artifact-windows-amd64.exe +0 -0
- package/plugins/ca-pi/helpers/artifacts/ca-artifact-windows-arm64.exe +0 -0
- package/plugins/ca-pi/helpers/artifacts/release.json +36 -36
- package/plugins/ca-pi/hooks/_host.py +1 -1
- package/plugins/ca-pi/hooks/hostapi.py +1 -1
- package/plugins/ca-pi/includes/artifacts.md +32 -1
- package/plugins/ca-pi/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ and durable project context. You decide. codeArbiter enforces.
|
|
|
10
10
|
<img alt="Claude Code plugin" src="https://img.shields.io/badge/Claude_Code-plugin-d97757">
|
|
11
11
|
<img alt="Codex plugin" src="https://img.shields.io/badge/OpenAI_Codex-plugin-10a37f">
|
|
12
12
|
<img alt="Pi Feature Forge preview" src="https://img.shields.io/badge/ca--pi-Feature_Forge_preview-d97757">
|
|
13
|
-
<img alt="version 2.
|
|
13
|
+
<img alt="version 2.26.0" src="https://img.shields.io/badge/version-2.26.0-2b7489">
|
|
14
14
|
<img alt="core lanes" src="https://img.shields.io/badge/core_lanes-18-555">
|
|
15
15
|
<img alt="skills" src="https://img.shields.io/badge/skills-22-555">
|
|
16
16
|
<img alt="agents" src="https://img.shields.io/badge/agents-20-555">
|
package/package.json
CHANGED
|
@@ -4,6 +4,32 @@ All notable changes to `ca-pi` are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.18.0] - 2026-10-10
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Identify verification inputs by ship-set membership (ADR-0042): git index
|
|
12
|
+
entries present on disk plus untracked non-ignored files within the plan roots,
|
|
13
|
+
minus excludes. Outside git, membership comes from the filesystem; a failed git
|
|
14
|
+
probe fails closed with `INPUT_MEMBERSHIP_UNAVAILABLE`, and an unmerged index
|
|
15
|
+
fails closed until resolved.
|
|
16
|
+
- Exempt exactly `.codearbiter/gate-events.log` from snapshots. It is never
|
|
17
|
+
counted and stays tracked as the audit trail; every other `.codearbiter` path,
|
|
18
|
+
including `overrides.log`, still counts.
|
|
19
|
+
- Advance the verification-input manifest to `codearbiter.verification-inputs/0.2.0`.
|
|
20
|
+
Receipts bound to a 0.1.0 manifest read as stale and must be re-verified.
|
|
21
|
+
- Open snapshot files through bounded handle opens and validate each evidence
|
|
22
|
+
object at most once per operation. Raw reads are reused only up to a 64 MiB
|
|
23
|
+
per-operation retained-byte budget, so past it an object can be read again;
|
|
24
|
+
validation still happens once.
|
|
25
|
+
- Raise the `prompt-submit` hook timeout to 600 seconds so a long snapshot no
|
|
26
|
+
longer times out the prompt seam (#931).
|
|
27
|
+
## [0.17.10] - 2026-10-12
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- Carry the shared native engine draft-pair rebinding repair and generated workflow guidance. This payload update does not enable Pi verification or review authority.
|
|
32
|
+
|
|
7
33
|
## [0.17.9] - 2026-10-12
|
|
8
34
|
|
|
9
35
|
### Fixed
|
package/plugins/ca-pi/SPRINT.md
CHANGED
|
@@ -82,7 +82,9 @@ explicit delegation terms. The installed private pair adapter in
|
|
|
82
82
|
1. Finish the spec as a ready draft. Let `writing-plans` use `_preflight_plan_authoring` with
|
|
83
83
|
`draft_for_pair: true` only for this full-lane initial sprint. Populate the same-slug plan as
|
|
84
84
|
`draft_preview`, validate both, and review their complete criteria, paths, tests and checkpoints.
|
|
85
|
-
Neither draft has execution authority. Do not separately approve or
|
|
85
|
+
Neither draft has execution authority. Do not separately approve this pair or bind it to an
|
|
86
|
+
approved source. If review changes the draft spec, use only the explicit `draft_preview`
|
|
87
|
+
rebind described in `includes/artifacts.md`, then revalidate both current drafts before arming.
|
|
86
88
|
2. Arm both exact identities with `arm-sprint`. Include `--delegate-methods` only when the presented
|
|
87
89
|
terms explicitly ask the user to delegate existing task-method revisions. Present the exact returned reply;
|
|
88
90
|
it names both artifacts and `delegate-methods` or `approve-only`, not an ambiguous generic yes.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -6,43 +6,43 @@
|
|
|
6
6
|
"binaries": {
|
|
7
7
|
"darwin/amd64": {
|
|
8
8
|
"file": "ca-artifact-darwin-amd64",
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "e35e21caa147a5e6c9d04fd400b5b4fcdb2d1d9cec9119d70249fcb80aeb3512",
|
|
10
10
|
"native_tested": true
|
|
11
11
|
},
|
|
12
12
|
"darwin/arm64": {
|
|
13
13
|
"file": "ca-artifact-darwin-arm64",
|
|
14
|
-
"sha256": "
|
|
14
|
+
"sha256": "dc9157c6ecf48fe05c20351b276ef8c2037847eaedee9dfb88b4f8d0b685b51e",
|
|
15
15
|
"native_tested": true
|
|
16
16
|
},
|
|
17
17
|
"linux/amd64": {
|
|
18
18
|
"file": "ca-artifact-linux-amd64",
|
|
19
|
-
"sha256": "
|
|
19
|
+
"sha256": "6fbd763c319d423291832f796515a4c8202d04e8785ea9ce178a495d917049d6",
|
|
20
20
|
"native_tested": true
|
|
21
21
|
},
|
|
22
22
|
"linux/arm64": {
|
|
23
23
|
"file": "ca-artifact-linux-arm64",
|
|
24
|
-
"sha256": "
|
|
24
|
+
"sha256": "2b623d4329665513fb11a99e866e30c579a47172ffd16f6faaae21bf21fda83d",
|
|
25
25
|
"native_tested": true
|
|
26
26
|
},
|
|
27
27
|
"windows/amd64": {
|
|
28
28
|
"file": "ca-artifact-windows-amd64.exe",
|
|
29
|
-
"sha256": "
|
|
29
|
+
"sha256": "44003f24b77a5cd51b63fe991a8775462619e2b2130c1162d36450a0570970d8",
|
|
30
30
|
"native_tested": true
|
|
31
31
|
},
|
|
32
32
|
"windows/arm64": {
|
|
33
33
|
"file": "ca-artifact-windows-arm64.exe",
|
|
34
|
-
"sha256": "
|
|
34
|
+
"sha256": "37efc98301beec7c0bf465dee6f4bb48152abef515ae55aa37bff628e969e5bd",
|
|
35
35
|
"native_tested": true
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"context_qualification": {
|
|
39
39
|
"darwin/amd64": {
|
|
40
|
-
"source_commit": "
|
|
40
|
+
"source_commit": "54471947e1622fa35233a0fdc16ab42d05267ecb",
|
|
41
41
|
"workflow": ".github/workflows/ci.yml",
|
|
42
|
-
"run_id": "
|
|
43
|
-
"binary_sha256": "
|
|
44
|
-
"observation_sha256": "
|
|
45
|
-
"module_sha256": "
|
|
42
|
+
"run_id": "38250134924",
|
|
43
|
+
"binary_sha256": "e35e21caa147a5e6c9d04fd400b5b4fcdb2d1d9cec9119d70249fcb80aeb3512",
|
|
44
|
+
"observation_sha256": "36cbcb4c398592e658bc2e3d249ade3ff650c1aece503aea9f218ad80679e5db",
|
|
45
|
+
"module_sha256": "05b0359c108baf52bd3884c36969febc3f98e53786cf80da757115bee5ac9dc2",
|
|
46
46
|
"native_cases": [
|
|
47
47
|
"TestContextBoundedRender",
|
|
48
48
|
"TestContextDocumentContract",
|
|
@@ -53,12 +53,12 @@
|
|
|
53
53
|
]
|
|
54
54
|
},
|
|
55
55
|
"darwin/arm64": {
|
|
56
|
-
"source_commit": "
|
|
56
|
+
"source_commit": "54471947e1622fa35233a0fdc16ab42d05267ecb",
|
|
57
57
|
"workflow": ".github/workflows/ci.yml",
|
|
58
|
-
"run_id": "
|
|
59
|
-
"binary_sha256": "
|
|
60
|
-
"observation_sha256": "
|
|
61
|
-
"module_sha256": "
|
|
58
|
+
"run_id": "38250134924",
|
|
59
|
+
"binary_sha256": "dc9157c6ecf48fe05c20351b276ef8c2037847eaedee9dfb88b4f8d0b685b51e",
|
|
60
|
+
"observation_sha256": "b4f9a083e3772d3296826a40ad8364c4faf046d21af0b7bea7e152eb0bda54df",
|
|
61
|
+
"module_sha256": "05b0359c108baf52bd3884c36969febc3f98e53786cf80da757115bee5ac9dc2",
|
|
62
62
|
"native_cases": [
|
|
63
63
|
"TestContextBoundedRender",
|
|
64
64
|
"TestContextDocumentContract",
|
|
@@ -69,12 +69,12 @@
|
|
|
69
69
|
]
|
|
70
70
|
},
|
|
71
71
|
"linux/amd64": {
|
|
72
|
-
"source_commit": "
|
|
72
|
+
"source_commit": "54471947e1622fa35233a0fdc16ab42d05267ecb",
|
|
73
73
|
"workflow": ".github/workflows/ci.yml",
|
|
74
|
-
"run_id": "
|
|
75
|
-
"binary_sha256": "
|
|
76
|
-
"observation_sha256": "
|
|
77
|
-
"module_sha256": "
|
|
74
|
+
"run_id": "38250134924",
|
|
75
|
+
"binary_sha256": "6fbd763c319d423291832f796515a4c8202d04e8785ea9ce178a495d917049d6",
|
|
76
|
+
"observation_sha256": "9b040d91f1775fda353b53130c557882ac3be4b7eeed55ebc83fe39d508ff269",
|
|
77
|
+
"module_sha256": "05b0359c108baf52bd3884c36969febc3f98e53786cf80da757115bee5ac9dc2",
|
|
78
78
|
"native_cases": [
|
|
79
79
|
"TestContextBoundedRender",
|
|
80
80
|
"TestContextDocumentContract",
|
|
@@ -85,12 +85,12 @@
|
|
|
85
85
|
]
|
|
86
86
|
},
|
|
87
87
|
"linux/arm64": {
|
|
88
|
-
"source_commit": "
|
|
88
|
+
"source_commit": "54471947e1622fa35233a0fdc16ab42d05267ecb",
|
|
89
89
|
"workflow": ".github/workflows/ci.yml",
|
|
90
|
-
"run_id": "
|
|
91
|
-
"binary_sha256": "
|
|
92
|
-
"observation_sha256": "
|
|
93
|
-
"module_sha256": "
|
|
90
|
+
"run_id": "38250134924",
|
|
91
|
+
"binary_sha256": "2b623d4329665513fb11a99e866e30c579a47172ffd16f6faaae21bf21fda83d",
|
|
92
|
+
"observation_sha256": "c723a04d24d46eb6f95d5665485bd3cc11d2379be2ebad328b3afc4f66ec6be3",
|
|
93
|
+
"module_sha256": "05b0359c108baf52bd3884c36969febc3f98e53786cf80da757115bee5ac9dc2",
|
|
94
94
|
"native_cases": [
|
|
95
95
|
"TestContextBoundedRender",
|
|
96
96
|
"TestContextDocumentContract",
|
|
@@ -101,12 +101,12 @@
|
|
|
101
101
|
]
|
|
102
102
|
},
|
|
103
103
|
"windows/amd64": {
|
|
104
|
-
"source_commit": "
|
|
104
|
+
"source_commit": "54471947e1622fa35233a0fdc16ab42d05267ecb",
|
|
105
105
|
"workflow": ".github/workflows/ci.yml",
|
|
106
|
-
"run_id": "
|
|
107
|
-
"binary_sha256": "
|
|
108
|
-
"observation_sha256": "
|
|
109
|
-
"module_sha256": "
|
|
106
|
+
"run_id": "38250134924",
|
|
107
|
+
"binary_sha256": "44003f24b77a5cd51b63fe991a8775462619e2b2130c1162d36450a0570970d8",
|
|
108
|
+
"observation_sha256": "1bbcf5fe0c13648e81c643c976a5f456cd2a3c3bbfe7c9a7642a6cdf8e71c68b",
|
|
109
|
+
"module_sha256": "05b0359c108baf52bd3884c36969febc3f98e53786cf80da757115bee5ac9dc2",
|
|
110
110
|
"native_cases": [
|
|
111
111
|
"TestContextBoundedRender",
|
|
112
112
|
"TestContextDocumentContract",
|
|
@@ -117,12 +117,12 @@
|
|
|
117
117
|
]
|
|
118
118
|
},
|
|
119
119
|
"windows/arm64": {
|
|
120
|
-
"source_commit": "
|
|
120
|
+
"source_commit": "54471947e1622fa35233a0fdc16ab42d05267ecb",
|
|
121
121
|
"workflow": ".github/workflows/ci.yml",
|
|
122
|
-
"run_id": "
|
|
123
|
-
"binary_sha256": "
|
|
124
|
-
"observation_sha256": "
|
|
125
|
-
"module_sha256": "
|
|
122
|
+
"run_id": "38250134924",
|
|
123
|
+
"binary_sha256": "37efc98301beec7c0bf465dee6f4bb48152abef515ae55aa37bff628e969e5bd",
|
|
124
|
+
"observation_sha256": "78f3c133923c66945b84e1b4a9f02a6edbfb357e1be4f7d2e1b8e3123b2b17e2",
|
|
125
|
+
"module_sha256": "05b0359c108baf52bd3884c36969febc3f98e53786cf80da757115bee5ac9dc2",
|
|
126
126
|
"native_cases": [
|
|
127
127
|
"TestContextBoundedRender",
|
|
128
128
|
"TestContextDocumentContract",
|
|
@@ -11,7 +11,7 @@ import hostapi # noqa: E402
|
|
|
11
11
|
class PiHost(hostapi.Host):
|
|
12
12
|
name = "pi"
|
|
13
13
|
adapter_name = "@arbiterforge/ca-pi"
|
|
14
|
-
adapter_version = "0.
|
|
14
|
+
adapter_version = "0.18.0"
|
|
15
15
|
update_target = "ca-pi"
|
|
16
16
|
update_tag_prefix = "ca-pi-v"
|
|
17
17
|
update_command = "pi update npm:@arbiterforge/ca-pi"
|
|
@@ -313,7 +313,7 @@ class Host:
|
|
|
313
313
|
|
|
314
314
|
name = "claude"
|
|
315
315
|
adapter_name = "ca"
|
|
316
|
-
adapter_version = "2.
|
|
316
|
+
adapter_version = "2.26.0"
|
|
317
317
|
|
|
318
318
|
# Update-notifier descriptor. Each independently versioned host overrides
|
|
319
319
|
# these three values in its per-plugin _host.py. Keeping the target,
|
|
@@ -88,7 +88,10 @@ executable/workspace binding and fresh named-result evidence remain required.
|
|
|
88
88
|
repository-relative paths. Exclusions are directory paths, not globs or basename
|
|
89
89
|
matches and not relative to an individual root. For root `site`, a generated
|
|
90
90
|
dependency exclusion is `site/node_modules`, not `node_modules`. Review each
|
|
91
|
-
excluded output directory explicitly
|
|
91
|
+
excluded output directory explicitly: the plan's roots and exclusions narrow
|
|
92
|
+
the ship set. In a git work tree `.gitignore` already keeps untracked ignored
|
|
93
|
+
files out of it; outside git nothing is filtered, so exclude generated
|
|
94
|
+
directories explicitly.
|
|
92
95
|
An exclusion outside all selected roots is rejected as ineffective. Overlapping
|
|
93
96
|
roots cannot reinclude an excluded directory. Roots must exist before execution;
|
|
94
97
|
use an existing containing directory for a planned new file so its creation
|
|
@@ -96,6 +99,21 @@ changes the snapshot. An oversized included file is reported with its path and
|
|
|
96
99
|
the 32 MiB per-file limit; revise the explicit policy rather than increasing the
|
|
97
100
|
limit or excluding source/test/governance inputs needed for the task.
|
|
98
101
|
|
|
102
|
+
Snapshot input identity is ship-set membership. In a git work tree the members
|
|
103
|
+
are the git index entries present on disk, plus untracked non-ignored files
|
|
104
|
+
within the plan's roots, minus its excludes. The one fixed exemption is
|
|
105
|
+
`.codearbiter/gate-events.log`: it is never counted, whatever the plan says, and
|
|
106
|
+
stays tracked as the audit trail; every other `.codearbiter` path still counts.
|
|
107
|
+
Outside git, membership is read from the filesystem (`membership: filesystem`);
|
|
108
|
+
the root must be the top level of its work tree, so a subdirectory root counts as
|
|
109
|
+
outside git. A failed git probe fails closed with `INPUT_MEMBERSHIP_UNAVAILABLE`. An unmerged
|
|
110
|
+
git index (conflicted paths) makes a snapshot fail closed until it is resolved.
|
|
111
|
+
The manifest format is `codearbiter.verification-inputs/0.2.0`; receipts bound to
|
|
112
|
+
a 0.1.0 manifest read as stale. Each evidence object is validated at most once
|
|
113
|
+
per operation and scans are bounded; raw reads are reused only up to a 64 MiB
|
|
114
|
+
per-operation retained-byte budget, past which an object can be read again, but
|
|
115
|
+
validation is never skipped.
|
|
116
|
+
|
|
99
117
|
The existing user, SMARTS, reviewer, or verification boundary must first persist
|
|
100
118
|
its actual policy-owned workflow event as canonical JSON in the reserved
|
|
101
119
|
content-addressed authority-source store. Interactive prompt approval currently
|
|
@@ -149,6 +167,19 @@ combined HTML sprint review uses the explicit paired path below instead of separ
|
|
|
149
167
|
A normative change invalidates its approval. Rebinding is explicit and preserves
|
|
150
168
|
history; it does not waive coverage or permit silent reinterpretation.
|
|
151
169
|
|
|
170
|
+
When adversarial review revises a ready initial draft spec after its draft plan exists,
|
|
171
|
+
query both current identities. The installed engine's explicit `plan-bind` request with
|
|
172
|
+
`binding_mode: draft_preview` requires the plan's existing `expected` CAS and the spec's
|
|
173
|
+
`spec_expected` revision/model CAS. It rebinds only that same-ID, same-slug initial pair:
|
|
174
|
+
both artifacts must remain unapproved drafts, tasks pending and unevidenced, prerequisites
|
|
175
|
+
unsatisfied and unevidenced, and scopes empty. Optional typed plan corrections must leave
|
|
176
|
+
both drafts fully ready. The binding remains `draft_preview`; this operation grants no
|
|
177
|
+
approval, delegation, prerequisite satisfaction, execution or acceptance. Revalidate both
|
|
178
|
+
current drafts, repeat the affected review and arm the exact combined approval afterward.
|
|
179
|
+
Inspect the installed operation schema first. An engine without this explicit draft
|
|
180
|
+
request reports a capability gap; never edit HTML, recreate the pair, substitute sequential
|
|
181
|
+
approval or use ordinary approved-source `plan-bind` to repair it.
|
|
182
|
+
|
|
152
183
|
## Initial sprint pair and delegated methods
|
|
153
184
|
|
|
154
185
|
Only when preparing initial combined approval, replaying an observed reply, or revising a task's
|