docs(runicnpc): 9e step 2 — the Carbon Kits reload, found and fixed (D329) #331

Merged
whitlocktech merged 1 commits from docs/runicnpc-9e-step2 into main 2026-10-09 07:09:27 +00:00
Member

What & why

RunicNPC stage 9e, step 2: check the Carbon Kits-reload finding on a real first boot.

  • A real first boot does not meet it. With the example kits removed and examplesWritten reset, the Carbon rig booted, wrote the kits, and Kits reloaded by itself (refused: -). A c.load and the file landing on a running server healed the same way.
  • Cause, read from the rig's own log of the session: RunicNPC was loaded again within the one second before its c.reload Kits timer fired. The timer died with the plugin, and examplesWritten was already set, so nothing asked again. Oxide never shows it, because loading RunicNPC recompiles and reloads Kits there too.
  • D329 (the org lead chose the fix over recording it): the reload is owed in state.json until Kits has the kits. Any later load finishes the job, with at most three tries and then a warning.

Files:

  • runicnpc/PLAN.md: D329 and "9e step 2, as built".
  • runicnpc/API.md: the two new state.json fields.

Code: RunicGateway/runicnpc-rust#17.

How it was tested

See runicnpc-rust#17: three cases on both rigs (Rust 25797215, Oxide 2.0.7815, Carbon 2.0.262).

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)

  • No AI tools were used to produce this contribution.
  • 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 / Assisted-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 RunicNPC stage 9e, step 2: check the Carbon Kits-reload finding on a real first boot. - **A real first boot does not meet it.** With the example kits removed and `examplesWritten` reset, the Carbon rig booted, wrote the kits, and Kits reloaded by itself (`refused: -`). A `c.load` and the file landing on a running server healed the same way. - **Cause, read from the rig's own log of the session:** RunicNPC was loaded again within the one second before its `c.reload Kits` timer fired. The timer died with the plugin, and `examplesWritten` was already set, so nothing asked again. Oxide never shows it, because loading RunicNPC recompiles and reloads Kits there too. - **D329 (the org lead chose the fix over recording it):** the reload is *owed* in `state.json` until Kits has the kits. Any later load finishes the job, with at most three tries and then a warning. Files: - `runicnpc/PLAN.md`: D329 and "9e step 2, as built". - `runicnpc/API.md`: the two new `state.json` fields. Code: RunicGateway/runicnpc-rust#17. ## How it was tested See runicnpc-rust#17: three cases on both rigs (Rust 25797215, Oxide 2.0.7815, Carbon 2.0.262). ## 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) - [ ] No AI tools were used to produce this contribution. - [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` / `Assisted-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-09 07:08:44 +00:00
A real Carbon first boot does not meet it: the automatic Kits reload took. The
session's failure was a second load of RunicNPC inside the one second before
its Kits reload timer fired, which died with it; Oxide never shows it because
loading RunicNPC reloads Kits there too. D329 (the org lead's choice): the
reload is owed in state.json until Kits has the example kits, three tries at
most. API.md describes the two new state fields. Code: runicnpc-rust#17.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit 6e4877cc13 into main 2026-10-09 07:09:27 +00:00
whitlocktech deleted branch docs/runicnpc-9e-step2 2026-10-09 07:09:27 +00:00
Sign in to join this conversation.
No description provided.