From e061e4b446b2c1068866f0c679508743141e6b5e Mon Sep 17 00:00:00 2001 From: atlas Date: Mon, 7 Sep 2026 20:06:34 +0200 Subject: [PATCH] module-eval: cover the last nats shim the nats fixture missed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `natsOldPath` exists to prove every old `swarm.nats.*` path still resolves through its rename shim, and it defined six of the seven — `enable` was spelled the NEW way (`deploy.nats.enable`), so nothing in the suite ever exercised that shim. Deleting it would have gone unnoticed. The comment above the fixture claimed more than the fixture delivered: "dropping any single shim entry fails the eval" reads as a guarantee over all seven. Closing the gap rather than narrowing the sentence, so the claim becomes true instead of merely careful. `autheliaOldPath` keeps `deploy.nats.enable` deliberately — it needs the queue on, it is not an old-path test for nats — and the gate controls both spellings so a future edit cannot silently swap them. Found by asking the fixture whether a planned mutation could fail before spending an eval on it: no fixture defined the old path, so the arm was guaranteed to survive. A grep answered in a second what a mutation would have taken ~6 minutes to report. --- nix/module-eval.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nix/module-eval.nix b/nix/module-eval.nix index 1463606e..7e9dd190 100644 --- a/nix/module-eval.nix +++ b/nix/module-eval.nix @@ -110,10 +110,12 @@ let # The queue's callout identity, fourth split slice. `autoGenerateCallout` is # left FALSE on purpose: that is what makes the seed paths the thing deciding # `responderConfigured`, so the assertion below is about the seeds rather - # than about the auto-mint branch. All six old paths are defined, so - # dropping any single shim entry fails the eval, not just the arms read. + # than about the auto-mint branch. Every one of the seven old paths is + # defined — `enable` included, which is why it is spelled the old way here + # while the fixture below uses the new one — so dropping any single nats + # shim fails the eval, not just the arms read. natsOldPath = hive { - deploy.nats.enable = true; + swarm.nats.enable = true; swarm.nats.autoGenerateCallout = false; swarm.nats.calloutUserPublicKey = "UTESTUSERPUBKEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; swarm.nats.calloutIssuerPublicKey = "ATESTISSUERPUBKEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";