Briefs: Aetheria /lfs is content-addressed; pass the CultLib pin

The by-path copy left LFS pointers in place and cost three failed runs in
each of two jobs on 2026-10-08.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Eureka 2026-10-08 23:09:24 +02:00
commit d1184f2147

View file

@ -388,7 +388,7 @@ Verification: <exact builds, tests, captures, negative greps>.
the LF content (`git show <rev>:<path>`), never from the CRLF Windows checkout.
A run whose ranges hit nothing tests nothing, and a green with zero mutants
tested is not evidence (line-scoped runs tested nothing, 2026-10-06).
- Aetheria verify jobs set `DOCKER_ARGS='-v /home/gamecultadmin/eureka-verify/pins:/pins -v /home/gamecultadmin/eureka-verify/lfs-aetheria:/lfs:ro'` (jobs that read sibling repos add `-v /home/gamecultadmin/eureka-verify/repos:/repos:ro`). The job copies every LFS file the tests read from `/lfs` over its pointer, `Assets/Resources/Settings.asset` as well as `GameData/Aetheria.cc`: with only the catalog copied, 204 tests failed on a pointer file (pirates-record merge, 2026-10-08).
- Aetheria verify jobs set `DOCKER_ARGS='-v /home/gamecultadmin/eureka-verify/pins:/pins -v /home/gamecultadmin/eureka-verify/lfs-aetheria:/lfs:ro'` (jobs that read sibling repos add `-v /home/gamecultadmin/eureka-verify/repos:/repos:ro`). `/lfs` is content-addressed: for each LFS file the tests read (`GameData/Aetheria.cc`, `Assets/Resources/Settings.asset`), read the oid from the checked-out pointer and copy `/lfs/<oid>` over it; copying by path leaves the pointer and fails 200+ tests. Pass the CultLib pin to the build (`-p:CultLibRoot=/pins/cultlib-<sha>`, the sha Aetheria pins); `ls /pins` in the job when unsure. The lot-product and emoji merges each lost three runs to this (2026-10-08); follow-up `aetheria-release:follow_up:aetheria-verify-job-script` replaces this recipe with a project-owned script.
- Revert incidental asset churn.
Budget: if the cut can't land coherently, stop at a pushed, building commit