Repository navigation
Support complete multi-paragraph and structured abstracts with evidence-based closure #17
Description
Problem and observed impact
Valid multi-paragraph, structured and title-page abstracts are withheld or truncated because candidate selection and closure depend on narrow lexical and single-region assumptions. Fix the section model so it can identify a complete abstract across regions while rejecting nonabstract prose and genuine first-page continuations.
The diagnosis at commit d5ca636a48e963619f4c89e2958d0bb1a3e72f80 confirmed:
- f113/f186: internal Methods headings stop collection; f113's selected prefix retains only about 28.6% of its reference. Its reviewed page contains Context, Aims, Methods, Results and Conclusions before Keywords/Introduction.
- f017: two abstract paragraphs each fail comparison with the whole scholarly abstract; f119: neighboring bold abstract paragraphs become competing candidates while a distinct synopsis also requires exclusion.
- f080: source/field text matches, but the small English narrative vocabulary rejects the candidate.
- f007/f085/f131: title-page abstracts have no subsequently recognized body heading and remain withheld.
- f084: Mathematics Subject Classification material is collected because the metadata rules omit that role.
Evidence is recorded in validation_v3_private/diagnosis-20260928/ROOT_CAUSE_AND_SOLUTIONS.md, selector-causes.json and summary.json under the authorized data root. The latest results SHA-256 is 661964b8db10bf2bd806a95a0119f4492dcabf72e759fff521993f702f016b0d. The public report explains that previous prefix proposals were changed to conservative holds, leaving the preservation gate open.
Implementation entry points and proposed work
_structured() requires Methods and Results with specific separators in the initial fragment. Collection assigns abstract scope before seeing later regions. Candidate selection combines narrative vocabulary, typography and single-region scholarly-field matching. Metadata and internal-heading vocabularies are defined together.
Introduce a section-level model distinguishing abstract start/content/internal subsection, metadata, outer body section and ambiguous continuation. Group adjacent paragraphs using located layout and ownership evidence. Use typography, spacing, hierarchy and numbering together to distinguish internal Methods/Results from later body headings. Scholarly-field agreement can corroborate a source group; it must never supply missing source text or turn matching Highlights/body prose into an abstract.
Define and document evidence for title-page closure and continuation. A final period or distance from the page bottom alone is insufficient. Add metadata roles such as Mathematics Subject Classification while retaining source-referenced exclusion boundaries. Preserve unresolved notation, style transitions and conflicting candidates as explicit review states rather than guessing.
NLM structured-abstract guidance describes subsection headings and journal variation; JATS permits sections within an abstract. These support a hierarchical representation, not a universal heading whitelist. Coordinate this work with logical native-line geometry and section ownership; final integrated acceptance depends on those repairs.
Reproduce and verify
Use an authorized external ${TRACE_GC_TEST_DATA_ROOT} containing the original validation_v2/ and validation_expanded200/ caches, frozen labels and the relative original-PDF source map described in the reproduction guide. These artifacts are private: an implementer needs authorized access, and authored fixtures cannot replace this corpus gate. At this pinned commit, the frozen helper still assumes a sibling data directory; setting the environment variable alone does not repair that assumption. Apply the tracked environment/data-root repair or use the original sibling layout, and verify the resolved root before a costly run.
From the repository root, with the validation environment and optional PyMuPDF/Pillow installed, run the existing commands below (Bash syntax). Choose a fresh output suffix on each run.
python -m unittest discover -s tests -p 'test_parallel_source*v4.py' -q
python -m src.parallel_source_v4.extraction regression \
--data-root "${TRACE_GC_TEST_DATA_ROOT}" \
--source-map validation_v3_private/parallel-v4-source-map.json \
--output validation_v3_private/abstract-structure-development-01
python tools/run_validation.py
python tools/validate_package.pyThe unchanged implementation should fail preservation (exit 1), with source preflight and saved v2 replay passing. A preflight error (exit 2) is not a measured regression run. Preserve immutable existing receipts; record the actual interpreter/dependency versions and source hashes for both comparisons.
Acceptance and delivery
- f113/f186 retain all reviewed abstract subsections and stop before Keywords/outer Introduction. Add authored variants split across regions, with alternate separators and different internal headings.
- Later body Methods/Results never retroactively expand an ordinary abstract. Test identical heading words used in running prose, numbered outer sections and ambiguous heading scope.
- f017/f119 become source-bound multi-paragraph candidates; f119's separate synopsis stays excluded. Truly competing abstracts remain ambiguous.
- f080 can qualify using source/section evidence without requiring specific English verbs or arbitrary boldness. Matching scholarly fields alone must still reject author lists, Highlights, dedications and body prose.
- f007/f085/f131 obtain documented, source-reviewed closure evidence before any complete proposal; genuine continuation onto page two remains partial. Later-page abstracts require another scope and cannot enter this benchmark.
- f084 excludes classification metadata. Retain negative coverage for affiliations, funding, keywords, captions and footnotes, including same-region and same-line cases.
- Revise existing tests that deliberately hold structured prefixes only where the new evidence resolves ambiguity; retain negative ambiguity tests. Run all 200 originals and all four cached methods, reporting changed IDs, boundary errors, notation concerns, false proposals and complete-abstract coverage.
- Deliver state/receipt documentation, fixtures and a versioned implementation with source/dependency-bound before/after receipts. Preserve review-only proposals and disabled automatic graph admission/fallback; keep private text and labels external.
The known 200 papers are a development regression set. These repairs require full integrated measurement; neither selected examples nor authored fixtures prove unseen-paper precision.
Tracking and completion dependencies
Parent: #12. Milestone: Paper extraction and GraphRAG qualification.
Completion prerequisites: #15, #16. These are native blocked-by links; design, fixtures and other independent implementation work may proceed in parallel.
Required by: #19.
Activity
Merge pull request #31 from Jev-Engineering/codex/paper-integration-2…
CompleteDotTech commentedon Sep 28, 2026
PR #31 merged the reviewed structure repair on 2026-09-28 (merge
36768a342972552dedb6579951163ef2c550e9a9; six hosted checks passed). The isolated full 200 × four-arm run improved primary correct proposals to 74 with zero false, but the historical 91-preservation gate still fails on 20 IDs. This issue remains open for the general selector/geometry repairs and exact integrated #19 receipt. The merged implementation is an improvement, not acceptance completion. GitHub automatically closed this issue on the PR merge, so it has been reopened to preserve the actual gate state.CompleteDotTech commentedon Sep 28, 2026
PR #36 merged the source-bound selector follow-up at
7300a3345b0a6af44d12cddcd7729819c75af16d; all six PR checks and all three post-merge main Python jobs passed (main CI). The frozen 200-paper × four-arm result is recorded inreview/first_page_abstract_structure_v2/evaluation_receipt.jsonanddocs/abstract_candidate_followup.md: primary 77 correct, zero false proposals, all 200 native outputs byte-identical, but 18/91 historically complete cases are still held, so the preservation criterion is still FAIL and this issue remains open. The exact integrated main-tree 200 × four-arm run is underway separately for #19. A narrow source-bound native-prefix repair is being tested on another branch; it has not been counted as acceptance evidence yet.CompleteDotTech commentedon Sep 28, 2026
PR #38 merged the signed native-prefix/held-diagnostic repair on 2026-09-28 (verified merge
2a3a2b023d5b232f6b3ca740b4c4c8110fa3937a). All six PR checks and all three post-merge main Python jobs passed (run). The exact fresh 200-paper × four-arm result on the integrated head is SHA-2565eba6f1e0128059a838ed4819e4c5ee0916ac1472a0268ef98c17243c8103591: saved replay PASS, primary/GROBID/MinerU/olmOCR correct proposals 77/71/68/65, zero false primary proposals, but the same 18/91 historical IDs remain held. The two targeted math cases retain diagnostic text with empty accepted spans and unresolved notation. This is a safe diagnostic improvement, not acceptance completion. A separate typed-notation sidecar is in development; #17 and #19 remain open.8 remaining items
CompleteDotTech commentedon Sep 29, 2026
PR #62 merged the source-bound title-page Contents closure at signed, GitHub-verified main commit
441d4177f227b3ff05103dc2707892f19f399e19. All six PR checks passed; post-merge main run 36531396906 passed Python 3.11, 3.12 and 3.13. The isolated checkout is clean and synchronized to that merge.The exact geometry-enabled 200-paper × four-method replay changed only primary f045 from held to a correct, review-only complete proposal. Its selected native text and spans remained identical; the new closure binds a source-located correspondence boundary to a page-two Contents opening under a running title matching the first-page title. Primary correct proposals rose 86→87; GROBID/MinerU/olmOCR stayed 77/70/65. Zero measured false proposals across methods; saved v2 replay PASS. Redacted receipt:
review/frontmatter_contents_closure_v1/receipt.json; private full-result SHA-256615da795f3f0fd893044614fcb1ab7784a084808c745e22d8b2d2f2b850d1bea.The historical 91-case preservation gate remains FAIL with eight held IDs: f012, f032, f059, f079, f081, f122, f153, f171. f119 synopsis ownership and scientific-notation fidelity remain separate holds. This development result does not qualify unseen precision or graph admission, so this issue remains OPEN.
CompleteDotTech commentedon Sep 29, 2026
Merged #63 (
9796e04cc3da20dc20c1c1128e1fecc59a01b0fb, GitHub-verified merge; all six PR checks and all three postmergemainjobs passed).A visible, full-lane original-PDF rule now closes f171 before a numbered Introduction and its adjacent body lane. Frozen 200-paper × four-method replay changed only f171: primary correct 87→88, GROBID 77→78, MinerU 70→71, olmOCR 65→65. Three assessment files changed; 797 remained byte-identical. All 200 source/page/image/native-line digests matched the prior replay, zero measured false proposals across methods, and saved v2 replay PASS. Full local validation: 1,095 run, 1,087 pass, eight skip, zero failures/errors. See
review/source_divider_abstract_closure_v1/receipt.jsonanddocs/source_divider_abstract_closure_v4.mdfor redacted evidence and limits.The 91-case historical preservation gate still FAILS with seven held IDs: f012, f032, f059, f079, f081, f122, f153. Keep this issue open. Proposals remain review-only; no unseen-paper fidelity qualification or graph admission is claimed. Internal source-image review was after predictions, not independent or blinded.
CompleteDotTech commentedon Sep 29, 2026
Merged #64 (
d073fd1ba1c5c406b31cd338618757105172b910, GitHub-verified merge; all six PR checks and all three postmergemainjobs passed).A verified page-two running title and author above a numbered Introduction now close the source-located f032 title-page abstract when its scholarly field matches and a source-located proceedings footer follows a blank gap. Frozen 200-paper × four-method replay changed only f032: primary correct 88→89, GROBID 78→79, MinerU 71→72, olmOCR 65→66. Four assessment files changed; 796 remained byte-identical. All 200 source/page/image/native-line digests matched the prior replay, zero measured false proposals across methods, and saved v2 replay PASS. Full local validation: 1,097 run, 1,089 pass, eight skip, zero failures/errors. See
review/page_two_bibliographic_intro_v1/receipt.jsonanddocs/page_two_bibliographic_intro_v4.mdfor redacted evidence and limits.The 91-case historical preservation gate still FAILS with six held IDs: f012, f059, f079, f081, f122, f153. Keep this issue open. Proposals remain review-only; no unseen-paper fidelity qualification or graph admission is claimed. Internal two-page source review was after predictions, not independent or blinded.
CompleteDotTech commentedon Sep 29, 2026
Merged #65 (
6efbd4eccf0588de32728b5811248add37b8ddaa, GitHub-verified merge; all six PR checks and all three postmergemainjobs passed).A source-verified pair of body columns now closes the inset f059 summary only when both lanes start together below it, continue independently, and the selected paragraph matches the frozen scholarly field. Frozen 200-paper × four-method replay changed only f059: primary correct 89→90, GROBID 79→80, MinerU 72→72, olmOCR 66→66. Two assessment files changed; 798 remained byte-identical. All 200 source/page/image/native-line digests matched the prior replay, zero measured false proposals across methods, and saved v2 replay PASS. Full local validation: 1,099 run, 1,091 pass, eight skip, zero failures/errors. See
review/two_column_onset_abstract_closure_v1/receipt.jsonanddocs/two_column_onset_abstract_closure_v4.mdfor redacted evidence and limits.The 91-case historical preservation gate still FAILS with five held IDs: f012, f079, f081, f122, f153. Keep this issue open. Proposals remain review-only; no unseen-paper fidelity qualification or graph admission is claimed. Internal source review was after predictions, not independent or blinded.
CompleteDotTech commentedon Sep 29, 2026
Source-first readback after the 2026-09-29 200x4 replay (private results SHA-256
9800f5461ea3cc3ceacdb33d683aad22d9a859c6e07b3e5b1a2c8d3305e3b5b9): f012 is restored, but historical-91 preservation still fails on f079, f081, f122, f153. These are legitimate complete page-one abstracts; the current automatic holds are appropriate because their math source representation is unresolved.The existing diagnostic notation sidecar has unaccepted fractions/scripts and no reviewed scientific transcription or section-owner decision for these cases. A defensible repair requires a typed, source-verified expression representation with exact glyph boxes, fraction-bar membership, symbol/scope/order checks, and attributed review of each full abstract. Negative tests must keep detached bars, unrelated rules, shifted body math, competing fraction parses and unresolved glyphs held. Re-run 200x4 and the exact 91-ID preservation gate after such a repair. No text98-only promotion or generic math-column bypass is supported by this audit.
CompleteDotTech commentedon Sep 29, 2026
Incremental f012 repair delivered: PR #68 merged at
a8badf673abac30ed378c2fcd1c411a0dec3c54a; all six PR jobs and three post-merge main jobs passed. The exact rebased tree passed 1,146 local validation tests (1,138 pass, 8 skip, 0 failures/errors) and package validation. Its private 200x4 replay result SHA-256 is9800f5461ea3cc3ceacdb33d683aad22d9a859c6e07b3e5b1a2c8d3305e3b5b9.f012 is restored as a source-verified review-only proposal with unchanged candidate text/spans. Historical-91 preservation still FAILS on f079, f081, f122 and f153; #17/#19 remain open. The source-first notation audit and needed typed review evidence are in the preceding comment.
CompleteDotTech commentedon Sep 29, 2026
Primary-source corroboration for two math holds (no promotion yet): the matching-version author TeX and arXiv abstract for f079 (arXiv:2604.27549v1, https://arxiv.org/abs/2604.27549) encode
\dfrac{\partial}{\partial t}and\leqslant, including the trailing factor outside the later fraction. For f122 (arXiv:2605.09809v2, https://arxiv.org/abs/2605.09809), they encode\widehat{\mu}over the exact Fourier-decay span. These sources corroborate the original local PDF crops; they do not replace source-page evidence or resolve the rawdict/trace Unicode conflict by themselves.Private original-TeX provenance receipt SHA-256:
f2b72f0476837ba24ac81f16b9203c8b31e187a4d49559256aec3eb8510f5d65. Independent assistant second-review receipt SHA-256:3f36ca754ac5a5f6e2228937dd4f4aca8057638fef1471108fcf1b616a2e183a. Both f079/f122 remain HOLD pending complete signed full-abstract transcription, span-scoped correction of conflicting glyph evidence and fresh 200x4 replay. No private PDF was transferred.CompleteDotTech commentedon Sep 29, 2026
Further primary-source corroboration for the other two held math cases (still no promotion): f081 is matching-version arXiv:2604.15608v1 (https://arxiv.org/abs/2604.15608); its author TeX places the terminal
\Delta J_{ab}/J_{ab}=0.0098before Keywords, consistent with the original PDF fraction crop. f153 is arXiv:2605.19619v1 (https://arxiv.org/abs/2605.19619); both Muon expressions have denominatorN\kappa^{T}. The earlier private draft incorrectly wroteN\kappa T; an attributed second reviewer caught the raisedTin the original PDF, and matching-version TeX confirms it. Preserve the original draft as incorrect, use the separate correction receipt, and keep both cases HOLD pending complete reviewed transcription and source-bound selector evidence.Private matching-version TeX/PDF provenance receipt SHA-256:
c1691f15fb2147a798ff9dfacf13f65ec51860fc52fb3872af437a1a05207f06. No private PDF was transferred. The 200x4 preservation gate remains failed on all four IDs.CompleteDotTech commentedon Sep 29, 2026
Reviewed whole-abstract overlay engineering status (unpublished draft, 2026-09-29): the first prototype could mark a signed partial transcript as
accepted; a source-first audit caught that false-acceptance route before publication. The isolated draft now hard-rejects everyaccepteddecision and emits HOLD only. It replays original-PDF notation/render evidence, checks a complete native-line and sidecar-glyph inventory with explicit roles, checks a bounded typed expression shape, and compares the cached page render to the original page. Sixteen authored focused tests pass in the pinned runtime. No selector, field consumer, replay CLI or graph admission is wired to it.The remaining acceptance work is substantive: prove the first/last abstract boundaries and every section exclusion, map every output token to glyph/rule/TeX or exact image correction, handle cross-line fractions and competing math parses, and obtain two chronological attributed source inspections. The matching-version TeX anchor in the draft is corroborating substring evidence, not proof of PDF notation. f079/f081/f122/f153 therefore remain HOLD; #19's 91-ID preservation gate still fails on those four. This draft is neither a qualified fix nor a new automatic selector count.
CompleteDotTech commentedon Sep 29, 2026
Fresh f119 original-page visual review, bound to private source PDF SHA-256
565f001e0efd670b23ab0512da6aec054c8da35d120c8666567742d4c9edf633and saved assessment file SHA-256cdfec02f479101e4420c847fbddd3f8f744d9fea8635f47bd41751f5f7fc9e66: page 1 has a bold two-paragraph abstract group, then a separate regular-weight synopsis in a pale shaded rectangle, then a numbered outer Introduction section. The current selector holds at the unlabeled transition (unresolved_section_ownership,unlabelled_group_typography_transition) after source-locating the bold group. The frozen legacy text98 match alone does not resolve the synopsis boundary.Implementation target: bind page-drawing fill/rectangle containment to original PDF and native region geometry; combine that with the numbered outer heading to distinguish the shaded synopsis from the bold abstract. Retain HOLD if the graphic or heading evidence is absent/ambiguous. Add positive and negative source-derived fixtures, preserve exact native spans, and rerun the entire 200x4 gate before accepting f119. Do not generalize this into a font-weight-only acceptance rule.
Private attributed review memo:
validation_v3_private/f119-source-review-20260929.md, SHA-2562a8c92fd624d1c51390aa66f24c9d35ad2983160924cc3b3dfb3cd808016c8f5. This is a visual boundary observation, not a complete scientific transcription or graph admission. Issue #17 remains open.CompleteDotTech commentedon Sep 29, 2026
Fresh f150 original-page review, bound to PDF SHA-256
7e038b0c2d16f1bd8ab5e5ac3ec67df73334fade22923fd786142bef83bc8507and current primary assessment file SHA-256565aadf3b1ace106124f36650c33f7e9b45635d67e837ad92f4d5aca7ba864df: the bold abstract occupies the upper left column while ordinary body prose already occupies the upper right. Its next left-column group is a smaller regular-weight unlabeled keyword list, followed by left-column body prose. A separately styled significance statement appears farther down the right column and must remain excluded.The selector currently source-locates abstract lines 17–35 and matches the frozen legacy text98/boundary metric, but holds at lines 36–37 with
unlabelled_group_typography_transition; its scholarly abstract field is absent. This is an honest HOLD pending source-backed role and column-flow evidence. A typography-only or keyword-only split would be unsafe on this interleaved page.Implementation target for #17 and #19: source-bound left-column paragraph ownership, a separate compact keyword-metadata role supported by delimiter/size/placement evidence, and verified body flow after it. Add positive and negative two-column fixtures, retain ambiguous cases as HOLD, then rerun the full 200x4 gate. Private attributed original-page review memo:
validation_v3_private/f150-source-review-20260929.md, SHA-256096f31511e74a1ce1d9922968fc7fbf85a1e1fa5b39b4c05260f078aa3015362. This does not qualify a proposal, scientific transcription, independent-human review, or graph admission.CompleteDotTech commentedon Sep 29, 2026
PR #76 merged into
mainat verified merge commitae99b02beae0a0add46c752d7a484777c1a3783c(reviewed head14d432e7f684c36fff4555ac5ea242e5242ae577). The source-bound f119 shaded-synopsis closure includes the independent code-review paint-order fix. Fresh 200×4 result SHA-256:d7dfe88606bac16ac2c09d008dc926cb6008ca7fda349c6a231f544e62fd827c; preflight SHA-256:edbf2804e44eb8da1e5eabea244495d77bc8dc307980b4177174dce1ec521ad3. All 800 assessment hashes read back, saved v2 replay passed, 200 native files and source inputs matched the prior run, and only f119's four assessment files changed. Primary correct legacy text98 proposals remain 92/111 with zero false proposals; GROBID 81, MinerU 73, olmOCR 67.The global preservation gate still fails for f079/f081/f122/f153. This merge provides a review-only boundary repair; scientific fidelity, unseen qualification, automatic promotion, and graph admission remain open. Main postmerge checks are pending at comment time. The dependent f150 closure is in draft PR #77 and is being remeasured after a right-column style guard correction.
CompleteDotTech commentedon Sep 29, 2026
PR #77 merged at verified main commit
b9f870d9423b318d966781af62dba033ee99c614after all six final-head CI checks passed. The f150 source-bound two-column keyword closure was measured on 200 original PDFs × four frozen converter methods: all 800 assessment hashes read back; source/native identities unchanged; only f150's four assessment files changed. Primary correct legacy proposals improved 92/111 → 93/111; MinerU 73 → 74; GROBID 81 and olmOCR 67 unchanged; zero false proposals in each arm. Final private result SHA-25607411d68c69da18d10f6f7600c7dfc08572a94ea42d9b90858ffb97f7c1baf41; public redacted receipt:review/two_column_keywords_abstract_closure_v1/receipt.json. Final rebased local suite: 1,247 tests passed, 8 skipped; package validation PASS.Issue #17 remains open: overall preservation regression still fails on f079, f081, f122, f153. This known-paper improvement does not qualify source fidelity, scientific notation, unseen-paper precision, automatic promotion, or graph admission. Main postmerge checks are running at the time of this comment.
CompleteDotTech commentedon Sep 29, 2026
Delivered and verified through PR #82, signed merge 8abc7e7. All six final-head checks and all three main checks passed (run 36636482299). The delivered versioned receipt SHA-256 is f66201c9acd6bfce1b2b99d4131d2101d2952588bdee3c9407dfcef78ab1771a; independent source/evidence audit SHA-256 f5af7cc1617a1dc25de68ee178f00d5fbc166edbc7b1e2b7302e3d676d94082d. All nine targeted original papers satisfy source-reviewed abstract structure and closure, with 58 focused tests and the actual 200-paper/four-arm report retained. Automatic proposals remain review-only, with graph admission and fallback disabled. The separate full-selector legacy encoding failure remains preserved under #19 and is not represented as a legacy PASS.