the seam is asked for, and a deploy may ride it — .fastlane.just header #21

Merged
larandar merged 1 commit from agent.teyla/Jostoph:fastlane-asked-for into main 2026-08-11 20:14:35 +00:00
Contributor

Header only; assemble is untouched. The file described a contract it no longer has, and the two halves it got wrong were the two an operator would act on.

Presence is no longer the toggle

It used to be: with the file in place, every nix evaluation in the consuming interface ran against the manifest's development repos — read verbs included. Two checkouts of one repo then described different worlds, with nothing at the command line to say which one you were reading.

The assembled flags now sit in the environment unspent and the consumer asks for them by name. lar.ad/flake-ops spells it --fastlane (#76, merged in #77) and is the reference wiring.

A deploy may ride it

This reverses what the file said outright:

a deploy runs from the lock regardless — a deploy from an override would be a deploy nobody can reproduce from the repo

That rule survives as the default, which is where it belongs. But a change to a development repo has to be landed on a machine before anyone can say it works, and refusing outright only moved the override somewhere less visible. The flag is the operator accepting, for one run, that this closure is not re-derivable from the repo alone. Owner's ruling, 2026-08-11.

Also recorded

  • Which verbs may ask is the consumer's to decide, with one rule worth carrying: the verbs that produce a closure may, the read verbs may not — what a read verb prints is a description of the estate as published.
  • Why the file is untracked in consumers: because it is fetched from here, not because it is anyone's local file. I had that backwards in flake-ops and the owner corrected it. A copy tracked in a consumer would be a fork that rots the first time the manifest gains an input.

Verification

Branched from upstream/main at 468e82e, so the branch-probe warning block is intact — my fork was stale and I did not push from it.

After the edit, against the live manifest:

  • just -f .fastlane.just --list resolves, assemble emits the same four --override-input pairs
  • spliced into flake-ops, nix resolves every input before failing on a deliberately bogus attribute — so the flags are accepted, not merely passed
  • nix flake metadata proves the override applies:
from the lock:    git https://jo.et0.pw/midgard/dendrite      528821af0b72  ref=refs/heads/main
with --fastlane:  git ssh://[email protected]/lar.ad/dendrite 528821af0b72  ref=fastlane

Same rev because the branches are in sync today, which is also why the resulting nixos-system-heimdallr drvPath is byte-identical either way — the seam is aimed elsewhere, and today elsewhere holds the same content.

Scope note: flake-ops is currently the only repo wiring the seam. dendrite ships a small .justfile (a jj doctor) with no flake_override, and sleipnir/nixops4-providers have no nix-side justfile at all — so there is no sweep of consumers to do, only this file, which is what every future consumer fetches.

Header only; `assemble` is untouched. The file described a contract it no longer has, and the two halves it got wrong were the two an operator would act on. ## Presence is no longer the toggle It used to be: with the file in place, **every** nix evaluation in the consuming interface ran against the manifest's development repos — read verbs included. Two checkouts of one repo then described different worlds, with nothing at the command line to say which one you were reading. The assembled flags now sit in the environment unspent and the consumer asks for them by name. `lar.ad/flake-ops` spells it `--fastlane` ([#76](https://jo.et0.pw/lar.ad/flake-ops/issues/76), merged in [#77](https://jo.et0.pw/lar.ad/flake-ops/pulls/77)) and is the reference wiring. ## A deploy may ride it This reverses what the file said outright: > a deploy runs from the lock regardless — a deploy from an override would be a deploy nobody can reproduce from the repo That rule survives as the **default**, which is where it belongs. But a change to a development repo has to be landed on a machine before anyone can say it works, and refusing outright only moved the override somewhere less visible. The flag is the operator accepting, for one run, that this closure is not re-derivable from the repo alone. Owner's ruling, 2026-08-11. ## Also recorded - **Which verbs may ask** is the consumer's to decide, with one rule worth carrying: the verbs that produce a closure may, the read verbs may not — what a read verb prints is a description of the estate as **published**. - **Why the file is untracked in consumers**: because it is *fetched from here*, not because it is anyone's local file. I had that backwards in flake-ops and the owner corrected it. A copy tracked in a consumer would be a fork that rots the first time the manifest gains an input. ## Verification Branched from `upstream/main` at `468e82e`, so the branch-probe warning block is intact — my fork was stale and I did not push from it. After the edit, against the live manifest: - `just -f .fastlane.just --list` resolves, `assemble` emits the same four `--override-input` pairs - spliced into flake-ops, nix resolves every input before failing on a deliberately bogus attribute — so the flags are accepted, not merely passed - `nix flake metadata` proves the override applies: ``` from the lock: git https://jo.et0.pw/midgard/dendrite 528821af0b72 ref=refs/heads/main with --fastlane: git ssh://[email protected]/lar.ad/dendrite 528821af0b72 ref=fastlane ``` Same rev because the branches are in sync today, which is also why the resulting `nixos-system-heimdallr` drvPath is byte-identical either way — the seam is aimed elsewhere, and today elsewhere holds the same content. **Scope note**: flake-ops is currently the only repo wiring the seam. dendrite ships a small `.justfile` (a jj doctor) with no `flake_override`, and sleipnir/nixops4-providers have no nix-side justfile at all — so there is no sweep of consumers to do, only this file, which is what every future consumer fetches.
The header described a contract this file no longer has, and the two halves it got wrong were the two an operator would act on.

PRESENCE IS NO LONGER THE TOGGLE. It used to be: with the file in place, every nix evaluation in the consuming interface ran against the manifest's development repos — read verbs included. Two checkouts of one repo then described different worlds with nothing at the command line to say which. The assembled flags now sit in the environment unspent and the consumer asks for them by name; flake-ops spells it `--fastlane` and is the reference wiring.

A DEPLOY MAY RIDE IT, reversing what this file said outright. The old rule — a deploy runs from the lock or it is a deploy nobody can reproduce from the repo — survives as the DEFAULT, which is where it belongs. But a change to a development repo has to be landed on a machine before anyone can say it works, and refusing that outright only moved the override somewhere less visible. The flag is the operator accepting, for one run, that this closure is not re-derivable from the repo alone.

Also recorded: which verbs may ask is the consumer's to decide, with one rule worth carrying — the verbs that produce a closure may, the read verbs may not, because what a read verb prints is a description of the estate as PUBLISHED.

And the file's own first line: it says "untracked" because it is FETCHED from here, not because it is anyone's local file. I had it the other way round in flake-ops and the owner corrected it; a copy tracked in a consumer would be a fork that rots the first time the manifest gains an input.

No behaviour changes: `assemble` is untouched, and `just -f .fastlane.just assemble` still emits the same four `--override-input` pairs, verified against the live manifest after this edit.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Ting/Jostoph!21
No description provided.