WIP: WI 3 — Session registry _akh/session/list + inter-session messaging (async delegation result delivery) #242

Draft
toasterson wants to merge 2 commits from claude/wi-019f8589-wi-3-session-registry-akh-session-list-i into main
Owner

Anima work item 019f8589-5965-7680-9bb2-54fb75c44b1b.

Two coordination tools on top of the delegation foundation:

  1. _akh/session/list — ACP data-plane method that reads the existing in-memory sessions HashMap (extended with SessionRecord: workspace, kind, bound_wi, started_at, last_activity). Shows active sessions including delegations. Same pattern as existing _akh/* data-plane methods in dispatch_akh.

  2. _akh/session/message + _akh/session/messages — inter-session messaging backed by a new akhomed_session_message Postgres table (in akhomed-store crate, same pattern as memberships.rs). Used for:

    • Async delegation result delivery (peer session posts result to calling session's mailbox)
    • Live coordination between concurrent sessions (e.g. "pause that WI, I just learned X")

MESSAGE MODEL: best-effort — if target session doesn't exist when sending, clean error. No store-and-forward. Matches ACP's ephemeral session model. Durable notifications use Seshat artifacts or Anima thread posts.

FILES: src/acp/mod.rs (dispatch_akh methods), crates/akhomed-store/src/sessions.rs (new module), crates/akhomed-store/src/migration/ (new migration for akhomed_session_message table)

DEPENDS ON WI 1 (SessionContext) + WI 2 (delegation uses mailbox for async result delivery).

Anima work item `019f8589-5965-7680-9bb2-54fb75c44b1b`. Two coordination tools on top of the delegation foundation: 1. _akh/session/list — ACP data-plane method that reads the existing in-memory sessions HashMap (extended with SessionRecord: workspace, kind, bound_wi, started_at, last_activity). Shows active sessions including delegations. Same pattern as existing _akh/* data-plane methods in dispatch_akh. 2. _akh/session/message + _akh/session/messages — inter-session messaging backed by a new akhomed_session_message Postgres table (in akhomed-store crate, same pattern as memberships.rs). Used for: - Async delegation result delivery (peer session posts result to calling session's mailbox) - Live coordination between concurrent sessions (e.g. "pause that WI, I just learned X") MESSAGE MODEL: best-effort — if target session doesn't exist when sending, clean error. No store-and-forward. Matches ACP's ephemeral session model. Durable notifications use Seshat artifacts or Anima thread posts. FILES: src/acp/mod.rs (dispatch_akh methods), crates/akhomed-store/src/sessions.rs (new module), crates/akhomed-store/src/migration/ (new migration for akhomed_session_message table) DEPENDS ON WI 1 (SessionContext) + WI 2 (delegation uses mailbox for async result delivery).
WI 3 — Session registry _akh/session/list + inter-session messaging (async delegation result delivery)
Some checks failed
CI / publish-chart (push) Failing after 10m46s
CI / check-seshat (push) Successful in 14m26s
CI / publish-chart (pull_request) Failing after 16m9s
CI / check-seshat (pull_request) Successful in 16m48s
CI / docker-seshd (push) Successful in 27m7s
CI / docker-seshd (pull_request) Successful in 29m20s
fa3444f4a9
Anima implementation session.
toasterson force-pushed claude/wi-019f8589-wi-3-session-registry-akh-session-list-i from fa3444f4a9
Some checks failed
CI / publish-chart (push) Failing after 10m46s
CI / check-seshat (push) Successful in 14m26s
CI / publish-chart (pull_request) Failing after 16m9s
CI / check-seshat (pull_request) Successful in 16m48s
CI / docker-seshd (push) Successful in 27m7s
CI / docker-seshd (pull_request) Successful in 29m20s
to 75f64789a7
Some checks failed
CI / publish-chart (push) Failing after 5m9s
CI / publish-chart (pull_request) Failing after 4m55s
CI / check-seshat (pull_request) Successful in 13m21s
CI / check-seshat (push) Successful in 13m28s
CI / docker-seshd (push) Successful in 23m35s
CI / docker-seshd (pull_request) Successful in 26m18s
2026-07-24 04:47:53 +00:00
Compare
ci: adopt exit-0-free chart-publish workflow (Solstice failure fix)
All checks were successful
CI / check-seshat (push) Successful in 15m56s
CI / publish-chart (push) Successful in 14m58s
CI / publish-chart (pull_request) Successful in 10m23s
CI / check-seshat (pull_request) Successful in 25m57s
CI / docker-seshd (push) Successful in 27m51s
CI / docker-seshd (pull_request) Successful in 27m52s
d6e9090951
The publish-chart skip path's mid-script exit 0 is mis-mapped to
exit_code=1 by the Solstice runner, reddening this branch's CI and
blocking merge. Adopt the develop/main if-else fall-through version.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
All checks were successful
CI / check-seshat (push) Successful in 15m56s
CI / publish-chart (push) Successful in 14m58s
CI / publish-chart (pull_request) Successful in 10m23s
CI / check-seshat (pull_request) Successful in 25m57s
CI / docker-seshd (push) Successful in 27m51s
CI / docker-seshd (pull_request) Successful in 27m52s
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin claude/wi-019f8589-wi-3-session-registry-akh-session-list-i:claude/wi-019f8589-wi-3-session-registry-akh-session-list-i
git switch claude/wi-019f8589-wi-3-session-registry-akh-session-list-i

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 claude/wi-019f8589-wi-3-session-registry-akh-session-list-i
git switch claude/wi-019f8589-wi-3-session-registry-akh-session-list-i
git rebase main
git switch main
git merge --ff-only claude/wi-019f8589-wi-3-session-registry-akh-session-list-i
git switch claude/wi-019f8589-wi-3-session-registry-akh-session-list-i
git rebase main
git switch main
git merge --no-ff claude/wi-019f8589-wi-3-session-registry-akh-session-list-i
git switch main
git merge --squash claude/wi-019f8589-wi-3-session-registry-akh-session-list-i
git switch main
git merge --ff-only claude/wi-019f8589-wi-3-session-registry-akh-session-list-i
git switch main
git merge claude/wi-019f8589-wi-3-session-registry-akh-session-list-i
git push origin main
Sign in to join this conversation.
No reviewers
No labels
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/akh-medu!242
No description provided.