2025-09-17 - 2026-09-17
Overview
256 Pull requests merged by 2 users
Merged
#257 docs(modules): phase 5 as built — Android leg A, and the capability a client had to be given
Merged
#256 docs(modules): phase 4 as built — the first pages, and the four defects a browser walk found
Merged
#255 docs(rust-link): protocol 2 — the read path, and phase 3 as built
Merged
#254 docs(modules): phase 2 as built — packaging, release and the frozen manifest
Merged
#253 docs(modules): module-rust supports Carbon too, ships a Pterodactyl egg, and the rigs move to the panel
Merged
#252 docs(modules): module-rust phase 1 as built — the transport, and three org-lead decisions
Merged
#251 docs(modules): module-rust phase 0 as built — the rig is current, and four plan claims were wrong
Merged
#250 docs(modules): second contract pass over MODULE_API.md — restores a dropped reconcile, reprices R9
Merged
#249 docs(modules): the module-rust plan — 18 decisions of record and a 21-phase schedule
Merged
#246 docs(tree): sync website/PROJECT_TREE.md
Merged
#248 docs(modules): mirror the uMod/Oxide ecosystem for module-rust
Merged
#247 docs(link): the site leg, and the nine keys no phase row could catch (Phase 9c, the last)
Merged
#245 docs(link): the cutover, and the counter two branches bumped at once (Phase 9b, 5 of 5)
Merged
#244 docs(link): the guide an integrator reads stopped at protocol 6 (Phase 9a)
Merged
#243 docs(link): the panel, and the two deletions it could see and no test could (Phase 8)
Merged
#242 docs(link): what a 4 MB spawn file does to a 1 MiB wire (Phase 7)
Merged
#241 docs(link): the phase the measurement cancelled, and the 452 wrong pictures it found on the way (Phase 6)
Merged
#240 docs(link): the hue belongs where the files are, and the cache poisons it (Phase 5)
Merged
#239 docs(link): two of the eight player bodies existed, and 233 nobody asked about (Phase 4)
Merged
#238 docs(link): the catalogue is real, and UOFiddler's last job is gone (Phase 3)
Merged
#237 docs(link): clilocs come over the bridge now, and UOFiddler's first job is gone
Merged
#236 docs(link): phase 1 built the transport, and re-measured the catalogue
Merged
#235 docs(link): phase 0 ran, and the fault it found is not a crash
Merged
#234 docs(link): the Asset Bridge (Protocol 8) — client assets without UOFiddler
Merged
#233 docs(events): the site, the landing page, and the cutover step they found (Phase 16c)
Merged
#232 docs(events): the Event System record — the cutover step 16b missed (edge → main)
Merged
#231 docs(events): the cutover, the outage it survived, and the defect it exposed (Phase 16b cutover, 6 of 6)
Merged
#230 docs(tree): sync website/PROJECT_TREE.md
Merged
#229 docs(tree): sync android/PROJECT_TREE.md
Merged
#228 docs(events): the acceptance walk, and the three contracts it moved (Phase 16a)
Merged
#227 docs(events): detail is a real envelope member now
Merged
#226 docs(events): what the integration kit's fifth chapter settled (Phase 15)
Merged
#225 docs(android): the app's events screens, and the module rows that were never gated (Phase 14b)
Merged
#224 docs(website): the public surface, and the flag that decides what reaches it (Phase 14a)
Merged
#223 docs(website): the authoring UI proper, and the one route it needed (Phase 13)
Merged
#222 docs(link): protocol 7 part b — what an event borrows, and the one-shots
Merged
#221 docs(link): protocol 7 — what an event owns, and the split that carries it
Merged
#220 docs(link): protocol 6 part b — leases, participation, and what the walk found
Merged
#219 docs(link): protocol 6 as built — a guarantee, and the kind that pays for it
Merged
#218 docs(events): Phase 10 as built — the integrations, and a ceiling per firing
Merged
#217 docs(events): Phase 9 as built — UO wave 1, and a budgetMs rule the phase found
Merged
#216 docs(events): Phase 8 as built — the resource ledger, leases and cleanup
Merged
#215 docs(events): Phase 7 as built — the module contract at MODULE_API 1.10.0
Merged
#214 docs(events): Phase 6 as built — enablement, caps and mayInvoke
Merged
#213 docs(events): Phase 5 as built — conditions, phase advancement and the panel
Merged
#212 docs(events): Phase 4 as built — schedule, recurrence and the calendar
Merged
#211 docs(events): Phase 3 as built — the minimal admin surface
Merged
#210 docs(events): Phase 2 as built — the runner
Merged
#209 docs(events): Phase 1 as built — schema, CRUD and the core action registry
Merged
#208 docs(events): Phase 0 — the eleven decisions, and the two documents they reach into
Merged
#207 docs(events): the Event System design of record and its phased plan
Merged
#206 docs(tree): sync website/PROJECT_TREE.md
Merged
#205 docs(engagement): Phase 14 as built — retention
Merged
#204 docs(engagement): the two walk defects, fixed — and what digest is
Merged
#203 docs(engagement): Phase 13 as built, and Phase 14 — retention
Merged
#202 docs(tree): sync android/PROJECT_TREE.md
Merged
#201 docs(tree): sync website/PROJECT_TREE.md
Merged
#200 docs: the engagement workstream — cutover 1 of 7 (edge → main)
Merged
#199 docs(website): the engagement release note — three things that arrive switched off
Merged
#198 docs(engagement): Phase 12 as built — the 12a/12b split and three findings
Merged
#197 docs(engagement): Phase 11b's live walk — three decisions and six defects
Merged
#196 docs(engagement): Phase 11b — the seed API, the in-universe voice, the governor's letter
Merged
#194 docs(engagement): scope Phase 11 — six decisions, three carve-outs, the 11a/11b split
Merged
#195 docs(engagement): MODULE_API 1.8.0, the UO trigger catalogue, the news publish path
Merged
#193 docs(link): protocol 5 — the decay schedule, vendor fee state and account.login.result
Merged
#191 docs(engagement): Phase 9 as built — deliverability, suppression and bounces
Merged
#190 docs(engagement): the in-app channel on Android, as built (Phase 8)
Merged
#189 docs(website): §7.1 Q9 — core's own news.post emitter
Merged
#188 docs(website): the in-app channel as built (engagement Phase 7)
Merged
#187 docs(website): the email channel and the Teams migration as built (engagement Phase 6)
Merged
#186 docs(website): the template editor as built (engagement Phase 5b)
Merged
#185 docs(website): the seeded template set as built (engagement Phase 5a)
Merged
#184 docs(website): the engagement admin surface as built (Phase 4b)
Merged
#183 docs(website): the engagement engine as built (Phase 4a)
Merged
#182 docs(website): per-channel notification preferences (engagement Phase 3)
Merged
#181 docs(website): event triggers, audiences and the ceiling lattice (engagement Phase 2)
Merged
#180 docs(website): unique, changeable, verifiable email addresses (engagement Phase 1b)
Merged
#179 docs(website): one self-service surface — /auth/me/account (engagement Phase 1a)
Merged
#178 docs(website): §7 rewritten for SMTP, plus an upgrade-notes home
Merged
#177 docs(website): record the org lead's answers to Q1/Q3/Q5/Q7, and add Phase 1b
Merged
#176 docs(website): add ENGAGEMENT.md, the engagement system design of record
Merged
#175 fix(link): a protocol bump owes four declaration sites, not three
Merged
#174 docs: the shard screen's real path, and the two keys a deploy cannot boot without
Merged
#172 docs(link,installer): protocol 4 is live — correct every stale 3
Merged
#173 docs: hygiene sweep — the four places the docs describe a site that no longer exists
Merged
#168 docs(tree): sync website/PROJECT_TREE.md
Merged
#171 docs(modules): the module release version is derived, not declared
Merged
#170 docs(modules): the Rust dry run reaches the game through an Oxide plugin, not RCON
Merged
#169 docs(teams): the Teams bet, as built (Teams cutover 6/6)
Merged
#167 docs(modules): the Rust dry run, revisited for Teams
Merged
#166 docs(teams): phase 11 as built, and what the rig walk found
Merged
#165 docs(modules): core offers a contribution, never a slot name — and phase 11 as built
Merged
#164 docs(teams): cancel phase 10, and say what that leaves behind
Merged
#163 docs(teams): phase 9 as built — roles, not overwrites, and three things §7.3 named that do not exist
Merged
#162 docs(teams): phase 8 as built — the gate §7.2 could not check, and the key it could not hold
Merged
#161 docs(teams): phase 7 as built — five amendments to §7.1
Merged
#160 docs(teams): queue the integration kit as phase 11, last before the cutover
Merged
#159 docs(teams): phase 6 as built — four deviations and a ninth contract member
Merged
#158 docs(teams): phase 5 — discussion, the edit window, and reports that route around leadership
Merged
#157 docs(teams): phase 4 — the forum's access model, switches and image policy
Merged
#156 docs(teams): phase 3 — Teams is a contract, not a surface
Merged
#155 docs(link): roster members carry guild rank
Merged
#154 docs(teams): Team core, MODULE_API 1.6.0, and what phase 2 disproved
Merged
#153 docs(link): protocol 4 — guild membership on the wire
Merged
#152 docs(teams): use the correct presentation of the project name, and match both forms
Merged
#151 docs(teams): design of record for platform Teams & community integration
Merged
#150 docs(tree): sync website/PROJECT_TREE.md
Merged
#149 docs(modules): record the cutover, and retire what it makes untrue
Merged
#148 docs(modules): correct F3 in the acceptance record
Merged
#147 docs(modules): close Phase 5 — the acceptance run, and the page shell it found
Merged
#146 docs(modules): record the kit's extra checks and slice 2
Merged
#145 docs(modules): settle Phase 5 — the Integration Kit, and the sidecar rule
Merged
#144 docs(modules): close Phase 4 — de-UO the backend reference, record the acceptance run
Merged
#143 docs(website): record phase 4 slice 3, and the boot-order defect it created
Merged
#142 docs(website): phase 4 decisions 5-6, slices 1-2, and a rule main currently gets wrong
Merged
#141 docs(website): settle phase 4's shape — delivery
Merged
#140 docs(website): close phase 3 — slice 5, the fragment obligation, and the rust dry run
Merged
#139 docs(website): record slice 4, and the §5.2 check as built
Merged
#138 docs(website): record slice 3, and MODULE_API 1.3.0
Merged
#137 docs(website): client extension slots, and the client half is one slice (phase 3, slice 2)
Merged
#136 docs(website): the server half does not slice, and slice 1's record
Merged
#135 docs(website): settle Phase 3's shape, correct the library build, record slice 0
Merged
#134 docs(website): Phase 2 PR 9 — the modules mount, and Phase 2 complete
Merged
#133 docs(website): Phase 2 PR 8 — the nav interleave and the feature-provider seam
Merged
#132 docs(website): Phase 2 PR 7 — the client chunk's delivery contract
Merged
#131 docs(website): settle what core publishes about an installed module
Merged
#130 docs(website): settle boot/shutdown dispatch and what a boot writes down
Merged
#129 docs(website): settle the three de-entanglement registries and what they cost
Merged
#128 docs(website): settle how module schema fragments are validated and replayed
Merged
#127 docs(website): settle the module loader's trigger and its collision check
Merged
#126 docs(website): plan the Integration Kit — the module-builder's instruction book
Merged
#125 docs(website): where the module state machine lives, and how boot treats it
Merged
#124 docs(website): the module API contract, validated by the atlas spike (phase 1)
Merged
#123 docs(website): record the edge branch strategy and the Module-uo repo
Merged
#121 docs(tree): sync android/PROJECT_TREE.md
Merged
#122 docs(website): add the module system design of record
Merged
#120 docs(android): M12 theming & navigation, all phases as landed (cutover)
Merged
#119 docs(android): M12 phase 8 as landed, and the two defects AC-5 found
Merged
#118 docs(android): M12 phase 6 as landed
Merged
#117 docs(android): M12 phase 5 as landed
Merged
#116 docs(android): M12 phase 4 as landed
Merged
#115 docs(android): M12 phase 3 as landed
Merged
#114 docs(android): M12 phase 2 as landed
Merged
#113 docs(android): M12 phase 1 as landed
Merged
#112 docs(android): M12 phase 0 as landed, and phase 7 cancelled
Merged
#111 docs(android): build contract for admin theming and navigation parity (M12)
Merged
#110 docs(tree): sync website/PROJECT_TREE.md
Merged
#109 docs(website): theming & navigation, complete (edge → main)
Merged
#108 docs(website): phase 10 — public nav sections and added links, and the §7 amendment
Merged
#107 docs(website): theming phases 6-8 as built, and phase 9 cancelled
Merged
#106 docs(website): theming phase 5 as built — brand assets and the cached HTML shell
Merged
#105 docs(website): theming & nav phases 3-4 as built
Merged
#104 docs(website): theming & nav phases 0-2 as built
Merged
#103 docs(website): add theming & nav build contract
Merged
#102 docs(installer): lead with the installer now that it is released
Merged
#101 docs(tree): sync installer/PROJECT_TREE.md
Merged
#97 docs(installer): bundles publish to a branch, releases only tag
Merged
#100 docs(tree): sync installer/PROJECT_TREE.md
Merged
#99 docs(tree): sync link/PROJECT_TREE.md
Merged
#98 docs(installer): correct the Windows service decision, and the 1053 advice
Merged
#96 docs(installer): Phase 5 — scope, the §5.3 correction, and the operator guide
Merged
#95 docs(installer): put Phase 5 before the cutover, and flag Windows SCM as untested
Merged
#94 docs(installer): record the first real systemd verification
Merged
#93 docs(installer): record Phase 4 — doctor, update and uninstall as built
Merged
#92 docs(installer): record Phase 3 — the patch tier as built
Merged
#91 docs(installer): record Phase 2 as built — sidecar install and service
Merged
#90 docs(installer): record Phase 1 as built
Merged
#89 docs(installer): review the patched region, not the whole-file hash
Merged
#88 docs(installer): mark Phase 0.4 merged in the status table
Merged
#86 docs(tree): sync installer/PROJECT_TREE.md
Merged
#87 docs(installer): add the operator install guide (Phase 0.4)
Merged
#85 docs(installer): record Phase 0.3 — the bundle CI and where bundles live
Merged
#83 docs(tree): sync link/PROJECT_TREE.md
Merged
#84 docs(installer): record Phase 0.2 — the sidecar's CLI and settled data paths
Merged
#82 docs(installer): record Phase 0 progress and the overlay manifest
Merged
#81 docs(installer): add release orchestration and the bundle manifest
Merged
#80 docs(installer): plan the Runic Gateway installer
Merged
#79 docs(tree): sync android/PROJECT_TREE.md
Merged
#77 docs(tree): sync link/PROJECT_TREE.md
Merged
#78 docs(tree): sync website/PROJECT_TREE.md
Merged
#73 docs!: Protocol 3.0 cutover — the 3.0 documentation set
Merged
#76 docs(link): the shard-name fallback, the atlas places shape, and two traps
Merged
#75 docs(website): an operator runbook for extracting from your own UO client
Merged
#74 docs(android): scope M11 — Protocol 3.0 shard parity for the app
Merged
#72 docs(link): the Protocol 3.0 cutover (v3.md order 6)
Merged
#71 docs(link): the player-vendor marketplace (Protocol 3.0 §8)
Merged
#70 docs(link): the cliloc table, and why §8.6's recommendation was not implementable
Merged
#69 docs(link): points.board, the leaderboards API, and what a real shard changed
Merged
#68 docs(website): the spawn atlas API, the admin panel, and the delay-unit trap
Merged
#67 docs(website): record the spawn atlas pipeline and what real data changed
Merged
#66 docs(link): record world.ruleset and mark Protocol 3.0 progress
Merged
#65 docs(shard): record the REST projection gap the Part A smoke test found
Merged
#64 docs(website): record the shard visibility framework
Merged
#59 docs(tree): sync website/PROJECT_TREE.md
Merged
#63 docs(link): add the Protocol 3.0 design
Merged
#62 docs(website): record trusted-device support on the SSO login paths
Merged
#61 docs(website): record the uo-link client config-decrypt contract and the dashboard mixed tier
Merged
#60 docs(website): record PR 5 — public, player and auth capability split
Merged
#57 docs(tree): sync website/PROJECT_TREE.md
Merged
#58 docs(website): record the PR 4 admin router split and the end of admin.routes.js
Merged
#55 docs(tree): sync website/PROJECT_TREE.md
Merged
#56 docs(website): record the PR 3 admin router split (posts, uploads, wiki, pages)
Merged
#54 docs(website): record the PR 2 admin router split (moderation, bot-activity, activity)
Merged
#50 docs(tree): sync website/PROJECT_TREE.md
Merged
#53 docs(website): record split PR 1 — admin users, account, invites, auth providers
Merged
#52 docs(website): document the OpenAPI path-key normalization
Merged
#51 docs(website): correct the CSP delta to one directive and document the report sink
Merged
#49 docs(website): record the landed route manifest and resequence CSP after PR 0
Merged
#48 docs(website): finalize the API plan — in-place router split, no /api/v2
Merged
#47 docs(website): cross-component blast-radius review + /api/mobile facade (Phase 0)
Merged
#46 docs(website): add /api/v2 skeleton (PR 1 scaffold)
Merged
#45 docs(website): add API v2 plan (auth merge, CSP hardening, domain split)
Merged
#44 docs(tree): sync website/PROJECT_TREE.md
Merged
#42 docs(tree): sync link/PROJECT_TREE.md
Merged
#43 docs(tree): sync android/PROJECT_TREE.md
Merged
#41 docs(tree): add per-repo PROJECT_TREE snapshots + index them
Merged
#40 docs(android): add test coverage plan to reach the 50% gate
Merged
#39 docs(android): record SonarQube coverage wiring and issue triage (§12.1)
Merged
#38 docs(android): note the empty-subscriptions PUT serialization gotcha
Merged
#37 docs(ntfy): ntfy publishes a host port for the external reverse proxy
Merged
#36 docs(backend): note the /player/* group is role-agnostic self-service
Merged
#35 docs(android): full trusted-devices/MFA smoke-test walkthrough frames
Merged
#34 docs(android): trusted-devices/MFA live smoke-test screenshots
Merged
#33 docs(android): record trusted-devices app implementation in PLAN §4.1.1
Merged
#32 docs: trusted devices & MFA improvements
Merged
#31 docs(website): add architecture diagram
Merged
#30 docs(android): M10 — native SSO fixes + staff operations scope
Merged
#29 docs(website): add Discord bot test plan
Merged
#28 docs(android): note explicit network security config for cleartext posture
Merged
#27 docs(ci): document the SonarQube static-analysis setup
Merged
#26 docs(website): document the SPA Content-Security-Policy
Merged
#25 docs(android): spec Android App Links (assetlinks.json + build-time host)
Merged
#24 docs(android): record the M9 Part 2 native-SSO app plan
Merged
#23 docs(auth): design the mobile SSO authorization bridge (M9)
Merged
#22 docs: M7 Part 2 landed — embedded ntfy distributor + push.ntfyUrl
Merged
#21 docs(android): plan M7 Part 2 — app UnifiedPush push notifications
Merged
#20 docs: M7 push-notification backend contract + plan
Merged
#19 docs(android): record M6 (release mechanics) landed
Merged
#18 docs(android): record M5 (design pass) landed
Merged
#17 docs(android): summarize website frontend theme for Android client
Merged
#16 docs(android): record M4 (player self-service & game data) landed
Merged
#15 docs(android): record M2 (public shard) + M3 (auth) landed
Merged
#14 docs(android): record M2 (public shard + SSE) landed
Merged
#13 docs(android): record M1 (connect & browse) landed
Merged
#12 docs(android): mark M0 scaffold landed, M1 next
Merged
#11 docs: /public version+brand; mark PLAN §8 items 4 & 6 done
Merged
#10 docs: document /auth/me self surface; mark PLAN §8.1 done
Merged
#9 docs(android): mark the password-reset prerequisite done in PLAN
Merged
#8 docs(backend): document the password-reset endpoints and table
Merged
#7 docs(android): add design-pass workflow to app PLAN
Merged
#6 docs(android): add Android app design plan
Merged
#5 docs(website): moderation appeals + Discord reversal (Phase 6c/6d)
Merged
#4 docs(website): staff in-game location is admin/moderator-only
Merged
#3 chore: add open-source governance files (GPLv3 + contributing docs)
Merged
#2 docs(website): rebrand website-README to Runic Gateway
Merged
#1 docs: fix cross-refs and scrub machine paths