@arbiterforge/ca-pi 0.10.6 → 0.10.7
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
CHANGED
|
@@ -10,7 +10,7 @@ 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.17.
|
|
13
|
+
<img alt="version 2.17.6" src="https://img.shields.io/badge/version-2.17.6-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-23-555">
|
|
16
16
|
<img alt="agents" src="https://img.shields.io/badge/agents-19-555">
|
|
@@ -117,7 +117,7 @@ Approve the normal plugin trust prompt, open the target repository, and continue
|
|
|
117
117
|
|
|
118
118
|
### Codex CLI
|
|
119
119
|
|
|
120
|
-
The public GitHub-slug flow is **available now**. The repository currently ships `ca-codex 0.9.
|
|
120
|
+
The public GitHub-slug flow is **available now**. The repository currently ships `ca-codex 0.9.6`;
|
|
121
121
|
the dated end-to-end public-install record discovered `ca-codex 0.2.4` from release `v2.8.13`.
|
|
122
122
|
Current packaging and shared-core parity are continuously verified, while that dated live-install
|
|
123
123
|
record stays labeled rather than being silently promoted to evidence for a newer adapter:
|
package/package.json
CHANGED
|
@@ -4,6 +4,12 @@ All notable changes to `ca-pi` are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.10.7] - 2026-09-06
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Recover an unsettled mode-enter audit row on a repeated request instead of reporting an ineffective posture as a no-op.
|
|
12
|
+
|
|
7
13
|
## [0.10.6] - 2026-09-06
|
|
8
14
|
|
|
9
15
|
### Changed
|
|
@@ -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.10.
|
|
14
|
+
adapter_version = "0.10.7"
|
|
15
15
|
update_target = "ca-pi"
|
|
16
16
|
update_tag_prefix = "ca-pi-v"
|
|
17
17
|
update_command = "pi update npm:@arbiterforge/ca-pi"
|
|
@@ -353,13 +353,14 @@ def flip(session_id, mode, root=None, payload=None, host_name=None, now=None):
|
|
|
353
353
|
"""Attempt to set `session_id`'s mode to `mode`. Returns one of
|
|
354
354
|
FLIP_FLIPPED / FLIP_NOOP / FLIP_FAILED. Never raises.
|
|
355
355
|
|
|
356
|
-
AC-6: a flip TO
|
|
357
|
-
attempted and no audit row is appended, so `overrides.log` is
|
|
358
|
-
byte-identical.
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
356
|
+
AC-6: a flip TO AN ALREADY-ACTIVE, LEDGER-BACKED mode is a no-op — no
|
|
357
|
+
write is attempted and no audit row is appended, so `overrides.log` is
|
|
358
|
+
left byte-identical. The default arbiter posture needs no authorizing row.
|
|
359
|
+
If a prior non-arbiter write landed but its staged enter row did not, a
|
|
360
|
+
repeat request retries settlement: success reports the effective flip,
|
|
361
|
+
while another failure stays explicit instead of claiming the posture is
|
|
362
|
+
already active. This preserves T-14's fail direction because an unbacked
|
|
363
|
+
non-arbiter marker still cannot authorize persona composition.
|
|
363
364
|
|
|
364
365
|
On a genuine transition the order is deliberate: write first, audit row
|
|
365
366
|
ONLY on a confirmed write. AC-11's `ledger_backs` exists to catch exactly
|
|
@@ -369,7 +370,12 @@ def flip(session_id, mode, root=None, payload=None, host_name=None, now=None):
|
|
|
369
370
|
root = root if root is not None else marker_root(payload)
|
|
370
371
|
current, _diag = current_mode(session_id, root=root, payload=payload)
|
|
371
372
|
if current == mode:
|
|
372
|
-
|
|
373
|
+
if mode == MODES[0] or ledger_backs(root, mode, session_id=session_id):
|
|
374
|
+
return FLIP_NOOP
|
|
375
|
+
_settle_dev_close(root, host_name=host_name)
|
|
376
|
+
return (FLIP_FLIPPED
|
|
377
|
+
if ledger_backs(root, mode, session_id=session_id)
|
|
378
|
+
else FLIP_FAILED)
|
|
373
379
|
if not write_mode(session_id, mode, root=root, payload=payload):
|
|
374
380
|
return FLIP_FAILED
|
|
375
381
|
# ADR-0030 position 4: EVERY transition row is staged through the #396
|
|
@@ -313,7 +313,7 @@ class Host:
|
|
|
313
313
|
|
|
314
314
|
name = "claude"
|
|
315
315
|
adapter_name = "ca"
|
|
316
|
-
adapter_version = "2.17.
|
|
316
|
+
adapter_version = "2.17.6"
|
|
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,
|