Skip to content

longprices.xls + chapter_3.xlsx: record the repoint (hold until the lecture PRs merge) - #43

Merged
mmcky merged 1 commit into
mainfrom
repoint/inflation-history
Aug 6, 2026
Merged

longprices.xls + chapter_3.xlsx: record the repoint (hold until the lecture PRs merge)#43
mmcky merged 1 commit into
mainfrom
repoint/inflation-history

Conversation

@mmcky

@mmcky mmcky commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Draft on purpose — do not merge before QuantEcon/lecture-python-intro#824 and QuantEcon/lecture-wasm#53.

Set 2 of three for the intro statics. Flips both datasets to repointed and records the two consuming lectures in each manifest.

Lecture repos at Strict audit
current main (PRs unmerged) ❌ both files: marked repointed but consumers still read via ['own-repo', 'sibling']
their repoint/inflation-history branches ✅ exit 0, orphans 34 → 32

What was different about this set

Set 1 was one line per repo. This one was three references per repo, and the third is the one worth knowing about: a {download} directive offering chapter_3.xlsx to readers, in both repos, pointing at the file being deleted.

The audit cannot see it. build_audit.py classifies data references by the code that reads them, so a prose link is invisible; and a dead {download} fails no lecture build, so neither repo's CI catches it either. Repointing the code alone would have left a 404 in a published page with this tracker recording repointed and every check green.

Ten such references exist across the remaining migration — six more in french_rev (set 3) and two in simple_linear_regression (wave 4). Inventoried in #42.

The wasm side also carried its three references in two different URL forms (raw.githubusercontent.com for the reads, github.com/…/raw/ for the download), so a single find-and-replace would have missed one.

Part of #8 and #4.

Held as a draft: must not merge before QuantEcon/lecture-python-intro#824 and
QuantEcon/lecture-wasm#53. Verified both ways -- against the lecture repos'
current main this fails with "marked repointed but consumers still read via
['own-repo', 'sibling']" for both files; against their repoint branches it
passes clean and orphans fall 34 -> 32 as wasm's two mirror copies go.

Set 2 of three. Unlike set 1 this batch had a reference the audit cannot see:
a {download} directive in each repo offering chapter_3.xlsx to readers,
pointing at the file being deleted. The lecture PRs move those too. The
general problem -- ten such prose references across the remaining migration,
none visible to the scan -- is #42.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mmcky

mmcky commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Corrected: the orphan arithmetic changed when set 2 went two-phase

This PR's description says orphans fall 34 → 32. That was true of the original single-phase shape and is no longer right.

QuantEcon/lecture-python-intro#824 has been restructured to phase 1: repoint the URLs, keep the files. The reason is a failure mode the repoint rules did not cover: lecture-python-intro publishes on a publish* tag rather than on push to main, so merging a deletion does not refresh the live site — it leaves the already-published notebooks pointing at a file that no longer exists. Set 1 demonstrated it for real: after #823 merged, the notebook served at intro.quantecon.org still carried the old URL, which returned 404. Rendered HTML pages were fine (figures are baked at build time); the breakage was confined to readers who download or run the lecture.

So the orphan path is now four steps rather than two:

Point Orphans
before set 2 34
QuantEcon/lecture-wasm#53 merged (mirrors deleted) 32 ← we are here
QuantEcon/lecture-python-intro#824 merged (phase 1 — intro keeps its copies, which become orphans) 34
phase-2 PR deletes intro's copies, after a publish 32

Verified by simulation against the restructured branches: with both lecture halves merged this PR passes strict at exit 0 with 34 orphans, and intro's two kept files appear correctly as orphan.

Also worth recording: main is red right now

wasm#53 merged at 06:39 while intro#824 is still open, so chapter_3.xlsx and longprices.xls are partially repointed and main fails with marked landed but some consumer already reads data-lectures for both. The drift alarm has not fired only because nothing has pushed to main since.

That is a sharper version of the rule than the one written down. "Repoint every consumer together" was framed as a constraint on the tracker flip; this shows it is equally a constraint on the lecture PRs themselves — merging one half of a set before the other opens the same window. Merging intro#824 closes it, and this PR then closes the tracker side.

@mmcky
mmcky marked this pull request as ready for review August 6, 2026 07:29
Copilot AI lite review requested due to automatic review settings August 6, 2026 07:29
@mmcky

mmcky commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Green — the earlier failure was a stale run, not a real one

QuantEcon/lecture-python-intro#824 merged at 07:26:22; this PR's failing check ran at 06:09:56, seventy-six minutes earlier. It failed with exactly the pre-merge condition it should have — marked repointed but consumers still read via ['own-repo', 'sibling'] for both files — because at that moment they genuinely did.

Re-run with no change to the branch: both checks pass, orphans 34, MERGEABLE/CLEAN.

This is the third time the pattern has appeared and it is structural rather than bad luck: the tracker PR is always pushed before its lecture halves merge, so its first CI run necessarily evaluates a world in which the repoint has not happened. Expect it on every remaining set — a red check on a tracker PR should be read against the merge time of its lecture PRs before being treated as a finding. A re-run is the whole fix.

Marked ready. Merging this takes migration.yml to 13 repointed / 5 landed and returns main to green — it has been red since QuantEcon/lecture-wasm#53 landed ahead of its intro half.

Set 2 is then functionally complete: both lectures read data-lectures, the tracker is accurate, nothing is broken. The only outstanding piece is the phase-2 deletion of intro's two now-orphaned copies, which is deliberately gated on the next publish (repoint rule 3, #44) and deferred to the next session.

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

Records the completion of repoint set A2 for the two inflation-history datasets by updating the migration tracker, manifests, and the generated catalog so the repo’s audit/dashboard reflects that lectures now consume longprices.xls and chapter_3.xlsx from data-lectures.

Changes:

  • Flip longprices.xls and chapter_3.xlsx to status: repointed in migration.yml, recording the two consuming lecture PRs.
  • Populate consumers in each dataset’s sidecar manifest for lecture-python-intro and lecture-wasm.
  • Regenerate CATALOG.md so the “Used by” column and summary counts reflect the new consumers.

Reviewed changes

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

File Description
migration.yml Marks longprices.xls and chapter_3.xlsx as repointed and records the consuming lecture PRs/dates.
lectures/longprices.xls.yml Adds the consuming lectures to the dataset manifest’s consumers list.
lectures/chapter_3.xlsx.yml Adds the consuming lectures to the dataset manifest’s consumers list.
CATALOG.md Updates the generated catalog to show these datasets are now used by inflation_history.md in both lecture repos.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mmcky
mmcky merged commit 0593eed into main Aug 6, 2026
7 of 8 checks passed
@mmcky
mmcky deleted the repoint/inflation-history branch August 6, 2026 07:41
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