The end-of-run block told operators to paste the four values at
`<site>/admin/shard`. That page moved when the shard screens became part of the
`uo` module: a module owns one path segment wherever it appears (website
`MODULE_SYSTEM.md` §2.8), so it is `/admin/uo/link`, labelled "Shard (uo-link)".
The old path is worse than a 404. The SPA has no route for it, so it sends the
operator to the dashboard — the link looks like it worked, and the values they
were told to paste have nowhere to go.
- The path is now a named constant, `ADMIN_SHARD_PATH`, carrying why it is not
the obvious string and the fact that API routes are NOT affected by the module
namespacing rule (they keep `/api/v1/admin/shard/*`).
- Both handoff tests assert the new path, so this cannot regress quietly.
- The two user-facing labels that name the screen — the `--site-url` help text
and `update`'s protocol-change instruction — say "Admin → Shard (uo-link)",
matching what the sidebar actually reads.
Found while writing the runicgateway.com installation journey, by pasting the
printed link into a real deployment and landing on the dashboard.
Co-Authored-By: Claude <noreply@anthropic.com>