WIP: Wave R2 — Ownership & autostart: owner_host + capability tags, top-level lifecycle verbs, fail-safe boot, relocation protocol #245

Draft
toasterson wants to merge 1 commit from claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c into main
Owner

Anima work item 019f85d6-583d-71a1-a59b-e05d4bda1d83.

Release-gated. Wave R2 of the akh-medu bring-up UX HANDOFF (effort akh-medu-bringup-ux). Depends on Wave R1 (config [database] spine).

Scope

  • Store schema deltas: durable owner_host column (advisory lock demoted to live-guard; home_host killed), requirements capability tags (subset-matched, derived from config; host:<name> = pinning), enabled, autostart, awakened_atregistered_at rename, new akhomed_host table.
  • Semantics: ownership says where, enabled says whether, autostart says when; never wake unowned/unmeetable akhs; daemon-side disable travels.
  • Lifecycle verbs go top-level (akh wake tecton — the akh akh subtree dissolves).
  • Fail-safe boot when PG unreachable (SQLite mode = escape hatch).
  • Relocation = ownership mutation, one primitive/two moods; partition backstop (re-verify before WAL resume); unpushed WAL ≡ mid-turn abort (recover by replaying from last user message); config-mirror authoritative on arrival.
  • Vocabulary renames ride these migrations (pre-1.0, no shims): awaken = identity birth only; wake/sleep = power; ConsolidationPhase::WakeActive; force re-awaken dies.

Source documents (Anima doc ID / Seshat corpus ID)

  • ADR draft: Ownership, autostart & relocation019f85c5-99bc-7ad1-b058-47cf3e81f06c / seshat 34de6b32-ec81-4709-952b-99550993926d (slug akh-medu-bringup-ux-adr-draft-ownership-autostart-relocation) — takes a FRESH docs/ai/decisions/NNN number on adoption
  • Ticket 08 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/08-ownership/adr-draft-ownership-autostart-relocation.md.

Anima work item `019f85d6-583d-71a1-a59b-e05d4bda1d83`. **Release-gated. Wave R2 of the akh-medu bring-up UX HANDOFF (effort `akh-medu-bringup-ux`). Depends on Wave R1 (config `[database]` spine).** ## Scope - Store schema deltas: durable `owner_host` column (advisory lock demoted to live-guard; `home_host` killed), `requirements` capability tags (subset-matched, derived from config; `host:<name>` = pinning), `enabled`, `autostart`, `awakened_at` → **`registered_at`** rename, new `akhomed_host` table. - Semantics: **ownership says where, enabled says whether, autostart says when**; never wake unowned/unmeetable akhs; daemon-side disable travels. - Lifecycle verbs go **top-level** (`akh wake tecton` — the `akh akh` subtree dissolves). - **Fail-safe boot** when PG unreachable (SQLite mode = escape hatch). - Relocation = ownership mutation, one primitive/two moods; partition backstop (re-verify before WAL resume); **unpushed WAL ≡ mid-turn abort** (recover by replaying from last user message); config-mirror authoritative on arrival. - Vocabulary renames ride these migrations (pre-1.0, no shims): awaken = identity birth only; wake/sleep = power; `ConsolidationPhase::Wake` → `Active`; `force` re-awaken dies. ## Source documents (Anima doc ID / Seshat corpus ID) - **ADR draft: Ownership, autostart & relocation** — `019f85c5-99bc-7ad1-b058-47cf3e81f06c` / seshat `34de6b32-ec81-4709-952b-99550993926d` (slug `akh-medu-bringup-ux-adr-draft-ownership-autostart-relocation`) — **takes a FRESH `docs/ai/decisions/NNN` number on adoption** - Ticket 08 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/08-ownership/adr-draft-ownership-autostart-relocation.md`.
Wave R2 — Ownership & autostart: owner_host + capability tags, top-level lifecycle verbs, fail-safe boot, relocation protocol
Some checks failed
CI / publish-chart (pull_request) Failing after 7m48s
CI / publish-chart (push) Failing after 8m10s
CI / check-seshat (push) Successful in 9m0s
CI / check-seshat (pull_request) Successful in 9m2s
CI / docker-seshd (pull_request) Successful in 14m29s
CI / docker-seshd (push) Successful in 14m33s
2d8dab82df
Anima implementation session.
toasterson force-pushed claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c from 2d8dab82df
Some checks failed
CI / publish-chart (pull_request) Failing after 7m48s
CI / publish-chart (push) Failing after 8m10s
CI / check-seshat (push) Successful in 9m0s
CI / check-seshat (pull_request) Successful in 9m2s
CI / docker-seshd (pull_request) Successful in 14m29s
CI / docker-seshd (push) Successful in 14m33s
to d3863b033f
Some checks failed
CI / publish-chart (push) Failing after 18m25s
CI / check-seshat (push) Successful in 24m15s
CI / check-seshat (pull_request) Successful in 27m48s
CI / publish-chart (pull_request) Failing after 18m55s
CI / docker-seshd (push) Successful in 36m29s
CI / docker-seshd (pull_request) Successful in 32m28s
2026-07-24 05:01:57 +00:00
Compare
ci: adopt exit-0-free chart-publish workflow (Solstice failure fix)
Some checks failed
CI / check-seshat (push) Failing after 23m59s
CI / check-seshat (pull_request) Successful in 20m34s
CI / publish-chart (pull_request) Successful in 16m52s
CI / docker-seshd (push) Successful in 28m24s
CI / publish-chart (push) Failing after 26m38s
CI / docker-seshd (pull_request) Successful in 31m43s
652bc5b192
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>
chore: take main's tree on the WI branch — round 1 is superseded
Some checks failed
CI / publish-chart (pull_request) Successful in 20m53s
CI / check-seshat (pull_request) Successful in 21m32s
CI / docker-seshd (pull_request) Successful in 27m54s
CI / check-seshat (push) Successful in 30m52s
CI / docker-seshd (push) Successful in 34m21s
CI / publish-chart (push) Failing after 34m40s
d3ba6bd95d
Round 1 of Wave R2 removed the `force` parameter from ritual_of_awakening and
updated its call sites (src/bin/akhomed.rs, src/main.rs, src/mcp/mod.rs). main
has since deleted those call sites — src/mcp/mod.rs no longer exists there at
all — so the branch could not rebase onto main, and every re-dispatch failed
worktree prep. Resolving to main while keeping the signature change would have
left a tree that does not compile.

This merge keeps main's tree exactly; round 1 stays reachable through the second
parent, and Wave R2 is re-implemented from current main. (The `force` removal is
Wave W1's scope in any case.)
toasterson force-pushed claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c from d3ba6bd95d
Some checks failed
CI / publish-chart (pull_request) Successful in 20m53s
CI / check-seshat (pull_request) Successful in 21m32s
CI / docker-seshd (pull_request) Successful in 27m54s
CI / check-seshat (push) Successful in 30m52s
CI / docker-seshd (push) Successful in 34m21s
CI / publish-chart (push) Failing after 34m40s
to 06d400f780
Some checks failed
CI / check-seshat (pull_request) Has been cancelled
CI / check-seshat (push) Has been cancelled
CI / publish-chart (push) Has been cancelled
CI / docker-seshd (push) Has been cancelled
CI / publish-chart (pull_request) Has been cancelled
CI / docker-seshd (pull_request) Has been cancelled
2026-07-28 11:09:56 +00:00
Compare
Wave R2 — Ownership & autostart: owner_host + capability tags, top-level lifecycle verbs, fail-safe boot, relocation protocol
All checks were successful
CI / check-seshat (push) Successful in 20m54s
CI / publish-chart (push) Successful in 21m39s
CI / check-seshat (pull_request) Successful in 24m48s
CI / docker-seshd (push) Successful in 35m2s
CI / publish-chart (pull_request) Successful in 27m27s
CI / docker-seshd (pull_request) Successful in 32m50s
b85a002c7a
Anima implementation session.
All checks were successful
CI / check-seshat (push) Successful in 20m54s
CI / publish-chart (push) Successful in 21m39s
CI / check-seshat (pull_request) Successful in 24m48s
CI / docker-seshd (push) Successful in 35m2s
CI / publish-chart (pull_request) Successful in 27m27s
CI / docker-seshd (pull_request) Successful in 32m50s
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-019f85d6-wave-r2-ownership-autostart-owner-host-c:claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c
git switch claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c

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-r2-ownership-autostart-owner-host-c
git switch claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c
git rebase main
git switch main
git merge --ff-only claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c
git switch claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c
git rebase main
git switch main
git merge --no-ff claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c
git switch main
git merge --squash claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c
git switch main
git merge --ff-only claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c
git switch main
git merge claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c
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!245
No description provided.