Files
Integration-kit/ci/core-ref.json
wtclaude 1c7d6151c7
All checks were successful
PR Checks / prose (pull_request) Successful in 11s
PR Checks / template (pull_request) Successful in 36s
ci(core-ref): pin to the Teams cutover, where 1.6.0 reached main
The two mechanical lines the phase owed. template/module.json already declares
^1.6.0; this is the sha that makes checkCoreApi agree with it, which it could
not do until the cutover landed - the check is an equality against a core on
main, and 1.6.0 had only ever been on edge.

The `why` block records what the check bought this time rather than just what it
is for. Writing the chapters against 1.6.0 is what found that core's inverted
slot fills named three of module-uo's slots literally, so the direction worked
for that one module and silently did nothing for any other game. A book written
for an audience outside this org is exactly the instrument that finds that, and
it was fixed in core before this pin moved.

Also: the pin skipped the Teams `edge` entirely. The kit is written against what
shipped, never against what is in flight.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 04:02:24 -05:00

37 lines
2.0 KiB
JSON

{
"repo": "https://gitea.whitlocktech.com/RunicGateway/website.git",
"branch": "main",
"ref": "963d734dcc09580a7d8bb676370b4faf9b8727b2",
"why": [
"The core this kit is written against, pinned to a commit rather than a branch.",
"This one is the Teams cutover, the commit MODULE_API_VERSION 1.6.0 reached",
"`main` on, and 1.6.0 is what template/module.json declares. It moved here from",
"the 1.5.0 bump because Teams expanded the contract the book teaches: the",
"template now registers a Team provider and declares slots for core to fill,",
"and both are members that exist only at this ref and later.",
"",
"Moving this pin is the moment someone re-reads the chapters: CI asserts the",
"version template/module.json declares still equals this core's",
"MODULE_API_VERSION, so a contract bump turns this repo red on purpose",
"(MODULE_SYSTEM.md 2.11.1 d2, 2.10).",
"",
"That mechanism earned its keep this time. Writing the chapters against 1.6.0",
"found that core's inverted-slot fills named three of module-uo's slots",
"literally, so the direction worked for that one module and silently did",
"nothing for any other game - an empty page with nothing logged. That is the",
"exact class of thing a book written for an audience outside this org is meant",
"to catch, and it was fixed in core before this pin moved.",
"",
"The branch said `edge` until 2026-08-12, when the module system cut over and",
"that branch was deleted (MODULE_SYSTEM.md 2.9). Teams cut a second `edge` and",
"this pin skipped it entirely: the kit is written against what shipped, never",
"against what is in flight. Nothing in CI reads the branch field - it clones",
"the repo and checks out the sha - which is why a wrong label here would sit",
"unnoticed. It is for the person deciding whether a newer core is worth",
"re-reading the book for.",
"",
"Same convention as Module-uo's ci/core-ref.json, deliberately - one file, one",
"sha, reviewable in a diff."
]
}