This repo's own jostoph-rs input still pins the private canonical, so it still has no flake.lock #12

Closed
opened 2026-08-10 07:56:16 +00:00 by agent.teyla · 0 comments
Contributor

Source: swapping Ting/Vedanta's vendored jostoph-rs for the midgard/jostoph-rs mirror, 2026-08-10.

flake.nix here pins the substrate at git+https://jo.et0.pw/lar.ad/jostoph-rs.git. That repository is private — confirmed, not assumed: with credential helpers disabled (GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/null), anonymous git ls-remote fails on could not read Username, while midgard/jostoph-rs answers 029a102cf606 under identical conditions.

PR #2 recorded the consequence as a known gap at the time and it is still true today: there is no flake.lock in this repository. The root listing is .doctor.just, .fastlane.just, .fastlane.toml, .gitignore, Cargo.lock, Cargo.toml, README.md, flake.nix, nix/, policy/, src/ — no lock. PR #2's own words: "lar.ad/jostoph-rs is private, so Nix cannot fetch the input without a credential and the lock cannot be generated... the lock should be committed once that is in place (or once the substrate repo is readable)."

The substrate repo is now readable. midgard/jostoph-rs exists, is public, serves anonymous HTTPS, and its main is 029a102cf606 — the same rev this repo's input resolves to. The precondition PR #2 deferred on has been met, and #3 named jostoph-rs as bound for midgard when it established the pattern.

This also leaves the steward as the only repo not following the pattern it distributes. Ting/Vedanta now pins midgard and locks cleanly; this repo, which ships the manifest telling everyone else to pin midgard, still pins the private canonical.

In scope

  • Repoint the jostoph-rs input to git+https://jo.et0.pw/midgard/jostoph-rs.git.
  • Commit the resulting flake.lock, closing PR #2's known gap.

Out of scope

  • The vendoring mechanism. nix/overlay.nix's jostophSrc and the devShell's ln -sfn ${jostoph-rs} vendor/jostoph keep working unchanged; only the input's URL moves. Nothing about how the source reaches Cargo is in question here.
  • Bumping the substrate. midgard main is already the rev this input resolves to, so this is a content-identical repoint, not an upgrade. A bump is a separate, deliberate act.
  • Adding jostoph-rs to .fastlane.toml#11, filed separately. That is what restores reaching lar.ad?ref=fastlane after this lands; the two together are the pattern, and this one alone would make development against the private canonical harder, not easier.
  • The mirror's freshness, which is #3.

Boundary

Pinning the public mirror moves this repo's build off any credential at all — a nix build on a clean machine with no ~/.config/nix/netrc and no forge token becomes possible for the first time. That is the intended effect and the reason midgard exists.

It also means this repo's published pin follows a repository it does not control the freshness of. That is acceptable only because the lock records an exact rev: a stale mirror cannot silently change what this builds, it can only delay what a future nix flake update finds. A mirror that stops updating is #3's finding to surface, not a correctness hazard here.

Ordering matters against #11: land that first, or in the same pass, so that development against fastlane never has a window where it is unreachable by the seam.

Acceptance

  • nix flake lock produces a lock resolving jostoph-rs to 029a102cf6065ef3cd561b06bae613fb2ff0bbb2 — the same rev as today, proving this is a repoint and not a bump.
  • flake.lock is committed.
  • nix flake check is green — the package build, its tests, the postInstall manifest check, the NixOS module evaluation, and the policy-drift check, all of which PR #2 could only run behind --override-input.
  • The build succeeds on a machine with no forge credential: no netrc, no $FORGEJO_ACCESS_TOKEN, credential helpers disabled.
  • nix develop still lands vendor/jostoph as a symlink into the store and cargo test passes against it.

Context

  • PR #2 "Known gap" — the missing lock this closes, and the precondition it named.
  • #3 — the publish pattern (lar.ad canonical, midgard public) and its push mirror.
  • #11 — the manifest entry that has to accompany this.
  • Ting/Vedanta — the same swap, done and verified: flake input at midgard, vendor/jostoph-rs out of the tree, Cargo.lock untouched, nix build and cargo clippy -D warnings green.
Source: swapping `Ting/Vedanta`'s vendored `jostoph-rs` for the `midgard/jostoph-rs` mirror, 2026-08-10. `flake.nix` here pins the substrate at `git+https://jo.et0.pw/lar.ad/jostoph-rs.git`. That repository is private — confirmed, not assumed: with credential helpers disabled (`GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/null`), anonymous `git ls-remote` fails on `could not read Username`, while `midgard/jostoph-rs` answers `029a102cf606` under identical conditions. PR #2 recorded the consequence as a known gap at the time and it is still true today: **there is no `flake.lock` in this repository.** The root listing is `.doctor.just`, `.fastlane.just`, `.fastlane.toml`, `.gitignore`, `Cargo.lock`, `Cargo.toml`, `README.md`, `flake.nix`, `nix/`, `policy/`, `src/` — no lock. PR #2's own words: *"`lar.ad/jostoph-rs` is private, so Nix cannot fetch the input without a credential and the lock cannot be generated... the lock should be committed once that is in place (or once the substrate repo is readable)."* **The substrate repo is now readable.** `midgard/jostoph-rs` exists, is public, serves anonymous HTTPS, and its `main` is `029a102cf606` — the same rev this repo's input resolves to. The precondition PR #2 deferred on has been met, and #3 named `jostoph-rs` as bound for midgard when it established the pattern. This also leaves the steward as the only repo not following the pattern it distributes. `Ting/Vedanta` now pins midgard and locks cleanly; this repo, which ships the manifest telling everyone else to pin midgard, still pins the private canonical. ## In scope - Repoint the `jostoph-rs` input to `git+https://jo.et0.pw/midgard/jostoph-rs.git`. - Commit the resulting `flake.lock`, closing PR #2's known gap. ## Out of scope - **The vendoring mechanism.** `nix/overlay.nix`'s `jostophSrc` and the devShell's `ln -sfn ${jostoph-rs} vendor/jostoph` keep working unchanged; only the input's URL moves. Nothing about how the source reaches Cargo is in question here. - **Bumping the substrate.** midgard `main` is already the rev this input resolves to, so this is a content-identical repoint, not an upgrade. A bump is a separate, deliberate act. - **Adding `jostoph-rs` to `.fastlane.toml`** — #11, filed separately. That is what restores reaching `lar.ad?ref=fastlane` after this lands; the two together are the pattern, and this one alone would make development against the private canonical harder, not easier. - **The mirror's freshness**, which is #3. ## Boundary Pinning the public mirror moves this repo's build off any credential at all — a `nix build` on a clean machine with no `~/.config/nix/netrc` and no forge token becomes possible for the first time. That is the intended effect and the reason midgard exists. It also means this repo's published pin follows a repository it does not control the freshness of. That is acceptable only because the lock records an exact rev: a stale mirror cannot silently change what this builds, it can only delay what a future `nix flake update` finds. A mirror that stops updating is #3's finding to surface, not a correctness hazard here. Ordering matters against #11: land that first, or in the same pass, so that development against `fastlane` never has a window where it is unreachable by the seam. ## Acceptance - `nix flake lock` produces a lock resolving `jostoph-rs` to `029a102cf6065ef3cd561b06bae613fb2ff0bbb2` — the same rev as today, proving this is a repoint and not a bump. - `flake.lock` is committed. - `nix flake check` is green — the package build, its tests, the `postInstall` manifest check, the NixOS module evaluation, and the policy-drift check, all of which PR #2 could only run behind `--override-input`. - The build succeeds on a machine with no forge credential: no `netrc`, no `$FORGEJO_ACCESS_TOKEN`, credential helpers disabled. - `nix develop` still lands `vendor/jostoph` as a symlink into the store and `cargo test` passes against it. ## Context - PR #2 "Known gap" — the missing lock this closes, and the precondition it named. - #3 — the publish pattern (`lar.ad` canonical, `midgard` public) and its push mirror. - #11 — the manifest entry that has to accompany this. - `Ting/Vedanta` — the same swap, done and verified: flake input at midgard, `vendor/jostoph-rs` out of the tree, `Cargo.lock` untouched, `nix build` and `cargo clippy -D warnings` green.
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#12
No description provided.