Decide the fate of the 18 residual modules — the registry governs 33 of 51 #11
Labels
No labels
blocked
conflicted
curated
in-progress
in-review
needs-decision
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
larandar/flaky-mesh#11
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Stable ID: FM-AUDIT-02
Source:
nix eval --json .#aspects.graph,modules/hosts.nixSource status: new finding, not previously tracked
Disposition: open owner decision, then per-module work
Epic: #9
Blocked by: owner decision on the target state
Problem
modules/hosts.nix:52-56importsresidualIds class ++ closure. A host's rootlist decides 33 modules and is silent about the other 18 — 2 069 lines, 26% of
the module tree, and it includes every service the fleet actually runs:
services/forgejo,services/matrix,services/librefang,services/syncthing,services/perses,policies/vaults,policies/base,policies/identity,integrations/mesh-dns.The full residual set:
contracts/observability,contracts/routes,implementations/caddy,integrations/mesh-dns,integrations/mesh-librefang,integrations/vault-dashboards,integrations/vault-storage,integrations/victoria-dashboards,integrations/victoria-whoami,policies/acme,policies/base,policies/identity,policies/vaults,services/forgejo,services/librefang,services/matrix,services/perses,services/syncthing.tests/aspects/fixtures/warning-budget.jsonpins this at{"residual": 18}.A budget is a ratchet only if something lowers it; nothing has.
The five servers resolve to six aspects each. Their real configuration lives in
the residual set and in their host file.
aspects-isolationguards exactly oneaspect on exactly one host (
services/victoriaon bifrost) — a proof ofconcept, not a fleet property, and it cannot become one while 18 modules bypass
selection by construction.
Decision needed
Either:
residualmust reach 0, and work the list down,lowering the budget with each module; or
residualdiagnostic and the migration language inmodules/hosts.nixandmodules/aspects/compat.nix.The current middle state pays for the registry and does not get its guarantee.
Acceptance
warning-budget.jsonlower than 18.residualdiagnostic and the removal-condition comments aregone, and
aspects-isolation's scope is stated honestly.Provenance
Split from #9 (FM-ASPECT-AUDIT). Audit run 2026-08-04 by agent.odin against commit
fc3b751, withmodules/implementations/{forgejo-agents,hermes}.nixandoutputs/hosts/odin/{configuration.nix,secrets.agents.yaml}dirty in the working copy.contracts/routes, or delete the contract #20policies/identityas four literals #13traits#18