Commit 8085847
test(007): red proving tests for the devShell overlay/hix rewiring
Writes the criteria-table-to-test mapping for
docs/changes/007-bd-via-hix-shell-extension-point.md before any
implementation lands (formula B, step B1b):
- scripts/devshell-check (new): --self-test (no nix, seconds) proves C1
(flake.nix composes no mkShell/inputsFrom/devShells override), C2 (overlay
injects exactly one namespaced neohaskellTools attribute; bare `bd` shadowing
and beads.overlays.default/nixpkgs.follows rejected), C3 (nix/hix.nix reaches
bd via shell.buildInputs, not shell.tools, with every pre-existing shell
declaration still present), C8 (README AC3 recipe checked against the real
attribute name, so a rename breaks the doc check). Default in-shell mode
proves C4 (bd store-path identity + >=1.1.0 floor), C5 (every declared tool
resolves under /nix/store; hoogle is nixpkgs', not haskell.nix's wrapper),
C6 (toolchain-fp determinism + NEOHASKELL_SHELL_FP/PATH witnesses).
- dev: registers the `devshell-check` verb.
- scripts/workflow-check: C7 fixtures (check_devshell_check_in_shell,
check_devshell_check_selftest) wired into run() for test.yml `build`,
test-macos.yml `tests-macos`, and checks.yml `doctor`; 9 new --self-test
cases proving the checker logic itself.
- .github/workflows/{test,test-macos}.yml: nix-develop devshell-check step
after the cabal build.
- .github/workflows/checks.yml: --self-test step in the nix-free doctor job.
No production code touched (flake.nix, nix/hix.nix, README.md are the
implementer's edit set) — this change has zero Haskell surface per the
spec's Primitives section, so no Main.hs/cabal registration applies.
Verified red for the right reason: `./dev devshell-check --self-test` fails
C1/C2/C3/C8 because the overlay/buildInputs wiring doesn't exist yet; C5/C6
already hold under the pre-change inputsFrom wiring (expected, not a gap).
`./dev workflow-check` (17 workflows) and its --self-test (incl. the 9 new
fixtures) pass; `./dev doctor` OK; `spec-check --criteria-tests` resolves
all 8 criteria's named tests.
Bead: nh-mol-go3
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>1 parent 9c6f98e commit 8085847
6 files changed
Lines changed: 624 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
| 41 | + | |
40 | 42 | | |
41 | 43 | | |
42 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
79 | 82 | | |
80 | 83 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
| 104 | + | |
| 105 | + | |
104 | 106 | | |
105 | 107 | | |
106 | 108 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
73 | 78 | | |
74 | 79 | | |
75 | 80 | | |
| |||
135 | 140 | | |
136 | 141 | | |
137 | 142 | | |
| 143 | + | |
138 | 144 | | |
139 | 145 | | |
140 | 146 | | |
| |||
0 commit comments