Commit History
-
[NOTICKET] feat: pull one linked partner chunk into the evidence window
Rifqi Hafizuddin +1: Claude Opus 50.4.0 pairs a table chunk with the prose that introduces it (`referenced_by`, both directions) and nothing consumed the pointer. Measured what it would buy, ranking only on the three v2 artifacts -- free, no GLiNER, no spend: clusters top-5 touches a pair BOTH sides only ONE BUMA 83 31 0 31 Komatsu 93 55 0 55 Open Pit 427 70 0 70 Zero of 603 clusters saw both sides. The ranker never co-selects a table and the prose that names it, so the partner is unseen content rather than a duplicate -- and for a bare grid that prose is often its only title ("Troubleshooting of engine (S-mode)" above "S-1 | 6"). Cost at the cap of 1: evidence read +14.5%/+24.5%/+9.9%, i.e. +1.6%/+4.1%/+4.2% of total prompt spend; Open Pit moves 71% -> ~74% of the 2M ceiling. The expansion lives in `top_k`, not `rank_evidence`, for two rea…5d51025 -
[NOTICKET] fix: test the caption hypothesis; ship the signal at weight 0.0
Rifqi Hafizuddin +1: Claude Opus 5The first paid v2 run produced `definitions_citing_a_caption = 0` on all three documents. Two candidate explanations. Both are now measured and BOTH ARE FALSE. 1. "Captions never reach the term filter." FALSE. A caption is part of Chunk.text, so GLiNER already scans it and already produces mentions from it: 2 of 2 captions on BUMA, 3 of 8 on Open Pit. Feeding captions to the filter would have been a no-op. 2. "Figure-bearing chunks are never selected as evidence." FALSE. A captioned chunk is already inside the top-5 for 22 of 83 BUMA clusters and 64 of 427 Open Pit clusters. To test (2) properly this adds the lever that genuinely was missing: an `asset_caption_names_term` ranker signal. A/B at 2.5 vs 0.0 across all three documents changed the top-5 of ONE cluster out of 603, and moved zero clusters from "no figure" to "has a figure". The real reason is visible by reading them: not one caption in the corpus is a definition. They are figure titles -- "Figure 1.3. Re…36a166e
-
/feat knowledge management (#20)
- [NOTICKET] docs: knowledge pipeline test integration — context, audited task checklist, DEV_PLAN §0.8 (8e69dc6c638509f4dd7b6775d520fb4aa4efbd3e) - [NOTICKET] docs: knowledge pipeline — reframe kex as prototype, not port target (7cce5ffc9ab88791ac139dbef8e88e124a3d049e) - [NOTICKET] feat(eval): knowledge-extraction gold set, scorer + frozen prototype baseline (60cf4a885ef31a8aa64916f5a70ac5a0e8062c5f) - [NOTICKET] chore: add missing planner and readiness eval results (bd6659b3bf523597e4482b04ab1fcff5e1284d25) - [NOTICKET] feat(knowledge_extraction): free stages — models, seam adapter, filters, cluster, ranking (024c30abd1189119d33508eded334fe5a3ed5011) - [NOTICKET] fix(knowledge_extraction): move runner into the package; fix two ranking defects (72605ff6876a7936ab685d417c766ce820f6214b) - [NOTICKET] feat(knowledge_extraction): span filter — E1 recall 0.8537, matches the frozen baseline (3a016343398753cf730d50548c0e92ff47c6716c) - [NOTICKET] feat(knowledge_extraction): paid extraction …b68816f