From 8fa421047738cdc9cfe4a34317af2e2ae9724d95 Mon Sep 17 00:00:00 2001 From: wtclaude Date: Wed, 12 Aug 2026 18:05:44 -0500 Subject: [PATCH] chore(ci): the pinned core is on `main` now, not `edge` The module system cut over on 2026-08-12 and website's `edge` branch was deleted, so `ci/core-ref.json` named a branch that no longer exists. The sha did not move. The pinned commit is an ancestor of `main`, the contract is still MODULE_API_VERSION 1.5.0, and no chapter changed - this is a label correction, not a re-pin, and deliberately not the moment d2 exists to create. Nothing in CI reads the `branch` field: the workflow clones the repo and checks out the sha, which is both why the cutover could not break the build and why a wrong label here would have sat unnoticed indefinitely. The field is for the person deciding whether a newer core is worth re-reading the book for, and a branch that no longer exists tells them nothing. The `why` block now says which half is load-bearing. checkCoreApi.js's not-a-core error also asserted that core `main` "has none until the cutover", which stopped being true at the same merge. A reader hitting that message would have gone looking for a cutover that already happened - the kit's own lesson from the CRLF defect, that a failure message naming a diagnosis has to be right about it, applied to the kit's own scripts. Verified both paths: the check still passes against a real core (^1.5.0 vs 1.5.0), and the rewritten message renders as intended. checkLinks, checkRenameSites and checkChapterPaths all clean. Co-Authored-By: Claude --- ci/core-ref.json | 15 ++++++++++----- scripts/checkCoreApi.js | 5 +++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/ci/core-ref.json b/ci/core-ref.json index 358c111..e9ab5f2 100644 --- a/ci/core-ref.json +++ b/ci/core-ref.json @@ -1,6 +1,6 @@ { "repo": "https://gitea.whitlocktech.com/RunicGateway/website.git", - "branch": "edge", + "branch": "main", "ref": "4ad8b2bb0ede2747622075dcfa4cb1fe460f91ca", "why": [ "The core this kit is written against, pinned to a commit rather than a branch.", @@ -15,10 +15,15 @@ "MODULE_API_VERSION, so a contract bump turns this repo red on purpose", "(MODULE_SYSTEM.md 2.11.1 d2, 2.10).", "", - "The branch is `edge`, not `main`, and that is not a mistake: the module system", - "has not cut over yet and core's `main` has no server/src/modules/ at all", - "(MODULE_SYSTEM.md decision 11). This pin is one of the things that cutover has", - "to revisit.", + "The branch said `edge` until 2026-08-12, when the module system cut over", + "and that branch was deleted (MODULE_SYSTEM.md 2.9). The SHA DID NOT MOVE:", + "the pinned commit is an ancestor of `main`, so this is a label correction", + "and not a re-pin - the contract is still 1.5.0 and no chapter changed.", + "Nothing in CI reads this field; it clones the repo and checks out the sha,", + "which is why the cutover could not break the build and why a wrong label", + "here would have sat unnoticed. It is for the person deciding whether a", + "newer core is worth re-reading the book for, and a branch that no longer", + "exists tells them nothing.", "", "Same convention as Module-uo's ci/core-ref.json, deliberately - one file, one", "sha, reviewable in a diff." diff --git a/scripts/checkCoreApi.js b/scripts/checkCoreApi.js index 3b655f4..4304c45 100644 --- a/scripts/checkCoreApi.js +++ b/scripts/checkCoreApi.js @@ -43,8 +43,9 @@ const versionFile = path.resolve(corePath, 'server/src/modules/version.js') if (!fs.existsSync(versionFile)) { console.error(`checkCoreApi: ${versionFile} does not exist.`) console.error(' Either --core does not point at a website checkout, or the pin in') - console.error(' ci/core-ref.json names a ref with no module system in it (core `main`') - console.error(' has none until the cutover — see that file).') + console.error(' ci/core-ref.json names a core from before the module system existed') + console.error(' (it reached `main` at the 2026-08-12 cutover, so any ref older than') + console.error(' that on `main` has no server/src/modules/ at all).') process.exit(1) } -- 2.49.1