Skip to content

Apex publish broken since #1535: the catalog refresh wiped 40 course lesson specs #1540

Description

@gHashTag

What broke

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:

  • 33 course-only specs vanished: 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);
  • 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.

Activity

  1. added a commit that references this issue on Oct 8, 2026
    1b85101
  2. gHashTag commented on Oct 8, 2026

    @gHashTag
    OwnerAuthor

    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).

  3. gHashTag commented on Oct 8, 2026

    @gHashTag
    OwnerAuthor

    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.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions