AA b19: Matheo citation infrastructure — do it right, site-wide#
.bib files.AHA/aa-open-tasks.md entry
AA-matheo-cite-migration-a1 (k4 Todo, s3 ShortTerm), itself deferred from the
2026m07d14 B1/B2 work on the AI Safety Wager proposal. Re-measured 2026m07d16 and
again 2026m08d03–04.CLAUDE.md (Citation and Paper Naming Conventions –>
“AnyAims (deferred follow-up)”), which carries only a 4-line stub. This file is the
entry of record; the stub points here.Warning
Read item 8 before touching any ``.bib`` file. A duplicate key does not error —
it silently truncates the file and drops every entry after it, site-wide, with exit
code 0. This sweep involves moving keys between .bib files, which is exactly how the
duplicate gets created. Run make check-bib first and again after.
Task list#
k |
s |
Task |
Notes |
|---|---|---|---|
k5 |
s3 |
1. Fix the cross-page capture ( |
Migrate every per-page |
k5 |
s3 |
2. Migrate the deprecated ``Matheo-N`` keys. |
116 occurrences across 22 files (measured 2026m08d04): ATTEMPTED AND WITHDRAWN 2026m09d11 — see
LLog — Push-readiness audit: what stands between two months of work and the public site. The 8 deprecated-key sites in
So this task is still fully OPEN, and the constraint is now explicit: when the
What this task no longer needs to fix, however, is the reader-facing damage. The bibliography repair (task 1 note below / balospe-refs.bib, 2026m09d11) resolves every deprecated key and gives each the canonical short author line, so the b15 page renders correctly with its original citations untouched. Migration is now hygiene only. PLAN CORRECTION — do NOT delete the deprecated entries. This row previously
said “THEN delete |
k5 |
s3 |
3. Settle the inline display style for |
Either a key-label reference style so it renders “Matheo-b17” rather than
“(Yah et al., 2026)” — or keep Input added 2026m09d11: the “(Yah et al., 2026)” rendering noted above came from
the author field, not the display style — the deprecated entries carried the full
twelve-word authorship chain, which rendered inline in body text. That is now fixed at
the source for every entry. The display-style decision is therefore narrower than it
looked: it is now only about whether a key-label style is preferable to a clean
author-year one, not about suppressing a twelve-word string. Also newly testable:
the canonical |
k4 |
s3 |
7. Fix the live empty ``[]`` citations. |
|
k3 |
s2 |
4. Fix the stale count in ``AHA/matheo-series-pdf.md``. |
Says “33 / 29+4 held”; should be 32, HELD now empty. |
k3 |
s1 |
5. Consider generating B1 from ``gen-matheo-floor.py``. |
|
k2 |
s1 |
10. Sweep the remaining undefined substitutions. |
|
Standing hazards — read before doing any of the above#
6. A checker exists: ``scripts/check-bib.py`` (``make check-bib``, also in ``make lint``).
It reports duplicate keys, entries dropped from the build cache, and unresolved :cite:.
Run it first — it turns this sweep from “grep and hope” into a list with an exit code.
8. A duplicate key SILENTLY TRUNCATES a ``.bib`` file. Documented as Rule E in
AHA/bibliography-management.md. It does not error. pybtex stops ingesting at the
duplicate and drops every entry after it, site-wide. Verified: one duplicate
(Levin2012, added to b16-nuclear-risk.bib while already in references.bib)
reduced the build cache from 136 keys to 102 — destroying Loewe2006, Luhmann1995,
Maslow1943, MartinLof1984 and 30 others on every page, with exit code 0. The old
advice that duplicates “fail loudly at build” was false and has been corrected in the AHA and
in both .bib headers.
9. There is no ``bibtex.pickle``. The parse cache lives in
build/html/en/.doctrees/environment.pickle under domaindata['cite']['bibdata'], is
mtime-keyed per .bib, and rm bibtex.pickle does nothing. “Missing from build cache”
has two causes that look identical: a stale cache (harmless — a rebuild clears it) or
truncation (real loss — survives a rebuild). check-bib.py says which.
Testing note. Needs make clean && make html to test Rule D: incremental builds cache
the wrong link, so an incremental build will appear to confirm a fix that has not happened.
Current bibliography inventory (2026m08d04)#
File |
Entries |
Scope |
|---|---|---|
|
91 |
cross-cutting; cited by two or more papers |
|
24 |
b16 only |
|
12 |
b19 only |
|
11 |
the |
|
7 |
site refs; holds the deprecated |
total |
145 |
what |
Promotion rule (from the b16-nuclear-risk.bib header): when a ref in a paper-local
file becomes cited by a second paper, move it to references.bib. Keys are
project-global. Applied 2026m08d04 to Kemp2025.
See also#
AnyAims (AA) Registry — AA registry (parent), and the placement rule
AA b16 — Finalizing the RiskyMAD paper (list of record, lives beside the drafts it plans) — the b16 paper’s own list; its bibliography row depends on decisions 1 and 3 above
AHA/bibliography-management.md— Rules A, B, C, D, E, N, 0AHA/aa-anyaims-sorting.md— which AA file lives where, and why