Flip the module build's project-script name to fetch-upstream-manifests #83

Closed
opened 2026-07-31 18:51:44 +00:00 by archvillainette · 1 comment
Owner

Part of #54; the decision is #63 Decision 5 ("Coordinated rename flip").

internal/app/app.go:388 still runs the old project-script name:

if err := runProjectScript(ctx, p, []string{"scripts", "fetch-hak-manifest"}, manifestPath); err != nil {

sow-module renamed its half in ShadowsOverWestgate/sow-module#57 (scripts/fetch-hak-manifest.sh -> scripts/fetch-upstream-manifests.sh, extended to resolve the topdata channel as well). The script name is a hardcoded path convention here, not config, so the two sides only work when both carry the same name.

The change

One line: []string{"scripts", "fetch-upstream-manifests"}. Plus the surrounding comment and any doc that names the old script.

Why it is urgent once sow-module#57 merges

sow-module/.gitea/workflows/release.yml runs nix flake update sow-tools — it always builds against the latest crucible, unpinned. So the moment sow-module#57 merges, every crucible module build in that repo fails until a crucible release carrying this flip is cut. #63 Decision 5 accepted that broken window on the grounds that the failure is loud and unmistakable (required project script missing) and that the gap is short:

Both sides flip together and the broken window is accepted; the failure is loud and unmistakable (required project script is missing). Smallest gap is merging the sow-module rename and cutting the crucible release back to back. Transitional symlink and Go-side fallback were both considered and rejected as cruft.

So: merge sow-module#57 and cut a crucible release back to back. No fallback, no symlink — that is the decision, and a fallback would keep both names alive forever.

Done when

  • app.go runs scripts/fetch-upstream-manifests.
  • No doc in this repo still names fetch-hak-manifest.
  • A crucible release is cut, and crucible module build succeeds in a sow-module checkout at #57's head.
Part of #54; the decision is #63 Decision 5 ("Coordinated rename flip"). `internal/app/app.go:388` still runs the old project-script name: ```go if err := runProjectScript(ctx, p, []string{"scripts", "fetch-hak-manifest"}, manifestPath); err != nil { ``` sow-module renamed its half in ShadowsOverWestgate/sow-module#57 (`scripts/fetch-hak-manifest.sh` -> `scripts/fetch-upstream-manifests.sh`, extended to resolve the topdata channel as well). The script name is a hardcoded path convention here, not config, so the two sides only work when both carry the same name. ## The change One line: `[]string{"scripts", "fetch-upstream-manifests"}`. Plus the surrounding comment and any doc that names the old script. ## Why it is urgent once sow-module#57 merges `sow-module/.gitea/workflows/release.yml` runs `nix flake update sow-tools` — it always builds against the **latest** crucible, unpinned. So the moment sow-module#57 merges, every `crucible module build` in that repo fails until a crucible release carrying this flip is cut. #63 Decision 5 accepted that broken window on the grounds that the failure is loud and unmistakable (required project script missing) and that the gap is short: > Both sides flip together and the broken window is accepted; the failure is loud and unmistakable (required project script is missing). Smallest gap is merging the sow-module rename and cutting the crucible release back to back. Transitional symlink and Go-side fallback were both considered and rejected as cruft. So: **merge sow-module#57 and cut a crucible release back to back.** No fallback, no symlink — that is the decision, and a fallback would keep both names alive forever. ## Done when - `app.go` runs `scripts/fetch-upstream-manifests`. - No doc in this repo still names `fetch-hak-manifest`. - A crucible release is cut, and `crucible module build` succeeds in a sow-module checkout at #57's head.
Author
Owner

PR: #84 (branch fix/fetch-upstream-manifests-rename). internal/app/app.go:388 now runs scripts/fetch-upstream-manifests. A grep over the tree found no doc in this repo naming fetch-hak-manifest, so the call site was the only occurrence — the diff is one line. No fallback and no symlink, per #63 Decision 5.

Two of the three "done when" boxes are ticked. The third — a crucible release cut, with the module build green in a sow-module checkout at #57's head — is still open and needs a release after #84 merges. On ordering: because sow-module/.gitea/workflows/release.yml runs nix flake update sow-tools unpinned, the broken window opens the moment sow-module#57 merges and closes only when that release lands, so merge and release back to back.

PR: #84 (branch `fix/fetch-upstream-manifests-rename`). `internal/app/app.go:388` now runs `scripts/fetch-upstream-manifests`. A grep over the tree found no doc in this repo naming `fetch-hak-manifest`, so the call site was the only occurrence — the diff is one line. No fallback and no symlink, per #63 Decision 5. Two of the three "done when" boxes are ticked. The third — a crucible release cut, with the module build green in a sow-module checkout at #57's head — is still open and needs a release after #84 merges. On ordering: because `sow-module/.gitea/workflows/release.yml` runs `nix flake update sow-tools` unpinned, the broken window opens the moment sow-module#57 merges and closes only when that release lands, so merge and release back to back.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ShadowsOverWestgate/sow-tools#83