chore(re): stop committing game assets; captures stay local #59

Merged
fabi merged 1 commits from chore/captures-local-only into main 2026-09-19 19:16:47 +00:00
Owner

Closes the HEAD half of #49. The repos carry code, tooling and docs only.

Untracks 146 files, 76.4 MB — 143 screenshots, 3 savegame blobs, and tools/re-capture/ob_digits.png (a digit-template sheet cut from game frames). They stay in the working tree and are gitignored, so the pages' relative links still resolve wherever the captures exist, and nothing ships. Tracked content drops 99.3 MB → 22.9 MB.

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 actually rest on.

The checker's contract is inverted, and that is the part worth reviewing

  • 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.
  • New failure: a game asset that IS tracked. A screenshot sneaking back in is invisible in review — a binary shows as Bin 0 -> 1234567 bytes — and is permanent once merged, because removing it later needs a history rewrite. So that half is loud.

Verified

check result
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
tracked assets after commit 0

⚠️ This does not purge history

A clone still fetches all 76 MB from past commits. The full purge needs git filter-repo + force-push, which my permission layer blocks — it is a separate, human-run step, with verified mirror backups already taken at ~/sylph-repo-backup-2026-09-19/.

Xenia-Canary needs no purge: all 36 of its assets are upstream Xenia's own icons and Android resources, zero added by us — measured with git diff canary_experimental...sylpheed-re.

Closes the HEAD half of #49. The repos carry **code, tooling and docs** only. Untracks **146 files, 76.4 MB** — 143 screenshots, 3 savegame blobs, and `tools/re-capture/ob_digits.png` (a digit-template sheet cut from game frames). They stay in the working tree and are gitignored, so the pages' relative links still resolve wherever the captures exist, and nothing ships. Tracked content drops **99.3 MB → 22.9 MB**. 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 actually rest on. ### The checker's contract is inverted, and that is the part worth reviewing - **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. - **New failure: a game asset that IS tracked.** A screenshot sneaking back in is invisible in review — a binary shows as `Bin 0 -> 1234567 bytes` — and is permanent once merged, because removing it later needs a history rewrite. So that half is loud. ### Verified | check | result | |---|---| | 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 | | tracked assets after commit | **0** | ### ⚠️ This does not purge history A clone still fetches all 76 MB from past commits. The full purge needs `git filter-repo` + force-push, which my permission layer blocks — it is a separate, human-run step, with verified mirror backups already taken at `~/sylph-repo-backup-2026-09-19/`. **Xenia-Canary needs no purge**: all 36 of its assets are upstream Xenia's own icons and Android resources, **zero added by us** — measured with `git diff canary_experimental...sylpheed-re`.
fabi added 1 commit 2026-09-19 19:04:23 +00:00
chore(re): stop committing game assets; captures stay local
Some checks failed
CI / WASM — Web (pull_request) Failing after 6m29s
CI / Formatting (pull_request) Successful in 1m30s
CI / Native — linux (pull_request) Failing after 2h14m50s
d90036a0a4
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>
fabi merged commit 2a93be9940 into main 2026-09-19 19:16:47 +00:00
Sign in to join this conversation.