docs(kit): pin core 1.17.0; teach 1.13.0 to 1.17.0 and one module per site #15

Merged
whitlocktech merged 1 commits from docs/core-1.17.0 into main 2026-10-23 02:07:44 -05:00
Member

What & why

This is the kit re-pin agreed during the Rust cutover: a separate PR after stage 6. ci/core-ref.json moves from 0a37a44 (1.12.0) to 6890a74 (1.17.0, website#220), the commit where 1.13.0 to 1.17.0 reached main. The chapters were read again for each version:

Version What it adds Where the kit teaches it
1.13.0 templates, a param's duration, a lease's example, an option row's note Chapter 5, including a new "Templates" section and step 8 of "What to build, in order"
1.14.0 a param's multiple and max Chapter 5
1.15.0 a retry's retryAfterMs Chapter 5, trap 1
1.16.0 a dry run's detail.warnings Chapter 5, beside verify
1.17.0 onIdentityLinking / onIdentityLinked, ctx.identities.list Chapter 2, a new section; the call count is corrected to nineteen

Two core changes in that cutover carried no version bump, and the kit teaches both:

  • A site runs one game module (W19). The loader now refuses a second directory at boot. Chapter 1 says so, because a reader copying the template onto a UO or Rust core is exactly who it surprises: examplegame sorts first, so theirs starts and the site's own module does not.
  • A resource's until is read at reconcile (W1). Chapter 5 covers it next to ctx.events.expired().

The template declares none of the new members, so nothing it does changed meaning. template/module.json's coreApi becomes ^1.17.0 for the equality check. The kit still never re-specifies the contract: each passage names its MODULE_API version and links out.

How it was tested

Everything pr-checks.yml runs, locally, against .core at 6890a74:

  • checkCoreApi (^1.17.0 = 1.17.0), checkLinks (74), checkRenameSites (32 files) and checkChapterPaths (37) all pass, and so do the script tests (10 and 11).
  • The template's check:imports, client build, check:externals and check:swagger pass.
  • Tests pass: server 82, client 20.
  • The real core run. The template, copied in as examplegame, registered through the pinned core's own loader. Copied in again beside module-uo, examplegame started and uo was refused at manifest with "this site already runs the module "examplegame", and a site runs one module…", as chapter 1 now describes.

Checklist

  • I have read CONTRIBUTING.md.
  • The change builds and existing tests/checks pass locally.
  • I have added or updated tests/docs where it makes sense.
  • My commits are reasonably scoped with clear messages.

AI-assisted contributions (required)

  • AI tools were used. Tool(s): Claude Code (Claude Opus 5.5). I have reviewed and understand every change, and take responsibility for it. AI-authored commits are marked with a Co-Authored-By trailer.

License

  • I agree that my contribution is licensed under this project's license (GNU GPL v3.0 or later), and I have the right to contribute it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

## What & why This is the kit re-pin agreed during the Rust cutover: a separate PR after stage 6. `ci/core-ref.json` moves from `0a37a44` (1.12.0) to **`6890a74` (1.17.0, website#220)**, the commit where 1.13.0 to 1.17.0 reached `main`. The chapters were read again for each version: | Version | What it adds | Where the kit teaches it | |---|---|---| | 1.13.0 | templates, a param's `duration`, a lease's `example`, an option row's `note` | Chapter 5, including a new "Templates" section and step 8 of "What to build, in order" | | 1.14.0 | a param's `multiple` and `max` | Chapter 5 | | 1.15.0 | a retry's `retryAfterMs` | Chapter 5, trap 1 | | 1.16.0 | a dry run's `detail.warnings` | Chapter 5, beside `verify` | | 1.17.0 | `onIdentityLinking` / `onIdentityLinked`, `ctx.identities.list` | Chapter 2, a new section; the call count is corrected to nineteen | Two core changes in that cutover carried no version bump, and the kit teaches both: - **A site runs one game module** (W19). The loader now refuses a second directory at boot. Chapter 1 says so, because a reader copying the template onto a UO or Rust core is exactly who it surprises: `examplegame` sorts first, so theirs starts and the site's own module does not. - **A resource's `until` is read at reconcile** (W1). Chapter 5 covers it next to `ctx.events.expired()`. The template declares none of the new members, so nothing it does changed meaning. `template/module.json`'s `coreApi` becomes `^1.17.0` for the equality check. The kit still never re-specifies the contract: each passage names its MODULE_API version and links out. ## How it was tested Everything `pr-checks.yml` runs, locally, against `.core` at `6890a74`: - `checkCoreApi` (^1.17.0 = 1.17.0), `checkLinks` (74), `checkRenameSites` (32 files) and `checkChapterPaths` (37) all pass, and so do the script tests (10 and 11). - The template's `check:imports`, client build, `check:externals` and `check:swagger` pass. - Tests pass: server 82, client 20. - **The real core run.** The template, copied in as `examplegame`, registered through the pinned core's own loader. Copied in again beside module-uo, `examplegame` started and `uo` was refused at `manifest` with *"this site already runs the module "examplegame", and a site runs one module…"*, as chapter 1 now describes. ## Checklist - [x] I have read [CONTRIBUTING.md](CONTRIBUTING.md). - [x] The change builds and existing tests/checks pass locally. - [x] I have added or updated tests/docs where it makes sense. - [x] My commits are reasonably scoped with clear messages. ## AI-assisted contributions (required) - [x] AI tools were used. Tool(s): `Claude Code (Claude Opus 5.5)`. I have reviewed and understand every change, and take responsibility for it. AI-authored commits are marked with a `Co-Authored-By` trailer. ## License - [x] I agree that my contribution is licensed under this project's license (**GNU GPL v3.0 or later**), and I have the right to contribute it. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-10-23 02:01:47 -05:00
docs(kit): pin core 1.17.0; teach 1.13.0 to 1.17.0 and one module per site
Some checks failed
PR Checks / template (pull_request) Failing after 12s
PR Checks / prose (pull_request) Successful in 14s
5b3f5a5d54
The pin moves from 0a37a44 (1.12.0) to 6890a74 (1.17.0, website#220),
past 1.13.0 to 1.16.0, which reached main in the same cutover. The
chapters were read again for all five versions:

- Chapter 5: a lease's example, an option row's note, a param's
  duration (1.13.0) and multiple (1.14.0), a retry's retryAfterMs
  (1.15.0), a dry run's warnings (1.16.0), and a new section on
  templates (1.13.0). "What to build, in order" gains a template as
  step 8.
- Chapter 2: a new section on the identity-link hooks and
  ctx.identities.list (1.17.0). The call count is corrected to
  nineteen; it said twelve, which was already stale at 1.10.0.
- Two core changes in that cutover carried no version bump, and both are
  taught. Chapter 1 now says a site runs one game module and the loader
  refuses the others, since a reader copying the template onto a UO or
  Rust core is the one it surprises. Chapter 5 now covers a resource's
  `until`, which reconcile reads.

The template declares none of the new members, so nothing it does
changed meaning. template/module.json's coreApi becomes ^1.17.0 for the
equality check.

Checks run at the new pin:
- checkCoreApi, links, rename sites and chapter paths all pass, and so
  do the script tests (10 and 11).
- The template's imports, build, externals and swagger checks pass.
- Tests pass: server 82, client 20.
- The template was loaded as `examplegame` into a real core of this code
  through core's own loader, and it registered. Loaded again beside
  module-uo, examplegame started and uo was refused with the reason
  chapter 1 quotes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit 50e28dc3bd into main 2026-10-23 02:07:44 -05:00
whitlocktech deleted branch docs/core-1.17.0 2026-10-23 02:07:46 -05:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RunicGateway/Integration-kit#15
No description provided.