feat!: RunicNPC v1.0.0, edge → main (runicnpc 9e step 3, merge 1 of 3) #19
Reference in New Issue
Block a user
No description provided.
Delete Branch "edge"
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?
What & why
Stage 9's release (D311, D313): everything since v0.1.0 — stages 1–9, the D320–D329 fixes from the walks, and the staging drill. Merge 1 of 3. Wait for runicnpc-rust#18 to land in
edgefirst, or this cuts v0.2.0.runicnpc-1.0.0.tar.gz+SHA256SUMS, its manifest carryingapi6, the Oxide 2.0.7726 / Carbon 2.0.259 floors andrequires_pluginsKits. It is the only download (D224).installer'sbundle.yml; the bundle cannot take it yet (the released bridge declares no RunicNPC API), which is expected until merge 2.main(D318: live only in the seven days before a forced wipe, the first from 2026-10-29).PTERODACTYL_DRILL_KEYis set, you confirmed.The order (docs/runicnpc/PLAN.md, 9e step 3)
edge→main— after runicnpc-rust#18 (thefeat!:) has merged intoedge. Releases v1.0.0.edge→main, together — after I have checked v1.0.0 (checksums, manifestapi6). The bridge and the sidecar both move protocol 12 → 13, and the bundle's Gate 1 refuses a pair that disagrees, so one without the other leaves a bundle that cannot compose.v2/rust/current.jsononinstaller'sbundlesbranch moves to protocol 13 with RunicNPC 1.0.0 in it (dispatchingbundle.ymlif a compose run lost the race).edge→main— last, once a server can actually get RunicNPC from a bundle.Please leave
edgestanding (untick "delete branch" on merge): later work lands there.After the merges: the installer's RunicNPC path and the egg's banner from the real bundle (the row the walk left for this step), then the docs PR recording step 3.
How it was tested
Each change on
edgecame in by its own PR with its own checks and rig walk (stages 4–9, the 9d player session, 9e steps 1–2).edgeis 0 commits behindmain, so this merges clean; this PR's checks are the run against the merged tree.Checklist
AI-assisted contributions (required)
Claude Code (Claude Opus 5.5). I have reviewed and understandevery change, and take responsibility for it. AI-authored commits are
marked with a
Co-Authored-By/Assisted-Bytrailer.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
The first load writes the example kits into Kits' file and asked for a Kits reload on a one-second timer. A timer dies with its plugin, so a second load of RunicNPC inside that second (the 9d session's, on Carbon) lost the reload, and examplesWritten was already set: the examples stayed refused ("no kit rnpc_juggernaut") until Kits was reloaded by hand. The kits written are now owed a reload in data/RunicNPC/state.json (kitsReloadOwed). SettleKitsReload, on every load and when Kits comes back, clears the debt once Kits knows every kit owed, and otherwise asks for the reload again, at most three times, then warns with the command to run. Oxide never showed it: loading RunicNPC recompiles and reloads Kits there (// Requires: Kits). Carbon does not. Walked on both rigs (Rust 25797215, Oxide 2.0.7815, Carbon 2.0.262): a first install landing on a running server, the interrupted state, and a debt for a kit that never exists (three reloads, the warning, no loop). The harness gains s6.examples.reloadSettled (0.7.3; compiled on the Carbon rig). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY