Skip to content

Add repoint rule 3: publish before deleting, because the site lags main - #44

Merged
mmcky merged 2 commits into
mainfrom
rules/publish-lag
Aug 6, 2026
Merged

Add repoint rule 3: publish before deleting, because the site lags main#44
mmcky merged 2 commits into
mainfrom
rules/publish-lag

Conversation

@mmcky

@mmcky mmcky commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Records the ordering constraint that produced this migration's first reader-facing breakage, and sharpens rule 2 with what today demonstrated.

Rule 3 — the published site lags main

Rules 1 and 2 protect the repositories. Neither protects the published site.

lecture-python-intro publishes on a publish* tag, not on push to main. Merging a repoint therefore does not refresh the live site: the already-published notebooks keep the old URL, and if the same PR deleted the file, that URL 404s.

Set 1 proved it rather than predicted it. After QuantEcon/lecture-python-intro#823 merged, the notebook served at intro.quantecon.org still carried …/lecture-python-intro/raw/main/lectures/datasets/mpd2020.xlsx — verified returning 404 — and stayed that way until a publish was tagged. Last publish before that had been 2026-07-17, twenty days earlier, so the window was not short.

What makes it nasty is that nothing reports it. The rendered HTML is unaffected, because figures are baked at build time — the pages look perfectly correct. Neither repo's CI exercises a published notebook. The damage lands only on readers who download the lecture or open it in Colab, which for a computational series is the audience that matters most.

So a repoint set becomes two phases: repoint the URLs keeping the files → publish → delete in a follow-up PR. One extra PR per set, and no window at any point.

Publish triggers differ per repo, so the rule includes a table rather than a blanket instruction. lecture-wasm publishes on push to main and self-heals; deleting a mirror-orphan nothing reads never needs the split either.

Rule 2, sharpened

It was written as a constraint on the tracker flip. Today showed it binds the lecture PRs equally: QuantEcon/lecture-wasm#53 merged ahead of QuantEcon/lecture-python-intro#824, partially repointing both datasets and leaving main failing on each until the second lands.

Documentation only — no data, manifests or scripts touched.

Part of #8. Set 2's QuantEcon/lecture-python-intro#824 is already restructured to phase 1 under this rule.

Copilot AI lite review requested due to automatic review settings August 6, 2026 06:51

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

Updates the repository’s repointing guidance to capture a newly observed ordering failure mode: lecture sites that publish from tags can lag main, creating reader-facing 404 windows even when repos/CI are green.

Changes:

  • Expands PLAN.md “Repoint rules” from three to four rules; adds a new Rule 3 (“repoint, publish, then delete”) and sharpens Rule 2 with a concrete observed failure case.
  • Updates AGENTS.md to reflect the additional ordering trap and to document the “publish before deleting” constraint for tag-published lecture sites.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
PLAN.md Adds the new repoint ordering rule about publish lag and refines rule-2 guidance with an observed incident.
AGENTS.md Updates the “repointing traps” section to include the publish-lag ordering constraint alongside existing repoint sequencing rules.

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

Comment thread AGENTS.md
Comment thread AGENTS.md Outdated
Comment thread PLAN.md Outdated
mmcky and others added 2 commits August 6, 2026 17:46
…eleting

Rules 1 and 2 protect the repositories. Neither protects the PUBLISHED SITE,
and that gap is where the first real reader-facing breakage happened.

lecture-python-intro publishes on a `publish*` tag, not on push to main. So
merging a repoint does not refresh the live site -- the already-published
notebooks keep the old URL, and if the same PR deleted the file, that URL
404s. Set 1 demonstrated it: after lecture-python-intro#823 merged, the
notebook served at intro.quantecon.org still carried the deleted
mpd2020.xlsx path, and stayed broken until a publish was tagged.

What makes it nasty is that nothing reports it. The rendered HTML is fine --
figures are baked at build time, so the pages look correct -- and neither
repo's CI exercises a published notebook. The breakage lands only on readers
who download or open the lecture in Colab, which for a computational series
is the audience that matters most.

So a repoint set is two phases: repoint the URLs keeping the files, publish,
then delete in a follow-up. Costs one extra PR per set; leaves no window.
Publish triggers differ per repo and the table says which need the split --
lecture-wasm publishes on push to main and self-heals, and deleting a
mirror-orphan nothing reads never needs it.

Rule 2 is also sharpened. It was written as a constraint on the tracker flip,
but 2026-08-06 showed it binds the lecture PRs equally: lecture-wasm#53 merged
ahead of lecture-python-intro#824 and left main failing on both files until
the second landed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Three valid comments, all documentation defects introduced by the rule-3
commit.

AGENTS.md said "three ordering traps" above a list of four bullets. Adding
rule 3 pushed the count without updating the header. PLAN.md already had this
right -- rules 1-3 are ordering, rule 4 is scope, numbered separately -- so
AGENTS.md now matches that split rather than merely correcting the numeral:
the scope rule gets its own subheading, because it is a different kind of rule
and burying it in an ordering list was the actual mistake.

"mirror-orphan" appeared in both files and was defined in neither. It now
reads as what it is -- a copy no lecture reads in either repo, typically one a
repo committed alongside its mirrored sources while the lecture fetches the
other repo's copy by URL -- with the term kept parenthetically for anyone who
has met it in the audit output.

Checking that turned up slightly more than the comments flagged: plain
"orphan" is not defined in AGENTS.md either, so a reader previously hit two
undefined terms in one sentence. The rewrite removes the dependency on both.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mmcky
mmcky force-pushed the rules/publish-lag branch from 51f53cf to 805f263 Compare August 6, 2026 07:46
@mmcky
mmcky merged commit a57801a into main Aug 6, 2026
1 check passed
@mmcky
mmcky deleted the rules/publish-lag branch August 6, 2026 07:49
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