Direct native Akh chat without implementation runner slots #776

Open
toasterson wants to merge 8 commits from vox/direct-akh-chat into main
Owner

Vox conversations with hosted Romans/Lilith currently enter the implementation runner queue. Add a direct native ACP route that retains Anima thread ownership, authorization and history while the full Akh runtime owns execution. Admission creates no implementation attempt or runner allocation, and further messages can be admitted while a turn is running.

Require the native durableChat v1 contract in Akh-Medu PR560: stable session/prompt IDs, exclusive event replay cursors, lost-response recovery and atomic final reply projection. Interrupted turns stay unconfirmed and are never re-executed automatically. A distinct application principal and pinned SSH transport preserve the original destination. Client message IDs reconcile lost Anima admission replies and concurrent retries publish only one message. Owner-bound cancellation and offered permission decisions remain explicit.

WI-912 (01a11112-768a-7923-af8f-2968bc0a25a4), Companion Thread Model. Runtime dependency: Akh-Medu WI-530 / PR560. Application-principal renderer: PR557. Vox client: vox-anima PR1. No live fleet route or credentials have been changed yet.

Validation: eight real-Postgres/fault-ACP integration tests pass: zero-runner reply, admission while thinking, concurrent relay exclusion, duplicate client admission, cross-user/foreign receipt denial, permission decisions, lost create/terminal replies, 205-event paginated recovery, interrupted non-reexecution, and cancellation before native admission. Server library regression previously passed 520 tests with two existing ignored. Client Rust tests and 50 full-Xcode UI tests pass separately. Live deployment and real-model acceptance remain required; source handback does not assert them.

Vox conversations with hosted Romans/Lilith currently enter the implementation runner queue. Add a direct native ACP route that retains Anima thread ownership, authorization and history while the full Akh runtime owns execution. Admission creates no implementation attempt or runner allocation, and further messages can be admitted while a turn is running. Require the native durableChat v1 contract in Akh-Medu PR560: stable session/prompt IDs, exclusive event replay cursors, lost-response recovery and atomic final reply projection. Interrupted turns stay unconfirmed and are never re-executed automatically. A distinct application principal and pinned SSH transport preserve the original destination. Client message IDs reconcile lost Anima admission replies and concurrent retries publish only one message. Owner-bound cancellation and offered permission decisions remain explicit. WI-912 (01a11112-768a-7923-af8f-2968bc0a25a4), Companion Thread Model. Runtime dependency: Akh-Medu WI-530 / PR560. Application-principal renderer: PR557. Vox client: vox-anima PR1. No live fleet route or credentials have been changed yet. Validation: eight real-Postgres/fault-ACP integration tests pass: zero-runner reply, admission while thinking, concurrent relay exclusion, duplicate client admission, cross-user/foreign receipt denial, permission decisions, lost create/terminal replies, 205-event paginated recovery, interrupted non-reexecution, and cancellation before native admission. Server library regression previously passed 520 tests with two existing ignored. Client Rust tests and 50 full-Xcode UI tests pass separately. Live deployment and real-model acceptance remain required; source handback does not assert them.
Add runner-independent native Akh chat admission and controls
Some checks failed
CI / conflict-check (push) Has been cancelled
CI / test (push) Has been cancelled
86d47b067a
Deduplicate native chat admission using client-owned message IDs
Some checks failed
CI / conflict-check (push) Successful in 5m6s
CI / test (push) Has been cancelled
d13a4930ab
Make repeated chat admission publish once and reject cancelled permissions
Some checks failed
CI / test (push) Has been cancelled
CI / conflict-check (push) Has been cancelled
36cd3473e1
Recover native chat from durable session and turn receipts
Some checks failed
CI / conflict-check (push) Has been cancelled
CI / test (push) Has been cancelled
7c507d19ca
toasterson changed title from WIP: Direct native Akh chat without implementation runners to Direct native Akh chat without implementation runner slots 2026-10-06 13:15:06 +00:00
Apply native receipt client lint fixes
Some checks failed
CI / test (push) Failing after 16m12s
CI / conflict-check (push) Successful in 30m47s
428cfe4635
docs(chat): clarify permanent receipt recovery boundaries
Some checks failed
CI / conflict-check (push) Successful in 2m41s
CI / test (push) Failing after 8m24s
f2b9db3227
fix(chat): satisfy strict CI for native relay interfaces
Some checks failed
CI / conflict-check (push) Failing after 6m43s
CI / test (push) Failing after 18m46s
93f392d512
Some checks failed
CI / conflict-check (push) Failing after 6m43s
CI / test (push) Failing after 18m46s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin vox/direct-akh-chat:vox/direct-akh-chat
git switch vox/direct-akh-chat

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff vox/direct-akh-chat
git switch vox/direct-akh-chat
git rebase main
git switch main
git merge --ff-only vox/direct-akh-chat
git switch vox/direct-akh-chat
git rebase main
git switch main
git merge --no-ff vox/direct-akh-chat
git switch main
git merge --squash vox/direct-akh-chat
git switch main
git merge --ff-only vox/direct-akh-chat
git switch main
git merge vox/direct-akh-chat
git push origin main
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
toasterson/Anima!776
No description provided.