Commit Graph

847 Commits

Author SHA1 Message Date
b846c0c6b4 docs(events): a trigger can start a run (Rust §14.3 stage 9, D370)
- EVENTS.md §E "Starting a run from a trigger": `starts`, the third
  emit subscriber, the four rules (verified, one at a time, cooldown,
  no event.*), the run's origin, and what is deliberately not in it.
  §D: event_runs.origin and a twelfth table, event_trigger_starts.
  API surface: triggerStarts on GET /admin/events/:id, origin on the
  run console.
- BACKEND_DESIGN.md: event_runs.origin and event_trigger_starts.
- PLAN_REDESIGNS §14.3.21: stage 9 as built, eight settled-in-code
  points, tests and the Module-uo proof; pointers in §9, §14.3.11 and
  §14.3.12. This ends the §14.3 build.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-16 01:52:16 -05:00
5f769c6e05 Merge pull request 'docs(rust): take Server Rewards off the plan (D381)' (#355) from docs/drop-server-rewards into main
Reviewed-on: #355
2026-10-16 06:22:26 +00:00
58167ccac8 docs(rust): take Server Rewards off the plan (D381)
The org lead does not want Server Rewards. D381 records it and amends
D350, D369, D375 and D377; §14.3.7 becomes a dropped note, the wire
table loses points.*, the tally's points and the sidecar's /points/*
routes, and stage 8 of §14.3.11 is struck. Nothing had been built.
§14.2.1's test findings stay as a record.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-16 01:12:02 -05:00
03f572121a Merge pull request 'docs(rust): stage 7 built — ZLevels (PROTOCOL §20.10, PLAN_REDESIGNS §14.3.20)' (#354) from docs/zlevels into main
Reviewed-on: #354
2026-10-16 06:10:06 +00:00
8ca6a6cc40 docs(rust): stage 7 built — ZLevels (PROTOCOL §20.10, PLAN_REDESIGNS §14.3.20)
PROTOCOL.md §20.10: hello's integrations.zLevels, and nothing more
(D374). PLAN_REDESIGNS §14.3.20 records the build, two points settled in
code, the tests and the rig check; pointers from §9's summary and
§14.3.6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-15 18:27:59 -05:00
3d69b32b50 Merge pull request 'docs(rust): stage 6 built — Guarded Crate (PROTOCOL §20.9, PLAN_REDESIGNS §14.3.19, D380)' (#353) from docs/guarded-crate into main
Reviewed-on: #353
2026-10-15 23:18:19 +00:00
a305e98e05 docs(rust): stage 6 built — Guarded Crate (PROTOCOL §20.9, PLAN_REDESIGNS §14.3.19, D380)
- rust-link/PROTOCOL.md §20.9: hello's guardedCrate with npcSpawn and events,
  gc.started/ended/failed, gc.place and gc.error's reasons, guardedWon, map.live's
  guarded rows and how they are kept, POST /gc/place, and the website side.
  §17.3's world row gains guarded.
- modules/rust/PLAN_REDESIGNS.md: D380 (the kept crate's run-log note at
  placement), §14.3.19 the stage record, pointers from §9 and §14.3.5.
- modules/rust/OPERATING.md: Runic Gateway's own section on Guarded Crate and
  NpcSpawn (install, images, what it contacts at load), after the uMod mirror.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-15 12:26:53 -05:00
966ba41deb Merge pull request 'docs(rust): stage 5 built — Dangerous Treasures (PROTOCOL §20.8, PLAN_REDESIGNS §14.3.18)' (#352) from docs/dangerous-treasures into main
Reviewed-on: #352
2026-10-15 12:04:13 +00:00
fa696e9c84 docs(rust): stage 5 built — Dangerous Treasures (PROTOCOL §20.8, PLAN_REDESIGNS §14.3.18)
- rust-link/PROTOCOL.md §20.8: hello's integrations.dangerousTreasures; the
  dt.started / dt.won / dt.ended events and their fields; dt.start, dt.opened
  and the dt.error reasons (dt-not-ready, dt-no-spot, refused among them); the
  tally's treasuresWon; map.live's treasure rows and their seed; the sidecar's
  POST /dt/start; and the website side (classes, per-viewer reading, triggers,
  the step, Treasure Hunter). §17.3's world row gains `treasure`.
- modules/rust/PLAN_REDESIGNS.md §14.3.18: the stage-5 record. Three things
  §14.3.4 had wrong or unsaid (the key's join is exact; "started" is the hook,
  never DT's text, with a fourth outcome `refused`; the Carbon walk row now
  expects the step to work), ten points settled in code, the tests, the rig
  compile and the walk rows. Pointers from §9's summary and §14.3.4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-15 06:45:33 -05:00
8829222f18 Merge pull request 'docs(rust): stage 4 built — Dynamic PVP's zones (PROTOCOL §20.7, PLAN_REDESIGNS §14.3.17)' (#351) from docs/dynamic-pvp into main
Reviewed-on: #351
2026-10-15 11:17:27 +00:00
586bc81566 docs(rust): stage 4 built — Dynamic PVP's zones (PROTOCOL §20.7, PLAN_REDESIGNS §14.3.17)
- rust-link/PROTOCOL.md §20.7: hello's integrations.dynamicPvp, the two
  events and their fields, the sphere/cube shape and the live position, the
  quiet while the world is not live, map.live's pvp layer and its seed from
  Dynamic PVP's own API, and the website's classes, per-viewer reading and
  fifth map layer. §17.3's table gains the pvp row.
- modules/rust/PLAN_REDESIGNS.md §14.3.17: the stage-4 record — three things
  §14.3.3 had wrong or unsaid (the seed, cube zones, cargo's moving zone),
  eight points settled in code (all overrulable), the tests and the rig
  compile. Pointers from §9's summary and §14.3.3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-15 06:12:08 -05:00
386bd83707 Merge pull request 'docs(rust): stage 3 built — TruePVE in the zone step (PROTOCOL §20.6, PLAN_REDESIGNS §14.3.16)' (#350) from docs/truepve-zone into main
Reviewed-on: #350
2026-10-15 11:05:57 +00:00
65c57cec36 docs(rust): stage 3 built — TruePVE in the zone step (PROTOCOL §20.6, PLAN_REDESIGNS §14.3.16)
- rust-link/PROTOCOL.md §20.6: hello's integrations.truePve, world.zone's
  truePve (exactly one of exclude and ruleset, all or nothing, the
  refusals), the unmapping on every erase path with truepve.json for
  while TruePVE is away, rg.world's two fields, and the website's two
  params. The §15 command table points at it.
- modules/rust/PLAN_REDESIGNS.md §14.3.16: the stage-3 record, ten points
  settled in code (all overrulable), TruePVE's one-second save, the tests
  and the rig compile. Pointers from §9's summary and §14.3.2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-15 05:47:27 -05:00
bf2524aa6c Merge pull request 'docs(events): a step's retry delay, MODULE_API 1.15.0 (PLAN_REDESIGNS §14.3.15)' (#349) from docs/event-step-retry-after into main
Reviewed-on: #349
2026-10-15 07:44:49 +00:00
7d51820bfe docs(events): a step's retry delay, MODULE_API 1.15.0 (PLAN_REDESIGNS §14.3.15)
- MODULE_API.md: 1.15.0, the failure envelope's retryAfterMs (clamped to
  one to thirty minutes, one attempt, ignored beside retry: false), the
  rule bullet and the registration line.
- EVENTS.md §F: the envelope rule and the flat delay as a default.
- STEAM_SIGNIN.md: its module contract moves to 1.16.0.
- PLAN_REDESIGNS: §14.3.15, the stage-2 record (six settled points, the
  test-harness gap found on the way), and pointers from §9's summary and
  §14.3.13.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-15 02:41:12 -05:00
9e501719d0 Merge pull request 'docs(rust): stage 1 built — world events on protocol 14 (PROTOCOL §20.5, D378, D379)' (#348) from docs/rust-world-events-stage1 into main
Reviewed-on: #348
2026-10-15 07:18:43 +00:00
adf197e5f8 docs(rust): stage 1 built — world events on protocol 14 (PROTOCOL §20.5, D378, D379)
- rust-link/PROTOCOL.md §20.5: `world.event` and its 24 types (the type in
  `event`, not the envelope's `type`), the credit block, the tally's two
  counts, `world.call`, hello's `console`, the sidecar forward and the site.
- modules/rust/PLAN_REDESIGNS.md: D378 (the Chinook is called with no
  position) and D379 (`chinook.downed` counts toward Rotorbane), both the org
  lead's on 2026-10-15; §14.3.14, the stage-1 record: the placement spike, the
  seven changes the build found (among them a correction to §14.2.1: Carbon
  refuses plugin console commands only inside a console command, so the
  bridge's own path works), what was settled in the code, the tests and the
  walk rows it adds; pointers from §14.3.1 and §14.3.8.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-15 00:39:01 -05:00
0ada1e4f26 Merge pull request 'docs(rust): the §14.3 integration plan for world events and six plugins (D370–D377)' (#347) from docs/rust-integration-plan-14-3 into main
Reviewed-on: #347
2026-10-15 02:30:14 +00:00
3505eacdfc docs(rust): D377, the leaderboard changes only for new, substantial things
The org lead confirmed that new titles may add their columns (Safecracker,
Scavenger, Treasure Hunter, Warden, Hoarder) and that a small plugin's own
numbers, such as ZLevels' levels, never become leaderboard columns.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-14 21:29:13 -05:00
2163bf7aeb docs(rust): record the answers to Q26-Q32 (D370-D376)
D370 a trigger can start a run: core's `starts` (trigger, conditions,
cooldown, one run at a time), written as §14.3.12. D371 a step's
retryAfterMs, written as §14.3.13, used by DT's warm-up. D372 the operator
picks the helicopter/Bradley credit rule (killing blow, last hit, most
damage, everyone); the plugin sends every candidate and the site counts,
amending D174. D373 a guarded crate outlives its run. D374 no leaderboard
change for ZLevels, so its levels wire and table are dropped. D375
Treasure Hunter, Warden, Hoarder. D376 the public line names a player
only for the presence audience. Build order is now nine stages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-14 21:26:25 -05:00
d99c8e15b5 docs(rust): the §14.3 integration plan for world events and six plugins (Q26-Q32)
Writes PLAN_REDESIGNS §14.3 from the §14.2 test phase and D353-D369:
Rust's own world events as one world.event kind (23 types), a step that
calls a vanilla event, Safecracker and Scavenger; TruePVE in the zone
step; Dynamic PVP on the map; Dangerous Treasures and Guarded Crate steps,
feed, triggers and counts; ZLevels levels and Server Rewards points as
per-server values. No helper plugin, installer and egg untouched, all on
protocol 14. Settled points are listed as overrulable, Q26-Q32 asked, and
a seven-stage build order proposed. §9 item 9 points at it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-14 19:14:00 -05:00
4f9a3a245d Merge pull request 'docs(rust): record the §14.2 test phase findings and answers (D361–D369)' (#346) from docs/rust-test-phase-14-2 into main
Reviewed-on: #346
2026-10-15 00:06:01 +00:00
907a09e777 docs(rust): record the answers to Q19-Q25 (D363-D369)
- D363: watch Carbon's updates; keep Rust-Plugins#34 open (no workaround yet).
- D364: a missing NpcSpawn is reported and refused.
- D365: DT warm-up says why, auto-retries once, and staff get a manual retry.
- D366: one bradley.destroyed event carrying launch_site | road.
- D367: satellite crash, Deep Sea open/close and the ghost ship crate join
  §13; the F-15 flyover is decoration an event can call, not an event.
- D368: zone step gets a "no PvP protection" checkbox plus a typed ruleset.
- D369: wipes mirror ZLevels and Server Rewards.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-14 18:58:21 -05:00
b22892c8cf docs(rust): record the §14.2 test phase findings (D361-D362, Q19-Q25)
Ran the single test phase for Rust's own world events and the six optional
plugins on both rigs (Rust 25902425, Oxide 2.0.7830, Carbon 2.0.262), then
restored both rigs from backups.

- §14.2.1: what each native event and each plugin raised, with arguments,
  timings and traps; the all-together run; things found outside the plan.
- D361 (Guarded Crate may depend on NpcSpawn) and D362 (our teardown removes
  our TruePVE mappings), the org lead's rulings during the phase.
- Q19-Q25 for the integration plan, led by Q19: on this Rust build Carbon's
  ConsoleSystem.Run cannot reach plugin or c.* commands, which also breaks
  the bridge's Carbon reload (D180).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-14 06:54:46 -05:00
95e81ecb54 Merge pull request 'docs: plan Rust's world events, six optional plugins, and Steam sign-in (D349–D360)' (#345) from docs/rust-native-events-optional-plugins into main
Reviewed-on: #345
2026-10-14 10:10:48 +00:00
52bf9ca203 docs: record Q12-Q18 (D353-D359) and plan Steam sign-in on the website (D360)
The org lead answered §13's and §14's questions on 2026-10-14:
D353 public feed with name and grid, staff adds the Steam id; D354 an
event can call a vanilla event, kept at teardown; D355 every world event
is a trigger; D356 Safecracker and Scavenger; D357 protocol 14; D358
BotReSpawn stays out; D359 the end walk waits for RaidableBases (against
the proposal), recorded in §9 too.

D360: Steam sign-in in the same manner as Google and Discord, kept on
the website's plan (D171). New website/STEAM_SIGNIN.md (OpenID 2.0
adapter, the build per repo, security, tests, Q1-Q4), indexed in the
README, linked from PLAN_REDESIGNS §15 and PLAN_FIXES §4.8, and on the
roadmap as the website milestone "Steam sign-in" (website#214).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-14 05:09:26 -05:00
6959f764db docs(rust): plan Rust's own world events and six more optional plugins (D349-D352)
PLAN_REDESIGNS gains two sections from the 2026-10-14 plugin survey:

- §13: the patrol helicopter, Bradley, cargo, the Chinook, airdrops and
  locked crates reach the feed and the event system in the base module
  (D349). What exists today, the proposed events, and Q12-Q16 (feed
  audience, a step that calls one, triggers, new counts, protocol).
- §14: TruePVE, Dynamic PVP, Dangerous Treasures, Guarded Crate, ZLevels
  and Server Rewards as first-class optional plugins (D350), Duelist left
  out. D351: as few helpers as possible, nothing that runs afoul of a
  licence. D352: one test phase for all of them on both rigs (§14.2),
  then one integration plan (§14.3). The routes read from each plugin's
  current source, what is not included and why, and Q17-Q18 (BotReSpawn,
  whether the end walk waits for RaidableBases).

The header, the item table, §9's build order and the end walk, and §10's
decisions table follow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-14 05:02:36 -05:00
c314b48b90 Merge pull request 'docs(tree): sync website/PROJECT_TREE.md' (#337) from chore/sync-website-tree into main
Reviewed-on: #337
2026-10-14 09:37:22 +00:00
501d0e741f Merge pull request 'docs(rust): RaidableBases deferred for the current paid copy; both editions supported (D347, D348)' (#344) from docs/rust-raidablebases-editions into main
Reviewed-on: #344
2026-10-14 09:35:32 +00:00
ff40f56a74 docs(rust): RaidableBases deferred for the current paid copy; both editions supported (D347, D348)
PLAN_REDESIGNS §11.4.2 now records a source reading of the only paid copy
on hand (3.0.5, 2025-05-03) against uMod's free 3.2.2: what both share
(the 17-argument hooks, rbevent, every member the helper reached) and where
3.0.5 differs (difficulty list, GetAllEvents, a callable position and
difficulty spawn, no BypassUseOwners(), seabed spawns, paid-only hooks,
no lockout hook).

D347: no §11.4 code until the org lead supplies the current paid copy and
its spike has run. D348: every part supports either edition by the best
route each offers, and says so where there is none. Header and §9 updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-14 04:33:27 -05:00
runic-docs-bot
b17c44c942 docs(tree): sync website/PROJECT_TREE.md from RunicGateway/website@a981b2b [skip ci] 2026-10-13 01:03:55 +00:00
b622383cc5 Merge pull request 'docs(events,rust): MODULE_API 1.14.0's multiple param; permission rewards built (PLAN_REDESIGNS §12.10)' (#343) from docs/event-param-multiple into main
Reviewed-on: #343
2026-10-13 01:02:42 +00:00
2b5e3f9c7d docs(events,rust): MODULE_API 1.14.0's multiple param; permission rewards built (PLAN_REDESIGNS §12.10)
- website/MODULE_API.md: 1.14.0 in §1.1 and the changelog — `multiple: true`
  with `max` on a string/int action param, the JSON-array value, a bare value
  as a list of one, refused on a duration, a template input and a list
  example; the catalog serves both keys; the editor's multi-select;
  Module-uo unaffected. §2.4's registerEventActions line names it.
- website/EVENTS.md §F: the param that holds several values and its control.
- modules/rust/PLAN_REDESIGNS.md §12.10: built in website#213 and
  Module-Rust#42, with the eight points settled in code, overrulable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-12 15:50:50 -05:00
54aa9e2ed8 Merge pull request 'docs(rust): plan permission rewards — lend or give any registered permission (PLAN_REDESIGNS §12, D342–D346)' (#342) from docs/rust-perm-rewards-plan into main
Reviewed-on: #342
2026-10-12 20:21:44 +00:00
3fb56f8ad2 docs(rust): plan permission rewards — lend or give any registered permission (PLAN_REDESIGNS §12, D342–D346)
Two event steps over the permission catalogue, picked by plugin then
permission: rust.perm.lend (until the run ends, a kit reward's lease) and
rust.perm.give (for good, a standing grant, irreversible). Several
permissions per step through a new `multiple` action-param flag in core
(MODULE_API 1.14.0). No blocklist; a required "I am sure" toggle instead.
No plugin, sidecar or protocol change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-12 14:50:05 -05:00
ff3f97219f Merge pull request 'docs(rust): protocol 14 — Backpacks, as built; D340, D341 (PROTOCOL §20.4, PLAN_REDESIGNS §11.3.4)' (#341) from docs/rust-backpacks-build into main
Reviewed-on: #341
2026-10-12 19:40:56 +00:00
8c3975dddd docs(rust): protocol 14 — Backpacks, as built; D340, D341 (PROTOCOL §20.4, PLAN_REDESIGNS §11.3.4)
- PROTOCOL §20.4: hello's integrations.backpacks.sizes, backpacks.read and its
  reply (display, blueprint, overflow, pageSize), the refusals, the sidecar
  forward, and the site's routes and Bigger backpack step.
- PLAN_REDESIGNS: D340 (a slot shows the game's name, no icons; R9 stands) and
  D341 (a blueprint names what it makes), answered before any code; §11.3.4
  lists the points settled in code so they can be overruled; §11.3.3 notes the
  walk needs real Steam ids.
- android PLAN: the account screen's Backpack section.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-12 14:35:56 -05:00
634db5b30e Merge pull request 'docs(rust): the Backpacks spike and its design — D337–D339 (PLAN_REDESIGNS §11.3)' (#340) from docs/rust-backpacks-decisions into main
Reviewed-on: #340
2026-10-12 18:56:31 +00:00
1af58fd975 docs(rust): the Backpacks spike and its design — D337–D339 (PLAN_REDESIGNS §11.3)
The spike on both rigs (Rust 25877464, Oxide 2.0.7826, Carbon 2.0.262,
Backpacks 3.17.8): the Carbon restart loss did not reproduce; the read
API's shape and cost; the capacity calls need an experimental setting;
a capacity cached without its backpack pins a size until reconnect; and
the take-back the org lead asked to see (overflow to inventory, or the
ground when full, on the owner's next open).

D337 leases a backpacks.size.N permission for the run through
rust_perm_run_grants instead of +N slots; D338 keeps Backpacks' own
take-back; D339 files the Carbon never-seen-id permission leak as
Rust-Plugins#32.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-12 13:22:01 -05:00
de29c7cbd9 Merge pull request 'docs(rust): protocol 14 — Economics, as built (PROTOCOL §20.3, PLAN_REDESIGNS §11.2.4)' (#339) from docs/rust-protocol-14-economics into main
Reviewed-on: #339
2026-10-12 12:40:03 +00:00
6fad1f07af docs(rust): protocol 14 — Economics, as built (PROTOCOL §20.3, PLAN_REDESIGNS §11.2.4)
PROTOCOL.md §20.3 specifies what §11.2.2 designed and the code now does:
integrations.economics, economics.pay / .balances / .adjust and their replies
and refusals, the tally's `balance` (a value; a nameless frame is an offline
player), economics.wiped with `newSave`, the three sidecar forwards, and the
website's half. §20's heading now covers the optional plugins too.

PLAN_REDESIGNS §11.2.4 records the build (compiled on both rigs, then given
back their protocol 13 bridge) and names the six points the design left open
that the code settled, so the org lead can overrule any of them. The app
plan's Rust account row gains GET /player/rust/economics.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-12 07:14:51 -05:00
0f4d99c9fa Merge pull request 'docs(rust): the Economics spike and its design — D335, D336 (PLAN_REDESIGNS §11.2)' (#338) from docs/rust-economics-decisions into main
Reviewed-on: #338
2026-10-12 11:41:44 +00:00
168208d21c docs(rust): the Economics spike and its design — D335, D336 (PLAN_REDESIGNS §11.2)
§11's first item. Economics 3.9.2 was pulled from uMod and spiked on
both rigs (Rust 25877464, Oxide 2.0.7826, Carbon 2.0.262); both
frameworks answered identically. §11.2.1 records the API and hooks as
found: an unseen account reads as the starting balance, a deposit can
report true while adding less, withdraw is all or nothing, and an
amount must be a double.

Two decisions from the org lead: coins paid by an event are kept
(D335; core reverts a ledgered step on every terminal path, a normal
finish included), and the richest column ranks only balances above
the starting balance (D336). §11.2.2 is the design to build on
protocol 14; §11.2.3 joins the end-of-plan walk.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-12 06:35:40 -05:00
32b419baa5 Merge pull request 'docs(rust): protocol 14 — kits.uses and reward notices (PROTOCOL §20, PLAN_REDESIGNS §2.9)' (#336) from docs/rust-protocol-14-step-editor into main
Reviewed-on: #336
2026-10-12 09:51:36 +00:00
756c13d47b docs(rust): protocol 14 — kits.uses and reward notices (PROTOCOL §20, PLAN_REDESIGNS §2.9)
The wire half of PLAN_REDESIGNS §2 (D332, D333): PROTOCOL.md §2 says 14, and
§20 specifies kits.uses (counts only, bounded by the sync's bound, POST
/kits/uses) and perm.sync notices (the whole untold set, told once when the
player is awake, told keys kept on disk, noticesTold in the report).
PLAN_REDESIGNS §2.9 records the Rust half as built and its compile on both
rigs. Stacked on docs/event-step-editor (docs#335) for §2.8.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-12 02:48:12 -05:00
a2dbce1f89 docs(events): the step editor and event templates — MODULE_API 1.13.0
The contract half of website feat/event-step-editor (Rust PLAN_REDESIGNS §2):
MODULE_API.md §1.1/§2.4 gain registerEventTemplates, a param's duration, a
lease's example and an option's note; EVENTS.md §F (the note), §I (what the
1.13.0 editor settled) and the API surface (the templates route, draftAhead).
PLAN_REDESIGNS §2.8 records the core half as built and the Module-uo proof.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-12 02:09:55 -05:00
1a3411b19e Merge pull request 'docs(rust): resume the redesigns at §2 — D331–D334' (#334) from docs/rust-step-editor-decisions into main
Reviewed-on: #334
2026-10-10 03:44:27 +00:00
b63b4ad34b docs(rust): resume the redesigns at §2 — D331-D334
RunicNPC v1.0.0 shipped on 2026-10-09, so PLAN_REDESIGNS resumes at item 6
(§2, the step editor and the kit weekend). The org lead's answers, recorded:

- D331: everything left (§2, §11) is coded first; one walk at the end covers
  it plus the in-game rows §3 and §5 still owe and PLAN_FIXES §8's re-walk.
- D332: protocol 13 shipped; §2 and §11 open protocol 14 on edge, released
  together after that walk.
- D333: a kit reward can tell its player in game (message + delivery on
  rust.kit.entitle, carried as perm.sync `notices`, told once).
- D334: an optional boolean param is [Not set] [Yes] [No]; a required one
  is a toggle.

Also: §2's core additions are MODULE_API 1.13.0, because 1.12.0 went to
Events' progress() (website#210); §7 and §11.5 updated for protocol 14.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-09 11:47:53 -05:00
9b1062dda8 Merge pull request 'docs(runicnpc): 9e step 3 — the cutover, RunicNPC v1.0.0 and bundle 2026.10.09 (D330)' (#333) from docs/runicnpc-9e-step3 into main
Reviewed-on: #333
2026-10-09 07:43:05 +00:00
91f89821cb docs(runicnpc): 9e step 3 — the cutover, RunicNPC v1.0.0 and bundle 2026.10.09 (D330)
runicnpc/PLAN.md records step 3 as built: D330 (v1.0.0 by a `feat!:`
commit), the six PRs, the five releases and what was checked in each,
the bundle moving to protocol 13 with RunicNPC 1.0.0, the order slip
(Module-Rust out eleven minutes before the bundle), edge recreated in
all five repos, and the installer and the egg's script run from the
real bundle. A panel reinstall waits for egg 25 to be re-imported.

rust-link/INSTALL.md: the "until phase 19" protocol 2/12 caveat is no
longer true; it now names the protocol 13 releases.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-09 02:39:48 -05:00