be diff:?v1..v2 (test be-diff-17-tree-no-truncate, 80 modified files) intermittently emits fewer file diffs than it should, with exit 0. Two observed signatures: (A) Ubuntu CI drops 1-2 MID-LIST headers with the tail intact (2026-07-06 run 28809192096: 79/80, highest header f079 present; earlier runs: 2 dropped); (B) once locally (musl, default build): tree.got.out entirely EMPTY, still exit 0. Local hammering never reproduces A (33 runs green across gcc/clang x default/Release, then 20 more). A partial fix is drafted (see WIP). Related: DIFF-007 "diff:<largefile> silently empty" (the silent-empty family), DIFF-008 (the per-file BASS rewind this test guards).
FAIL: 79 / 80 file headers present, highest header: --- a/f079.txt, last-12-lines tail complete — so ONE file among f000..f078 emitted nothing; runner scratch not preserved.GRAFDiff2Layer is call()-propagated (graf/DIFFREF.c:600) — a per-file FAILURE cannot silently truncate anymore; the only remaining silent-skip paths in the loop are the two soft-guarded KEEPGetExact reads (graf/DIFFREF.c:571-584): ANY non-OK read left a side empty, and empty-vs-empty renders nothing — one dropped file, exit 0.tree.got.out + stderr on failure — the test already keeps scratch).graf/DIFFREF.c): both KEEPGetExact calls in the to-set loop now fail(code) on any code other than OK/KEEPNONE, so a transient keeper read error aborts the diff loudly instead of dropping the file. Diff suite 17/17 locally with fresh scratch.graf/DIFFREF.c:574-577, :585-586); carried by 91fd5f14 per file-scoped jab log graf/DIFFREF.c (no DIFF-009-tagged commit).DIFFREF.c:623 KEEPGetExact(…) != OK || ot != DOG_OBJ_BLOB → continue) — a transient error there still eats a deletion silently; + diffref_set_* builders.91fd5f14, untagged); still open: CI verification of signature A, the deletion-loop soft-skip (DIFFREF.c:623), signature B.DIFF-009/README.mkd (the CI-only framing); the topic README now links here.