Skip to content

Phase 2 tidy-up: revert intersphinx-qualified references once their target lectures are translated #173

Description

@mmcky

During the 2026-07-18 Track B wave, seven resynced lectures referenced lectures that exist only in the English source. Per program decision (Matt, 2026-07-18), those {doc} references were qualified with the intermediate: intersphinx prefix so they resolve to python.quantecon.org until the targets are translated. When Phase 2 lands each target lecture here, the qualified references should revert to plain local refs — a routine translate forward resync of the referencing file will do this automatically, since the source uses local refs; this issue is the checklist to make sure none are forgotten.

Referencing file Qualified targets
lectures/ifp_advanced.md intermediate:ifp_egm_transient_shocks, intermediate:os_egm
lectures/ifp_egm.md intermediate:ifp_discrete, intermediate:ifp_opi, intermediate:ifp_egm_transient_shocks, intermediate:os_egm, intermediate:os_egm_jax, intermediate:os_time_iter
lectures/kalman.md intermediate:kalman_filter_var
lectures/kalman_2.md intermediate:kalman_filter_var
lectures/mccall_fitted_vfi.md intermediate:mccall_model_with_sep_markov
lectures/mccall_persist_trans.md intermediate:mccall_model_with_sep_markov
lectures/os_numerical.md intermediate:os_time_iter

One related non-doc case: ifp_egm.md's {eq}eqvfs`` (a label defined in the untranslated ifp_discrete.md upstream) was pointed at the local, mathematically-identical eqvfs_egm instead, since `{eq}` cannot cross projects. When ifp_discrete is translated, a resync will restore the upstream form. (The upstream source referencing the remote label while the local twin sits ten lines above the sentence looks like a source-side oddity — may be worth an upstream nit.)

Grep to audit at any time: grep -rn 'intermediate:' lectures/*.md

Activity

  1. mmcky commented on Jul 18, 2026

    @mmcky
    ContributorAuthor

    2026-07-19 audit — inventory validation, plus English-pointing refs in other series

    Re-audited after today's first merge batch (8 wave PRs merged). The intermediate: table above is confirmed accurate and complete: every target resolves as a std:doc entry in the live https://python.quantecon.org/objects.inv, all 8 targets are confirmed absent from this repo (untranslated), and a scan of main plus all 69 open resync/* branches found no additional intermediate: doc refs beyond those listed.

    Three further English-pointing refs exist in other series and aren't in the table. Same Phase 2 logic applies, though these revert only if/when a zh-cn edition of the target series exists, so they may be long-term residents:

    Referencing file Qualified target Where today
    lectures/ak_aiyagari.md advanced:discrete_dp (×2) main (branch identical)
    lectures/likelihood_ratio_process.md advanced:additive_functionals main (branch identical)
    lectures/likelihood_ratio_process_2.md advanced:additive_functionals main (branch identical)
    lectures/wealth_dynamics.md jax:wealth_dynamics resync branch only (not yet merged)

    All three targets validate against their live inventories (python-advanced.quantecon.org, jax.quantecon.org).

    Intersphinx config health: all 11 inventories in _config.yml are reachable and serving valid objects.inv files. One nit — the tools: mapping points at https://quantecon.github.io/lecture-tools-techniques/ which now 301-redirects to https://tools-techniques.quantecon.org/. Sphinx follows the redirect so builds work today, but the mapping should move to the canonical URL when _config.yml is next touched.

    Audit command covering all external series:

    grep -rnE '\{(doc|ref)\}`[^`]*(intermediate|advanced|tools|pyprog|dle|dps|eqm|stats|dynam|jax):' lectures/*.md
    
  2. quantecon-services commented on Aug 21, 2026

    @quantecon-services
    Collaborator

    The 2026-08-20 full-corpus audit (project-translation#50) enumerated this class mechanically: 16 intermediate:-qualified {doc} references across 7 lectures, and every target now exists in the edition — so the whole tidy-up is actionable today. With learning_approximation (#261) and mccall_risk (#264) seeded, nothing is left waiting on a translation.

    Lecture Refs Targets
    ifp_egm.md 6 ifp_discrete, ifp_opi, os_egm_jax, ifp_egm_transient_shocks, os_time_iter, os_egm
    mccall_fitted_vfi.md 4 mccall_model_with_sep_markov (×4)
    ifp_advanced.md 2 ifp_egm_transient_shocks, os_egm
    kalman.md 1 kalman_filter_var
    kalman_2.md 1 kalman_filter_var
    mccall_persist_trans.md 1 mccall_model_with_sep_markov
    os_numerical.md 1 os_time_iter

    Because _config.yml maps intermediate: to the English site, each of these sends a Chinese reader to python.quantecon.org for a lecture one click away locally. None of the seven files is in the #266 drift set except mccall_persist_trans (H1-only change there), so the sweep is safe to run now; prose-only, no cache run needed.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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