diff --git a/CATALOG.md b/CATALOG.md
index 8cf96e0..9409264 100644
--- a/CATALOG.md
+++ b/CATALOG.md
@@ -6,11 +6,11 @@
The dataset registry, **auto-generated** from the sidecar manifests (`lectures/*.yml`). Do not edit by hand — run `python scripts/build_catalog.py`. A dataset appears here once it has a manifest, which may be before its consuming lectures are repointed — an empty **Used by** column means the file is here and documented but no lecture reads it from this repo yet. Files still to migrate are tracked in [PLAN.md](PLAN.md).
-**31 datasets** · 26 read by lectures today, 5 awaiting repoint · 113.0 MB total · 26 permitted / 5 restricted redistribution
+**31 datasets** · 31 read by lectures today · 113.0 MB total · 26 permitted / 5 restricted redistribution
| Dataset | Class | Source | Licence | Redist. | Integrity | Builder | Size | Used by |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
-| [**NEWQDATA.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/NEWQDATA.csv)
Cogley-Sargent (2005) "Drifts and Volatilities" — quarterly US inflation, unemployment and T-bill rate | constructed | [Cogley and Sargent (2005), "Drifts and Volatilities" — the authors' NEWQDATA.MAT](https://doi.org/10.1016/j.red.2004.10.009) | | ✅ permitted | ✅ verified | ✅ committed | 13.4 KB | — |
+| [**NEWQDATA.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/NEWQDATA.csv)
Cogley-Sargent (2005) "Drifts and Volatilities" — quarterly US inflation, unemployment and T-bill rate | constructed | [Cogley and Sargent (2005), "Drifts and Volatilities" — the authors' NEWQDATA.MAT](https://doi.org/10.1016/j.red.2004.10.009) | | ✅ permitted | ✅ verified | ✅ committed | 13.4 KB | [lecture-python.myst · phillips_drifts_volatilities.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/phillips_drifts_volatilities.md)
[lecture-python.zh-cn · phillips_drifts_volatilities.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/phillips_drifts_volatilities.md) |
| [**SCF_plus_mini.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/SCF_plus_mini.csv)
SCF+ mini — net wealth, income and survey weights, 1950-2016 | constructed | [SCF+ (Kuhn, Schularick and Steins) — an extension of the Survey of Consumer Finances](https://www.journals.uchicago.edu/doi/10.1086/708815) | | ✅ permitted | ⚠️ unverifiable | committed-frozen | 31.3 MB | [lecture-python-intro · inequality.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/inequality.md)
[lecture-wasm · inequality.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/inequality.md)
[lecture-intro.zh-cn · inequality.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/inequality.md)
[test-actions-lecture-intro · inequality.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/inequality.md) |
| [**SCF_plus_mini_no_weights.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/SCF_plus_mini_no_weights.csv)
SCF+ mini, weight-expanded — net wealth and income, 1950-2016 | constructed | [SCF+ (Kuhn, Schularick and Steins) — an extension of the Survey of Consumer Finances](https://www.journals.uchicago.edu/doi/10.1086/708815) | | ✅ permitted | ⚠️ unverifiable | committed-frozen | 72.4 MB | [lecture-python-intro · mle.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/mle.md)
[lecture-wasm · mle.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/mle.md)
[lecture-intro.zh-cn · mle.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/mle.md)
[test-actions-lecture-intro · mle.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/mle.md) |
| [**ames_house_prices.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/ames_house_prices.csv)
Ames, Iowa — residential house sales, 2006-2010 | constructed | [Ames Housing data (De Cock 2011), Journal of Statistics Education](http://jse.amstat.org/v19n3/decock.pdf) | | ✅ permitted | ✅ verified | ✅ committed | 75.2 KB | [lecture-python-intro · observed_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/observed_distributions.md)
[lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md) |
@@ -26,16 +26,16 @@ The dataset registry, **auto-generated** from the sidecar manifests (`lectures/*
| [**fig_3.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/fig_3.xlsx)
French Revolution — figure 3 series (Sargent-Velde) | verbatim | [Sargent and Velde, "Macroeconomic Features of the French Revolution" — supporting spreadsheets](https://www.journals.uchicago.edu/doi/10.1086/261992) | | ✅ permitted | ⚠️ unverifiable | n/a (verbatim) | 9.2 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md) |
| [**forbes-billionaires.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/forbes-billionaires.csv)
Forbes Billionaires — individual net worth | constructed | [Forbes Billionaires](https://www.forbes.com/billionaires/) | | ⚠️ restricted | ⚠️ unverifiable | committed-frozen | 775.7 KB | [lecture-python-intro · heavy_tails.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/heavy_tails.md)
[lecture-wasm · heavy_tails.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/heavy_tails.md)
[lecture-intro.zh-cn · heavy_tails.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/heavy_tails.md)
[test-actions-lecture-intro · heavy_tails.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/heavy_tails.md) |
| [**forbes-global2000.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/forbes-global2000.csv)
Forbes Global 2000 — firm size measures | constructed | [Forbes Global 2000](https://www.forbes.com/lists/global2000/) | | ⚠️ restricted | ⚠️ unverifiable | committed-frozen | 115.6 KB | [lecture-python-intro · heavy_tails.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/heavy_tails.md)
[lecture-wasm · heavy_tails.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/heavy_tails.md)
[lecture-intro.zh-cn · heavy_tails.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/heavy_tails.md)
[test-actions-lecture-intro · heavy_tails.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/heavy_tails.md) |
-| [**fp.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/fp.dta)
Treisman (2016) Russia's Billionaires — country-year panel of billionaire counts and covariates | verbatim | [Replication package for Treisman (2016), "Russia's Billionaires" (AER Papers & Proceedings)](https://www.aeaweb.org/articles?id=10.1257/aer.p20161068) | | ✅ permitted | ✅ verified | n/a (verbatim) | 1000.1 KB | — |
+| [**fp.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/fp.dta)
Treisman (2016) Russia's Billionaires — country-year panel of billionaire counts and covariates | verbatim | [Replication package for Treisman (2016), "Russia's Billionaires" (AER Papers & Proceedings)](https://www.aeaweb.org/articles?id=10.1257/aer.p20161068) | | ✅ permitted | ✅ verified | n/a (verbatim) | 1000.1 KB | [lecture-python.myst · mle.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/mle.md)
[lecture-python.zh-cn · mle.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/mle.md)
[lecture-stats · mle.md](https://github.com/QuantEcon/lecture-stats/blob/main/lectures/mle.md) |
| [**japan_deaths_by_age.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/japan_deaths_by_age.csv)
Japan — deaths by single year of age, 2023 | constructed | [United Nations, Department of Economic and Social Affairs, Population Division — World Population Prospects 2024](https://population.un.org/wpp/downloads) | CC BY 3.0 IGO | ✅ permitted | ✅ verified | ✅ committed | 1.7 KB | [lecture-python-intro · observed_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/observed_distributions.md)
[lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md) |
| [**japan_earthquakes.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/japan_earthquakes.csv)
Japan region — earthquakes of magnitude 5 and above, 2000-2024 | constructed | [Advanced National Seismic System (ANSS) Comprehensive Earthquake Catalog (ComCat), US Geological Survey](https://earthquake.usgs.gov/earthquakes/search/) | US Government work — public domain | ✅ permitted | ✅ verified | ✅ committed | 172.8 KB | [lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md) |
| [**japan_population_by_age.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/japan_population_by_age.csv)
Japan — population by single year of age, 2024 | constructed | [Population Estimates, Statistics Bureau of Japan, Ministry of Internal Affairs and Communications](https://www.stat.go.jp/english/data/jinsui/index.html) | Japan Statistics Bureau terms of use | ✅ permitted | ✅ verified | ✅ committed | 1.3 KB | [lecture-python-intro · prob_dist.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/prob_dist.md) |
| [**life-expectancy-vs-gdp-per-capita.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/life-expectancy-vs-gdp-per-capita.csv)
Life expectancy vs GDP per capita — Our World in Data grapher export | verbatim | [Our World in Data — "Life expectancy vs. GDP per capita" grapher](https://ourworldindata.org/grapher/life-expectancy-vs-gdp-per-capita) | | ✅ permitted | ⇄ diverged | n/a (verbatim) | 2.0 MB | [lecture-python-intro · simple_linear_regression.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/simple_linear_regression.md)
[lecture-wasm · simple_linear_regression.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/simple_linear_regression.md)
[lecture-intro.zh-cn · simple_linear_regression.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/simple_linear_regression.md)
[test-actions-lecture-intro · simple_linear_regression.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/simple_linear_regression.md) |
| [**lingcod_msy_recovery.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/lingcod_msy_recovery.csv)
Pacific Coast lingcod — biomass and fishing pressure relative to MSY | constructed | [RAM Legacy Stock Assessment Database](https://www.ramlegacy.org/) | CC BY 4.0 | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 2.3 KB | [lecture-python-intro · msy_fishery.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/msy_fishery.md) |
| [**longprices.xls**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/longprices.xls)
Price levels in four hard-currency countries, 1600-2000 | verbatim | [Sargent and Velde, "The Big Problem of Small Change" — supporting data](https://press.princeton.edu/books/hardcover/9780691116358/the-big-problem-of-small-change) | | ✅ permitted | ⚠️ unverifiable | n/a (verbatim) | 379.5 KB | [lecture-python-intro · inflation_history.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/inflation_history.md)
[lecture-wasm · inflation_history.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/inflation_history.md) |
-| [**maketable1.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/maketable1.dta)
Acemoglu-Johnson-Robinson (2001) colonial origins — table 1 replication data | verbatim | [Daron Acemoglu data archive — "The Colonial Origins of Comparative Development", table 1 (program and data files)](https://economics.mit.edu/people/faculty/daron-acemoglu/data-archive) | | ✅ permitted | ✅ verified | n/a (verbatim) | 14.1 KB | — |
-| [**maketable2.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/maketable2.dta)
Acemoglu-Johnson-Robinson (2001) colonial origins — table 2 replication data | verbatim | [Daron Acemoglu data archive — "The Colonial Origins of Comparative Development", table 2 (program and data files)](https://economics.mit.edu/people/faculty/daron-acemoglu/data-archive) | | ✅ permitted | ✅ verified | n/a (verbatim) | 10.9 KB | — |
-| [**maketable4.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/maketable4.dta)
Acemoglu-Johnson-Robinson (2001) colonial origins — table 4 replication data | verbatim | [Daron Acemoglu data archive — "The Colonial Origins of Comparative Development", table 4 (program and data files)](https://economics.mit.edu/people/faculty/daron-acemoglu/data-archive) | | ✅ permitted | ✅ verified | n/a (verbatim) | 11.7 KB | — |
+| [**maketable1.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/maketable1.dta)
Acemoglu-Johnson-Robinson (2001) colonial origins — table 1 replication data | verbatim | [Daron Acemoglu data archive — "The Colonial Origins of Comparative Development", table 1 (program and data files)](https://economics.mit.edu/people/faculty/daron-acemoglu/data-archive) | | ✅ permitted | ✅ verified | n/a (verbatim) | 14.1 KB | [lecture-python.myst · ols.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/ols.md)
[lecture-python.zh-cn · ols.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/ols.md) |
+| [**maketable2.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/maketable2.dta)
Acemoglu-Johnson-Robinson (2001) colonial origins — table 2 replication data | verbatim | [Daron Acemoglu data archive — "The Colonial Origins of Comparative Development", table 2 (program and data files)](https://economics.mit.edu/people/faculty/daron-acemoglu/data-archive) | | ✅ permitted | ✅ verified | n/a (verbatim) | 10.9 KB | [lecture-python.myst · ols.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/ols.md)
[lecture-python.zh-cn · ols.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/ols.md) |
+| [**maketable4.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/maketable4.dta)
Acemoglu-Johnson-Robinson (2001) colonial origins — table 4 replication data | verbatim | [Daron Acemoglu data archive — "The Colonial Origins of Comparative Development", table 4 (program and data files)](https://economics.mit.edu/people/faculty/daron-acemoglu/data-archive) | | ✅ permitted | ✅ verified | n/a (verbatim) | 11.7 KB | [lecture-python.myst · ols.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/ols.md)
[lecture-python.zh-cn · ols.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/ols.md) |
| [**mpd2020.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/mpd2020.xlsx)
Maddison Project Database 2020 — GDP per capita and population, 1 CE to 2018 | constructed | [Maddison Project Database, version 2020](https://www.rug.nl/ggdc/historicaldevelopment/maddison/releases/maddison-project-database-2020) | CC BY 4.0 | ✅ permitted | ⇄ diverged | ⚠️ unrecovered | 1.7 MB | [lecture-python-intro · long_run_growth.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/long_run_growth.md)
[lecture-wasm · long_run_growth.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/long_run_growth.md) |
| [**nom_balances.npy**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/nom_balances.npy)
French Revolution — monthly nominal assignat balances, 1789-1796 | constructed | unrecorded | | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 1.4 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md) |
| [**realwage.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/realwage.csv)
OECD real minimum wages — 32 countries, 2006–2016 | constructed | [OECD — Real minimum wages (RMW)](https://stats.oecd.org/Index.aspx?DataSetCode=RMW) | CC BY 4.0 | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 118.7 KB | [lecture-python-programming · pandas_panel.md](https://github.com/QuantEcon/lecture-python-programming/blob/main/lectures/pandas_panel.md)
[lecture-python.myst · pandas_panel.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/pandas_panel.md) |
diff --git a/lectures/NEWQDATA.csv.yml b/lectures/NEWQDATA.csv.yml
index 5365b10..71d4495 100644
--- a/lectures/NEWQDATA.csv.yml
+++ b/lectures/NEWQDATA.csv.yml
@@ -144,21 +144,25 @@ schema:
# ---------------------------------------------------------------------------
# Consumers — how a correction knows what to rebuild
# ---------------------------------------------------------------------------
-# Empty at `landed`, populated by the flip PR once the repoints merge.
-# Two reference-holders will be recorded: lecture-python.myst
-# (phillips_drifts_volatilities.md:103-105) and lecture-python.zh-cn
-# (phillips_drifts_volatilities.md:111-113), the latter outside the audit's
-# SCAN_REPOS and so recorded here or nowhere. The generated
-# lecture-python.notebooks mirror self-heals after a publish tag and is
-# deliberately not listed, per the wave A4 precedent.
+# Both repointed 2026-08-13. lecture-python.zh-cn is outside the audit's
+# SCAN_REPOS, so it is recorded here or nowhere. The generated
+# lecture-python.notebooks mirror is a third reference-holder; it self-heals
+# after a publish tag and is not a repo anyone repoints, so it is deliberately
+# not listed (wave A4 precedent).
#
-# BOTH reads build the URL by string concatenation across three source lines,
-# and this is the only one of the seven Track B files to use the
-# raw.githubusercontent.com form. A repoint must COLLAPSE the continuation, not
-# patch the stem line — patching line 1 of 3 leaves 'NEWQDATA.csv' appended to
-# a path that no longer exists, and the flat published tree has no
-# _static/lecture_specific// segment to append it to.
-consumers: []
+# BOTH reads previously built the URL by string concatenation across three
+# source lines, and this was the only one of the seven Track B files to use the
+# raw.githubusercontent.com form. Both were COLLAPSED to a single line at the
+# repoint rather than patched: editing the stem line alone would have left
+# 'NEWQDATA.csv' appended to a path that no longer exists, since the flat
+# published tree has no _static/lecture_specific// segment.
+# Note for any future sweep: a line-based grep for the whole old URL returns a
+# confident ZERO against the wrapped form. Grep the filename separately.
+consumers:
+ - repo: QuantEcon/lecture-python.myst
+ file: lectures/phillips_drifts_volatilities.md
+ - repo: QuantEcon/lecture-python.zh-cn
+ file: lectures/phillips_drifts_volatilities.md
builder: builders/NEWQDATA.py
builder_status: committed
diff --git a/lectures/fp.dta.yml b/lectures/fp.dta.yml
index f544258..7485e0a 100644
--- a/lectures/fp.dta.yml
+++ b/lectures/fp.dta.yml
@@ -224,25 +224,36 @@ schema:
# ---------------------------------------------------------------------------
# Consumers — how a correction knows what to rebuild
# ---------------------------------------------------------------------------
-# Empty at `landed`, populated by the flip PR once the repoints merge.
-# Two reference-holders will be recorded: lecture-python.myst (mle.md:166) and
-# lecture-python.zh-cn (mle.md:178), the latter outside the audit's SCAN_REPOS
-# and so recorded here or nowhere. The generated lecture-python.notebooks
-# mirror self-heals after a publish tag and is deliberately not listed, per the
-# wave A4 precedent.
+# All three repointed 2026-08-13. lecture-python.zh-cn and lecture-stats are
+# both outside the audit's SCAN_REPOS, so they are recorded here or nowhere.
+# The generated lecture-python.notebooks and lecture-stats.notebooks mirrors
+# are further reference-holders; they self-heal after their repo's publish tag
+# and are not repos anyone repoints, so they are deliberately not listed (wave
+# A4 precedent).
#
-# lecture-stats is NOT listed, and the reason is worth recording because it
-# looks like a consumer: its mle.md code read points at the ARCHIVED
-# QuantEcon/lecture-python blob, a separate byte-identical copy that this
-# migration does not touch. What it DOES share is the prose link — see below.
+# lecture-stats is listed with a caveat, because its relationship is unusual
+# and a future reader will otherwise mis-read it. Its mle.md CODE read points
+# at the ARCHIVED QuantEcon/lecture-python blob — a separate byte-identical
+# copy this migration does not touch — so it does not execute against this
+# file. What it now reads from here is the reader-facing DOWNLOAD LINK. It is
+# recorded because the question `consumers` exists to answer is "what breaks if
+# this file is renamed or deleted", and the answer includes that link.
#
-# A repoint must also edit PROSE, which no URL rewrite of a code cell touches:
-# mle.md:160 in python.myst, its zh-cn twin at mle.md:172, and the identical
-# line in lecture-stats/lectures/mle.md:132 all link the published-site copy at
+# The prose is the part no code-cell rewrite reaches: mle.md:160 in
+# python.myst, its zh-cn twin at mle.md:172, and lecture-stats mle.md:132 all
+# used to link the published-site copy at
# python.quantecon.org/_static/lecture_specific/mle/fp.dta. That URL dies when
# this file is deleted from python.myst and the site republishes, and
-# lecture-stats runs a DAILY sphinx linkcheck that will go red within 24 hours.
-consumers: []
+# lecture-stats runs a DAILY sphinx linkcheck — which is why its repoint landed
+# in this wave rather than being left to break.
+consumers:
+ - repo: QuantEcon/lecture-python.myst
+ file: lectures/mle.md
+ - repo: QuantEcon/lecture-python.zh-cn
+ file: lectures/mle.md
+ # Download link only, not a code read — see the note above.
+ - repo: QuantEcon/lecture-stats
+ file: lectures/mle.md
builder: null
builder_status: not-applicable # verbatim — no builder
diff --git a/lectures/maketable1.dta.yml b/lectures/maketable1.dta.yml
index 67b41f8..f3fed5c 100644
--- a/lectures/maketable1.dta.yml
+++ b/lectures/maketable1.dta.yml
@@ -162,15 +162,19 @@ schema:
# ---------------------------------------------------------------------------
# Consumers — how a correction knows what to rebuild
# ---------------------------------------------------------------------------
-# Empty at `landed`, populated by the flip PR once the repoints merge.
-# Two reference-holders will be recorded: lecture-python.myst (ols.md:94 and
-# ols.md:679) and lecture-python.zh-cn (ols.md:109 and ols.md:594), the latter
-# outside the audit's SCAN_REPOS and so recorded here or nowhere. The generated
-# lecture-python.notebooks mirror self-heals after a publish tag and is
-# deliberately not listed, per the wave A4 precedent. lecture-stats reads the
-# copy in the ARCHIVED QuantEcon/lecture-python, not this one, so it is not a
-# consumer of these bytes.
-consumers: []
+# Both repointed 2026-08-13. lecture-python.zh-cn is outside the audit's
+# SCAN_REPOS, so it is recorded here or nowhere. Each repo reads this file
+# TWICE in ols.md — the base OLS fit and the numpy exercise solution.
+# The generated lecture-python.notebooks mirror is a third reference-holder; it
+# self-heals after a publish tag and is not a repo anyone repoints, so it is
+# deliberately not listed (wave A4 precedent). lecture-stats reads the copy in
+# the ARCHIVED QuantEcon/lecture-python, not this one, so it is not a consumer
+# of these bytes.
+consumers:
+ - repo: QuantEcon/lecture-python.myst
+ file: lectures/ols.md
+ - repo: QuantEcon/lecture-python.zh-cn
+ file: lectures/ols.md
builder: null
builder_status: not-applicable # verbatim — no builder
diff --git a/lectures/maketable2.dta.yml b/lectures/maketable2.dta.yml
index 9a84565..a24195b 100644
--- a/lectures/maketable2.dta.yml
+++ b/lectures/maketable2.dta.yml
@@ -150,15 +150,19 @@ schema:
# ---------------------------------------------------------------------------
# Consumers — how a correction knows what to rebuild
# ---------------------------------------------------------------------------
-# Empty at `landed`, populated by the flip PR once the repoints merge.
-# Two reference-holders will be recorded: lecture-python.myst (ols.md:326) and
-# lecture-python.zh-cn (ols.md:298), the latter outside the audit's SCAN_REPOS
-# and so recorded here or nowhere. The generated lecture-python.notebooks
-# mirror self-heals after a publish tag and is deliberately not listed, per the
-# wave A4 precedent. lecture-stats, lecture-econometrics-machine-learning and
-# lecture-mapping all read the copy in the ARCHIVED QuantEcon/lecture-python,
-# not this one, so none of them is a consumer of these bytes.
-consumers: []
+# Both repointed 2026-08-13. lecture-python.zh-cn is outside the audit's
+# SCAN_REPOS, so it is recorded here or nowhere. The generated
+# lecture-python.notebooks mirror is a third reference-holder; it self-heals
+# after a publish tag and is not a repo anyone repoints, so it is deliberately
+# not listed (wave A4 precedent). lecture-stats,
+# lecture-econometrics-machine-learning and lecture-mapping all read the copy
+# in the ARCHIVED QuantEcon/lecture-python, not this one, so none of them is a
+# consumer of these bytes.
+consumers:
+ - repo: QuantEcon/lecture-python.myst
+ file: lectures/ols.md
+ - repo: QuantEcon/lecture-python.zh-cn
+ file: lectures/ols.md
builder: null
builder_status: not-applicable # verbatim — no builder
diff --git a/lectures/maketable4.dta.yml b/lectures/maketable4.dta.yml
index 4382c73..dd0659e 100644
--- a/lectures/maketable4.dta.yml
+++ b/lectures/maketable4.dta.yml
@@ -146,16 +146,20 @@ schema:
# ---------------------------------------------------------------------------
# Consumers — how a correction knows what to rebuild
# ---------------------------------------------------------------------------
-# Empty at `landed`, populated by the flip PR once the repoints merge.
-# Two reference-holders will be recorded: lecture-python.myst (ols.md:478 and
-# ols.md:606) and lecture-python.zh-cn (ols.md:421 and ols.md:526), the latter
-# outside the audit's SCAN_REPOS and so recorded here or nowhere. The generated
-# lecture-python.notebooks mirror self-heals after a publish tag and is
-# deliberately not listed, per the wave A4 precedent. lecture-stats,
+# Both repointed 2026-08-13. lecture-python.zh-cn is outside the audit's
+# SCAN_REPOS, so it is recorded here or nowhere. Each repo reads this file
+# TWICE in ols.md — the 2SLS walkthrough and the IV2SLS reproduction.
+# The generated lecture-python.notebooks mirror is a third reference-holder; it
+# self-heals after a publish tag and is not a repo anyone repoints, so it is
+# deliberately not listed (wave A4 precedent). lecture-stats,
# lecture-econometrics-machine-learning and lecture-mapping all read the copy
# in the ARCHIVED QuantEcon/lecture-python, not this one, so none of them is a
# consumer of these bytes.
-consumers: []
+consumers:
+ - repo: QuantEcon/lecture-python.myst
+ file: lectures/ols.md
+ - repo: QuantEcon/lecture-python.zh-cn
+ file: lectures/ols.md
builder: null
builder_status: not-applicable # verbatim — no builder
diff --git a/migration.yml b/migration.yml
index b0ed8d2..11b5c37 100644
--- a/migration.yml
+++ b/migration.yml
@@ -558,37 +558,55 @@ datasets:
maketable1.dta:
pilot: B1
- status: landed
+ status: repointed
prior_pattern: own-repo
landed:
pr: QuantEcon/data-lectures#79
date: 2026-08-13
- repoints: []
+ repoints:
+ - repo: QuantEcon/lecture-python.myst
+ pr: QuantEcon/lecture-python.myst#1034
+ date: 2026-08-13
+ - repo: QuantEcon/lecture-python.zh-cn
+ pr: QuantEcon/lecture-python.zh-cn#249
+ date: 2026-08-13
cutover: null
maketable2.dta:
pilot: B1
- status: landed
+ status: repointed
prior_pattern: own-repo
landed:
pr: QuantEcon/data-lectures#79
date: 2026-08-13
- repoints: []
+ repoints:
+ - repo: QuantEcon/lecture-python.myst
+ pr: QuantEcon/lecture-python.myst#1034
+ date: 2026-08-13
+ - repo: QuantEcon/lecture-python.zh-cn
+ pr: QuantEcon/lecture-python.zh-cn#249
+ date: 2026-08-13
cutover: null
maketable4.dta:
pilot: B1
- status: landed
+ status: repointed
prior_pattern: own-repo
landed:
pr: QuantEcon/data-lectures#79
date: 2026-08-13
- repoints: []
+ repoints:
+ - repo: QuantEcon/lecture-python.myst
+ pr: QuantEcon/lecture-python.myst#1034
+ date: 2026-08-13
+ - repo: QuantEcon/lecture-python.zh-cn
+ pr: QuantEcon/lecture-python.zh-cn#249
+ date: 2026-08-13
cutover: null
fp.dta:
pilot: B1
- status: landed
+ status: repointed
# The one Track B file with a published-SITE prose link
# (python.quantecon.org/_static/lecture_specific/mle/fp.dta) as well as a
# code read. That link is also carried by lecture-stats, which runs a daily
@@ -598,12 +616,23 @@ datasets:
landed:
pr: QuantEcon/data-lectures#79
date: 2026-08-13
- repoints: []
+ repoints:
+ - repo: QuantEcon/lecture-python.myst
+ pr: QuantEcon/lecture-python.myst#1034
+ date: 2026-08-13
+ - repo: QuantEcon/lecture-python.zh-cn
+ pr: QuantEcon/lecture-python.zh-cn#249
+ date: 2026-08-13
+ # Prose download link only — lecture-stats' code read points at the
+ # archived QuantEcon/lecture-python blob, not at this repo.
+ - repo: QuantEcon/lecture-stats
+ pr: QuantEcon/lecture-stats#61
+ date: 2026-08-13
cutover: null
NEWQDATA.csv:
pilot: B1
- status: landed
+ status: repointed
# Reclassified at migration from the `verbatim` guess in
# audit_annotations.yml: it is a container conversion of the authors'
# NEWQDATA.MAT, and the conversion is recovered and committed at
@@ -615,7 +644,13 @@ datasets:
landed:
pr: QuantEcon/data-lectures#79
date: 2026-08-13
- repoints: []
+ repoints:
+ - repo: QuantEcon/lecture-python.myst
+ pr: QuantEcon/lecture-python.myst#1034
+ date: 2026-08-13
+ - repo: QuantEcon/lecture-python.zh-cn
+ pr: QuantEcon/lecture-python.zh-cn#249
+ date: 2026-08-13
cutover: null
# Planned waves that have not landed anything here yet. `datasets` names the