`tcm hub` run on the fake network, reading Jetstream every 2 seconds, until the test ends: its address (at 127.0.0.1, where a loopback OAuth client comes back to), `until` (waiting for something, saying what the hub said if it doesn't happen), and `page` (a page's HTML, without the markers server rendering puts between adjacent text). With `base`, it runs under that path, behind `tcm serve --proxy` (as tcm's own does, at tcm.codes/hub), listening on IPv6 (as on Railway's private network): `url` is the hub's under the server, and `own` the hub's own address.
`tcm hub`: the hub tcm ships, run on its own, finds announced releases (from the relay, then Jetstream), checks each against its author's signed record, mirrors its code, and shows it: the activity feed, the libraries, a library's page and tabs, what changed between versions, search, a person's page, and its code in the forge's pages. Yanked by its author, a version leaves the lists, search and its picker (the newest left is latest), and a library whose every version is yanked isn't listed, its page saying why; the yanks stay in the feed.
Signing in to the hub, in Chrome: a visitor signs in with AT Protocol OAuth from the page (the fake network says yes at once), stars a library (a record in their own repository, which the hub checks and counts), and sees what people they follow did and what happened to the libraries they use (those in a codebase they give the hub); signed out, the filters aren't offered and the star asks them to sign in. The hub runs under /hub behind `tcm serve --proxy`, as tcm's own does at tcm.codes/hub: its pages, assets, API and sign-in all under the path.