Fix akhomed startup ownership and side-effect-free CLI #667
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/akhomed-single-instance-discovery"
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?
A live
akhomed --versionprobe on October 17 ignored the unsupported option and started a second daemon. That contender reached Postgres and wrote discovery before it was excluded by existing residents/listeners; its failed shutdown then removed the discovery file. This PR makes information probes side-effect-free and gives startup/discovery artifacts explicit instance ownership.Behavior
--version,--help, unknown flags and missing values exit there; repeatable--auto-startand the offlinestore split-per-akhcommand remain supported.Disposable validation and independent review
serverfeatures.CARGO_BUILD_JOBS=2, dedicated/Users/toasty/.cache/mausbot-round6b-target, incremental/debug output disabled, and a monitored 20 GiB free-space floor on/System/Volumes/Data. No build crossed the floor. Rustfmt and diff whitespace checks pass.docs/mausbot/evidence/akhomed-startup-20261018-round6b. Exact-head CI remains pending; local tests are not CI or deployment acceptance.Incident reconciliation
Read-only reconciliation used the enrolled native-house DB credentials, TLS verification, connection-level read-only defaults, explicit repeatable-read/read-only transactions and rollback. No DB repair is indicated:
45a1b9bedb0d43aaec7eafec6cd58dfeed045347were applied before the incident. Timestamped public tables show zero rows in the precise and four-minute incident windows. All three native residents' ownership timestamps and advisory sessions predate it; the refusal branches fence identity/epoch, hydration, WAL/snapshot and executor work.CoreApp::newran before the old occupied-port refusal. Its existingakhomed-coreimport marker value0is dated October 16 04:29:01Z, selecting the deployed rollback-before-insert branch. Its 22 records predate the incident, with no grant rows. Existing-schema/table checks therefore did not create new objects.The result is no persistent database effect; no DB repair needed. The separate discovery-file loss and its authorized round-5 one-file repair remain recorded, with prior bytes/existence unknown. This does not relabel the original failed probe as read-only or claim zero transient effects. The requested scratch receipt is
round6b/incident-reconciliation.json; a copy and query/log projections are in the evidence directory above.No merge, live DB/pod write, cluster daemon/binary execution, restart, Board action or activation occurred in round 6b. Round 6a's native computer dispatch is separate work. Parent owns CI watching, merge and subsequent activation gates.