build(bench): commit go.sum, add explicit-edge mode, ignore __pycache__ - #22
Conversation
Three fixes to the benchmark module. bench/go.mod shipped without a go.sum, so the module did not resolve in an editor even though run.py builds fine (it copies the extractor to a scratch module and tidies there). Committing go.sum makes the checked-in module self-consistent. extract.go gains -oracle, which drives pdftable through StrategyExplicit with caller-supplied row and column boundaries. That is the exact shape a layout-model hybrid takes: the model supplies the grid, pdftable fills the cells from the text layer and keeps exact coordinates. Worth having plumbed even though the experiment that motivated it is not ready -- deriving trustworthy boundaries from ICDAR ground truth needs edge clustering and a verified Y origin, and without those the harness measures itself rather than the extractor. __pycache__ was committed by accident and is now ignored.
|
Warning Review limit reached
Next review available in: 17 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Reviewer's GuideAdds an oracle/explicit-edge extraction mode to the ICDAR 2013 bench harness, broadens strategy selection handling, commits Go module sums, and ignores Python bytecode artifacts. Sequence diagram for oracle explicit-edge extraction mode in ICDAR 2013 benchsequenceDiagram
actor Caller
participant extract_go
participant pdftable
Caller->>extract_go: main(strategy, oracle)
extract_go->>pdftable: OpenFile(path)
loop pages
alt oracleEdges for page
extract_go->>extract_go: mk(StrategyExplicit, StrategyExplicit)
extract_go->>pdftable: ExtractTables(TableSettings explicit)
pdftable-->>extract_go: tables
extract_go->>extract_go: append tableOut
else
extract_go->>extract_go: select attempts by strategy
extract_go->>pdftable: ExtractTables(TableSettings attempt)
pdftable-->>extract_go: tables
extract_go->>extract_go: append tableOut
end
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Three small fixes to the benchmark module.
bench/go.sumwas missing, so the committed module did not resolve in an editor.run.pywas unaffected (it copies the extractor to a scratch module and tidies there), but the checked-in module should be self-consistent.-oraclemode inextract.godrives pdftable throughStrategyExplicitwith caller-supplied row/column boundaries — the exact shape of a layout-model hybrid: the model supplies the grid, pdftable fills the cells and keeps exact coordinates.__pycache__was committed by accident; now ignored.On the experiment this was built for
I intended to measure the ceiling of that hybrid by feeding ICDAR ground-truth boundaries. The harness is not trustworthy yet — it scored 0.119 F1 with perfect boundaries, which is near-random and clearly measures the harness rather than the extractor. Two known causes: every cell bbox edge becomes a boundary (producing dozens of spurious columns instead of clustered grid lines), and the ground-truth Y origin is unverified.
Shipping the plumbing, not the number.
Summary by Sourcery
Add explicit-edge oracle mode to the ICDAR 2013 benchmark extractor and make the benchmark module self-contained and clean for Go tooling.
New Features:
Enhancements:
Build:
Chores: