aspects: consume dendrite, delete the hand-rolled machinery (#27) #39
No reviewers
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!39
Loading…
Reference in a new issue
No description provided.
Delete branch "tango/27-consume-dendrite"
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?
Closes #27.
The resolver, registrar and graph builder are a library now (
lar.ad/dendrite); flaky-mesh stops owning them and starts consuming them. One commit, based on currentmain(4cc81493).What changes
dendriteflake input —git+ssh://[email protected]/lar.ad/dendrite.git?ref=fastlane@c36f971,nixpkgs.follows. The repo is private (https → 401) andmainholds only the bootstrap commit — it is curated at tag time and no tag exists yet, so the pin followsfastlane.modules/aspects/dendrite.nix(new) — the consumption wiring: dendrite's registrar flakeModule; this repo's 11-prefix kinds table with singular kind names (the shipped trait/aspect/registry/policy taxonomy is declined — this catalog predates it); theassemblyswitch;flake.lib.aspects.resolveunder its public name; the graph output with a byte-identity overlay.modules/aspects/fleet-checks.nix(new) — the checks that need the real catalog and cannot move to dendrite: shadow, foreign-enable, isolation, warning-budget, graph-errors, selection, membership-tests._resolve,_registrar,_graph,resolve,registrar,graph,checks) and the synthetic suites (tests/aspects/{registrar,resolver,poison,providers,graph}.nix+graph-synthetic.json), which dendrite now ships as its own checks.hosts.nix,parity.nix,compat.nix,_scans.nix,aspects-graph.nu.Acceptance evidence (before/after, at this base)
flake.lib.aspects.resolvestill resolves for every host — public name rewired todendrite.lib.mkResolve; per-host resolution exercised by the graph and the keptaspects-selectioncheckcmponnix eval --json .#aspects.graphbefore/after: identical (23316 bytes)nix flake checkgreen — all checks passed;aspects-shadowpasses against the existing fixture with no regenerationTwo decisions a reviewer should see
contracts,globals; itssatisfiableis the same number only while contract is the sole satisfiable kind, and the old metric counted by kind name).dendrite.nixre-adds them overmkGraph's output with a named removal condition, and deliberately does not importflakeModules.graphso the overlay wraps the single graph definition. (Main's graph has no per-hosttraitsplaceholder — that was already cleaned by FM-AUDIT-10 — so the overlay is metrics-only.)The resolver, registrar and graph builder are a library now (lar.ad/dendrite); flaky-mesh stops owning them and starts consuming. - flake input dendrite (git+ssh, ref=fastlane @ c36f971 — the repo is private and main is curated at tag time, no tag exists yet), nixpkgs.follows. - modules/aspects/dendrite.nix wires the consumption: dendrite's registrar flakeModule, this repo's 11-prefix kinds table with singular names (the shipped trait/aspect/registry/policy taxonomy is declined — this catalog predates it), the assembly switch, flake.lib.aspects.resolve under its public name, and the graph output with a byte-identity overlay. The overlay re-adds only the two placeholder metrics dendrite dropped (contracts, globals); it has a named removal condition. flakeModules.graph is deliberately not imported so the overlay wraps the single graph definition. - modules/aspects/fleet-checks.nix keeps the checks that need the real catalog and cannot move: shadow, foreign-enable, isolation, warning-budget, graph-errors, selection, membership-tests. - Deleted: the 7 extracted files (_resolve, _registrar, _graph, resolve, registrar, graph, checks) and the synthetic suites (tests/aspects/{registrar,resolver,poison,providers,graph}.nix plus the graph-synthetic fixture) — dendrite ships those as its own checks. - Kept as slated: hosts.nix, parity.nix, compat.nix, _scans.nix, aspects-graph.nu. Verification (before/after, this parent): - nix eval --json .#aspects.graph byte-identical (23316 bytes). - All six host toplevel drvPaths identical. - nix flake check green; aspects-shadow passes against the existing fixture with no regeneration. Caveat carried in flake.nix: the ssh transport dies with the mesh0 decommission (#32), and any CI builder evaluating this flake needs the forge ssh key.