{ "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." ] }