chore: remove the GitHub Actions workflow — there is no CI

The repo lives on a Gitea server and CI/CD is a long way off, so
.github/workflows/content-build.yml never ran. A workflow nobody executes is
worse than none: it read as a safety net that wasn't there.

Removing it moves the `--check` gate somewhere real. It is now enforced by
tools/content_build/tests/test_real_content.py, which runs check() against the
live bible under pytest — so the gate is a test you actually run, not a job
that never fired.

The world-building skill's verify step now says plainly that nothing runs these
for you, and adds the client suite to the checklist: content/world/ is a CLIENT
INPUT (content_db.gd loads it, test_content_db.gd asserts on it), so a content
change can break the client. That is exactly what the Duncarrow purge did, and
with no CI there is nothing else to catch it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-12 16:13:32 -05:00
parent 997fef1803
commit ccff2fdbf2
3 changed files with 23 additions and 26 deletions

View File

@@ -112,10 +112,11 @@ default — it's what the five-rung gate system exists to deliver.
### 4. Build and verify — not done until green
The build regenerates `content/world/` + `content/server/` from the bible and the
`--check` gate is what CI enforces (`.github/workflows/content-build.yml`). Run,
from repo root, with the repo venv active (`source .venv/bin/activate`) — the
`content_build` package lives under `tools/`, so `PYTHONPATH=tools` is required:
The build regenerates `content/world/` + `content/server/` from the bible, and the
`--check` gate is what proves it stayed valid. **There is no CI — nothing runs
these for you.** You are the gate; run them, from repo root, with the repo venv
active (`source .venv/bin/activate`). The `content_build` package lives under
`tools/`, so `PYTHONPATH=tools` is required:
```
PYTHONPATH=tools python -m content_build # regenerate world/ + server/ from lore/
@@ -123,6 +124,19 @@ PYTHONPATH=tools python -m content_build --check # must exit 0: fresh, valid,
PYTHONPATH=tools python -m pytest tools/content_build/tests -q # schema + secrecy + cli coverage
```
**If the build changed anything under `content/world/`, also run the client
suite** — `bash client/run_tests.sh` (must be fully green):
```
bash client/run_tests.sh # Godot/GUT; content/world/ is a CLIENT INPUT, not just build output
```
That last one is not optional and not paranoia. `client/scripts/content/content_db.gd`
loads `content/world/`, and `client/tests/unit/test_content_db.gd` asserts on it — so
**deleting or renaming generated content is a client change.** A content purge once
left the client erroring on a vanished directory and turned a secrecy assertion into a
test that passed while checking nothing. Nothing else will catch that for you.
(If `python` isn't found, the venv isn't active — use `.venv/bin/python`.)
If any step fails, read the `BUILD FAILED` / `STALE:` message — it names the
source file and line — fix the bible, rebuild, recheck. Never hand-edit the