corpus 1001 documents, 392 ext/sibling = 0.392
a top-5 drawn at the corpus base rate holds 1.96 siblings per query

rung rung-01000   k=5   124 questions   arms: bm25f.body 1.0, 0.5, 0.25, 0.0

  body   sibling hits   per query   seed hits   queries with >=1 sibling   empty
   1.0            256        2.06         272                     90 /124       0
   0.5            259        2.09         274                     88 /124       0
  0.25            261        2.10         281                     88 /124       0
   0.0            262        2.11         158                     80 /124       5
  base                       1.96   <- expected from corpus composition alone

paired over queries, body 1.0 vs 0.0  (b = more siblings with the FIELD OFF):
  b=42 c=41 discordant=83 net=1 p=1.0000 (net needed 19, alpha=0.05) -> NO DETECTED CHANGE

🔴 THE ENDPOINT IS PINNED AT THE CORPUS BASE RATE. Expected 1.96 siblings per query from composition alone; observed 2.06-2.11 across EVERY arm, including the field switched off entirely. 83 queries move and the net is 1.

   So the count is not measuring ranking, it is measuring how much of the corpus is `ext/sibling/`. A control whose endpoint cannot leave its base rate cannot discharge anything, and re-aiming it at another field will reproduce this result — because the field is not what is being measured.

   ⚠ The ARM works: seed hits fall 272 -> 158 with the field off, so the weight really is being applied. It is the ENDPOINT that is inert.

per-query rows (496) -> work/regression/2026-09-12-reaim-and-instruments/evidence/body-control-rung-01000.jsonl
