docs: hygiene sweep — the four places the docs describe a site that no longer exists #173

Merged
whitlocktech merged 1 commits from docs/hygiene-sweep into main 2026-08-19 23:25:16 +00:00
Member

Phase 0 of the runicgateway.com plan, conflicts 6–9. Sibling to docs#172 (protocol 4); this one is the hygiene half you asked to fold in.

None of these misconfigures anything — which is why they survived. All four mislead a reader trying to understand how the system is actually put together.

website/ARCHITECTURE.md — it predates the module system

It placed shardIngest.js and uoLinkClient.js inside the website backend. Both live in module-uo/server/utils/; I checked, and neither is anywhere in website/server/src.

Worse, the document claims to be "the canonical copy of the diagram; the same diagram is embedded in the website's README" — and the two had silently diverged. The live README's diagram has the module subgraph, the loader, and the game sitting behind the module; this one had none of it.

  • The diagram is now the live one verbatim, so the claim is true again.
  • The prose attributes the shard integration to the module, with the real paths.
  • The intro no longer frames core as game-aware.
  • The SSE bullet gains the distinction the live README draws: the module declares which kinds are public, core enforces the split.

website/website-README.md — 28 lines behind

The whole drift was the "Three ways in, and none of them is a build" section — admin panel / MODULES / by hand — which is now the primary module-install story. Re-synced verbatim, since a faithful snapshot is this file's entire purpose.

The diff was purely additive: the snapshot contained nothing the live README had dropped.

README.md — the index was missing thirteen documents, not four

The audit found TEAMS.md, ARCHITECTURE.md, TRUSTED_DEVICES_MFA.md and MODERATION_APPEALS.md. Enumerating every markdown file against the index turned up nine more, including link/v4.md — the current protocol:

link/v4.md · android/THEMING_AND_NAV.md · ci/SONARQUBE.md · installer/PROJECT_TREE.md · modules/kit-acceptance.md · modules/uo/API.md · modules/uo/SCHEMA.md · website/test-plan.md · website/API_V2_PLAN.md · website/API_V2_SKELETON.md

The layout block also already advertised a ci/ directory that had no section; it has one now. Every markdown file outside the issue templates is indexed, and I verified every link target resolves.

API_V2_SKELETON.md is listed as superseded — which is what its own header says — rather than presented as live work.

website/BACKEND_DESIGN.md — titled for one instance

Retitled from "UOMysticmoon Website — Backend Design", with a short note that nothing in it is instance-specific. Its hardcoded Public contact email: UOMysticmoon@gmail.com is now described as what it actually is — seeded from BRAND_CONTACT_EMAIL into the contact_email setting, with UOMysticmoon as the example instance. I checked config/brand.js and settings.model.js before rewording it rather than assuming it was configurable.

One thing I did not touch

website/README.md (the live one, in the website repo) references module-uo-0.3.0 in its install examples — the module is on v1.0.1. That is a website repo change and outside this PR's scope, so I have left it alone and copied the snapshot faithfully rather than quietly diverging it. Say the word and it is a two-line PR there.

AI-assisted contribution

Drafted by Claude (Claude Code), per the org's AI-usage disclosure policy. Commit carries the Co-Authored-By trailer.

Phase 0 of the [runicgateway.com plan](https://gitea.whitlocktech.com/RunicGateway/runicgateway.com/pulls/2), conflicts 6–9. Sibling to [docs#172](https://gitea.whitlocktech.com/RunicGateway/docs/pulls/172) (protocol 4); this one is the hygiene half you asked to fold in. None of these misconfigures anything — which is why they survived. All four mislead a reader trying to understand how the system is actually put together. ## `website/ARCHITECTURE.md` — it predates the module system It placed `shardIngest.js` and `uoLinkClient.js` **inside the website backend**. Both live in `module-uo/server/utils/`; I checked, and neither is anywhere in `website/server/src`. Worse, the document claims to be *"the canonical copy of the diagram; the same diagram is embedded in the website's README"* — and the two had silently diverged. The live README's diagram has the module subgraph, the loader, and the game sitting behind the module; this one had none of it. - The diagram is now the live one **verbatim**, so the claim is true again. - The prose attributes the shard integration to the module, with the real paths. - The intro no longer frames core as game-aware. - The SSE bullet gains the distinction the live README draws: **the module declares which kinds are public, core enforces the split.** ## `website/website-README.md` — 28 lines behind The whole drift was the **"Three ways in, and none of them is a build"** section — admin panel / `MODULES` / by hand — which is now the primary module-install story. Re-synced verbatim, since a faithful snapshot is this file's entire purpose. The diff was purely additive: the snapshot contained nothing the live README had dropped. ## `README.md` — the index was missing thirteen documents, not four The audit found `TEAMS.md`, `ARCHITECTURE.md`, `TRUSTED_DEVICES_MFA.md` and `MODERATION_APPEALS.md`. Enumerating every markdown file against the index turned up nine more, including **`link/v4.md` — the current protocol**: `link/v4.md` · `android/THEMING_AND_NAV.md` · `ci/SONARQUBE.md` · `installer/PROJECT_TREE.md` · `modules/kit-acceptance.md` · `modules/uo/API.md` · `modules/uo/SCHEMA.md` · `website/test-plan.md` · `website/API_V2_PLAN.md` · `website/API_V2_SKELETON.md` The layout block also already advertised a `ci/` directory that had no section; it has one now. Every markdown file outside the issue templates is indexed, and I verified every link target resolves. `API_V2_SKELETON.md` is listed as **superseded** — which is what its own header says — rather than presented as live work. ## `website/BACKEND_DESIGN.md` — titled for one instance Retitled from *"UOMysticmoon Website — Backend Design"*, with a short note that nothing in it is instance-specific. Its hardcoded `Public contact email: UOMysticmoon@gmail.com` is now described as what it actually is — seeded from `BRAND_CONTACT_EMAIL` into the `contact_email` setting, with UOMysticmoon as the example instance. I checked `config/brand.js` and `settings.model.js` before rewording it rather than assuming it was configurable. ## One thing I did not touch `website/README.md` (the live one, in the `website` repo) references **`module-uo-0.3.0`** in its install examples — the module is on **v1.0.1**. That is a `website` repo change and outside this PR's scope, so I have left it alone and copied the snapshot faithfully rather than quietly diverging it. Say the word and it is a two-line PR there. ## AI-assisted contribution Drafted by Claude (Claude Code), per the org's AI-usage disclosure policy. Commit carries the `Co-Authored-By` trailer.
wtclaude added 1 commit 2026-08-19 23:05:07 +00:00
Four documents still describe the pre-module-system website. None of them
misconfigures anything, which is why they survived; all four mislead a
reader trying to understand how the system is actually put together.

ARCHITECTURE.md placed shardIngest.js and uoLinkClient.js inside the
website backend. Both live in module-uo/server/utils/ - verified, they
are not in website/server/src at all. The document claimed to be "the
canonical copy of the diagram; the same diagram is embedded in the
website's README", and the two had silently diverged: the live README's
diagram has the module subgraph, the loader, and the game behind the
module, and this one did not. The diagram is now the live one verbatim,
the surrounding prose attributes the shard integration to the module, and
the intro no longer frames core as game-aware. The SSE bullet gains the
distinction the live README makes: the module declares which kinds are
public, core enforces the split.

website-README.md had drifted from the live README by 28 lines, all of
them the "Three ways in, and none of them is a build" section - the admin
panel, the MODULES environment variable, and by hand - which is now the
primary module-install story. Re-synced verbatim, since a faithful
snapshot is the file's whole purpose. The diff was purely additive; the
snapshot contained nothing the live README had dropped.

README.md's index was missing thirteen documents, not the four the audit
had found: TEAMS.md, ARCHITECTURE.md, TRUSTED_DEVICES_MFA.md and
MODERATION_APPEALS.md, and also link/v4.md - the current protocol -
android/THEMING_AND_NAV.md, ci/SONARQUBE.md, installer/PROJECT_TREE.md,
modules/kit-acceptance.md, modules/uo/API.md, modules/uo/SCHEMA.md,
website/test-plan.md and the two API_V2 documents. The layout block
already advertised a ci/ directory that had no section. Every markdown
file outside the issue templates is now indexed, and every link resolves.
API_V2_SKELETON.md is listed as superseded, which is what its own header
says.

BACKEND_DESIGN.md was titled "UOMysticmoon Website - Backend Design"
though it is core's contract and core is game-agnostic. Retitled, with a
note that nothing in it is instance-specific. Its hardcoded public
contact address is now described as what it is - seeded from
BRAND_CONTACT_EMAIL into the contact_email setting, with UOMysticmoon as
the example instance.

Co-Authored-By: Claude <noreply@anthropic.com>
whitlocktech merged commit 274b2c9564 into main 2026-08-19 23:25:16 +00:00
whitlocktech deleted branch docs/hygiene-sweep 2026-08-19 23:25:16 +00:00
Sign in to join this conversation.
No description provided.