Repository navigation
codex-peer v0.5.14
This release makes an interactive Codex session wake for a peer message after a turn that ended in an error, and replaces the first paragraph of the Sessionbus skill. It requires Sessionbus v0.5.9 or newer (daemon and hub) and still pins the Sessionbus Go SDK v0.5.9. Native Codex is installed separately and is not pinned.
scripts/install-codex.sh installs the latest stable release by default, so it now installs v0.5.14. Upgrading from v0.5.13 needs no daemon, hub or lane-row change.
Visible to users: an interactive session whose last turn ended in an error no longer stays silent for its peers. The next peer message starts a turn in it.
Changes since v0.5.13
- A message starts a turn after an error-ended turn. Native Codex reports a thread whose last turn ended in an error with the status
systemErroruntil the next turn starts. The broker knew onlyactive,idleandnotLoaded; for any other status it kept the message and started nothing. On v0.5.13 the sender was answeredwrittenand the session did not wake. The broker now handlessystemErrorlikeidle: the message starts a turn. Any other status it does not know is still kept. - The skill's first paragraph says that one
listcall covers all hosts. It now reads: "listwith no arguments returns, in one call, every peer you can see on all connected hosts. It also returnsself_info, your own identity: compareself_info.session_idwith row IDs to recognise yourself." With the previous paragraph a session asked every host separately. Nothing else in the skill changed. - Versions:
RELEASE_VERSIONis 0.5.14;- the Codex plugin source version (
codex/marketplace/codex/.codex-plugin/plugin.json) is0.5.14-codex.0; - packaged archives carry
0.5.14-codex.g<revision>, as before.
- No installer code, dependency, protocol or workflow change.
Evidence
Observed once each on one Linux host with native Codex 0.162.1, run by an operator who did not write the change and read independently by a reviewer:
- Before, on v0.5.13: a session's turn ended in an error, because the provider refused the selected model. One peer message was then answered
written. No turn started and no reply came in the 329 seconds until the last read. An ordinary idle session on the same build woke and replied. - Wake after an error-ended turn: the same steps on this code. The message was answered
written; a turn started in the same session about 20 ms after the message was sent, without typed input, and the session replied; the turn ended cleanly about ten seconds after the message. - Idle session: the message was answered
written; the session woke without typed input and replied. - Busy session: a message sent while a 120-second foreground command was still running was answered
written; the reply came inside the same task, before it ended.
For the error-ended case the session was started with a model name the provider refuses. After the failed turn the model was changed for that session only, which starts no turn and wrote nothing to the configuration, and then the one message was sent.
That run used a build of commit ef9d2a3. This release differs from that commit only in RELEASE_VERSION, the plugin source version, the two tests that expect them, and this file.
Codex lanes were not rerun on this build.
Not captured: the status value itself. That native reports systemError in this state, clears it only when a turn starts, and does not consult that status when a turn start is requested, was read in the native Codex source at 0.162.1. No returned status was recorded.
Limits
- If the cause of the error persists, the started turn fails again. One turn is attempted per message; nothing is repeated.
- A turn start that native refuses in this state is dropped and counted, as for an idle thread. v0.5.13 kept such a message instead. The native Codex source at 0.162.1 does not refuse a turn start because of that status; it can decline one for other reasons, as for an idle thread.
- Any other status the broker does not know still keeps the message silently, as described for a kept message in the v0.5.13 notes.
- Native is not pinned. The thread status values this release relies on were read in the native Codex source at 0.162.1. A later native version can change them.
- Linux only. Nothing in this release was exercised live on macOS.
- The limits of v0.5.13 stand.