@@ -8,8 +8,8 @@ runbook for approach A specifically.
88## STATUS (2026-07-16): approach A done, LOGIC-GAP tail done, 20/21
99
1010Board: ** 20/21 acceptable, 12/13 numbered end-to-end, 13/13 logic-OK** , corpus
11- w=0.976 rGlobal=0.835 rField=0.737 , suite green (260 passed). Reference
12- snapshot: ` baselines/try_final .json ` . 13/13 logic-OK means that given ideal
11+ w=0.976 rGlobal=0.835 rField=0.741 , suite green (260 passed). Reference
12+ snapshot: ` baselines/try_wmedian .json ` . 13/13 logic-OK means that given ideal
1313reading order the corrector is now correct on every numbered poster in the
1414corpus; the single remaining failure (8228476) is reading order, not logic.
1515
@@ -18,7 +18,7 @@ real regression in this very session (gasimova's title fell 1.000 -> 0.706
1818while its rField still ROSE, because another field gained more):
1919
2020 ~/myenv/bin/python calibration/diagnostics/field_audit.py \
21- calibration/baselines/after_track_a.json calibration/baselines/try_final .json
21+ calibration/baselines/after_track_a.json calibration/baselines/try_wmedian .json
2222 ~/myenv/bin/python calibration/diagnostics/annotation_audit.py
2323
2424` field_audit.py ` diffs all 177 fields of all 21 posters between two snapshots
@@ -55,6 +55,11 @@ regressions):
5555 matcher.
5656- a5e83de size-aware line clustering + baseline-nearest word mapping + curly
5757 apostrophe normalization (42 to PASS; also rField +0.101 on 5128504).
58+ - f43ed24 LINE_MAX_GAP (a line ends at a five-em gap, keeping a corner logo and
59+ a poster-ID badge out of the title) + rejoin a title split across lines
60+ (4446908 title 0.706 -> 1.000).
61+ - 50a5deb page median font measured over text, not blocks (10890106 Study
62+ design 0.595 -> 0.962).
5863
5964** Poster 42's annotation was fixed in the corpus repo**
6065(` fairdataihub/posters-science-extraction-api ` , commit 21d238d, pushed to
@@ -113,18 +118,29 @@ matters, but the poster is RTL and blocked on approach D anyway.
113118 cannot rejoin the halves. Buys the byline (+0.154), Background (+0.396) and
114119 correct affiliations for all seven authors. Fixing it properly means making
115120 the flatten preserve genuine columns instead of dissolving the whole band.
116- - ** Tried and rejected for it** (both in git history, do not re-run blind):
121+ - ** Tried and rejected for it** (all in git history, do not re-run blind):
117122 classifying large top-zone text as title fragments cost 4519718 0.372 on its
118123 banner and AISec2025 0.401; scaling the block-gap threshold to local line
119124 height instead of the page median cost 10890106 its title (0.757 -> 0.495)
120- and Acknowledgements (0.954 -> 0.549).
125+ and Acknowledgements (0.954 -> 0.549); keeping banner furniture out of
126+ ` col_start ` dropped the board to 19/21 and made 10890106 WORSE, not better.
127+ That last one diagnosed the real problem (see below), so it was worth the
128+ detour, but do not simply retry it.
121129- ** 10890106 is extraction, not annotation** (its annotation is clean; audited).
122- Its weak fields are fragmentation: no block clears the header cutoff at all
123- (a narrow "Abstract nr" badge drags ` col_start ` to 90.6, cutoff 145.0, while
124- the title starts at 284.4), so its 72pt title stays two blocks, and Study
125- design / Conclusions scatter across blocks the metric scores one at a time.
126- The header cutoff being derived from the topmost narrow block is the common
127- thread with gasimova's title; that is the next thing worth fixing properly.
130+ Its worst fields were fragmentation. Study design is fixed (0.595 -> 0.962)
131+ by 50a5deb, which measured the page's median font over text rather than over
132+ blocks. Its title (0.757) is still two blocks: a narrow "Abstract nr" badge
133+ drags ` col_start ` to 90.6, cutoff 145.0, while the title starts at 284.4, so
134+ no block on the poster clears the header cutoff and the title merge cannot
135+ fire. Do NOT fix this by widening the cutoff (tried; see above). The honest
136+ read is that header classification is a tangle of three interacting
137+ heuristics - ` col_start ` , ` is_title_font ` , and the block-gap threshold - each
138+ compensating for the others' errors. It wants a redesign against the corpus,
139+ not another patch. ` field_audit.py ` will tell you immediately if you have
140+ moved anything you did not mean to.
141+ - ** Contact fields score low across several posters** (10890106 0.282,
142+ gasimova 0.280): contact blocks are not being emitted as their own section.
143+ Untouched, likely tractable, and worth a look before the header redesign.
128144
129145## TL;DR
130146
0 commit comments