Skip to content

Fix execution + doc failures surfaced by the Anaconda 2026.07 cache build (kalman_2, likelihood_bayes, sir_model, ak_aiyagari) #182

Description

@mmcky

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_bayesAttributeError: 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_2ParseFatalException: 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:24Directive '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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions