Restructure: wiki/ + bibliography consolidation, structure lint (#24)#25
Merged
Conversation
Key-level audit confirmed every unique key in the 9 root legacy .bib files (and Euclid/Paykari2020.bib) already exists in the canonical bibliography/pyautomemory.bib, so the legacy files are deleted (git history retains them). The pyautopaper.bib back-compat symlink had no live references and is retired. Orphan paper artifacts (ADS-named PDFs and one-file topic folders left over from the 2026-05-22 off-repo PDF sweep) are deleted after verifying canonical coverage; the one gap, Hall 1952 (PhysRev.87.387), gains a canonical entry and its sources TODO section is resolved. index.md no longer instructs committing acquired PDFs — PDFs stay off-repo. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…DE.md wiki/lensing, wiki/smbh, wiki/cti, wiki/methods, wiki/galaxies replace the root-level *_wiki folders (the _wiki suffix is redundant under wiki/). The generic schema is promoted from lensing_wiki/CLAUDE.md to wiki/CLAUDE.md; the lensing wiki keeps a slim scope-only CLAUDE.md like its siblings. Relative links are rewritten for the new depth (append-only log.md files are left as historical record); the citation validator's sources glob and test fixture follow the layout. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…papers scripts/validate_structure.py enforces the layout contract that would have prevented the pre-cleanup state: a top-level allowlist, .bib only under bibliography/, and no paper artifacts (PDF suffix or PDF magic bytes, so extensionless ADS downloads are caught too). Wired into make validate and a minimal GitHub Actions workflow alongside the existing citation validator; the write contract is documented in AGENTS.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Untracked local scratch (.pytest_cache/, in-progress downloads) is out of scope — the layout contract is about what gets committed. Falls back to a filesystem walk outside a git checkout (freshly spawned template). The stale !lensing_wiki/log.md gitignore exception follows the wiki/ move. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
wiki/CLAUDE.md ships verbatim into the PyAutoScientist fresh-slate template (spawn.py KEEP rule); its illustrative examples must not carry instance-content markers, so the SLACS examples become H0LiCOW ones. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Closes #24.
What changed
wiki/layout — the five sub-wikis move towiki/lensing/,wiki/smbh/,wiki/cti/,wiki/methods/,wiki/galaxies/; the shared schema is promoted fromlensing_wiki/CLAUDE.mdtowiki/CLAUDE.mdand the lensing wiki keeps a slim scope-onlyCLAUDE.mdlike its siblings. Relative links rewritten (append-onlylog.mdfiles left as historical record)..bibfiles (andEuclid/Paykari2020.bib) already exists inbibliography/pyautomemory.bib(library.bib: 2918 entries → 1035 unique keys, all present). All legacy bibs deleted (git history retains them); thepyautopaper.bibback-compat symlink retired (no live references).Hubble1926.321H,devaucoleurs1948.247D), the one-file topic folders (CTI/,DarkMatterModels/,Euclid/,LightProFFits/,Medical/),cticomments,euclid.sty. The one canonical-coverage gap, Hall 1952 (PhysRev.87.387), gains a canonical entry and itssources/TODO section is resolved.scripts/validate_structure.py: top-level allowlist,.bibonly underbibliography/, no committed papers (PDF suffix or PDF magic bytes, catching extensionless ADS downloads). Wired intomake validate+ a new CI workflow; write contract documented inAGENTS.md;index.mdno longer instructs committing acquired PDFs.Verification
make validate(citations + structure) green;pytest tests/10/10.make validate+ tests out of the box.🤖 Generated with Claude Code