Remove stack support in favour of cabal
We build with cabal now, so this removes stack.
## What went
- `stack.yaml` (and the untracked `stack.yaml.lock`).
- `.stack-work` and the now-dead `*.yaml.lock` from the root `.gitignore`.
- `.stack-work/` from all ten package `.gitignore` files.
No tracked file mentions stack any more. `cabal.project` needed no change: it
already globs `*/*.cabal`, and it needs no `source-repository-package` stanzas
either, because the nix devShell supplies validity, sydtest, opt-env-conf and
safe-coloured-text. That is what `stack.yaml`'s `extra-deps` was duplicating,
and `flake.nix`'s inputs are a superset of them, so nothing unique is lost.
Checked rather than assumed: `cabal build all --enable-tests
--enable-benchmarks` inside `nix develop` resolves and builds all ten packages
plus the test suite and the benchmark.
## The one thing that was not just a deletion
`stack.yaml` carried
```
ghc-options:
"$locals": -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates
-Wpartial-fields -Widentities -Wredundant-constraints -Wcpp-undef
```
and that was the only place applying those flags to development builds.
`nix/overrides.nix` applies the same list plus `-Werror`, but only to nix
builds, so deleting `stack.yaml` on its own would have quietly dropped local
builds to GHC's defaults.
The list now lives in each `package.yaml` as top-level `ghc-options`, so it
reaches every component and every build path, nix included. Two consequences
worth being explicit about:
- These flags now ship in the `.cabal` files, so anyone building these packages
from Hackage gets them. That is normally considered poor practice for library
`ghc-options`; it is a deliberate choice here in exchange for one place to
keep the list.
- `cabal` has no `$locals` equivalent, which is why this is not a `cabal.project`
stanza. `package *` would also apply to dependencies, and per-package stanzas
would mean ten of them to keep in sync.
I also dropped the `-Wall` that `autodocodec-api-usage`'s test and benchmark
stanzas carried separately, now that the top-level supplies it. No `default.nix`
changed, since cabal2nix does not record `ghc-options`.
## Checks
- `nix flake check` passes: every package recompiled with the relocated flags
plus `-Werror`, across nixpkgs 26.05, 25.11, 25.05 and horizon-advance.
- `pre-commit run -a` clean.
- `cabal build all --enable-tests --enable-benchmarks` succeeds in the devShell.
## Leftovers on disk, not in this diff
`.stack-work/` directories still exist in the working tree and are no longer
gitignored, so they will show up as untracked until deleted. Several GB of dead
build cache; I have not removed them.
One thing this PR does not do: `stack build --pedantic` and `stack test` were
the two cheapest feedback loops for this repo. Their cabal equivalents are
`cabal build all --enable-tests` and `cabal test all` in the devShell. There is
no CONTRIBUTING or CLAUDE.md in the repo recording either set, so there was
nothing to update, but it may be worth writing them down somewhere now that the
stack ones no longer work.