You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Apex publish broken since #1535: the catalog refresh wiped 40 course lesson specs #1540
Since merge commit 8e81487 (PR #1535, the t27 world scan catalog refresh, 2026-10-08 09:42Z) the apex publish fails: gHashTag/ghashtag.github.io run 37758579139 dies in npm run build -> prebuild -> node scripts/course-from-spec.mjs with 47 problems.
Why
Course PRs committed lesson specs straight into apps/website/public/t27/files/, the tree scripts/sync-t27-specs.mjs wipes and re-vendors from gHashTag/t27 master. The refresh did exactly that, so:
7 corpus specs the courses had corrected reverted to t27 master, which the vendored wasm compiler reports as not clean: specs/numeric/phi_ratio.t27 (151 discarded), specs/math/phi_split_optimality.t27 (131), specs/math/radix_economy.t27 (59), specs/fpga/uart.t27 (12), specs/fpga/spi.t27 (73), specs/fpga/top_level.t27 (57), specs/fpga/bridge.t27 (6 typecheck errors).
The world scan's catalog gates never ran check:course, and a PR opened with the workflow token starts no website-checks, so nothing caught it before merge.
Where the truth belongs
In gHashTag/t27. Every one of the 40 files has an upstream PR in gHashTag/t27 with the same blobs: t27#7799 (the 27 specs/basics lessons) and t27#7496, t27#7659, t27#7579, t27#7586, t27#7626 (the other 13).
Done when
node scripts/course-from-spec.mjs --check passes on main and the apex publish is green;
the world scan refuses a refresh that drops or breaks a lesson spec.
Fixed on main by #1539 (cec67b3). The upstream half is in gHashTag/t27: #7799 adds the 27 specs/basics lessons; #7496 (GoldenFloat corrections), #7659 (uart, spi, bridge, top_level), #7579 (coverage), #7586 (mmcm, mtbf, reset_sync) and #7626 (rgmii, eth_crc) carry the other 13. Until they merge, the sync keeps the course's own copies (the lesson-specs rule in #1539).
Fixed by #1539, and the apex publishes again. "Publish website from trinity" run 37775991945 succeeded at 12:37 UTC. The apex now carries 827a6e3 ("from trinity 32ed4e5"), and t27/files/specs/basics/19_use_other_modules.t27 is back on the site.
What #1539 changed: the 40 missing or unclean lesson specs were restored. The sync now keeps a lesson spec whenever the scan's copy is missing or not teachable. The world scan redraws course pages, gates on check:course and check:course-pages, and dispatches website-checks on its own branch. #1544 updates check:discovery to allow that dispatch.
What broke
Since merge commit 8e81487 (PR #1535, the
t27 world scancatalog refresh, 2026-10-08 09:42Z) the apex publish fails: gHashTag/ghashtag.github.io run 37758579139 dies innpm run build->prebuild->node scripts/course-from-spec.mjswith 47 problems.Why
Course PRs committed lesson specs straight into
apps/website/public/t27/files/, the treescripts/sync-t27-specs.mjswipes and re-vendors from gHashTag/t27 master. The refresh did exactly that, so:specs/basics/01..27(127ac93, course 0),specs/fpga/coverage.t27(cb62daf),specs/fpga/{mmcm,mtbf,reset_sync}.t27(6c745c4),specs/fpga/{eth_crc,rgmii}.t27(6518d5c, course: buses-and-peripherals -- 27 lessons, 33 casts, 392 pages (Closes #1484) #1516);specs/numeric/phi_ratio.t27(151 discarded),specs/math/phi_split_optimality.t27(131),specs/math/radix_economy.t27(59),specs/fpga/uart.t27(12),specs/fpga/spi.t27(73),specs/fpga/top_level.t27(57),specs/fpga/bridge.t27(6 typecheck errors).The world scan's catalog gates never ran
check:course, and a PR opened with the workflow token starts nowebsite-checks, so nothing caught it before merge.Where the truth belongs
In gHashTag/t27. Every one of the 40 files has an upstream PR in gHashTag/t27 with the same blobs: t27#7799 (the 27
specs/basicslessons) and t27#7496, t27#7659, t27#7579, t27#7586, t27#7626 (the other 13).Done when
node scripts/course-from-spec.mjs --checkpasses on main and the apex publish is green;