WIP: Wave R3 — AkhAdvertisement: _akh/daemon/akhs contract, power_state advertisement, gateway forwarding #247

Draft
toasterson wants to merge 2 commits from claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs into main
Owner

Anima work item 019f85d6-7f17-73c3-b946-968e8cee5918.

Release-gated. Wave R3 of the akh-medu bring-up UX HANDOFF (effort akh-medu-bringup-ux). Depends on Wave R2 (ownership schema). Cross-repo: coordinates with Anima's runner.proto + gateway.

Scope

  • AkhAdvertisement as a routing-inert RunnerCapabilities.akhs field in Anima's runner.proto (never in executor_names).
  • _akh/daemon/akhs: proto3-JSON versioned envelope + golden fixtures (fixture-guarded — akh-medu has no proto tooling); owned akhs only by default, include_unowned arg reveals the rest; cold/configured akhs included.
  • power_state {awake, asleep} + distinct POWER_STATE_ERRORED (confirmed by ticket 10: fail-closed akhs advertised as errored) + enabled.
  • Gateway forwarding per Anima's ADR 0022 (akh registration via gateway runners).
  • Session-leg extensions need a wildcard-notification route (_akh/* rides the control connection; vanilla ACP harnesses untouched).
  • avatar_hash advertised, bytes-on-change (from ticket 12).

Source documents (Anima doc ID / Seshat corpus ID)

  • Spec: _akh/daemon/akhs contract & AkhAdvertisement019f85ca-50f3-7ec2-8d2a-119ac54328de / seshat ce45c8f8-fae7-40ac-b27c-620063a3ba65 (slug akh-medu-bringup-ux-daemon-akhs-contract)
  • Ticket 09 rationale in Decision tickets bundle019f85d2-183b-7632-b1f8-c06b40fe401f / seshat 2fa0ccb7-327f-4075-8302-6a57091dedef
  • Slicing context: HANDOFF019f85c4-8459-76d1-b496-fc3d2f3ee4fc / seshat 9760b5f1-7aa9-40db-974c-bbe0d923dca6

Local backup: scratchpad:.scratch/akh-medu-bringup-ux/assets/09-daemon-akhs/contract.md. ⚠ Numbering caution: any imported "ADR 0020/0022" drafts take fresh numbers in Anima's sequence. Anima-side roster display (nickname/avatar) rides this slice.

Anima work item `019f85d6-7f17-73c3-b946-968e8cee5918`. **Release-gated. Wave R3 of the akh-medu bring-up UX HANDOFF (effort `akh-medu-bringup-ux`). Depends on Wave R2 (ownership schema). Cross-repo: coordinates with Anima's runner.proto + gateway.** ## Scope - `AkhAdvertisement` as a **routing-inert `RunnerCapabilities.akhs`** field in Anima's `runner.proto` (never in `executor_names`). - `_akh/daemon/akhs`: proto3-JSON versioned envelope + **golden fixtures** (fixture-guarded — akh-medu has no proto tooling); owned akhs only by default, `include_unowned` arg reveals the rest; cold/configured akhs included. - `power_state {awake, asleep}` + distinct **`POWER_STATE_ERRORED`** (confirmed by ticket 10: fail-closed akhs advertised as errored) + `enabled`. - Gateway forwarding per Anima's ADR 0022 (akh registration via gateway runners). - Session-leg extensions need a **wildcard-notification route** (`_akh/*` rides the control connection; vanilla ACP harnesses untouched). - `avatar_hash` advertised, bytes-on-change (from ticket 12). ## Source documents (Anima doc ID / Seshat corpus ID) - **Spec: _akh/daemon/akhs contract & AkhAdvertisement** — `019f85ca-50f3-7ec2-8d2a-119ac54328de` / seshat `ce45c8f8-fae7-40ac-b27c-620063a3ba65` (slug `akh-medu-bringup-ux-daemon-akhs-contract`) - Ticket 09 rationale in **Decision tickets bundle** — `019f85d2-183b-7632-b1f8-c06b40fe401f` / seshat `2fa0ccb7-327f-4075-8302-6a57091dedef` - Slicing context: **HANDOFF** — `019f85c4-8459-76d1-b496-fc3d2f3ee4fc` / seshat `9760b5f1-7aa9-40db-974c-bbe0d923dca6` Local backup: `scratchpad:.scratch/akh-medu-bringup-ux/assets/09-daemon-akhs/contract.md`. ⚠ Numbering caution: any imported "ADR 0020/0022" drafts take fresh numbers in Anima's sequence. Anima-side roster display (nickname/avatar) rides this slice.
Wave R3 — AkhAdvertisement: _akh/daemon/akhs contract, power_state advertisement, gateway forwarding
Some checks failed
CI / publish-chart (pull_request) Failing after 8m38s
CI / publish-chart (push) Failing after 9m28s
CI / check-seshat (push) Successful in 9m40s
CI / check-seshat (pull_request) Successful in 9m42s
CI / docker-seshd (push) Successful in 20m16s
CI / docker-seshd (pull_request) Successful in 20m26s
43d9569b38
Anima implementation session.
toasterson force-pushed claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs from 43d9569b38
Some checks failed
CI / publish-chart (pull_request) Failing after 8m38s
CI / publish-chart (push) Failing after 9m28s
CI / check-seshat (push) Successful in 9m40s
CI / check-seshat (pull_request) Successful in 9m42s
CI / docker-seshd (push) Successful in 20m16s
CI / docker-seshd (pull_request) Successful in 20m26s
to b4f69e8100
Some checks failed
CI / publish-chart (push) Failing after 8m6s
CI / publish-chart (pull_request) Failing after 11m4s
CI / check-seshat (push) Successful in 11m38s
CI / check-seshat (pull_request) Successful in 19m0s
CI / docker-seshd (pull_request) Failing after 19m0s
CI / docker-seshd (push) Successful in 19m4s
2026-07-24 07:45:25 +00:00
Compare
ci: adopt exit-0-free chart-publish workflow (Solstice failure fix)
Some checks failed
CI / check-seshat (push) Successful in 24m37s
CI / check-seshat (pull_request) Successful in 20m57s
CI / docker-seshd (push) Successful in 24m50s
CI / publish-chart (pull_request) Successful in 18m4s
CI / publish-chart (push) Failing after 26m48s
CI / docker-seshd (pull_request) Successful in 30m8s
a96b62e227
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>
Some checks failed
CI / check-seshat (push) Successful in 24m37s
CI / check-seshat (pull_request) Successful in 20m57s
CI / docker-seshd (push) Successful in 24m50s
CI / publish-chart (pull_request) Successful in 18m4s
CI / publish-chart (push) Failing after 26m48s
CI / docker-seshd (pull_request) Successful in 30m8s
This pull request has changes conflicting with the target branch.
  • src/lib.rs
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs:claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs
git switch claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs

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-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs
git switch claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs
git rebase main
git switch main
git merge --ff-only claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs
git switch claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs
git rebase main
git switch main
git merge --no-ff claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs
git switch main
git merge --squash claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs
git switch main
git merge --ff-only claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs
git switch main
git merge claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs
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!247
No description provided.