The doctor installs the fastlane seam where a fastlane exists #9

Closed
opened 2026-08-10 05:53:51 +00:00 by agent.teyla · 0 comments
Contributor

.fastlane.just and .doctor.just now sit side by side here (#6, #7), and the seam's own header says it ships as one file "to another repo (Jostoph, with the doctor)". Nothing yet puts it in a working repo: it has to be copied by hand, which is the drift the doctor exists to end.

In scope

  • A fastlane step in .doctor.just that installs and refreshes .fastlane.just from this repository.
  • Gating it on the forge actually carrying a fastlane branch, using the same remote_bookmarks(exact:"fastlane") test that already defines trunk().
  • Reporting — not writing — when the repo's justfile does not wire the seam.

Out of scope

  • The manifest. .fastlane.toml is fetched, validated and cached by the seam itself, with its own one-day freshness rule; the doctor must not duplicate that.
  • Wiring the seam into the repo's justfile. mod? fastlane ".fastlane.just" and the flake_override variable are edits to a tracked file, which the doctor does not make — same rule the governance check already follows.
  • Removing a seam. A repo that loses its fastlane keeps whatever it has; deleting a local toggle on the strength of a failed network call is not a repair.

Boundary

The seam is untracked by design and presence is its toggle, so installing it changes what every nix evaluation in that repo resolves against. That is the intended effect, and it is why the step refreshes rather than merely creating, and soft-fails rather than acting on an unverifiable fetch.

A repo with no fastlane on the forge has nothing to override against; installing there would be cargo cult, so it is skipped and said out loud.

Acceptance

  • In a repo that carries fastlane and has no seam: the seam is installed, and a second run reports it present and current without rewriting.
  • The installed seam works unmodified: just -f .fastlane.just assemble fetches the manifest, caches it, and emits one --override-input per input at ?ref=fastlane.
  • In a repo with no fastlane on the forge: nothing is installed, and the skip is reported.
  • An unreachable seam leaves any existing local copy in place.
  • A repo whose justfile lacks the mod? line is told so, and no tracked file is edited.
`.fastlane.just` and `.doctor.just` now sit side by side here (#6, #7), and the seam's own header says it ships as one file "to another repo (Jostoph, with the doctor)". Nothing yet puts it in a working repo: it has to be copied by hand, which is the drift the doctor exists to end. ## In scope - A `fastlane` step in `.doctor.just` that installs and refreshes `.fastlane.just` from this repository. - Gating it on the forge actually carrying a `fastlane` branch, using the same `remote_bookmarks(exact:"fastlane")` test that already defines `trunk()`. - Reporting — not writing — when the repo's `justfile` does not wire the seam. ## Out of scope - The manifest. `.fastlane.toml` is fetched, validated and cached by the seam itself, with its own one-day freshness rule; the doctor must not duplicate that. - Wiring the seam into the repo's `justfile`. `mod? fastlane ".fastlane.just"` and the `flake_override` variable are edits to a tracked file, which the doctor does not make — same rule the governance check already follows. - Removing a seam. A repo that loses its fastlane keeps whatever it has; deleting a local toggle on the strength of a failed network call is not a repair. ## Boundary The seam is untracked by design and presence is its toggle, so installing it changes what every `nix` evaluation in that repo resolves against. That is the intended effect, and it is why the step refreshes rather than merely creating, and soft-fails rather than acting on an unverifiable fetch. A repo with no `fastlane` on the forge has nothing to override against; installing there would be cargo cult, so it is skipped and said out loud. ## Acceptance - In a repo that carries `fastlane` and has no seam: the seam is installed, and a second run reports it present and current without rewriting. - The installed seam works unmodified: `just -f .fastlane.just assemble` fetches the manifest, caches it, and emits one `--override-input` per input at `?ref=fastlane`. - In a repo with no `fastlane` on the forge: nothing is installed, and the skip is reported. - An unreachable seam leaves any existing local copy in place. - A repo whose `justfile` lacks the `mod?` line is told so, and no tracked file is edited.
Sign in to join this conversation.
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#9
No description provided.