Sync 134 new citations into references.bib (trigger wiki sync)#21
Merged
Conversation
… fix Ran discovery/approve.py against pipeline/approved/ to fold the 158 newly approved YAMLs from the trusted-bib bulk import (PR #20) into references.bib. 134 entries added; 36 already present (Guo MiniLFOV, Zhao MiniXL, and other previously-approved papers); 1 skipped (yan_2018_implementing — no DOI in the YAML). references.bib: 14 -> 172 entries. Also: - Fetched missing BibTeX from CrossRef for the 49 OpenAlex-ingested YAMLs whose bibtex_raw was still None after PR #20 merged. - discovery/fulltext.py: normalize month names to lowercase 3-letter abbreviations on fetch (CrossRef emits both full names like "month=July" and the non-standard "month=Sept", either of which bibtexparser's common_strings table doesn't recognize — caused UndefinedString on the first approve run). - Patched 48 already-fetched .bib + .yaml files for the same normalization. Merging this PR pushes references.bib past the sync workflow's path filter (**.bib), which will trigger the sync-to-wiki Action and create the new Publication pages on miniscope.org. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The 1 entry skipped by approve.py earlier ("no BibTeX data") is
Helena Z. H. Yan's Wellesley College senior thesis from 2018, which
the institutional repository never assigned a DOI to. OpenAlex and
CrossRef both confirm no DOI exists for this work.
Hand-crafted a @mastersthesis BibTeX entry from the trusted-bib
metadata + the Wellesley repository URL:
https://repository.wellesley.edu/thesiscollection/574
Author list reduced to Helena Yan (the candidate). The trusted bib
listed Wilson, Newman, Wasserman, and Wiest as co-authors, but those
are the thesis committee, not authors — corrected.
Classification per the trusted bib's tags (Thesis, DAQ, Miniscope V3):
paper_type = Methods
project = Miniscope V3, Miniscope DAQ
keywords = Calcium Imaging, Optogenetics, Place Cells, Hippocampus,
Open-Source
bibtex_source = "trusted_bib_manual" to distinguish from "crossref" in
the audit trail.
references.bib: 172 -> 173 entries.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
Citations Summary
Added (159)
|
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
Ran `discovery/approve.py` against `pipeline/approved/` to fold the 158 newly approved YAMLs from PR #20 into `references.bib`.
Result: `references.bib` 14 → 172 entries.
Why this is a separate PR
After PR #20 merged, the wiki sync workflow didn't run because its path filter (`.bib`, `scripts/`, `config.json`) didn't match the YAML/vocab changes in that PR. Merging this PR pushes `references.bib` past that path filter and triggers `sync-to-wiki.yml`.
Drive-by fix to `discovery/fulltext.py`
CrossRef occasionally emits BibTeX with month names that `bibtexparser`'s `common_strings` table doesn't recognize:
Either triggers an `UndefinedString` exception during parsing in `approve.py`. Normalized them to standard lowercase 3-letter abbreviations on fetch:
```python
_MONTH_VARIANTS = {
"January": "jan", ..., "December": "dec",
"Sept": "sep", # non-standard CrossRef abbreviation
}
for variant, abbr in _MONTH_VARIANTS.items():
bibtex = re.sub(rf"(month\s*=\s*){variant}\b", rf"\g<1>{abbr}", bibtex, flags=re.IGNORECASE)
```
48 already-fetched `.bib` + `.yaml` files were retroactively patched with the same normalization so the existing data stays consistent.
On merge
The path filter (`**.bib` matched by `references.bib`) triggers `sync-to-wiki.yml`, which will:
🤖 Generated with Claude Code