Tracker: full per-series dataset manifest + reader-facing milestones#22
Merged
Conversation
Two changes to the migration page, from review of the live dashboard: - "All datasets by series": every static file the lectures read, grouped by the series that owns the bytes, each with a plain-language migration status (migrated / copied-not-switched / queued / not scheduled) and a per-series progress meter — the how-far-along view the per-dataset steppers alone didn't give. - The page is now plan-agnostic for readers who are not doing the migration: wave codes (P1…P4) appear only in the new Milestones section, which presents the programme itself — completed waves (derived from the tracker records), upcoming waves (with reader-facing titles now carried in migration.yml), the broad sweep, and the final data.quantecon.org switch. Lifecycle jargon (repointed etc.) is confined to the explained stepper detail; statuses elsewhere speak plainly, and the overview page copy follows suit. Part of #20. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR refines the generated audit dashboard’s migration tracker to be more reader-facing by adding a per-series “full manifest” table with plain-language statuses and a new “Milestones” section derived from migration.yml (with reader-facing wave titles).
Changes:
- Add a per-series dataset manifest table with simplified status labels and per-series mini progress meters.
- Add a “Milestones” section that summarizes completed waves, upcoming waves (using new
titlefields), the broad sweep, and the final URL cutover milestone. - Extend
migration.ymlpending-wave metadata with reader-facingtitlefields.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| scripts/render_audit.py | Adds per-series manifest + milestones sections and updates reader-facing wording on the overview and migration tracker pages. |
| migration.yml | Adds title fields to pending waves to support reader-facing milestone names in the dashboard. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- milestones(): (repoints or [{}]) guards a record whose repoints list
is empty or null — previously an IndexError as soon as any wave
dataset was merely pending/landed
- render_migration(): compute the "not yet scheduled" tile directly
from dataset_status() over the scanned datasets instead of
n_total - migrated - queued, which counted landed datasets as
unscheduled
Regression-tested with a synthetic landed record (repoints: []): the
milestone renders and the tile drops 26 → 25 as it should.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #21, from review of the live tracker page.
All datasets by series — the migration page now carries a full manifest of every static file the lectures read, grouped by the lecture series that owns the bytes today, each row showing its current hosting pattern and a migration status. Group headers carry per-series counts and a progress meter, so "how far along are we" is answerable at a glance (today: intro 19 files / 6 queued / 13 not scheduled; python.myst 6; advanced 6; programming 1; data-lectures 4 migrated).
Plan-agnostic for general readers — a reader who is not doing the migration no longer needs PLAN.md context. Statuses speak plainly (✓ migrated · copied, not yet switched · queued · not scheduled), and the wave codes (P1–P4) appear only in a new Milestones section that presents the programme itself: completed waves derived from the tracker records, upcoming waves with reader-facing titles (now carried in
migration.yml), the broad sweep over the remaining files, and the finaldata.quantecon.orgswitch. The lifecycle vocabulary (pending → landed → repointed → final) is confined to the explained per-dataset record at the bottom, and the overview page copy was aligned to match.Verified in both themes; the strict build stays green (the PR guardrail runs it against fresh clones).
🤖 Generated with Claude Code