From 91bb9a6613d6d91c1fede43a0cf18478295f2c36 Mon Sep 17 00:00:00 2001 From: vickydotbat Date: Sun, 21 Jun 2026 14:57:20 +0200 Subject: [PATCH] chore(crucible): drop dead NWN_ROOT rule; auto-detect is the forward rule --- README.md | 2 +- docs/consumer-contract.md | 11 ----------- internal/dispatch/dispatch.go | 4 ++-- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index f231eba..6010a82 100644 --- a/README.md +++ b/README.md @@ -97,5 +97,5 @@ publish event is a `v*` tag (see `sow-docs/runbooks/ci-trigger-standard.md`). ## Consumers -How the artifact repos resolve a Crucible binary (and the `NWN_ROOT` rule) is +How the artifact repos resolve a Crucible binary is documented in [`docs/consumer-contract.md`](docs/consumer-contract.md). diff --git a/docs/consumer-contract.md b/docs/consumer-contract.md index dc6f114..3ae0316 100644 --- a/docs/consumer-contract.md +++ b/docs/consumer-contract.md @@ -36,17 +36,6 @@ container: ~~No host install, no `$HOME` layout, no developer machine assumptions.~~ -## `NWN_ROOT` rule - -Crucible **never guesses `NWN_ROOT` from `$HOME`** (this was a deploy-notes -pain point). The NWN install/data root is passed explicitly: - -- env `NWN_ROOT=/path/to/nwn`, or -- flag `--nwn-root /path/to/nwn`. - -A builder that needs `NWN_ROOT` and receives neither must fail closed with a -clear message, not fall back to a home-directory default. - ## Determinism Same inputs → identical output bytes. Consumers may checksum artifacts across diff --git a/internal/dispatch/dispatch.go b/internal/dispatch/dispatch.go index 18fd98b..039a22c 100644 --- a/internal/dispatch/dispatch.go +++ b/internal/dispatch/dispatch.go @@ -249,8 +249,8 @@ func usage(w io.Writer) { fmt.Fprintf(w, " config [args] inspect/validate effective configuration\n") fmt.Fprintf(w, " changelog [args] generate the release changelog\n") fmt.Fprintf(w, "\nBuilders read all inputs from the project tree (nwn-tool.yaml + data/); no\n") - fmt.Fprintf(w, "NWN install is required. If a builder ever needs an NWN root, it must be\n") - fmt.Fprintf(w, "passed explicitly via NWN_ROOT; crucible never guesses from $HOME. See\n") + fmt.Fprintf(w, "NWN install is required. A builder that one day needs NWN game data\n") + fmt.Fprintf(w, "auto-detects the install; it never requires a hand-set path. See\n") fmt.Fprintf(w, "docs/consumer-contract.md.\n") }