docs: haus's CI runs every flake check but one, + drift row 34 - #618
Merged
Merged
Conversation
haus's darwin checks were declared behind a platform guard whose stated
reason ("it evaluates a real system") named a weaker capability than the
one the guard actually required (a darwin BUILDER). Twenty-four of them
never ran on any push. hausfold/haus#762 moves twenty-three above the
gate; `brew-bundle-guarded` stays, because it does IFD on a built darwin
system and no Linux runner can answer it.
- docs/ci.md: the haus row, and the two places that counted its checks by
hand. `nix flake check`'s 57s/1s pair is replaced with what that step
measures now — 193s, of which 186s is evaluation and 6s builds eighty
derivations (run 35591587897) — and `eval` stops being the nix half's
pole, at 221s against 62s. haus is now the family's one gate whose pole
is evaluation rather than build or compile, which is the part that
matters for the store-cache section it sits in: an entry holds outputs
and has never held an eval.
- docs/drift.md: row 34, the shape itself. Row 32 is its symptom and row
33 the census that could not see it; neither says why the guard was
written that way. AGENTS.md's count follows.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
JulienMartel
force-pushed
the
worktree-haus-darwin-checks-never
branch
from
September 21, 2026 11:04
24ff217 to
3897ce5
Compare
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.
What
docs/ci.md— thehausrow in the gate table, the two places that counted its flake checks by hand, and three measured claims that the companion change falsifies:nix flake check's 57s cold / 1s warm pair, andevalas the nix half's pole. Each is marked as describing the shape before this, with where to re-take it.docs/drift.md— row 34, appended.AGENTS.md's count follows it to thirty-four.Why
hausfold/haus#762 is the change: twenty-four flake checks sat behind
optionalAttrs (lib.hasSuffix "-darwin" system)while every runner in that repo'scheck.ymlisubuntu-latest, so they fired on a Mac, by hand, or not at all. Twenty-three move above the gate there.brew-bundle-guardedstays, because it does import-from-derivation on a BUILT darwin system and no Linux runner can answer it.Row 34 is the shape that put them there: a platform guard whose stated reason names a weaker capability than the one it actually requires. The block said "it evaluates a real system" and gated on having a darwin builder. On the author's Mac those are the same thing, every sentence beside the guard was true, and the conjunction was what was false. Row 32 is the symptom (a check no runner selects), row 33 the census that could not see it, row 24 the nearest neighbour — its counter-example was one job away in the same workflow file. None of the three says why the guard came out that way, which is what a reader needs in order not to write the next one.
The store-cache paragraphs matter as much as the row. What those checks bring to that step is EVALUATION — dozens of nix-darwin systems raised in one evaluator — and no store entry has ever held an eval, so a cache hit pays it in full. The claims that job's restore settles are unaffected; the figures beside them are not.
Verify
Watch out
docs/ci.md'shausrow is false — which isdocs/drift.mdrow 14's shape, in the doc that owns it.AGENTS.mdback to thirty-three. Nothing cites 34 yet but checks: every flake check but one now runs on CI's Linux runner haus#762's commit message.nix flake check's new cold and warm figures, and which job the nix half's pole is, both come off a run on haus'smainafter #762 lands. This PR says where to get them and does not guess at them.script/probes/README.md'schecksfigures are deliberately untouched — they are stamped measurements in past tense, whichAGENTS.md's date carve-out forscript/probes/**covers.🤖 Generated with Claude Code