Every version carrier moves to 7.6.0 through ouroboros.tools.release_sync:
VERSION, pyproject.toml and uv.lock, web/package.json and its lock, the
gateway contract version, the README badge and download links, the two
install pages and the architecture header. The README Version History
gains the 7.6.0 row, which also generates the release notes, and the
oldest minor row (7.1.0) moves to the retained-in-Git sentence, keeping
the history within its limits (2 major, 5 minor, 5 patch rows).
The row discloses that the old dialogue memory is imported one way:
rolling the code back to 7.5.1 does not bring back what the new memory
recorded after the update. Its claims were checked against the code and
the commits since v7.5.1 by a separate review row, not against PR bodies.
Claudexor platform gate (API keys — subscription auth NOT covered) / toolchain · macos-latest · real managed Node/npm, no ambient Node, no harness install (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / toolchain · ubuntu-latest · real managed Node/npm, no ambient Node, no harness install (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / toolchain · windows-latest · real managed Node/npm, no ambient Node, no harness install (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / consumer · windows-latest · real pinned Codex local install + doctor, no login, no model task (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / live · macos-latest · claude · API key only, subscription NOT covered (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / live · ubuntu-latest · claude · API key only, subscription NOT covered (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / live · windows-latest · claude · API key only, subscription NOT covered (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / live · macos-latest · codex · API key only, subscription NOT covered (push) Has been cancelled
CI / build (dmg, macos-latest, macos-arm64, syft_1.50.0_darwin_arm64.tar.gz, syft, e32fdb9d47823fa633748a1efca2528fd77c37469ea93c9e40ab835da44e4cce) (push) Has been cancelled
CI / build (tar.gz, ubuntu-latest, linux-x86_64, syft_1.50.0_linux_amd64.tar.gz, syft, bf7b29ff57f06da30918266a0e1c2885a8f99784798d1bdb1628886aa015d788) (push) Has been cancelled
CI / build (zip, windows-latest, windows-x64, syft_1.50.0_windows_amd64.zip, syft.exe, 815ee6973ec5dff6a671d7f41b0e78835a8c45b91d5a39f4743ea1cee833d3be) (push) Has been cancelled
Integrate the reviewed contribution and synchronize release carriers with the cumulative changes since 7.4.11. Keep the owner-approved Windows artifact download limitation explicit.
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
Claudexor platform gate (API keys — subscription auth NOT covered) / live · macos-latest · claude · API key only, subscription NOT covered (push) Waiting to run
Claudexor platform gate (API keys — subscription auth NOT covered) / live · ubuntu-latest · claude · API key only, subscription NOT covered (push) Waiting to run
Claudexor platform gate (API keys — subscription auth NOT covered) / live · windows-latest · claude · API key only, subscription NOT covered (push) Waiting to run
Claudexor platform gate (API keys — subscription auth NOT covered) / live · macos-latest · codex · API key only, subscription NOT covered (push) Waiting to run
Integration commit for the safe-check sprint (#1215#1143#1084#1112), merged as a057c5a4: bumps every version carrier to 7.4.10 and adds the README history row (the 7.4.5 patch row leaves the five-row window per P9).
Integration commit for the presentation batch (#1011#1087#1110#1154#1061#931#1073#516#869#498), merged as 553d5ac3: bumps every version carrier to 7.4.9 and adds the README history row (the 7.4.4 patch row leaves the five-row window per P9).
Integration commit for @komsikov's .gitignore change (#1253): bumps every version carrier to 7.4.8 and adds the README history row (the 7.4.2 patch row leaves the five-row window per P9).
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
* fix(v7.2.2): preserve host message authorship through chat and replay
Host-composed command replies, runtime diagnostics, admission and lifecycle
notices now carry role="system" and a descriptive system_type at their
producer; send_with_budget persists both on progress records and history
replays the recorded voice, so a reload no longer re-narrates host text as
Ouroboros. Model narration, proactive replies, final answers and question
pointers stay model-authored, selected by the existing narration fact rather
than by reading text.
The Host Service named-operation view accepted only direction="out" terminal
rows, so a typed command reply would have stayed pending forever; it now
recognizes either output voice while keeping the exact-origin ownership check.
tests/test_host_message_voice.py scans runtime send calls and literal chat
envelopes with counted, reasoned model/transport exceptions, so a new
unstamped producer or a stale exception fails; computed aliases remain a
documented review duty. The complete personal census of 92 classified sites is
retained as task artifact host-message-census.json.
DESIGN defines authorship, the System row and the markdown asymmetry;
CHECKLISTS item 30 now covers backend UI-message producers, which closes the
stale pointer in the design-system chapter. Pre-existing unkeyed live-header
clearing and the untyped terminal-host-notice contract are unchanged.
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
* feat(v7.4.0): add honest desktop notification attention cue
Add an optional launcher request_attention bridge that raises the live desktop window and requests one platform system sound, preserving browser and in-app fallbacks. Document the capability boundary, bump release carriers, and add focused tests.
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
---------
Co-authored-by: Ouroboros <ouroboros@local.mac>
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
While a client runs, Ouroboros can now reach the owner who left the window.
Settings -> Appearance gains a notification block beside the theme: a master
switch, the two required categories (a question or decision is waiting for you,
a task finished or stopped), a model-chosen category for messages Ouroboros
sends while it works, a separate off-by-default toggle for ordinary replies in
Main, sound, an off-by-default show-the-text choice, and a test notification.
The choices are stored per client exactly like the appearance choice, never
reach the server, and are excluded from the settings-dirty tracker so a
client-local toggle never offers to discard unsaved server settings.
Delivery is page-level: a system banner where this client exposes one and
permission is granted, otherwise the in-app surface plus one short tone, with
the status line stating which surface this client actually has. Either way a
click opens the source. No OS permission, Do Not Disturb or platform limit is
bypassed, and no native launcher path is added in this version.
web/modules/notifications.js keeps classification and the delivery gate pure
over one live frame plus the stored preferences, and takes ONE subscription per
client on the shared socket. It is deliberately NOT wired inside a chat
instance: an instance dies with its room, so a Project the owner never opened
would never have rung - the case notifications exist for. web/modules/chat.js is
byte-identical to before. Only live frames reach the notifier, so a reload
cannot re-notify without storing any notification state.
A finished task is recognised on the shape it actually arrives in (the live
task_done log frame) as well as the authored summary, and a conversation turn's
own ending stays the ordinary-reply category instead of claiming a task
finished; all of them collapse to one key per task. A child task never notifies
the owner: it escalates to its parent, and lineage is read from the delegation
facts frames carry because the terminal frame carries none. Importance needs no
new host field and no second model call - the existing proactive-message
discriminator is the signal.
Policy has one canonical home in docs/DESIGN.md section 9, including its
disclosed limits; docs/DEVELOPMENT.md carries the engineering invariant and the
architecture chapter names the owner. Two chapter byte budgets are raised with
stated reasons.
Verification: 1506 node tests; four browser journeys driving real socket frames
through ws.js (defaults off, one notification per event, silence on reload,
child conclusion withheld, unopened Project room reached, machine traffic
refused, click moves to the source); the deterministic repository gates (size
ratchet, generated manifests, README history limit, chapter budgets, docs sync)
pass. Three failures in the full battery are proven pre-existing by running the
same tests on the unmodified base commit.
Review-driven corrections in this commit, each with its own regression: a
`task_done` frame counts as an ending only with a SETTLED status, because an
update or restart teardown reports `interrupted` and requeues the same task id
(ringing there would also have burned that task's key and silenced its real
completion); a bare `task_terminal_status` chat row belongs to a DIRECT turn and
stays the ordinary-reply category instead of claiming a task finished; a child's
chat row is dropped whatever else it carries; the room gate mirrors
`mainThreadAccepts`, so an external owner transport notifies while the hidden
partition and A2A ids never do; and the client-level listener absorbs its own
errors, because it runs before the chat instances' handlers and `ws.emit` does
not isolate them.
Version carriers synced by ouroboros.tools.release_sync from VERSION:
pyproject.toml, uv.lock, web/package.json, web/package-lock.json,
web/modules/api_types.js (GATEWAY_CONTRACT_VERSION), README badge and direct
download links, docs/ARCHITECTURE.md, docs/install/index.html and
site/install/index.html. README Version History gains the 7.2.1 row; the
oldest patch row (6.113.1) leaves the table and is named in the "older
releases" sentence, keeping the five-patch-row limit.
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
Version carriers synced by ouroboros.tools.release_sync from VERSION:
pyproject.toml, uv.lock, web/package.json, web/package-lock.json,
web/modules/api_types.js (GATEWAY_CONTRACT_VERSION), README badge and direct
download links, docs/ARCHITECTURE.md, docs/install/index.html and
site/install/index.html. README Version History gains the 7.2.0 row; the
oldest minor row (6.110.0) leaves the table and is named in the "older
releases" sentence, keeping the five-minor-row limit.
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
Synchronize every release carrier to 7.1.0 through release_sync: VERSION,
pyproject.toml, uv.lock, web/package.json, web/package-lock.json,
GATEWAY_CONTRACT_VERSION, the README badge and direct-download links, both
install pages and the ARCHITECTURE header. Add the 7.1.0 Version History row
for the work accumulated on `ouroboros` since v7.0.0 and roll the oldest minor
row (6.109.0) off to respect the P9 cap.
The reference-book migration test pinned the ARCHITECTURE h1 with its
split-time version token. That h1 is a declared release carrier, so the pin
now keeps the whole line and lets only the version token follow VERSION.
Preserve execution-limit causes and separate Telegram host notices from the assistant silent chain. Remove the obsolete unconditional continuation instruction, align reviewed schema pins, and retire duplicate extraction size policy. Correct browser test flow control and synchronize final release carriers. Publication awaits final exact-candidate tests, review convergence and CI.
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
Claudexor platform gate (API keys — subscription auth NOT covered) / live · macos-latest · claude · API key only, subscription NOT covered (push) Waiting to run
Claudexor platform gate (API keys — subscription auth NOT covered) / live · ubuntu-latest · claude · API key only, subscription NOT covered (push) Waiting to run
Claudexor platform gate (API keys — subscription auth NOT covered) / live · windows-latest · claude · API key only, subscription NOT covered (push) Waiting to run
Claudexor platform gate (API keys — subscription auth NOT covered) / live · macos-latest · codex · API key only, subscription NOT covered (push) Waiting to run
Carriers to 7.0.0-rc.2 (PEP 440 7.0.0rc2 in pyproject/uv.lock); README history
row names why rc.1 has no assets. This candidate carries the lanes merged so far
after the owner's batch №13: the split compaction suite, the migration projection
report and the Windows kernel lock tier (item 1 = B) — the tag's 3-OS matrix is
that tier's first Windows execution.
Owner's ask (batch №13 item 14): a pre-release tag so the packaged apps build
and can be installed. Every version carrier moves to 7.0.0-rc.1 (pyproject and
uv.lock in PEP 440 form 7.0.0rc1); check_worktree_version_sync is clean; the
README history row buckets under 7.0.0. The runtime is byte-identical to
c9f5c1a4. The final delivery (fast-forward of `ouroboros`, v7.0.0, promotion)
stays the owner's own act (item 5 = B). Ledger: «From the owner's batch №13 answers».
ABI 7.0 -- the v7 refactor lands on the live tip. Every version carrier moves
together: VERSION, pyproject.toml, uv.lock, web/package.json, the browser
GATEWAY_CONTRACT_VERSION, the README badge, download references and Version
History row (with the first-boot disclosure: pre-7.0 task results are quarantined,
retired comma-list review settings are replaced by the shipped panel; back up
data/ or preview with scripts/rc_audit.py), both install pages' release-asset
links, and the docs/ARCHITECTURE.md header. The oldest patch row leaves the
README history to hold the P9 limit. docs/CHECKLISTS.md drops the clause that
named the removed ouroboros/contracts/api_v1.py compatibility module (owner
batch #11 item 3=A, ABI-3 / ABI-6d).
The tree is the v7next campaign candidate: live upstream a76961de plus every
transplanted v7 delta per ADOPTION_v7next.md (38 done, 15 owner- or
operator-recorded post-release rows; scripts/v7next_adoption.py --release rc 0).
The manual-test STOP applies: no merge, no tag before the owner's test.
Claudexor platform gate (API keys — subscription auth NOT covered) / live · macos-latest · claude · API key only, subscription NOT covered (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / live · ubuntu-latest · claude · API key only, subscription NOT covered (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / live · windows-latest · claude · API key only, subscription NOT covered (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / live · macos-latest · codex · API key only, subscription NOT covered (push) Has been cancelled
CI / build (zip, windows-latest, windows-x64, syft_1.50.0_windows_amd64.zip, syft.exe, 815ee6973ec5dff6a671d7f41b0e78835a8c45b91d5a39f4743ea1cee833d3be) (push) Has been cancelled
CI / build (dmg, macos-latest, macos-arm64, syft_1.50.0_darwin_arm64.tar.gz, syft, e32fdb9d47823fa633748a1efca2528fd77c37469ea93c9e40ab835da44e4cce) (push) Has been cancelled
CI / build (tar.gz, ubuntu-latest, linux-x86_64, syft_1.50.0_linux_amd64.tar.gz, syft, bf7b29ff57f06da30918266a0e1c2885a8f99784798d1bdb1628886aa015d788) (push) Has been cancelled
Capability preservation as a first-class invariant (#447 stages 1-3),
shape-first OpenRouter same-model failover derived from the replayed
reasoning artifact (#468), the delegation/chat-truth issue sprints, the
rich chat stack, Claudexor runtime 3.9.5, and a green 3-OS matrix (the
serial service-log suites no longer race the child, web source pins are
CRLF-safe, the size-ratchet manifest is exact). This tag also carries the
untagged 6.113.5.
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
The post-merge audit of #440 (sol + grok, converged) found the remaining
half of the #409 class: the abandoned worker and the next command SHARED the
mutable browser_state, so a late infrastructure-error retry on the old
thread could cross-thread-close the NEW session, a call that settled between
TimeoutError and add_done_callback closed handles on the main thread, and
handles the worker created after the detach snapshot leaked.
The fix makes retirement generational: _detach_browser replaces the shared
slot with a fresh BrowserState and returns the retired object; the close is
QUEUED on the retiring executor (StatefulToolExecutor.retire() shuts down
without cancel_futures) so it runs on the owning worker thread whenever the
hung call settles — including the already-settled race — reading the retired
object's fields at call time (late-created handles are reaped) and nulling
them for idempotence. The cognitive lease closes on the cleanup task's
settlement, structurally after the close. The infrastructure-error retry in
browse_page/browser_action observes a replaced generation and closes only
its own retired session, never the replacement. ARCHITECTURE documents the
contract and the never-settling-worker residual.
Completes the maintainer integration of community PR #429 (mikemikimike):
the BIBLE-mandated single version increment lands here (6.113.5) with all
release carriers synced.
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
Claudexor platform gate (API keys — subscription auth NOT covered) / live · macos-latest · claude · API key only, subscription NOT covered (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / live · ubuntu-latest · claude · API key only, subscription NOT covered (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / live · windows-latest · claude · API key only, subscription NOT covered (push) Has been cancelled
Claudexor platform gate (API keys — subscription auth NOT covered) / live · macos-latest · codex · API key only, subscription NOT covered (push) Has been cancelled
CI / build (zip, windows-latest, windows-x64, syft_1.50.0_windows_amd64.zip, syft.exe, 815ee6973ec5dff6a671d7f41b0e78835a8c45b91d5a39f4743ea1cee833d3be) (push) Has been cancelled
CI / build (dmg, macos-latest, macos-arm64, syft_1.50.0_darwin_arm64.tar.gz, syft, e32fdb9d47823fa633748a1efca2528fd77c37469ea93c9e40ab835da44e4cce) (push) Has been cancelled
CI / build (tar.gz, ubuntu-latest, linux-x86_64, syft_1.50.0_linux_amd64.tar.gz, syft, bf7b29ff57f06da30918266a0e1c2885a8f99784798d1bdb1628886aa015d788) (push) Has been cancelled
Keep the full browser lifecycle race assertions on the active per-family host after account-list rebuilds, and ship the green fix-forward as 6.113.4.
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
Bundle the exact Claudexor 3.9.2 runtime so Claude subscription quota reads refresh expired access tokens automatically through Claude Code before polling usage.
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
Ship the merged account-truth, operator-control, route-label, and network-resilience fixes with the verified Claudexor 3.9.1 runtime pin.
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
Claudexor platform gate (API keys — subscription auth NOT covered) / live · macos-latest · claude · API key only, subscription NOT covered (push) Waiting to run
Claudexor platform gate (API keys — subscription auth NOT covered) / live · ubuntu-latest · claude · API key only, subscription NOT covered (push) Waiting to run
Claudexor platform gate (API keys — subscription auth NOT covered) / live · windows-latest · claude · API key only, subscription NOT covered (push) Waiting to run
Claudexor platform gate (API keys — subscription auth NOT covered) / live · macos-latest · codex · API key only, subscription NOT covered (push) Waiting to run
Fix-forward over v6.113.0: the inherited full-matrix reds are healed
(replay conclusion gate, cybergym portability, deterministic test
seams); the only remaining red leg is the external cloudru provider
canary, disclosed.
Carries the untagged 6.111.0 and 6.112.0 (P13 Emergence) alongside the
cx-delegation sprint: the nanny charter, typed $0 terminals, truthful
executor cards, honest route health, the Claudexor 3.9.0 runtime pin,
and the size-ratchet heal.