docs: chunking/OCR re-index lever measured negligible — do not re-index#404
Merged
Conversation
Phase-A offline measurement (live corpus, read-only) of the table/heading-aware chunking + OCR-repair re-index lever. Verdict: negligible/neutral, do not re-index. - noisy_unit_rate is a saturated visual-coverage metric (1 - visual_units/total_units, =1.0 for all 1779 signalled docs because visual_units=0), NOT OCR corruption. - OCR corruption in the 111,991 index units is negligible: 0 cited-signature hits; non-"o" residual (excl. dose/dim tokens) = 84 units (0.075%), mostly legitimate. - table/heading-aware chunking already exists in chunking.ts; section_path on 100% of chunks; chunks well-bounded (p90 1239, max 2700); no run-on flattening. Same evidence standard as the wrapped-dose-unit non-action (0.03%). Adds a standalone finding doc + a "Do not do this" pointer in the reindex runbook so it is not re-litigated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
BigSimmo
enabled auto-merge (squash)
July 8, 2026 14:58
Prettier check failed on the new lever-finding doc; no content changes. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Records the Phase-A offline measurement of the "last high-value retrieval lever"
(table/heading-aware chunking + OCR repair → controlled re-index) so it is not re-litigated.
Docs-only. No code, no migration, no re-index, no spend.
Verdict: negligible / neutral — do not build config-gated chunking and do not re-index for this.
Evidence (live corpus
sjrfecxgysukkwxsowpy, read-only, 2026-07-08)noisy_unit_rateis a red herring. It is1 - visual_units/total_units(a visual-coveragemetric), saturated at 1.0 for all 1,779 signalled docs because
visual_units = 0corpus-wide— not OCR corruption. The "495 docs / dropped-letter" framing was a misread.
signature (
p ycho,ocial); the space+single-consonant proxy is 3.9% but 82.6% is thebullet-"o" glyph (cosmetic, words intact); the non-"o" residual excluding dose/dimension tokens
is 84 units (0.075%), mostly legitimate (
2 g IV,x 109/L,type b).detectHeading,isTableBlock/chunkTableBlockin
src/lib/chunking.ts):section_pathon 100% of chunks, well-bounded sizes (p90 1,239, max2,700; 0.6% > 2,400) — no run-on flattening. The worst dual-column scrambles are flowcharts that
text chunking can't fix.
content_mrr@10 ≈ 0.90, recall@5 = 1.0) with zero recall headroom;coverage ~100%, so a re-index re-embeds ~69k chunks for ~0 expected gain.
Same evidence standard and conclusion as the wrapped-dose-unit non-action (measured 0.03%, not re-indexed).
Changes
docs/chunking-ocr-reindex-lever-finding-2026-07-08.md— full finding.docs/reindex-runbook.md— one "Do not do this" pointer at the decision point.🤖 Generated with Claude Code