Record D11: invest in qeld, defer data.quantecon.org indefinitely - #76
Merged
Conversation
The programme carried two candidate stable interfaces without choosing: a branded host (data.quantecon.org, Track Y / #37 / #15) and the qeld package. Decision taken 2026-08-12: the package is the interface; the custom domain is deferred indefinitely. PLAN-QELD-PACKAGE.md gains D11 with the reasoning recorded in full (section 2.2): tidier lectures, print(url) keeps the URL reachable, backend freedom behind one constant interface point, info() metadata at the call site, and no forever-promise of a branded public host -- which also means #35's promotion gate never comes due unscheduled. The operational condition: qeld's base URL stays on the raw repo forms and never moves to quantecon.github.io, so the deferral stays reversible (a custom domain added later 301s the github.io form, re-creating the redirect-CORS failure for shipped wheels; raw URLs are untouched). Consequences swept through the repo so no document re-proposes the retired plan: - PLAN.md: Track Y re-scoped to the qeld plan; Phase 4's DNS box struck as deferred (measurement preserved for any revisit); rule 5's CORS acceptance criterion restated host-generically; the URL-form open decision marked settled; the licensing promotion-gate note updated - README.md / AGENTS.md: the direct URL forms are standing, not interim; qeld.url() is the consumer interface once the package ships - migration.yml: `final` redefined as qeld adoption (with the section 4.1 carve-outs terminal on the direct form), per Q1 - render_audit.py / build_catalog.py: dashboard and catalog prose no longer promise the data.quantecon.org sweep (text only, no logic) See #37 (stays open as the deferred tracker) and #15 (superseded by qeld Q6-Q7 adoption). Part of #66's decision record for the qeld plan (#65). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Records decision D11 that the project will invest in the qeld consumer package as the stable interface, and defer the data.quantecon.org custom domain indefinitely. This updates the repo’s roadmap and user-facing docs so future work doesn’t re-propose the custom-domain cutover as an “unblocked next step”.
Changes:
- Reframes “final” migration milestone from
data.quantecon.orgURL cutover to “qeld adoption” (docs + audit dashboard prose). - Updates plans and conventions to treat the raw GitHub URL forms as standing (not interim), and documents the “don’t move base URL to
quantecon.github.io” operational constraint. - Removes/rewrites references that previously promised a future
data.quantecon.orgswap, keeping linked issues (#37/#15) as deferred/superseded context.
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 |
|---|---|
| scripts/render_audit.py | Updates dashboard milestone and status-step prose to reflect “qeld adoption” as the terminal step instead of a custom-domain URL cutover. |
| scripts/build_catalog.py | Updates catalog URL-form comment to reflect that direct raw forms are standing and the domain swap was retired in favor of qeld. |
| README.md | Rewrites “Referencing data” guidance to position qeld.url('<filename>') as the stable interface, with direct URL forms as the standing fallback. |
| PLAN.md | Re-scopes Track Y to qeld (Q1–Q7), records the D11 decision, and adjusts Phase 4 to mark DNS/custom-domain work as deferred. |
| PLAN-QELD-PACKAGE.md | Adds D11 and its rationale; updates the package motivation and constraints to match the “qeld replaces host cutover” decision. |
| migration.yml | Redefines final status (comment-only) as “reads resolve through qeld.url()” rather than “reads use data.quantecon.org”. |
| AGENTS.md | Updates repo purpose/conventions to remove the pending host-transition framing and align with the D11 “qeld-first” decision. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
24 tasks
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.
The decision
The programme has carried two candidate stable interfaces without ever choosing between them: a branded host (
data.quantecon.org/lectures/<file>— Track Y, #37, #15) and theqeldpackage (#65). Decision, 2026-08-12: invest inqeld; defer the custom domain indefinitely. The recorded reasons (PLAN-QELD-PACKAGE.md §2.2, new):print(url)away sinceurl()returns a plain string.info()puts provenance, licence and citation metadata at the call site, which no URL scheme can offer.It is a commitment trade, not an effort one — #37 is two actions QuantEcon controls, while qeld Q3 "is not a weekend" — and the technical ground is level: the raw forms serve
access-control-allow-origin: *on a direct 200, so nothing consumer-facing waits on a domain.The operational condition that keeps the deferral reversible: qeld's base URL stays on the raw repo forms and never moves to
quantecon.github.io. A custom domain attached later makes GitHub 301-redirect thegithub.ioform — re-creating the redirect-CORS failure for already-shipped wheels — whereas raw URLs are untouched by Pages domain changes. On a raw-link base, reviving #37 is possible at any time for one minor release.What this PR sweeps
Every document that promised the
data.quantecon.orgcutover now records the decision instead, so no future review re-proposes it as "the nearest unblocked item":PLAN-QELD-PACKAGE.mdPLAN.mdREADME.md/AGENTS.mdqeld.url('<filename>')is the consumer interface once the package ships; carve-outs (prose links,{download}, URL-is-the-lesson) keep the direct form permanentlymigration.ymlfinalredefined: every code read resolves through qeld, §4.1 carve-outs terminal on the direct form (comment only; matches qeld Q1)scripts/render_audit.py,scripts/build_catalog.pydata.quantecon.orgsweep — text-only changes, no logic; both scripts compileDeliberately untouched: the seven manifests whose licence notes say "resolve before promoting data.quantecon.org" — those are conditional statements that remain true (the condition is now simply unscheduled), and rewriting them would churn generated-catalog inputs for no informational gain.
Issue state (recommendations, not done by this PR)
See #37, #15, #65, #66. Related: #35 (the promotion gate this defers), QuantEcon/meta#336 (the convention thread).
🤖 Generated with Claude Code