Conversation
Restoring the coordinator as a physical seat (6a92731) put `speech-wake` on both seats and declared the two openWakeWord rows its listener already defaults to. That commit rewrote a dozen assertions in flake.nix but left the exact artifact list in `fleet-connectivity` behind, so the check has been red on main ever since: list of size 11 is not equal to list of size 9. The list is a deliberate hand-maintained allowlist — its own comment says an exact list exists so a new row "has to be argued for here in writing before it can cost a twin its disk" — so it is updated in place rather than derived from the declarations. The argument is written next to the rows: 3.9 MiB for the pair, and the listener cannot run without them. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The failure
nix flake check --offline --no-buildhas been red onmain(a727e6d) at thefleet-connectivitycheck:The two artifacts
openwakeword-baker-compat-v051andopenwakeword-alexa-v051.They are legitimate, not stale. Commit 6a92731 ("Restore coordinator desktop with shared seat apps and speech", 2026-09-16) flipped
myDisplay.enableback on for the coordinator and made it a physical seat again. The same commit asserts thatspeech-wakeruns on both seats, and declares the two rows inhosts/coordinator/default.nix— the client has declared the same pair since 49053f9. The wake listener defaults to exactly these paths:Both are already in the catalogue, and the check's own catalogue assertion (
builtins.attrNames localModelCatalog.artifacts) already lists them. Only the coordinator's wanted set assertion was left behind. That commit rewrote a dozen assertions inflake.nixand missed this one, so the check has been red since it landed.Declared order is
modules/strix.nix(5 coordinator GGUFs), thenhosts/coordinator/default.nix(the wake pair), thenmodules/qwen-tts.nix(4 rows,mkAfter) — 11 in total. The two rows are inserted at their declared position.Why the list is updated rather than derived
The check's own comment states the intent:
Deriving the expectation from
services.local-models.artifactswould make the assertion tautological and delete exactly what it was built to catch. So the allowlist is updated in place and the argument is written next to the rows: 3.9 MiB for the pair (3272227 + 854246 bytes perlib/speech-intake-models.json), against the hundred-gigabyte GGUF rows above it, and the listener cannot start without them.Verification
nix flake check --offline --no-buildon main a727e6dfleet-connectivityall checks passed!No other check was red before or after. Nothing was switched, rebuilt, or deployed.
🤖 Generated with Claude Code