CARD L1 - VC7 .bss bucket laws with NEUTRAL, VARIED names (lab only; never lands)
Written 2026-09-26 01:51:36 -0700, BEFORE any compile. Worker H1. HEAD fe283cc5.

Question: which properties of VC7's .bss layout are independent of the static names?
Compiler: production VC7 13.00.9254 (xbox/bin/vc7/CL.Exe), render_debug's own cflags (/O2 /Oy- /DDEBUG /Dxbox).
Lab TUs are generated by workers/H1/tools/bsslab.py with randomly drawn neutral names (lowercase a-z + digits,
never the render_debug_cache_* names). Each TU also has one function that reads/writes every static so none is
dropped.

Already known before this card (January's own bytes, no compile):
- January render_debug.obj (module 87) has ONE .bss contribution, size 0x740C, flags 0xC0400080 (align 8)
  in config/contribs.json (the PDB section-contribution table, not csplit's reconstruction).
- Access widths in the 36 functions: word stores/loads at +0x7400, +0x7404, +0x7408 (incl. `dec word ptr
  [+0x7404]`, `mov word ptr [+0x7404],0`); byte loads/stores at +0x740A, +0x740B; byte stores at +0 and +0x3FF;
  address arithmetic only at +0 and +0x400; NO relocation touches +0x7402..3 or +0x7406..7.

PREDICTIONS (recorded before compiling):
P1 One .bss section per TU whatever the bucket mix (uninit only, '= 0' only, mixed). Expect: YES.
P2 In a mixed TU, EVERY uninitialised static precedes EVERY '= 0' static, for every random name draw
   (>= 20 draws). Expect: YES (memory law: uninit first).
P3 '= 0' bucket: declaration order for every name draw; a lone short after a short gets a 4-byte slot
   (offset +4), a boolean after a short gets +2 (1-byte alignment). Expect: YES.
P4 Uninitialised bucket: order changes with names (hash); per-object alignment is the SAME rule as the
   '= 0' bucket (short -> 4, boolean -> 1, char[1024] -> ?, struct[512] -> 4 or 8). Expect: same rule,
   confidence LOW (~60%): the fifty-objects uninit lab gave 29714 B vs 29708, unexplained so far.
P5 Section alignment: a TU whose only .bss objects are the seven render_debug-shaped statics gets align 8
   in both buckets (size >= 64 rule). Expect: YES.
If P4 fails (the buckets align differently), January's 4-byte short slots decide the bucket of the shorts
independently of names. If P4 holds, layout alone cannot decide buckets beyond the P2 prefix constraint.
