Files
stack/tests/bib
kert 2dc0e9c586 feat(bib): vendor the staged LEAD corpus documents into the library
dev/scripts/import_lead_corpus.py files every distinct document in
lead_corpus/ as a bib `source` item with its file attached, tagged
source:lead-corpus, under a "LEAD corpus" collection tree:

- lead_research: 73 methodology papers, CMS model specifications and
  research articles, with title / authors / year / URL from
  sources.csv (people become an `Authors:` line, organisations the
  institution) and the per-topic LEAD notes as the abstract.
- lead_enrichment: 68 data dictionaries, methodology references and
  eCQM specifications, with title / publisher / release / download URL
  and "how LEAD could use it" from the _catalogs job lists.

Identical files (one PDF filed under two topic folders, the same
dictionary in every release folder) fold to one item by sha256: 123
items. Skipped: 81 `dictionary__*` files that are byte-identical
copies of data.cms.gov's JavaScript app shell (no dictionary content),
and text extracts sitting next to their PDF. Re-running is a no-op
(items match on URL, or on title within the tag; attachments on name).

bib.sync, so the import lands properly in Zotero:
- `source:lead-corpus` items route to LEAD corpus / Research /
  <topic>, / Dataset documentation, or / Measure specifications.
- An item already in Zotero is matched by URL, else by key when the
  Zotero row with that key has the same title. Matching on URL alone
  re-created every URL-less item on every sync — the second corpus
  sync duplicated the 11 documents without a public URL. The title
  guard keeps an unrelated row that merely holds the key from being
  overwritten (test_key_collision).
2026-10-27 12:38:39 -04:00
..