Delete committed dataset orphans (Track X) - #844
Conversation
These files are committed but read by nothing: the audit at https://quantecon.github.io/data-lectures/audit.json (2026-08-31 run) lists them under orphans, and an authenticated content sweep of 407 repositories (283 QuantEcon org repos plus the forks of the six holding repos, by basename, positive and negative controls in the same pass) on 2026-09-01 found no reader of these paths. Tracker: QuantEcon/workspace-lectures#57. The two World Bank files were superseded when the GDP-per-capita lecture moved to data-lectures and their QuantEcon/data copy was dropped at Phase 2; fig_3.ods is the source-format twin of fig_3.xlsx, referenced by nothing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
short_path regenerates graph.txt with %%file before reading it, so the committed bytes are never consumed (the build prints 'Overwriting graph.txt'). Every consumer in the organisation embeds the data the same way since QuantEcon/lecture-wasm#63. One reader outside the organisation fetches this repo's committed copy by URL at runtime: devopseng99/project.lecture-wasm book/short_path.md:276. Decision recorded on QuantEcon/workspace-lectures#57: accept the outside-org exposure, as for the earlier deletions in QuantEcon/workspace-lectures#38 — the project can embed the data as this lecture does. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
A local run of short_path.md writes lectures/graph.txt into the working tree; ignoring it prevents the deleted copy from being re-committed by a later git add -A. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
✅ Deploy Preview for taupe-gaufre-c4e660 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Pull request overview
Removes orphaned, unreferenced dataset artifacts and deletes a committed graph.txt that is regenerated during the short_path.md lecture execution, preventing it from being accidentally re-committed.
Changes:
- Deleted the committed
lectures/graph.txt(its contents are embedded and rewritten via%%fileinshort_path.md). - Deleted an unreferenced World Bank metadata CSV under
lectures/datasets/. - Added
lectures/graph.txtto.gitignoreto prevent re-commits of the regenerated file.
Reviewed changes
Copilot reviewed 2 out of 5 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
lectures/graph.txt |
Removes a committed graph data file that is generated during lecture execution. |
lectures/datasets/Metadata_Country_API_NY.GDP.PCAP.CD_DS2_en_csv_v2_4770417.csv |
Deletes an orphaned dataset metadata file with no in-repo references. |
.gitignore |
Ignores regenerated lectures/graph.txt to prevent accidental re-commit. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Validation (2026-09-01, preview |
Deletes the three unreferenced files under
lectures/datasets/and the shadowedlectures/graph.txt, in separate commits, and addslectures/graph.txtto.gitignoreso a local run ofshort_path.mdcannot re-commit it.datasets/GDP_per_capita_world_bank.csvdatasets/Metadata_Country_API_NY.GDP.PCAP.CD_DS2_en_csv_v2_4770417.csvdatasets/fig_3.odsfig_3.xlsx; referenced by nothinggraph.txtshort_pathregenerates it with%%filebefore reading it — the build printsOverwriting graph.txt— so the committed bytes are never consumedPublished surface: none.
lectures/datasets/and the lectures root sit outsidehtml_static_path, and all four paths are 404 on intro.quantecon.org today (_static/qe-logo.png200 control). Their only reader surface wasraw.githubusercontent.com, so this deletion is complete on merge — no settle window, no rows for QuantEcon/workspace-lectures#40.The
graph.txtdecision. One reader outside the organisation fetches this repo's committed copy by URL at runtime:devopseng99/project.lecture-wasmbook/short_path.md:276(still HTTP 200 today). Recorded on QuantEcon/workspace-lectures#57 before this PR was opened: accept the outside-org exposure, the same ruling as QuantEcon/workspace-lectures#38 — the lectures are open source, that project is a snapshot its owner controls, and the one-line remedy is to embed the data with%%fileexactly as this lecture does. Inside the organisation the same 4,691-byte blob is committed in eight other repos (lecture-dp,lecture-intro.zh-cn,lecture-python.zh-cn,test-actions-lecture-intro,lecture-dp.monorepo,ipynb_pdf_constructor,QuantEcon.lectures.code,QuantEcon.jl), none of them read by URL; the lecture-repo copies are deleted in this set, the rest are out of scope.Sibling:
lecture-wasmdeletes its mirror copies of the two World Bank files in the PR of the same title;lecture-intro.zh-cndeletes the same four paths. Nothing in either reads this repo's copies.Deletion-time reader sweep (2026-09-01). Authenticated tarball-and-grep pass over 407 repositories: all 283 QuantEcon org repos (70 private, 26 archived;
numfocus,quantecon-book-dpandtest-cliare empty and unfetchable) plus 130 forks of the six holding repos (2 returned 404 and are recorded as not-swept rather than clean). Matched by basename, not URL, with each hit's three preceding lines folded in because URLs get split across source lines. Controls fired in the same pass: a never-existing basename returned 0 hits and 0 copies, and both known readers were found — the Englishpython_advanced_features.mdexercise link totest_table.csv, anddevopseng99/project.lecture-wasm's runtime fetch of intro'sgraph.txt. Result: no repository reads any path this PR deletes. Every other co-occurrence of these basenames is a%%fileembed, prose, a.gitignoreline, or review text; the pre-MySTmaster/source/…reads in old course repos have been dead since the MyST migration and are unaffected.Part of the Track X orphan sweep, QuantEcon/workspace-lectures#57 (one PR per holding repo, identical titles). Source list: https://quantecon.github.io/data-lectures/audit.json
orphans, 2026-08-31 run.🤖 Generated with Claude Code