refactor(#2916): drop the two obsolete startup migrations
Phase 4 (repoint every container onto `meta#<n>`) and phase 5 (rename the `root` container to `h-root`) were marker-guarded one-shots for layouts no live hive still has: containers are rendered onto `meta#<n>` at creation, and the `h-` prefix has been the naming for far longer than any deployment predates. A one-shot nobody can still trigger is dead weight, so both are gone along with `repoint_container`, `rename_manager_container`, `CONTAINER_TIMEOUT` and the two marker paths. Phase 6 was not obsolete, only misplaced. Ruth's tool groups are now seeded by `ensure_root_agent` on the one path that creates her, rather than re-asserted on every hive-c0re boot. The skip-if-already-set guard survives the move: a destroy+recreate under the same name must not reset an operator's chosen group set back to MANAGER_DEFAULT. That also settles a latent bug. Phase 4's marker check was a `return`, not a skip, so on any hive carrying the marker phases 5 and 6 never ran at all — the tool-group backfill, whose whole job was preventing a silent privilege downgrade, has not executed here in a long time. Moving it to create-time removes the question rather than answering it. What stays is convergence: three unguarded, idempotent phases that re-run each boot and no-op once their state is right. The module doc now names the three categories so the next person can tell which kind they're adding.
This commit is contained in:
parent
41c1b1a3fb
commit
e02ac1e86e
5 changed files with 70 additions and 228 deletions
|
|
@ -248,18 +248,6 @@ pub fn matrix_register_token() -> PathBuf {
|
|||
state_root().join("matrix-register-token")
|
||||
}
|
||||
|
||||
/// `.meta-migration-done` — one-shot marker: legacy meta layout migrated.
|
||||
#[must_use]
|
||||
pub fn meta_migration_marker() -> PathBuf {
|
||||
state_root().join(".meta-migration-done")
|
||||
}
|
||||
|
||||
/// `.hroot-rename-done` — one-shot marker: legacy hive-root rename applied.
|
||||
#[must_use]
|
||||
pub fn hroot_rename_marker() -> PathBuf {
|
||||
state_root().join(".hroot-rename-done")
|
||||
}
|
||||
|
||||
/// `/run/hyperhive` — the runtime root (host admin socket + per-agent dirs).
|
||||
#[must_use]
|
||||
pub fn runtime_root() -> PathBuf {
|
||||
|
|
|
|||
Loading…
Reference in a new issue