Repository Public Research preview
1# Gate A — Repository, licence governance, 100-paper ingestion smoke test, parsed quality audit23**Date:** 2026-11-09 · **Decision: GO** (with the caveats listed below) · Evidence: `data/manifests/discover_pmc_seed1.json`,4`data/parsed/smoke/build_summary.json`, `data/splits/smoke/splits_summary.json`, `data/pairs/mock_smoke/validated/validation_summary.json`,5unit tests (`.venv/bin/python -m pytest tests/unit -q`).67## Measured89| Item | Value |10|---|---|11| PMCID candidates sampled (stratified over PMC10000–PMC5760000) | 347 |12| Metadata objects found (404 = id unused/removed) | 147 |13| Licence distribution of found objects | {'CC-BY-NC-ND': 4, 'CC-BY': 75, 'CC-BY-NC-SA': 11, 'UNKNOWN': 12, 'TDM': 31, 'CC0': 1, 'CC-BY-NC': 13} |14| Rejected before the licence filter (not in the OA subset: 30, author manuscript: 1) | 31 |15| Excluded by licence policy (ND / unknown / other) | 16 |16| Documents fetched (JATS XML, MD5 verified against provider digest) | 100 in 39.4 s |17| Parsed without error | 100 / 100 |18| Publication date verified from JATS `pub-date` and < 2018-01-01 | 100 / 100 (0 undated, 0 post-2017) |19| Licences of kept documents | {'CC-BY': 75, 'CC-BY-NC-SA': 11, 'CC-BY-NC': 13, 'CC0': 1} |20| Discipline (coarse, from journal/subject hints) | {'biomedicine': 75, 'life_sciences': 9, 'social_sciences': 7, 'computer_science': 4, 'chemistry': 4, 'physics': 1} |21| Paragraphs extracted / eligible passages (60–400 words, ≥ 2 sentences, English ≥ 0.9, quality ≥ 0.6) | 2964 / 2013 |22| Eligible passages by section role | {'abstract': 102, 'background': 74, 'results': 475, 'discussion': 389, 'conclusion': 36, 'methods': 367, 'other': 473, 'data': 50, 'theory': 21, 'related_work': 4, 'limitations': 7, 'introduction': 15} |23| Near-duplicate clusters (MinHash, Jaccard ≥ 0.8) | exact 0, near 0 |24| Leakage-safe split of the 100 docs (seed 20261109, author-group safe, physics + pre-1990 held out) | {'heldout_domain': 1, 'heldout_period': 12, 'test': 12, 'train': 69, 'val': 6}, group leaks: [] |25| Mock rewrite run (zero cost) 60 passages × 6 generations | 360 rewrites, acceptance 0.7917 (fails = near-verbatim mock outputs) |2627## Quality audit (manual, 2026-11-09)2829- Citations: numeric xrefs are normalised to `[n]`; author–year citations are kept as text; both are detected by `protect()` and30 replaced by `⟦Cn⟧` placeholders before any LLM call. A doubled-bracket bug (`[[16]]`) was found and fixed in this gate.31- Section roles: an "Introduction" → "other" bug caused by the numbering-stripping regex (it ate the leading "I") was found by32 auditing the 40 most frequent titles of "other" passages, and fixed. Remaining "other" passages are untitled sections or33 topical headings (e.g. "The Follow-up Period"), which is the expected residue.34- Historical back-scanned articles (1877–1986, OCR text) are present in PMC OA under CC licences; they pass the quality gate35 rarely (2 eligible passages from 6 such documents), so OCR noise is not a dominant risk but must be re-checked at scale.36- Captions and list items are extracted but never eligible; references, acknowledgements, funding, contributions,37 ethics, supplementary sections are excluded.3839## Issues / risks carried forward40411. The PMC FTP bulk packages and the OA Web Service were retired in August 2026; the only official bulk channel is the42 AWS Open Data bucket `pmc-oa-opendata` (per-article JSON + JATS). The id-range sampling prior must be re-validated when43 scaling (date is verified per document anyway).442. Discipline labels for PMC come from journal/subject keywords — coarse. Non-biomedical strata (economics, finance,45 mathematics, physics, computer science, books) come from the other adapters (arXiv, Crossref journals, Gutenberg/Bookshelf).463. `TDM` author manuscripts and `CC-BY-ND` articles are ingested as metadata only (31 + 4 of 147 found objects).4748## Next action4950Gate B: pilot rewrite of ~1 000 validated passages with Claude (budget ceiling 30 USD, Message Batches), human review of a51stratified sample, acceptance-rate report.52