Commit Graph

690 Commits

Author SHA1 Message Date
697e00b2c4 Merge pull request 'docs(rust): protocol 13 — the reload as the rigs showed it (W1-W5, D180)' (#287) from docs/rust-protocol-13-carbon-reload into main
Reviewed-on: #287
2026-09-27 01:23:35 +00:00
b8d9740ed0 docs(rust): protocol 13 — the reload as the rigs showed it (W1-W5, D180)
PROTOCOL.md §19.1: how the reload is asked for (Carbon: c.reload on the
server console), which log is read (Carbon.Core.log on Carbon), the pinned
failure lines on both frameworks, a load confirmed by a log read, and the
compiler's give-up retried once. PLAYER_WALK.md: the Carbon reload path and
failure words as walked. PLAN_FIXES.md: D180.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-26 20:21:26 -05:00
cfa37c44e3 Merge pull request 'docs(rust): plan fixes — D176-D179, how step 1 is built' (#285) from docs/rust-plan-fixes-step1 into main
Reviewed-on: #285
2026-09-26 22:22:21 +00:00
259049bdc0 Merge pull request 'docs(rust): protocol 13 opens — the configuration save that answers first (PROTOCOL.md §19)' (#286) from docs/rust-protocol-13-config into main
Reviewed-on: #286
2026-09-26 22:21:37 +00:00
b9d8689061 docs(rust): protocol 13 opens — the configuration save that answers first (PROTOCOL.md §19)
§19 starts protocol 13 with its first piece: config.write answers pending
with a writeId and ceilingMs, a reload fails on the framework log's evidence
under a 30 s ceiling judged by what is loaded, a rollback waits for the
restore, and the outcome is a staff-class config.outcome event (F9, F10,
D178). F15's UTF-8 decode rides in the same release. §11.4 points at the
amendment; §2 says 13. PLAYER_WALK.md's configuration steps now expect
"Saved. Reloading…", add a cold-compile save and a non-ASCII save, use
Kits' chat command instead of a ZoneManager setting that does not exist
(D-2), and name Carbon's failure wording as the thing step 4 pins.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-26 17:19:14 -05:00
d72ccd56dd docs(rust): plan fixes — D176-D179, how step 1 is built
F15 waits for protocol 13 (D176); F9 and F10 open that bump on edge in all
three repos (D177); a reload fails on the log's evidence under a 30 s
ceiling with a loaded check before any restore (D178); the configuration
page polls the write until it settles (D179).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-26 16:55:23 -05:00
f015772425 Merge pull request 'docs(rust): plan fixes — D173 quests, D174 title rules, D175 admin-owned titles' (#284) from docs/rust-plan-fixes-quests into main
Reviewed-on: #284
2026-09-26 21:36:12 +00:00
e5255f021a Merge pull request 'docs(rust): plan fixes — D169-D172, the org lead's answers' (#283) from docs/rust-plan-fixes-answers into main
Reviewed-on: #283
2026-09-26 21:35:56 +00:00
0319f6b26e docs(rust): plan fixes — D175 titles are defaults admins can replace
The twenty-three title names in §4.6 are the module's defaults. An admin
can set their own title per category, once for the site, and it
supersedes the default on every server; clearing it restores the
default. A rule's own text still wins over both. §4.6 describes the
three layers on top of phase 17's rust_title_rules (stat grows from
three values to the twenty-three categories).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-26 16:34:54 -05:00
7743cec1fb docs(rust): plan fixes — D173 quests are Rust's own missions, D174 title rules
D173: "Quests completed" (Wayfarer) counts the missions Rust's NPCs
already hand out; no quest plugin. uMod's catalogue names no mission
hook and CARBON.md lists none, so the detailed plan starts with a rig
spike: a framework hook if one exists at build time, else reading the
player's mission list at each tally flush, else a D168 helper patch.
D174 adopts §4.6's recommended title rules (best columns for kill
distance, weapon-class kills count every credited kill, killing-blow
credit for APC/heli, heals of others only).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-26 16:32:38 -05:00
7834ef1a88 docs(rust): plan fixes — D169-D172, the org lead's answers
D169 every fix and redesign lands before Module-Rust's cutover. D170 an
expired zone is marked expired on the site (F14 moves from "by design"
to a fix, amending D96). D171 Steam sign-in moves to the website's own
plan as part of the base website. D172 chat titles use all twenty-three
listed conditions under new names: §4.6 is now a table of condition,
title and the hook that feeds it, plus what the detailed plan must
settle (best-value columns, weapon classes, vehicle-kill credit, heals
of others, quests). PLAN.md §35 and the rust README follow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-26 16:27:52 -05:00
dc6c5a72fd Merge pull request 'docs(rust): plan fixes — the first player walk's findings, gating the cutover' (#282) from docs/rust-plan-fixes into main
Reviewed-on: #282
2026-09-26 21:26:49 +00:00
8afe53b3db Merge pull request 'docs(modules): a site runs one module (decision 35)' (#263) from docs/one-module-per-site into main
Reviewed-on: #263
2026-09-26 21:26:20 +00:00
96fb7e1807 Merge pull request 'docs(tree): sync installer/PROJECT_TREE.md' (#280) from chore/sync-installer-tree into main
Reviewed-on: #280
2026-09-26 21:26:01 +00:00
c0d6cab0e9 docs(rust): plan fixes — the first player walk's findings, gating the cutover
PLAN_FIXES.md plans what the Oxide pass of PLAYER_WALK.md found on
2026-09-26: fifteen fixes (F1-F15, F15 corrupts every non-ASCII
site-to-game string including config saves; F9 rolls back valid config
edits on a cold compile), the interface and walk-doc corrections, and the
org lead's decisions D159-D168 (D160 reverses D31: the site owns every
permission and group). Recommends the fixes land before Module-Rust's
cutover (phase 19) and the redesigns follow it.

PLAN.md gains a pointer in its status line and §35; the rust README lists
the new file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-26 16:20:42 -05:00
runic-docs-bot
6a61e66f9f docs(tree): sync installer/PROJECT_TREE.md from RunicGateway/installer@3a3676a [skip ci] 2026-09-26 15:46:48 +00:00
7bd4eaec76 Merge pull request 'docs(rust): phase 18 as built — the Rust operator guide, bundle schema 2, D154-D158, and the walk' (#281) from docs/rust-phase-18-built into main
Reviewed-on: #281
2026-09-26 15:40:58 +00:00
7505ee9ba7 docs(rust): §34.5 — step 6 on Carbon and step 7 on Debian 12, both on releases
Rust-Link v0.1.3 (bundle 2026.09.26.5) walked on the egg-carbon server by a
REGEN reinstall; installer v0.3.1 walked on Debian 12. Records installer#34.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-26 10:10:35 -05:00
85d52c69dc docs(rust): §34.5 — steps 6-7, the Carbon launcher, and the glibc floor (D158)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-26 04:47:49 -05:00
42419c1bfa docs(rust): PLAN §34.5 — as built, D154-D157, and what the walk found
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-26 04:14:13 -05:00
7bbe9fa5ef docs(rust-link): a sidecar refuses a plugin that names another server (D155)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-26 01:22:53 -05:00
5d7633c051 docs(rust): the Rust operator guide and bundle schema 2 (phase 18, draft)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-25 23:42:34 -05:00
758c9ad038 Merge pull request 'docs(rust): phase 18 plan of record — the installer and the egg (PLAN §34, D145–D153)' (#279) from docs/rust-phase-18 into main
Reviewed-on: #279
2026-09-26 03:35:39 +00:00
9e4b7bcbbd docs(rust): phase 18 plan of record — the installer and the egg (PLAN §34, D145–D153)
Rust-Link and Rust-Plugins release and cut over here; bundle schema 2 for
both games beside schema 1; named Rust instances in the installer; a
Windows service for the sidecar; the plugin's server id from the
environment; the egg with a wipe guard and a pinnable bundle.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-25 22:33:58 -05:00
181a686bbd Merge pull request 'docs(rust): phase 17 as built and walked — protocol 12, D144 (PLAN §33.5–§33.7, M19)' (#278) from docs/rust-phase-17-built into main
Reviewed-on: #278
2026-09-25 23:30:47 +00:00
a5d918207b docs(rust): phase 17 as built and walked — protocol 12, D144 (PLAN §33.5-§33.7, M19)
- PLAN.md §33.5 as built (D144: the plugin keeps its titles on disk, after
  the walk found a hot reload emptied them), §33.6 the walk on both rigs,
  §33.7 findings; the phase row marked built.
- PROTOCOL.md §18: titles.set, a group's BetterChat style on perm.sync,
  chat.say delivery and format, integrations, rg.titles, POST /titles. The
  header's current version moves from a stale 10 to 12.
- PLAYER_WALK.md: the steps that need a person in the game.
- android/PLAN.md M19 as built.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-25 18:25:43 -05:00
a16e6b6f22 Merge pull request 'docs(rust): phase 17 plan of record — BetterChat and popups (PLAN.md §33, M19)' (#277) from docs/rust-phase-17 into main
Reviewed-on: #277
Reviewed-by: Colby Whitlock <whitlocktech@gmail.com>
2026-09-25 19:55:17 +00:00
06c06e7bcb docs(rust): phase 17 plan of record — BetterChat and popups (PLAN.md §33, M19)
The optional-integration tier (R15), with the org lead's decisions D134-D143:
BetterChat titles from operator rules (also on the web and in the app), all
twelve chat fields on a site-authored group under R2's drift posture, that
style as the voice of news and event lines, and PopupNotifications made
optional as a delivery choice. Protocol 12.

The uMod Clans adapter is dropped (D134). R5's claim that the plugin has no
read API is corrected (a second grep artefact), and D54's promised
leadership sharpening is withdrawn: OnClanUpdate is the plugin's own clans.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-25 14:53:07 -05:00
1ddd397158 Merge pull request 'docs(rust): phase 16 as built and walked (PLAN.md §32.5–32.7, M18)' (#276) from docs/rust-phase-16-built into main
Reviewed-on: #276
2026-09-25 19:18:02 +00:00
a38c2da80b docs(rust): phase 16 as built and walked (PLAN.md §32.5-32.7, M18)
D133: the Admin → Rust servers page the plan assumed existed. The as-built
record for the five slash commands and the next wipe, the seven-step walk
(all passed), and the findings. android/PLAN.md M18 marked built.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-25 13:42:59 -05:00
2b9d2d1a75 Merge pull request 'docs(rust): phase 16 plan of record — slash commands and the next wipe (PLAN.md §32)' (#275) from docs/rust-phase-16 into main
Reviewed-on: #275
2026-09-25 18:10:35 +00:00
ec727ef648 docs(rust): phase 16 plan of record — slash commands and the next wipe (PLAN.md §32)
D126-D132: five read-only commands; any answer narrower than public goes
to the caller alone (D127); an operator-set next wipe (rule + one-off
date) shown on the web, in the app and by /wipe; module-uo /guild's
public-answer leak filed as Module-uo#46. Android PLAN gains M18.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-25 13:02:09 -05:00
57421314b1 Merge pull request 'docs(rust): phase 15 as built — the map and events on a phone (PLAN.md §31.5–§31.7)' (#274) from docs/rust-phase-15-built into main
Reviewed-on: #274
2026-09-25 17:42:56 +00:00
42a0482a9e docs(rust): phase 15 as built — the map and events on a phone (PLAN.md §31.5–§31.7)
- PLAN.md §31.5: what was built in website and Android-app, where the
  build departed from §31.2, and the seven-step emulator walk.
- §31.6: what the walk found: the zoom lost twice (fixed), the tally a
  stand-in cannot feed, the off-grid row the frame clamps, the "wiped
  Dec 31, 1" header, the card that outlives its marker.
- §31.7: what is not proven (a real player, a counted tally, a UO site).
- Phase row 15 and the Android plan's M17 marked built and walked.
- EVENTS.md § API surface: the public calendar's run entries carry
  runId (D125). BACKEND_DESIGN defers event routes to that table.
- PLAYER_WALK.md: the map and events on a phone, for the person-parts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-25 12:30:49 -05:00
a3fcc42a57 Merge pull request 'docs(rust): phase 15 plan of record — the map and events on a phone (PLAN.md §31)' (#273) from docs/rust-phase-15 into main
Reviewed-on: #273
2026-09-25 12:23:46 +00:00
ed4d9f52d3 docs(rust): phase 15 plan of record — the map and events on a phone (PLAN.md §31)
Android leg D. D121-D125: the map drawn natively in Compose as a fifth
tab gated on `map`, polled every 10 s; a site-event marker opening the
app's own event page, which needs runId on core's public calendar
entries; and M13 walked against a Rust run. Android plan gains M17.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-25 07:22:19 -05:00
f28a098e95 Merge pull request 'docs(rust): phase 14 as built — the live map (PLAN.md §30.6–§30.9, PROTOCOL.md §17)' (#272) from docs/rust-phase-14-built into main
Reviewed-on: #272
2026-09-25 11:59:51 +00:00
6fdb081087 docs(rust): phase 14 as built — the live map (PLAN.md §30.6–§30.9, PROTOCOL.md §17)
- PLAN.md §30.6: D119 (the grid label is the game's own, MapHelper) and D120
  (Leaflet as a lazy chunk), both asked mid-build.
- §30.7: what was built, where it departed from §30.2, and the eight-step
  walk on both rigs against real core.
- §30.8: what the walk found — UserIDString empty for a server-made player,
  the game now renders its map at every boot for Facepunch's map-image
  service, and `app.port -1` reaches the game as `1`.
- §30.9: what needs people in the game.
- PROTOCOL.md §17 for protocol 11, and a note in §8 that `grid` is the game's
  own label from protocol 11 (D119).
- PLAYER_WALK.md: the map walk.
- The phase 14 row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-25 06:31:54 -05:00
1538b4e9cd Merge pull request 'docs(rust): phase 14 plan of record — the live map (PLAN.md §30)' (#271) from docs/rust-phase-14 into main
Reviewed-on: #271
2026-09-25 05:08:01 +00:00
0222adb49a docs(rust): phase 14 plan of record — the live map (PLAN.md §30)
A rig probe found that R9's .map file is terrain data, not a picture,
and that Rust+ already caches the rendered JPEG, while the game's own
render stalls the main thread for 8.5 s. D109-D118 from the org lead;
R9 amended by D110; phase 14 row updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-24 23:39:29 -05:00
af0e86e367 Merge pull request 'docs(rust): phase 13b as built — the rewards (PLAN.md §29.6–29.9, PROTOCOL.md §16)' (#270) from docs/rust-phase-13b-built into main
Reviewed-on: #270
2026-09-24 13:01:07 +00:00
86dc0ac804 docs(rust): phase 13b as built — the rewards (PLAN.md §29.6–29.9, PROTOCOL.md §16)
- PLAN.md §29.6: D106 (the news switch is a card on the visibility page),
  D107 (tally.open behind EventsEnabled), D108 (a tally is forgotten seven
  days after it opened).
- §29.7 as built: where the build departed from §29.3 (presence asked of
  ZoneManager, idem_key on the run-grant rows, fixed-choice sources) and
  the walk, on both rigs, without a player.
- §29.8 findings: real core refused a camelCase option-source id; Carbon
  refuses a grant to a Steam id it has never seen; panel-created data
  directories are not game-writable.
- §29.9 what is not proven: the player half, now PLAYER_WALK.md's rewards walk.
- PROTOCOL.md §16: protocol 10 — the tally, kits.list, kit credits on
  perm.sync, chat.say, three bounds, the sidecar's five routes.
- The 13b phase row, and §9/§10 correction notes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-24 07:49:00 -05:00
5777e0757c Merge pull request 'docs(rust): phase 13b plan of record (PLAN.md §29)' (#269) from docs/rust-phase-13b into main
Reviewed-on: #269
2026-09-24 11:33:08 +00:00
fb12b18efc docs(rust): phase 13b plan of record (PLAN.md §29)
The rewards half of phase 13, written before its code: the participation
tally counted by the game, rust.kit.entitle through the site mirror's per-run
rows plus one extra kit use per reward, and rust.announce with the announce
leg. Records D98-D105 (org lead, 2026-09-24), the Kits 4.4.9 facts they rest
on, the catalogue, what each repo builds, the eight-step walk, and four
readings left open for review.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-24 05:31:01 -05:00
37bc06234d Merge pull request 'docs(rust): phase 13 plan, and 13a as built (PLAN.md §28, PROTOCOL.md §15)' (#268) from docs/rust-phase-13 into main
Reviewed-on: #268
2026-09-24 10:07:16 +00:00
a39d860123 docs(rust-link): make the events walk's zone checks runnable
ZoneManager's listing command is `zone_list`, and it has no command that
says who is inside a zone. The zone steps now use `rgp.inzone`, a rig-only
probe command that asks ZoneManager's own IsPlayerInZone for every connected
player. They also no longer claim rg.hooks counts zone entries: the bridge
subscribes to those hooks in 13b.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-24 04:11:14 -05:00
c385de7155 docs(rust-link): the events player walk, and the permission walk's protocol-9 note
PLAYER_WALK.md gains the events walk: the checks phases 12 and 13a left for a
person on the rig (a kit unlocking under a group-permission lease, standing
in a zone, a zone surviving a restart, looting and killing what an event
placed, a zone expiring around a player, and spawn.max_* with players on).
The permission walk now says it can only pass on protocol 9, because the
phase-7 owner bug made its steps 1-3 impossible on Oxide until then.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-24 04:09:52 -05:00
9c46b06172 docs(rust): phase 13a as built — protocol 9, D96–D97, the walk and its findings
- PLAN.md §28.5–28.8: two more org-lead decisions (D96 required zone minutes
  held by the game; D97 one placing verb per kind, because core infers cap
  boxes from examples), the seven-step walk on both rigs, the defect a
  mid-run restart found (the reconcile asked a world that had not loaded and
  the plugin pruned live crates) and its fix, and what is not proven.
- PROTOCOL.md §15: protocol 9 — the five world commands, the registry keyed
  by the website's key, what a restart and a wipe do, `worldReady`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-24 03:14:49 -05:00
0de9d7f90d docs(rust): phase 13 plan of record — split 13a/13b, D80–D95 (PLAN.md §28)
Phase 13 splits into 13a (the world verbs, the ownership registry and the
boot/wipe reconcile watch) and 13b (the participation tally, the kit
entitlement and announce). Records the org lead's sixteen decisions and the
rig facts they rest on: monument names repeat, crates keep their net id
across a restart while NPCs do not, and ZoneManager erases a plugin's
temporary zones when that plugin unloads. Also links the three core
findings phase 12 raised, now filed as website#205-#207.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-09-24 00:36:33 -05:00
68989c247b Merge pull request 'docs(rust): phase 12 — the leases (PLAN.md §27, PROTOCOL.md §14)' (#267) from docs/rust-phase-12 into main
Reviewed-on: #267
2026-09-24 04:02:45 +00:00