Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/staging-drill-20"
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
The staging drill failed on Rust staging 26341433 (#20) and then on 26344826 (#22). This PR makes the drill trustworthy again and carries the swap's new field list. It does not fix the three fight checks that still fail on staging. Those are the next step, and both issues stay open for them.
Plugin: the swap's field list (D232) gains
BasePlayer.timeSinceAiming,BaseEntity.ServerPreProcessedandBaseNetworkable.ignoreNetworkLod, so there are 58 fields instead of 55. The fix lands onedgenow and goes tomainat the forced wipe on Thu 2026-11-05, after Rust's public update. Until then, a public server boots with a "fields this Rust no longer has" warning.Harness 0.7.4 (
tools/RunicNpcTest.cs):Placeputs its spots on the navmesh, searching up to 15 m. The set checks print RunicNPC's refusal text (run 49: "4.4 m from the navmesh").place.spawnedends its group cleanly. Run 47 readeach[0]from an empty list there and died silently.<group>.exceptionFAIL line, and the run goes on to# done all.Drill (
tools/drill/drill.js):rnhrevolverkit. RunicNPC then writes its example kits at this Rust's durabilities (run 47'sfullConditionfailure was a stale kit file). The first attempt deleted Kits' file and reloaded Kits after boot through the panel's command endpoint. That reload never happened (run 48: no compile job, so every test profile was refused). The add-after-boot is kept as a fallback, now sent through the console websocket, and it reports a finding if Kits doesn't load again.latest.loggoes into the issue.tools/drill/drill.test.jscovers the pure parts and runs inpr-checks.yml.README.mdis updated with the field count and how the drill starts. The plan note is in RunicGateway/docs,docs/runicnpc-staging-drill-20.Refs #20, #22. Stale example kits on a real server are tracked in #21.
How it was tested
node --check tools/drill/drill.jspasses.node --test tools/drill/drill.test.js: 9 pass. It also passes from a clean checkout withouttools/rigs.json.node scripts/checkPlugin.jspasses: "plugin ok — API 6, 24 API call(s), 12 hook(s) declared, requires Kits".node --test scripts/checkPlugin.test.js: 24 pass.forceagainst Rust staging:fields same,npc=58/58, compile ok. The harness ran to# done allwith the exception guard working. 73 checks failed because of the kit problem described above.4fb935d): static half clean. 250 pass and 5 fail, with no stall.fullConditionpasses now.place.set.each(fixed afterwards incf3997b, not re-run yet) pluss5.fight.shootBack,s5.kit.healands5.fight.leash. Those three are left for the next step.Checklist
AI-assisted contributions (required)
Claude Code (Claude Opus 5.5; Sonnet 5.5 subagents for research and implementation). 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