Skip to content

docs(ci): haus's acquire holds two suites, and a step's floor is not the pole - #620

Merged
JulienMartel merged 1 commit into
mainfrom
worktree-haus-settings-on-linux
Sep 21, 2026
Merged

JulienMartel merged 1 commit into
mainfrom
worktree-haus-settings-on-linux

Conversation

@JulienMartel

Copy link
Copy Markdown
Contributor

What

Two edits to docs/ci.md.

  1. The haus row said the nix half is "nix eval …, nix flake check alone, haus add alone". acquire carries test/haus-settings.sh as well since ci: test/haus-settings.sh runs on the Linux runner, and always could haus#766 — the other suite that drives a real consumer flake through a real nix, and the last bash suite in that repo CI was not running at all.
  2. Rule 5 gains a fourth worked example.

Why

The row was simply stale. The rule-5 addition is the part worth reading.

Rule 5's three existing worked examples — haus's agents (no), perch and trill (yes), scruff (neither) — all answer the same question: does this job divide? hausfold/haus#766 asked a different one and the rule had no written answer for it: is this step worth a job of its own?

haus's nix half had a local heuristic for that — a new step is measured against the ~35s cache restore standing in front of it, and above that bar it earns a job. test/haus-settings.sh came in at 66s, twice the bar, and joined an existing job anyway, because the pole in that gate is nix flake check at 243s and a fourth job cannot take a second off it. The job went 46s → ~112s and the run cost what it cost before.

So: a fixed cost says what a job is worth paying for. It says nothing about what a step is worth moving, and reading it as a floor sends you to a job that buys the gate nothing. The gap to the pole answers both.

Verify

Watch out

…t the pole

haus's nix half was described here as "`haus add` alone". It carries
`test/haus-settings.sh` too since hausfold/haus#766 — the other suite that
drives a real consumer flake through a real nix, and the last bash suite in
that repo CI was not running.

Rule 5 gains that as its fourth worked example, because it is the one
direction the rule did not have written down. The three already there all
ask whether a JOB divides. This one is a STEP: haus's nix half had a local
heuristic that a new step is measured against the ~35s cache restore in front
of it, and above that it earns a job of its own. The settings suite is 66s,
twice that bar, and joined an existing job anyway — the pole there is `nix
flake check` at 243s, which no fourth job can shorten.

A fixed cost says what a job is worth paying for. It says nothing about what
a step is worth moving, and reading it as a floor sends you to a job that
buys the gate nothing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@JulienMartel
JulienMartel merged commit dab3b18 into main Sep 21, 2026
1 check passed
@JulienMartel
JulienMartel deleted the worktree-haus-settings-on-linux branch September 21, 2026 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant