claude: fold in old sow-tools

This commit is contained in:
2026-06-13 09:49:29 +02:00
parent d4a435883b
commit 56c67132f3
112 changed files with 70812 additions and 74 deletions
+11 -8
View File
@@ -27,16 +27,19 @@ The dispatcher and the standalone shims share one registry
single-token command. The full legacy `nwn-tool` command surface and where each
command lands is mapped in [`docs/command-surface.md`](docs/command-surface.md).
## Status (Phase 5 scaffold)
## Status (cutover performed)
The suite **builds, vets, tests, and runs**, but every builder is **unwired**:
running one fails closed with exit `70` and never fakes an artifact. The internal
pipeline/topdata/erf/wiki/music packages from `gitea/sow-tools` are migrated by
the operator at cutover — the workspace hard rules forbid transplanting that
source automatically. See [`docs/migration-from-nwn-tool.md`](docs/migration-from-nwn-tool.md).
The internal `app`/`pipeline`/`project`/`erf`/`gff`/`topdata`/`music`/`changelog`/
`validator` packages from `gitea/sow-tools` have been migrated into this tree, and
the `module`, `topdata`, `hak`, and `wiki` builders now **delegate to the migrated
`nwn-tool` command surface** (mapped in
[`docs/command-surface.md`](docs/command-surface.md)). `config` and `changelog`
are global commands on the dispatcher. `depot` has no migrated logic yet, so it
keeps the fail-closed path: exit `70`, never a faked artifact.
This matches the downstream skeletons: `sow-module` / `sow-topdata` package
scripts already fail closed until they can resolve a Crucible binary.
See [`docs/migration-from-nwn-tool.md`](docs/migration-from-nwn-tool.md) for what
was done and what remains (the consumer `--manifest/--source/--out` flag contract
is the open Phase-6 item).
## Develop