fix(handoff): print the shard screen's real path #22

Merged
whitlocktech merged 1 commits from fix/admin-shard-path into main 2026-08-24 16:30:51 +00:00
Member

The defect

The end-of-run handoff 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 the screen is /admin/uo/link, labelled Shard (uo-link) in the sidebar.

The old path is worse than a 404. The SPA has no route for it, so it redirects to the dashboard — the link looks like it worked, and the values the operator was just told to paste have nowhere to go. Confirmed by navigating to it on a live deployment with the module installed and started.

The change

  • The path becomes a named constant, ADMIN_SHARD_PATH, carrying why it is not the obvious string — and the distinction that matters when someone next edits this: API routes are not affected by the module namespacing rule and keep /api/v1/admin/shard/*. Only the SPA URL a person types moved.
  • Both handoff tests assert the new path, so it cannot regress quietly.
  • The two user-facing labels that name the screen — the --site-url help text and update's protocol-change instruction — now read "Admin → Shard (uo-link)", matching the sidebar.

cargo fmt --check clean, cargo clippy --all-targets -- -D warnings clean, cargo test 149 passed.

Note on scope

Doc comments elsewhere in the crate still say "Admin → Shard" as shorthand for the screen; those are internal and not wrong, so they are left alone to keep the diff to the defect.

The matching documentation fix — INSTALL.md §5 and PLAN.md, which both print this block — is docs#174.

Releases

This repo releases from main on every push, so merging cuts a build whose handoff is correct. Until then, v0.1.0 — what operators download today — prints the old path; docs#174 adds a note saying so.

How it was found

Writing the runicgateway.com installation journey (runicgateway.com#10): the printed link was pasted into a real deployment and landed on the dashboard.


AI-assisted: written with Claude Code (Opus 5).

🤖 Generated with Claude Code

## The defect The end-of-run handoff 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 the screen is **`/admin/uo/link`**, labelled *Shard (uo-link)* in the sidebar. **The old path is worse than a 404.** The SPA has no route for it, so it redirects to the dashboard — the link looks like it worked, and the values the operator was just told to paste have nowhere to go. Confirmed by navigating to it on a live deployment with the module installed and started. ## The change - The path becomes a named constant, `ADMIN_SHARD_PATH`, carrying why it is not the obvious string — and the distinction that matters when someone next edits this: **API routes are *not* affected by the module namespacing rule** and keep `/api/v1/admin/shard/*`. Only the SPA URL a person types moved. - **Both handoff tests assert the new path**, so it cannot regress quietly. - The two user-facing labels that name the screen — the `--site-url` help text and `update`'s protocol-change instruction — now read "Admin → Shard (uo-link)", matching the sidebar. `cargo fmt --check` clean, `cargo clippy --all-targets -- -D warnings` clean, `cargo test` 149 passed. ## Note on scope Doc comments elsewhere in the crate still say "Admin → Shard" as shorthand for the screen; those are internal and not wrong, so they are left alone to keep the diff to the defect. The matching documentation fix — `INSTALL.md` §5 and `PLAN.md`, which both print this block — is **docs#174**. ## Releases This repo releases from `main` on every push, so merging cuts a build whose handoff is correct. Until then, v0.1.0 — what operators download today — prints the old path; docs#174 adds a note saying so. ## How it was found Writing the runicgateway.com installation journey (runicgateway.com#10): the printed link was pasted into a real deployment and landed on the dashboard. --- AI-assisted: written with Claude Code (Opus 5). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
wtclaude added 1 commit 2026-08-24 16:23:08 +00:00
fix(handoff): print the shard screen's real path
All checks were successful
PR Checks / rust-gates (pull_request) Successful in 1m39s
6da385425e
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>
whitlocktech scheduled this pull request to auto merge when all checks succeed 2026-08-24 16:30:40 +00:00
whitlocktech approved these changes 2026-08-24 16:30:47 +00:00
whitlocktech merged commit 9cc109910c into main 2026-08-24 16:30:51 +00:00
whitlocktech deleted branch fix/admin-shard-path 2026-08-24 16:30:52 +00:00
Sign in to join this conversation.
No description provided.