ULOG-001: wtlog/refs files get truncated to 0 bytes — enumerate & repro the scenarios

wtlog (ULOG append-log) and refs tip files in beagle stores were found truncated to 0 bytes while their companion .keeper object packs survived intact — live commit history became unreachable (NOTAWT in a worktree, WIREFAIL/WIRECLFL on clone, GRAFFAIL on resolve) even though no objects were lost. This is the same class as the once-fixed 9p O_TRUNC fallback wipe, but it recurred in an ext4 store under an as-yet-unproven trigger. Goal: enumerate every code path that can leave a zero-length ULOG/refs, repro each (repro-first, CLAUDE §17), and make ULOG-open / refs-write crash-safe (write-temp-then-rename + fsync, never in-place O_TRUNC the live log; treat a 0-byte log as "rebuild", not "empty"). See Issues, CLAUDE, DIS-033.

Issues

The wipe is ULOG/refs-specific, not a whole-store loss, and the exact trigger is unproven.

Blockers

The 21:05 trigger can't be pinned from forensics alone — no transcript of the prior session. Must reproduce each hypothesis.

Planned

Repro every zeroing scenario, then make ULOG/refs writes atomic.