A cold Build Cache run on main under anaconda 2026.07 (#179) — run 29684952795 — surfaced four failures. Two are live execution breaks that the edition's CI did not catch because its ci.yml sphinx-tojupyter step lacks -n -W (see QuantEcon/meta#340); the previews for these lectures went green while the notebooks were actually broken. The other two are documentation errors the full-book build caught under -W.
Execution breaks (broken on the live site now)
1. likelihood_bayes — AttributeError: module 'matplotlib' has no attribute 'font_manager'
The font block calls mpl.font_manager.fontManager.addfont(...) before import matplotlib.pyplot. Older matplotlib imported font_manager as a side effect of import matplotlib; 2026.07's newer matplotlib does not, so the attribute is undefined. This is an environment regression (same class as the mix_model fix in #174).
Fix: add import matplotlib.font_manager to the font block, or move the import matplotlib.pyplot as plt line above the addfont call.
2. kalman_2 — ParseFatalException: Unknown symbol: \begin (matplotlib mathtext)
A plot title is $\Sigma_0 = \begin{bmatrix} 4 & 0 \\ 0 & 4 \end{bmatrix}$. matplotlib mathtext cannot render \begin{bmatrix} (a LaTeX environment). This is a consequence of the usetex→mathtext switch decided in #22 — under text.usetex=True the matrix rendered; mathtext cannot. mathtext supports \mathbb, subscripts and Greek, but not LaTeX matrix/array environments.
Fix (choose one): rewrite the title so the matrix is not inside a matplotlib string (e.g. move Σ₀'s value into the surrounding prose/caption and keep the title symbolic), or — as a narrow exception to #22 — restore text.usetex for this one lecture. Recommendation: rewrite the label, to keep #22's drop-usetex standard intact.
Documentation errors (build-failing under -W)
3. sir_model.md:24 — Directive 'raw': 1 argument(s) required, 0 supplied. A {raw} directive is missing its format argument (e.g. {raw} html). Fix the directive or remove it.
4. ak_aiyagari.md — 13× Document headings start at H2, not H1 [myst.header]. The lecture has no H1 (top heading is H2). Restore a single H1 title.
Completeness caveat
The Build Cache is content-addressed, so this run re-executed the lectures whose code changed (the resync wave) under 2026.07 but reused old-environment cache for the ~15 unchanged lectures — those were not re-tested. All 69 lectures carry the same font block, but only likelihood_bayes has the fatal ordering among those re-executed. A clean full re-execution (cache cleared) is recommended to confirm 2026.07 across the whole corpus before treating the bump as verified.
Related
- #179 (the anaconda bump this surfaced) — labelled
blocked.
- QuantEcon/meta#340 — the CI-masking that let breaks 1 & 2 merge; fixing it (add
-n -W to the execution step) makes this catch automatically.
A cold Build Cache run on
mainunder anaconda 2026.07 (#179) — run 29684952795 — surfaced four failures. Two are live execution breaks that the edition's CI did not catch because itsci.ymlsphinx-tojupyter step lacks-n -W(see QuantEcon/meta#340); the previews for these lectures went green while the notebooks were actually broken. The other two are documentation errors the full-book build caught under-W.Execution breaks (broken on the live site now)
1.
likelihood_bayes—AttributeError: module 'matplotlib' has no attribute 'font_manager'The font block calls
mpl.font_manager.fontManager.addfont(...)beforeimport matplotlib.pyplot. Older matplotlib importedfont_manageras a side effect ofimport matplotlib; 2026.07's newer matplotlib does not, so the attribute is undefined. This is an environment regression (same class as the mix_model fix in #174).Fix: add
import matplotlib.font_managerto the font block, or move theimport matplotlib.pyplot as pltline above theaddfontcall.2.
kalman_2—ParseFatalException: Unknown symbol: \begin(matplotlib mathtext)A plot title is
$\Sigma_0 = \begin{bmatrix} 4 & 0 \\ 0 & 4 \end{bmatrix}$. matplotlib mathtext cannot render\begin{bmatrix}(a LaTeX environment). This is a consequence of the usetex→mathtext switch decided in #22 — undertext.usetex=Truethe matrix rendered; mathtext cannot. mathtext supports\mathbb, subscripts and Greek, but not LaTeX matrix/array environments.Fix (choose one): rewrite the title so the matrix is not inside a matplotlib string (e.g. move Σ₀'s value into the surrounding prose/caption and keep the title symbolic), or — as a narrow exception to #22 — restore
text.usetexfor this one lecture. Recommendation: rewrite the label, to keep #22's drop-usetex standard intact.Documentation errors (build-failing under
-W)3.
sir_model.md:24—Directive 'raw': 1 argument(s) required, 0 supplied. A{raw}directive is missing its format argument (e.g.{raw} html). Fix the directive or remove it.4.
ak_aiyagari.md— 13×Document headings start at H2, not H1 [myst.header]. The lecture has no H1 (top heading is H2). Restore a single H1 title.Completeness caveat
The Build Cache is content-addressed, so this run re-executed the lectures whose code changed (the resync wave) under 2026.07 but reused old-environment cache for the ~15 unchanged lectures — those were not re-tested. All 69 lectures carry the same font block, but only
likelihood_bayeshas the fatal ordering among those re-executed. A clean full re-execution (cache cleared) is recommended to confirm 2026.07 across the whole corpus before treating the bump as verified.Related
blocked.-n -Wto the execution step) makes this catch automatically.