chore(re): stop committing game assets; captures stay local
Issue #49: the repos carry code, tooling and docs only. Untracks 143 screenshots, 3 savegame blobs and `tools/re-capture/ob_digits.png` (a digit-template sheet cut from game frames) -- 146 files, 76.4 MB. They stay in the working tree and are gitignored, so the pages' relative links still resolve where the captures exist and nothing ships. Derived measurements (csv/tsv/txt/log/json/jsonl/npy) are our own numbers, not game content, and stay tracked -- they are what most claims rest on. `check-capture-citations` had its contract inverted, and it is the half worth reading: * presence now comes from the WORKING TREE, not `git ls-files`. The assets are deliberately untracked, so asking the index would report every screenshot as missing and fail all 203 citations. * a NEW failure: a game asset that IS tracked. A screenshot that sneaks back in is invisible in review -- a binary shows as "Bin 0 -> 1234567 bytes" -- and is permanent once merged, since removing it later needs a history rewrite. So that half has to be loud. Verified: * selftest 8/8, including the new rule * scan: 212 present, 212 cited, 0 dangling, 0 tracked -> exit 0 * force-add one PNG -> "game assets TRACKED: 1", exit 1, selftest red ⚠️ This does NOT remove the blobs from history; a clone still fetches them. That needs a filter-repo rewrite and a force-push, which is a separate, human-run step. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,22 @@ A wrong-but-confident note is worse than no note: someone builds on it and the b
|
||||
for weeks. Every entry therefore carries an explicit **confidence** and its **evidence**.
|
||||
This mirrors the project method — *measure the oracle, never infer; refute before believing.*
|
||||
|
||||
### Captures are local-only (issue #49)
|
||||
|
||||
The repository carries **code, tooling and docs**. Screenshots and savegame
|
||||
blobs are game-derived, so since 2026-09-19 they live in `docs/re/captures/`
|
||||
on disk and are **gitignored** — the pages' relative links still resolve on a
|
||||
machine that has them, and nothing ships.
|
||||
|
||||
Derived measurements (`csv`, `tsv`, `txt`, `log`, `json`, `jsonl`, `npy`) are
|
||||
our own numbers rather than game content, and stay tracked — they are what most
|
||||
claims here actually rest on.
|
||||
|
||||
`tools/re/check-capture-citations` enforces both halves: a cited capture must be
|
||||
**present**, and a game asset must **not be tracked**. ⚠️ A fresh clone has no
|
||||
captures, so its citations will not resolve until the captures are copied in;
|
||||
that is expected, and the checker is a local gate rather than a CI one.
|
||||
|
||||
### Clean-room firewall
|
||||
|
||||
- ✅ Allowed: behaviour descriptions, field offsets/types, formulas, state machines,
|
||||
|
||||
13
docs/re/captures/.gitignore
vendored
Normal file
13
docs/re/captures/.gitignore
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
# Game-derived assets stay on disk and ship nowhere (issue #49).
|
||||
#
|
||||
# The pages' relative links still resolve on a machine that has the captures,
|
||||
# so the evidence stays followable where it exists — it is simply not committed.
|
||||
# `tools/re/check-capture-citations` enforces both halves: a cited capture must
|
||||
# be PRESENT here, and an asset must NOT be tracked.
|
||||
#
|
||||
# Derived measurements (csv, tsv, txt, log, json, jsonl, npy) are our own
|
||||
# numbers rather than game content, and remain tracked.
|
||||
*.png
|
||||
*.jpg
|
||||
*.jpeg
|
||||
*.bin
|
||||
Reference in New Issue
Block a user