fix(kit): everything the acceptance run found — Phase 5 slice 3 #4
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/acceptance-findings"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 5 slice 3 (
MODULE_SYSTEM.md§2.11.1), the phase's last slice. Third of four PRs —website#148is merged (this pins to it);docs#147carries the record this references.A cold agent was given this repo and the documents it links to and nothing else — no core source, no
module-uo— and asked to build a module for a second game. It did, in one pass, without opening three of the four normative documents. Verdict yes, with caveats; the full record isdocs/modules/kit-acceptance.md. This is the repair list.The one it could not find
It had no core to render against. A module page built exactly as this kit teaches renders outside the site:
PublicLayoutis the chrome, not the body, and the wrapper core's own pages write by hand is two class names that appear in no contract. Core grew an opt-inshellprop for it (MODULE_API_VERSION1.5.0, website#148). The template passesshell="narrow", and chapter 2 explains why you name a width and never a class.Fixed
npm run check:swaggerfailed on a pristine template on Windows — the check compares the committed fragment byte-for-byte, a default Windows clone is CRLF, the generator writes LF — and the message blamed "the routes or their annotations". Nowtemplate/.gitattributespinseol=lfand the comparison normalises line endings anyway. A check may only fail for the reason it names, and this one names a diagnosis..gitea/workflows/release.ymlcarriesgitea.example.comandyour-org/your-moduleunder a literal# CHANGE THESE, was not in the rename checklist, andcheckRenameSites.jscould not match it — CI silent by construction. Row added, pattern widened.server/utils/would silently drop it from every release while the bundle check stayed green — the module dying later as astartup_failedrow on an operator's box. Inverted to an exclusion list in both flavours.template/.gitignore, so a copied template that isgit inited inherits ignore rules rather than nothing.One correction to the report itself: the agent said both workflow flavours carry placeholders. Only the Gitea one does — GitHub supplies
GITHUB_REPOSITORYand friends. Recorded inkit-acceptance.md.F5, measured rather than reasoned
A backtick is harmless — the template's own description has two Markdown spans and they survive verbatim into the fragment. A
"is not, and it does not throw:Nothing throws, so the generator's error capture has nothing to capture. The only signal is
check:swaggercalling the fragment stale, with a message blaming your routes. Both the template comment and chapter 2 now say that, and say to look for a quote first when that happens.Adopted — recommendations, not defects
The pin
Moves to website
edge4ad8b2b, the 1.5.0 bump;template/module.jsondeclares^1.5.0.checkCoreApi's equality assertion holds, and the template now uses a member that exists only at that ref and later.Verification
32 server + 18 client template tests (+3), 21 kit-script tests (+here), and all four checks green:
checkLinks58 links,checkRenameSites22 entries,checkChapterPaths34 paths,check:swaggercurrent — the last one run on this CRLF working tree, which is the one that reproduced F1.checkCoreApiverified against a local checkout at the pinned ref. The bundle loop was run by hand with aserver/utils/present, since a release workflow never executes in CI.Co-Authored-Bytrailer.