docs(web-ui): fix argus's request-changes items + 5 more absence/changelog lines
Removes the remaining #system/Settings stale facts and absent-thing mentions argus's review flagged, plus 5 more lines mara's rule-3 audit found in the same file (named a nonexistent field/state instead of stating current behaviour). Refs #3902
This commit is contained in:
parent
843c9ad016
commit
6a60312da7
1 changed files with 18 additions and 23 deletions
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
hive-c0re serves the dashboard at `/dashboard.html` (with the home page at `/`).
|
hive-c0re serves the dashboard at `/dashboard.html` (with the home page at `/`).
|
||||||
It has a fixed chrome header at the top and a `<main>` that shows exactly
|
It has a fixed chrome header at the top and a `<main>` that shows exactly
|
||||||
one tab pane at a time. The URL hash (`#swarm`, `#call`, `#system`,
|
one tab pane at a time. The URL hash (`#swarm`, `#call`,
|
||||||
`#permissions`, `#schedules`) drives which pane is
|
`#permissions`, `#schedules`) drives which pane is
|
||||||
active; hash changes don't reload the page. FL0W, L0GS, and the optional
|
active; hash changes don't reload the page. FL0W, L0GS, and the optional
|
||||||
M4TR1X client are separate pages reachable from the H0M3 hub at `/`, not
|
M4TR1X client are separate pages reachable from the H0M3 hub at `/`, not
|
||||||
|
|
@ -161,10 +161,9 @@ sample each refresh), and stops on sub-tab change. Disk size (`disk_bytes`)
|
||||||
rides the same row, but a separate ~5 min background `du` sampler feeds
|
rides the same row, but a separate ~5 min background `du` sampler feeds
|
||||||
it (state dir + container writable rootfs, shared nix store excluded via
|
it (state dir + container writable rootfs, shared nix store excluded via
|
||||||
`du -x`), so the 5 s poll stays cheap cgroup-only reads; the row carries the
|
`du -x`), so the 5 s poll stays cheap cgroup-only reads; the row carries the
|
||||||
last-sampled value (`null` until the first sample). Network is intentionally
|
last-sampled value (`null` until the first sample). Network isn't tracked
|
||||||
omitted — agents share the host netns, so there is no per-container net
|
per container — see `docs/networking/network.md` for the current
|
||||||
counter (per-agent network needs the netns-isolation roadmap in
|
per-agent netns model.
|
||||||
`docs/networking/network.md`).
|
|
||||||
|
|
||||||
Hive infrastructure services (`hive-ci`, `hive-forge`, `hive-gateway`,
|
Hive infrastructure services (`hive-ci`, `hive-forge`, `hive-gateway`,
|
||||||
`hive-matrix`) have no dashboard panel — `hivectl stop`/`start`/`restart`
|
`hive-matrix`) have no dashboard panel — `hivectl stop`/`start`/`restart`
|
||||||
|
|
@ -548,8 +547,8 @@ nginx container at `/matrix/` when
|
||||||
`HIVE_MATRIX_GUI_ENABLED` env var → `state.matrix_gui_enabled` in
|
`HIVE_MATRIX_GUI_ENABLED` env var → `state.matrix_gui_enabled` in
|
||||||
`/api/state`; the gateway does the actual static serving.
|
`/api/state`; the gateway does the actual static serving.
|
||||||
|
|
||||||
The operator reaches it from the swarm-ui LinksMenu, not a H0M3 hub
|
The operator reaches it from the swarm-ui LinksMenu (see
|
||||||
tile (see `docs/swarm/ui.md::Quick links`), and logs in once with the
|
`docs/swarm/ui.md::Quick links`), and logs in once with the
|
||||||
in-host tuwunel homeserver URL (`http://localhost:8008` or whatever
|
in-host tuwunel homeserver URL (`http://localhost:8008` or whatever
|
||||||
the matrix module exposes).
|
the matrix module exposes).
|
||||||
|
|
||||||
|
|
@ -601,7 +600,7 @@ re-renders the terminal row. The operator addresses the root agent as `@root`.
|
||||||
|
|
||||||
The H0M3 hub is the primary landing page (served at `/` by default). A
|
The H0M3 hub is the primary landing page (served at `/` by default). A
|
||||||
responsive grid of link tiles — Dashboard, Flow, Logs, Builds, Stats,
|
responsive grid of link tiles — Dashboard, Flow, Logs, Builds, Stats,
|
||||||
Settings, Core, Credentials, API — each pointing to their respective
|
Core, Credentials, API — each pointing to their respective
|
||||||
surfaces, all unconditionally shown (no gating). The page is a pure
|
surfaces, all unconditionally shown (no gating). The page is a pure
|
||||||
portal with no tab-bar or SSE subscriptions. Typography + colours inherit
|
portal with no tab-bar or SSE subscriptions. Typography + colours inherit
|
||||||
from the shared theme (Catppuccin Mocha via `common.css` + `theme.css`).
|
from the shared theme (Catppuccin Mocha via `common.css` + `theme.css`).
|
||||||
|
|
@ -726,7 +725,7 @@ regardless of run state.
|
||||||
<!-- vale write-good.Passive = YES -->
|
<!-- vale write-good.Passive = YES -->
|
||||||
|
|
||||||
**Line 2** — status badges only (no per-card action buttons — actions
|
**Line 2** — status badges only (no per-card action buttons — actions
|
||||||
moved to the **selection bar** or the **per-agent `⋮` menu**, see
|
live in the **selection bar** or the **per-agent `⋮` menu**, see
|
||||||
below).
|
below).
|
||||||
|
|
||||||
### Status badges
|
### Status badges
|
||||||
|
|
@ -754,10 +753,9 @@ into one label, matching the existing multi-badge convention this
|
||||||
line already uses for `paused`/`needs_update`/model/ctx.
|
line already uses for `paused`/`needs_update`/model/ctx.
|
||||||
|
|
||||||
Any pending badge means the row is actually **running** something
|
Any pending badge means the row is actually **running** something
|
||||||
right now — there is no separate queued-but-not-started row state
|
right now (see **Pending-badge derivation** below); every row
|
||||||
to visually distinguish it from (see **Pending-badge derivation**
|
carrying ≥1 badge keeps the amber row tint AND draws a **rotating
|
||||||
below), so every row carrying ≥1 badge keeps the amber row tint AND
|
amber ring** around the agent icon.
|
||||||
draws a **rotating amber ring** around the agent icon.
|
|
||||||
|
|
||||||
**Pending-badge derivation:** transients only (`transientsState`,
|
**Pending-badge derivation:** transients only (`transientsState`,
|
||||||
keyed `agent -> Map<kind, since_unix>`) — a transient is **derived
|
keyed `agent -> Map<kind, since_unix>`) — a transient is **derived
|
||||||
|
|
@ -770,9 +768,7 @@ life). Two consequences for anything rendering it:
|
||||||
- The label vocabulary is **open** — it's the node's own wire tag
|
- The label vocabulary is **open** — it's the node's own wire tag
|
||||||
(`NodeKind`'s `&str` conversion, the same strings the graph wire's node
|
(`NodeKind`'s `&str` conversion, the same strings the graph wire's node
|
||||||
labels carry), not a fixed set. Treat it as an opaque display
|
labels carry), not a fixed set. Treat it as an opaque display
|
||||||
string; don't switch on specific values. `restarting` in
|
string; don't switch on specific values.
|
||||||
particular doesn't exist, because no node kind is unique to a
|
|
||||||
restart.
|
|
||||||
- It's **not** exclusively operator-initiated, and **not** limited
|
- It's **not** exclusively operator-initiated, and **not** limited
|
||||||
to rebuild-shaped work — `running_transients()` in hive-c0re is
|
to rebuild-shaped work — `running_transients()` in hive-c0re is
|
||||||
a status-only test (any `Running` node whose payload names a
|
a status-only test (any `Running` node whose payload names a
|
||||||
|
|
@ -785,12 +781,11 @@ their own label directly via `TransientSet`/`TransientCleared`
|
||||||
events carrying no backing node at all.
|
events carrying no backing node at all.
|
||||||
|
|
||||||
**Queued (not-yet-started) work shows nothing on the card.** Only
|
**Queued (not-yet-started) work shows nothing on the card.** Only
|
||||||
running work gets a per-agent pending badge — by design, there is no
|
running work gets a per-agent pending badge, by design — the swarm
|
||||||
fallback badge for work that's merely `Pending` in the queue, since
|
view stays independent of job-queue internals. The queue-summary
|
||||||
the swarm view stays independent of job-queue internals. The queue-
|
banner below is the only queued-work indicator on this tab, and it
|
||||||
summary banner below is the only queued-work indicator on this tab,
|
reads the narrow `/api/jobq/rollup` endpoint rather than the full
|
||||||
and it reads the narrow `/api/jobq/rollup` endpoint rather than the
|
graph.
|
||||||
full graph.
|
|
||||||
|
|
||||||
**Active model badge** (`model · <name>`, blue) appears when the
|
**Active model badge** (`model · <name>`, blue) appears when the
|
||||||
container is running and the harness has persisted a model name (the
|
container is running and the harness has persisted a model name (the
|
||||||
|
|
@ -890,7 +885,7 @@ bounded by a 3-minute timeout (`GRACEFUL_STOP_TIMEOUT`) that
|
||||||
resolves either way and falls back to the downstream mechanical
|
resolves either way and falls back to the downstream mechanical
|
||||||
stop. The quiescing progress surfaces through the same
|
stop. The quiescing progress surfaces through the same
|
||||||
rebuild-queue pending-badge mechanism the card already reads for a
|
rebuild-queue pending-badge mechanism the card already reads for a
|
||||||
rebuild — there's no build log, since a graceful stop runs no nix
|
rebuild, driven by the `Signal`/`Drain` pair rather than a nix
|
||||||
build. (The `hivectl stop --graceful` CLI flag enqueues the same
|
build. (The `hivectl stop --graceful` CLI flag enqueues the same
|
||||||
`Signal`/`Drain` pair, so the dashboard and CLI paths behave
|
`Signal`/`Drain` pair, so the dashboard and CLI paths behave
|
||||||
identically.)
|
identically.)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue