CARD V01 (RF-V) written 2026-09-26 19:39:00 -0700 (clock-read), BEFORE the run. Immutable.
Kind: DIAGNOSTIC TRACE (stock-equal allocator readout of HEAD; not a candidate; no source change).
Function: _biped_get_autoaim_pill (source/units/bipeds), 336 B, PARKED (instruction-scheduling).
Source: scratch/rf/workers/RF-V/src/bipeds_head.c (= lane HEAD source/units/bipeds.c, sha256 0a761d37...).
Tool: scratch/rf/workers/RF-V/tools/rfe/costs.py (RF-Q copy of RF-E oracle; dbg32c 32ee5e4d), label pill_head.
Residual (build/split vs build/base): only the spherical arm's duplicated '*width = definition->biped.autoaim_width' tail:
  January 0x9a 'mov eax,[esi+0x458]; mov ecx,[ebp+0x14]; ...; mov [ecx],eax' (value EAX, pointer ECX, pointer load
  after the value load); ours 'mov edx,[ebp+0x14]' hoisted to 0x94 (inside the *height = *global_zero_vector3d copy)
  and 'mov ecx,[esi+0x458]; ...; mov [edx],ecx' (value ECX, pointer EDX). The non-spherical tail (0xde..0xeb: ptr ECX,
  value EAX) and the physics-pill tail (0x110/0x138: ptr EDX, value ECX) are identical in both.
Predictions:
 P1a: the global allocator colours the named webs (biped_index EDI, definition ESI, pelvis_matrix EBX, the node index
      / head matrix temps) exactly as January; they are not where the residual is decided.
 P1b: the two spherical-tail webs (width pointer, autoaim_width value) are coloured by the global chooser with a
      non-zero EAX cost (or EAX not allowed) for the value web in ours; January's colours (value EAX first-free,
      pointer ECX) need that EAX cost to be 0, i.e. a neighbour/interference difference in the spherical arm.
 P1c: the three tail copies are separate webs (the return split / tail duplication happens BEFORE allocation),
      because the physics-pill copy has different colours from the other two in both builds.
Basis: vc7-allocator-decoded (eax-first min-cost chooser; priority = refs x block weight); RF-R R3 (backend splits a
  single exit return into per-predecessor copies post-MARK, before step #1); RF-Q Q13 (scheduler runs after the
  global allocator).

OUTCOME V01 (appended 2026-09-26 19:39:44 -0700; logs/V01_pill_costs.txt): 12 global decisions, none in the spherical arm's tail.
  By colour/position: id7 ESI definition (pri 72), id5 EDI biped_index, id10 EAX pelvis_node_index (word), id6 EAX
  biped (call return, eax pref -1), id9 EAX head_matrix (call return pref -1; refs 2x5+2x3+6x5), id8 EBX pelvis_matrix
  (2x5+2x3+2x5), id17 ECX (10 refs, weight-5 block: the non-spherical &pelvis->position pointer, eax cost 1),
  id2 EDX (6x5), and four weight-6 webs in the physics-pill arm (id4 ECX, id14 EAX, id15 EAX, id1 EBX).
  P1a CONFIRMED (named webs = January's registers). P1b FAILED as stated: no spherical-arm (weight-3) web appears
  among the global decisions at all; the spherical tail's pointer/value temps are coloured OUTSIDE this chooser
  (block-local allocation). P1c undecided by this run (the physics-arm tail copy's temps are not listed either).
  Next: IL capture after MARK (ilcap.py) to see the spherical arm's nodes and temps (card V02).
