diff --git a/CATALOG.md b/CATALOG.md
index f6ab1d0..a39368b 100644
--- a/CATALOG.md
+++ b/CATALOG.md
@@ -6,7 +6,7 @@
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).
-**26 datasets** · 24 read by lectures today, 2 awaiting repoint · 111.9 MB total · 21 permitted / 5 restricted redistribution
+**26 datasets** · 26 read by lectures today · 111.9 MB total · 21 permitted / 5 restricted redistribution
| Dataset | Class | Source | Licence | Redist. | Integrity | Builder | Size | Used by |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
@@ -28,14 +28,14 @@ The dataset registry, **auto-generated** from the sidecar manifests (`lectures/*
| [**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 | — |
+| [**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) |
| [**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) |
| [**us_adult_heights.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/us_adult_heights.csv)
United States — adult standing height by sex, NHANES 2015-2018 | constructed | [National Health and Nutrition Examination Survey (NHANES), US Centers for Disease Control and Prevention, National Center for Health Statistics](https://www.cdc.gov/nchs/nhanes/index.htm) | US Government work — public domain | ✅ permitted | ✅ verified | ✅ committed | 123.1 KB | [lecture-python-intro · prob_dist.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/prob_dist.md)
[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) |
-| [**usa-gini-nwealth-tincome-lincome.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/usa-gini-nwealth-tincome-lincome.csv)
US Gini coefficients — net wealth, total income and labour income, 1950-2016 | constructed | [Derived from SCF_plus_mini.csv (this repo), an extract of the SCF+ panel](https://github.com/QuantEcon/data-lectures/blob/main/lectures/SCF_plus_mini.csv) | | ✅ permitted | ⚠️ unverifiable | committed-frozen | 1.2 KB | — |
+| [**usa-gini-nwealth-tincome-lincome.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/usa-gini-nwealth-tincome-lincome.csv)
US Gini coefficients — net wealth, total income and labour income, 1950-2016 | constructed | [Derived from SCF_plus_mini.csv (this repo), an extract of the SCF+ panel](https://github.com/QuantEcon/data-lectures/blob/main/lectures/SCF_plus_mini.csv) | | ✅ permitted | ⚠️ unverifiable | committed-frozen | 1.2 KB | [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) |
---
diff --git a/lectures/life-expectancy-vs-gdp-per-capita.csv.yml b/lectures/life-expectancy-vs-gdp-per-capita.csv.yml
index 7ef7f7c..c9da0d4 100644
--- a/lectures/life-expectancy-vs-gdp-per-capita.csv.yml
+++ b/lectures/life-expectancy-vs-gdp-per-capita.csv.yml
@@ -165,13 +165,19 @@ schema:
Population (historical estimates): 4984
Continent: 61871
-consumers: []
- # Empty at `landed`, populated when wave A4's repoints merge. FIVE
- # reference-holders, not the two the audit can see: lecture-python-intro,
- # lecture-wasm, lecture-intro.zh-cn, QuantEcon/test-actions-lecture-intro,
- # and the generated lecture-python-intro.notebooks mirror. Each consuming
- # `.md` holds TWO executable reads — the `data_url` literal and a second
- # `read_csv(data_url, usecols=cols)` further down.
-
+consumers:
+ # All four repointed 2026-08-12. lecture-intro.zh-cn and the canary are
+ # outside the audit's SCAN_REPOS, so they are recorded here or nowhere.
+ # The generated lecture-python-intro.notebooks mirror is a fifth
+ # reference-holder; it self-heals after a publish tag and is not a repo
+ # anyone repoints, so it is deliberately not listed.
+ - repo: QuantEcon/lecture-python-intro
+ file: lectures/simple_linear_regression.md
+ - repo: QuantEcon/lecture-wasm
+ file: lectures/simple_linear_regression.md
+ - repo: QuantEcon/lecture-intro.zh-cn
+ file: lectures/simple_linear_regression.md
+ - repo: QuantEcon/test-actions-lecture-intro
+ file: lectures/simple_linear_regression.md
builder: null
builder_status: not-applicable
diff --git a/lectures/usa-gini-nwealth-tincome-lincome.csv.yml b/lectures/usa-gini-nwealth-tincome-lincome.csv.yml
index 774b5c2..4c2b5bd 100644
--- a/lectures/usa-gini-nwealth-tincome-lincome.csv.yml
+++ b/lectures/usa-gini-nwealth-tincome-lincome.csv.yml
@@ -115,12 +115,20 @@ schema:
date_range: {start: 1950, end: 2016}
known_nulls: {} # none — the builder drops nulls before computing
-consumers: []
- # Empty at `landed`, populated when wave A4's repoints merge. FIVE
- # reference-holders, not the two the audit can see: lecture-python-intro,
- # lecture-wasm, lecture-intro.zh-cn, QuantEcon/test-actions-lecture-intro,
- # and the generated lecture-python-intro.notebooks mirror.
-
+consumers:
+ # All four repointed 2026-08-12. lecture-intro.zh-cn and the canary are
+ # outside the audit's SCAN_REPOS, so they are recorded here or nowhere.
+ # The generated lecture-python-intro.notebooks mirror is a fifth
+ # reference-holder; it self-heals after a publish tag and is not a repo
+ # anyone repoints, so it is deliberately not listed.
+ - repo: QuantEcon/lecture-python-intro
+ file: lectures/inequality.md
+ - repo: QuantEcon/lecture-wasm
+ file: lectures/inequality.md
+ - repo: QuantEcon/lecture-intro.zh-cn
+ file: lectures/inequality.md
+ - repo: QuantEcon/test-actions-lecture-intro
+ file: lectures/inequality.md
builder: builders/usa-gini-nwealth-tincome-lincome.ipynb
# `committed-frozen`, not `committed`, on three independent grounds — any one
# of which would rule out `committed`:
diff --git a/migration.yml b/migration.yml
index 99374d9..5ac63be 100644
--- a/migration.yml
+++ b/migration.yml
@@ -491,17 +491,29 @@ datasets:
life-expectancy-vs-gdp-per-capita.csv:
pilot: A4
- status: landed
+ status: repointed
prior_pattern: own-repo
landed:
pr: QuantEcon/data-lectures#74
date: 2026-08-12
- repoints: []
+ repoints:
+ - repo: QuantEcon/lecture-python-intro
+ pr: QuantEcon/lecture-python-intro#834
+ date: 2026-08-12
+ - repo: QuantEcon/lecture-wasm
+ pr: QuantEcon/lecture-wasm#61
+ date: 2026-08-12
+ - repo: QuantEcon/lecture-intro.zh-cn
+ pr: QuantEcon/lecture-intro.zh-cn#294
+ date: 2026-08-12
+ - repo: QuantEcon/test-actions-lecture-intro
+ pr: QuantEcon/test-actions-lecture-intro#56
+ date: 2026-08-12
cutover: null
usa-gini-nwealth-tincome-lincome.csv:
pilot: A4
- status: landed
+ status: repointed
# Second-order: built from SCF_plus_mini.csv, which landed in #62. That
# dependency is why this file waited for P3 rather than moving with the
# other intro statics.
@@ -509,7 +521,19 @@ datasets:
landed:
pr: QuantEcon/data-lectures#74
date: 2026-08-12
- repoints: []
+ repoints:
+ - repo: QuantEcon/lecture-python-intro
+ pr: QuantEcon/lecture-python-intro#834
+ date: 2026-08-12
+ - repo: QuantEcon/lecture-wasm
+ pr: QuantEcon/lecture-wasm#61
+ date: 2026-08-12
+ - repo: QuantEcon/lecture-intro.zh-cn
+ pr: QuantEcon/lecture-intro.zh-cn#294
+ date: 2026-08-12
+ - repo: QuantEcon/test-actions-lecture-intro
+ pr: QuantEcon/test-actions-lecture-intro#56
+ date: 2026-08-12
cutover: null
# Planned waves that have not landed anything here yet. `datasets` names the