Authoritative Postgres houses and reversible identity migration #646
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/akh-houses"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Full native and Roman houses currently keep authoritative state in per-Akh SQLite. Prepare an offline, verified move into shared Postgres, with normal ADR 049 hydration/residency fencing and explicit refusal to start without complete authoritative state.
Validation: cargo check (server/akhomed), cargo fmt, storage crate 44 passed (9 opt-in skipped), fail-closed authoritative-house regression, migration/identity-fold unit tests 11 passed, image publisher 36 passed. Isolated PostgreSQL 17 with the actual migrations accepted all 13 copied identities / 220,394 cognitive rows and 22,639 service records with complete hashes and duplicate refusal. All 13 copied Akhs passed the actual fenced cluster-cache→Mac-cache→cluster-cache hydration test (1,297.31s): equal triple/symbol counts, simultaneous owner refusal and epoch+3 verified. Quiescent retained-WAL backup and generated retirement/rollback SQL also passed disposable fixtures. Mac config candidate rendering passed; current LAN DNS prerequisite is emitted as an uninstalled hosts fragment.
Ready for review; leave unmerged. Production migration, main image publication, exact-model/tool/ritual/restart acceptance and live cross-house test are separate gates. Talos #208 contains DESIGN.md, registry evidence and stopped deployment; stacked #209 carries gated routing/proxy retirement. Exact-head CI is green at
ec6a56d1: all 14 checks passed in run 4268. The source PR is ready and mergeable, still unmerged. No Board calls or live binding changes. PR #645 remains valuable with direct ClusterIP HTTP endpoints; its armini inference_cutover.py workflow is cancelled, not executed.Operator decision update: add a default-dry-run, two-pair identity merger for
thoth-mac→thoth and gemma-mac→gemma. It preserves destination UUID/psyche,
remaps symbols and portable provenance, folds original WAL sequences with
reversible preimages, retains duplicate origins and source snapshots, and retires
source rows. It fails closed on unsnapshotted tails or unsupported nested goal
structures. Transactional merge/rollback passed isolated Postgres fixtures;
production dry runs correctly block pending final snapshots.
CI correction: the core-integration test's CoreConfig literal omitted the new
postgres_schema field. Added None and ran the exact full session-platform feature
combination successfully locally. The exact-head remote run 4268 also passed all 14 checks, including the previously failing session-platform job.
An opt-in isolated cold-wake sizing probe measured Ptah's production snapshot at
323.3s / 608Mi maximum RSS on Mac ARM64, without provider calls or daemon work.
The Talos proposal isolates it at 1536Mi request / 3Gi limit with a 30-minute
startup window. Operator selected astra-impl-4 / gpt-6.1-sol, a separate Ptah
principal, and capacity shared with Apollo. No production state has been changed.
WIP: Authoritative Postgres houses and verified offline state migrationto Authoritative Postgres houses and reversible identity migration