Skip to content

Promote the dp set into the pool (first promotion batch)#2

Open
mmcky wants to merge 1 commit into
mainfrom
promote/dp-set
Open

Promote the dp set into the pool (first promotion batch)#2
mmcky wants to merge 1 commit into
mainfrom
promote/dp-set

Conversation

@mmcky

@mmcky mmcky commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

First M2 promotion batch: the dp lecture set — 49 lectures + 27 assets — promoted from the reconstructed mirrors into the flat lectures/ pool, with full provenance in sync/ledger.yml. Produced by tools/promote --toc dp-test --exclude dp (the tool landed on main in 2584fb2, built via an implement → adversarial-review → live-test pipeline).

Posture

Per PLAN's M2 sandbox rule, the batch anchors on dp-test (the disposable lecture-dp.monorepo test double) with the real dp series excluded from consideration. That puts the 10 drifted lectures' canonical home on a repo we may edit — which is exactly what lets the upcoming drift-check demo and --refresh exercise happen without touching any live repo. At the M3 switch-over the ledger's dp-test provenance is mechanically re-pointed at the real dp (bytes re-verified).

What the batch contains

Promoted 49 lectures (52 toc entries − 3 product pages: intro, zreferences, status)
Canonical homes advanced 19 · intermediate 19 · dp-test 10 (all interim) · intro 1
Assets 27 files; 9 multi-consumer assets under _static/_shared/ (the gpu.md admonition ×11 includes; the opt_tax_recur/amss2/chang_credible .py families), the rest under _static/<slug>/
Dedup the 39 byte-identical dp copies collapse to their canonical homes, dp-test recorded as second source

The 10 interim entries are the same-name-different-bytes copies (9 diverge from intermediate, 1 from advanced; the visible cause is intersphinx-form link rewrites). The pool takes the dp-side copy, flagged interim: true, with every divergent copy's sha256 digest recorded — the baseline the drift-check needs. Canonical triage stays an M3 act, per PLAN.

Invariants verified

Every pool file equals its canonical mirror copy transformed by the ordered literal replacements recorded in its ledger entry — replayed and byte-compared for all 49. A second run is a zero-diff no-op. promoted_at pins match sync/state.yml. No unreferenced asset was copied (pool asset set == ledger assets map exactly). Collisions on differing bytes hard-error. Every source and divergent entry carries a per-source content digest.

Worth an eyeball in review

The interim entries (odu, lqcontrol are representative); the gpu.md include rewrite (_admonition/gpu.md_static/_shared/_admonition/gpu.md in 11 lectures); the lecture_specific/<dir>_static/<slug>|_shared moves; the ledger's shape as the contract the drift-check will consume.

Known deferrals (deliberate)

Later series batches must include an asset's existing consumers when it gains a second consumer (the tool hard-errors rather than silently relocating — this is the documented runbook behaviour, not a bug). Clearing interim: is an explicit per-slug re-promotion after M3 triage. The pool carries no quant-econ.bib yet — the bib merge is its own M2 work item, so pool citations don't resolve until it lands. Remaining M2 deliverables (drift-check CI, tools/assets-report + _shared where-used index, CI invariant checks, PR signpost bot) follow separately.

Next after merge: the sandbox drift demo — edit a dp-test-canonical lecture in the test double, let the sync re-pin, and demonstrate --refresh re-promoting with a correct ledger update; then the drift-check job itself.

🤖 Generated with Claude Code

Produced by: tools/promote --toc dp-test --exclude dp

Canonical homes: advanced 19, intermediate 19, dp-test 10 (all interim,
divergent copies recorded with digests for M3 triage), intro 1. The 39
byte-identical dp copies collapse to their canonical homes with dp-test
recorded as a second source. Shared assets (the gpu.md admonition x11
and the opt_tax_recur/amss2/chang_credible .py families) land under
_static/_shared/; per-lecture assets under _static/<slug>/.

Verified: applying each ledger entry's ordered rewrites to its canonical
mirror copy reproduces the pool copy byte-for-byte (49/49); a second run
is a zero-diff no-op; promoted_at pins match sync/state.yml; no orphan
assets copied.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 9, 2026 11:59

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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

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