Skip to content

Flip the five wave B1' datasets to repointed - #80

Merged
mmcky merged 1 commit into
mainfrom
datasets/track-b1-flip
Aug 13, 2026
Merged

Flip the five wave B1' datasets to repointed#80
mmcky merged 1 commit into
mainfrom
datasets/track-b1-flip

Conversation

@mmcky

@mmcky mmcky commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Wave B1′ step 4. Every consumer of the five datasets now reads this repo, so the tracker moves from landed to repointed and consumers is populated.

This PR is the wave's acceptance test, not bookkeeping after it. The strict audit has no green state for a partially-repointed dataset — landed fails once any consumer reads data-lectures, and repointed fails while any consumer still does not. The audit run on this push is what proves reality and the tracker agree.

The repoints that landed today

Repo PR What it changed
lecture-python.myst QuantEcon/lecture-python.myst#1034 7 code reads across 3 lectures + the mle.md prose download link; adds data-url-guard.yml
lecture-python.zh-cn QuantEcon/lecture-python.zh-cn#249 the generated translation sync, hand-diffed before merge
lecture-stats QuantEcon/lecture-stats#61 the mle.md download link only

Dry-run, both directions

Run against the sibling clones at their post-merge main before pushing.

migration.yml says build_audit.py scan --strict Result
repointed (as committed here) exit 0 0 migration inconsistencies
landed (reverted locally, then restored) exit 1 marked landed but some consumer already reads data-lectures, all five

On the consumer lists

lecture-python.zh-cn and lecture-stats are both outside the audit's SCAN_REPOS — they are recorded in these manifests or nowhere. That is the whole reason the field exists.

The generated mirrors (lecture-python.notebooks, lecture-stats.notebooks) are deliberately not listed. They self-heal after their repo's publish tag and are not repos anyone repoints, which follows the wave A4 precedent set by life-expectancy-vs-gdp-per-capita.csv.yml.

lecture-stats is listed with a caveat, because its relationship is unusual enough to mislead a future reader. Its mle.md code read still points at the archived QuantEcon/lecture-python blob — a separate byte-identical copy this migration does not touch — so it never executes against this file. What it 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 that link is part of the answer. The manifest says so in a comment rather than leaving it to be inferred.

Verification

  • check_consumed_files.py — 31 manifests, 33 files hash-checked, 0 errors
  • build_catalog.py regenerated; headline moves from 26 read by lectures today, 5 awaiting repoint to 31 read by lectures today, and the Used by column fills in for all five
  • Both directions of the strict audit, above

What this does NOT do

It does not delete anything. The committed _static copies stay in lecture-python.myst until a follow-up PR, gated on the publish — python.quantecon.org served its pre-wave build until today's publish-2026aug13 tag, and the notebook mirrors regenerate only at that moment.

Three deletion blockers are recorded now while they are fresh, since the sweep that found them was expensive:

  1. lecture-python.notebooks and lecture-stats.notebooks carry the old URLs until each repo publishes.
  2. A future deletion sweep must not grep for the whole old URL. Two of the reads were line-wrapped across source lines, and a line-based grep returns a confident zero against that form — a false clean sweep. Grep the filename and the URL stem separately. (Noted in NEWQDATA.csv.yml, the file it bit.)
  3. Course forks and canaries were not swept for these paths; that is required before deletion, not before merge.

Do not merge this on a stale check — let its own audit-dashboard run finish. strict_required_status_checks_policy is false here, so a branch need not be up to date with main for its checks to count.

Part of QuantEcon/workspace-lectures#39. Data landed in #79.

🤖 Generated with Claude Code

Every consumer now reads this repo. The lecture repoints merged today:
lecture-python.myst#1034 (7 code reads + the mle.md prose link),
lecture-python.zh-cn#249 (the generated translation sync, hand-diffed), and
lecture-stats#61 (the mle.md download link only).

This PR is the wave's acceptance test, not bookkeeping after it. The audit has
no green state for a partially-repointed dataset, so the run on this push is
what proves reality and the tracker agree.

`consumers` records lecture-python.zh-cn and lecture-stats, both of which are
outside the audit's SCAN_REPOS — they are recorded here or nowhere. The
generated notebook mirrors (lecture-python.notebooks, lecture-stats.notebooks)
are deliberately not listed: they self-heal after their repo's publish tag and
are not repos anyone repoints. That follows the wave A4 precedent.

lecture-stats is listed with a caveat worth reading, because its relationship
is unusual: its code read still points at the archived QuantEcon/lecture-python
blob, so it does not execute against this file. What it reads from here is the
reader-facing download link. It is recorded because the question `consumers`
answers is "what breaks if this file is renamed or deleted", and that link is
part of the answer.

Dry-run, both directions, against the sibling clones at their post-merge main:

| migration.yml says | build_audit.py --strict | result |
| --- | --- | --- |
| repointed (as committed) | exit 0 | 0 migration inconsistencies |
| landed (reverted locally) | exit 1 | "marked landed but some consumer already reads data-lectures" |

Do not merge this on a stale check — let its own audit-dashboard run finish.

Part of QuantEcon/workspace-lectures#39. Data landed in #79.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 13, 2026 02:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR completes wave B1′ step 4 by flipping five migrated datasets from landed to repointed, recording the lecture-repo PRs that performed the repoints and populating per-dataset consumers so downstream impact is traceable.

Changes:

  • Update migration.yml statuses for the five wave B1′ datasets to repointed and record the repoint PRs (including the lecture-stats prose-link repoint for fp.dta).
  • Populate consumers: in the five affected sidecar manifests to capture all repos that would break on rename/delete (including repos outside the audit’s SCAN_REPOS).
  • Regenerate CATALOG.md so the “Used by” column and headline counts reflect the repointed state.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
migration.yml Marks the five wave B1′ datasets as repointed and records repoint provenance (repo/PR/date).
lectures/NEWQDATA.csv.yml Adds consumers entries for the repointed lecture repos and updates guidance about the formerly wrapped URL form.
lectures/maketable1.dta.yml Adds consumers entries for the repointed lecture repos.
lectures/maketable2.dta.yml Adds consumers entries for the repointed lecture repos.
lectures/maketable4.dta.yml Adds consumers entries for the repointed lecture repos.
lectures/fp.dta.yml Adds consumers entries including lecture-stats (download link only) and clarifies the prose-link dependency.
CATALOG.md Regenerated catalog reflecting the now-populated “Used by” rows and updated headline.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@mmcky
mmcky merged commit f363d1b into main Aug 13, 2026
5 checks passed
@mmcky
mmcky deleted the datasets/track-b1-flip branch August 13, 2026 02:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants