Packing Evidence under a Reader Budget
input · Stage-2 output + budget
X100 › 5.3 Battery
› table
★
section + anchor · 0.95
X100 › 2. Safety
› table
★
section + anchor · 0.62
the top-K sections · here K = 2
reader budget
a fixed number of tokens
note: rule ③ may pull visuals
from outside the selected sections
pack(sections, budget)
① anchor + heading path
= the Stage-2 winner ★
+2.1K tok
② sibling tbl·fig only
same parent section as ★
layout decides · +1.4K tok
③ distant visuals
high sim(unit, ★) · corpus-wide
similarity decides · +0.9K tok
budget left?
yes → append ✓
no → stop ✂
slack
greedy, per selected section · one pass
budget shrinks →
③
then
②
dropped,
①
survives
e.g. inside the §5.3 card
✗ not tbl·fig
① = ★
② ✓
outside · by sim to ★
③ ✓ · .81
✗ · .22
output · what the reader receives
packed context · serialized, ≤ budget
①
X100 › 5. Maint. › 5.3 Battery
0.3K
①
intervals · battery 6 mo
★
1.8K
②
battery location
1.4K
①
X100 › 2. Safety
0.2K
①
heat caution · halve it
★
0.7K
③
§6 charging chart · similar
0.9K
total ≈ 5.3K of 16K
heading paths ride along · provenance visible to the reader
q
Reader (LVLM)
one call · q + context
"every 6 months,
3 in high heat"
one prompt, one call · nothing else is sent
25 / 32