Watch
0
0
Fork
You've already forked hyperhive
0

docs: state current behaviour, drop change-log wording

Refs #3902
This commit is contained in:
atlas 2026-10-02 08:22:09 +02:00 • committed by mara
commit 9545151b8d
10 changed files with 62 additions and 112 deletions

View file

@ -13,19 +13,16 @@ panel for flyouts and long content.
Preact component tree (`Header.tsx` + `StatusChips.tsx` +
`MetaNav.tsx` + `HeaderPill.tsx`, wired together in `Root.tsx`) — see
`frontend/packages/agent/src/components/`. This
section describes the rendered result, not the DOM ids the pre-Preact
page used (there are none any more — every element is component
output, not something a selector reaches by id).
section describes the rendered result, not DOM ids — every element is
Preact component output, not something a selector reaches by id.
**Fixed-overlay header** (`<header class="agent-header">`): frosted
glass — `backdrop-filter: blur` lets scrolled terminal rows show
through. Measures its own rendered height via `ResizeObserver`
(`Header.tsx`) and writes it to a CSS custom property the content
below reads for its offset — `agent.css` used to bake in a fixed `6em`
guess, which silently broke (content overlapping the header) the
moment any row of badges/pills wrapped onto an extra line at some
viewport width; measuring instead of guessing closes that bug class
structurally rather than for one specific trigger. Two columns:
below reads for its offset, so content never overlaps the header
regardless of how many rows of badges/pills wrap onto an extra line
at a given viewport width. Two columns:
<!-- vale write-good.Passive = NO -->
- **Agent icon** (`<img class="agent-icon">`): fixed-size square
@ -45,10 +42,9 @@ structurally rather than for one specific trigger. Two columns:
`ResizeObserver` measurement above exists to catch even when a
layout choice reintroduces it).
- **Pills cluster** (`.agent-header-pills`, right-aligned): status
badges (`StatusChips.tsx`) and flyout triggers together in one row —
a deliberate choice (not the historical default) so the header reads
as one identity zone + one status/actions zone rather than multiple
separate clusters:
badges (`StatusChips.tsx`) and flyout triggers together in one row,
so the header reads as one identity zone + one status/actions zone
rather than multiple separate clusters:
- **Alive badge**: `● alive` (green) / `⊘ rate limited` (red) /
`◌ needs login` / `◌ logging in` / `○ offline` / `… connecting`.
- **State badge**: `💤 idle` / `🧠 thinking` / `📦 compacting` /
@ -89,23 +85,14 @@ structurally rather than for one specific trigger. Two columns:
(`GET /api/state`'s `links` field) also feeds
`DashboardState.links` for the dashboard card's icon strip —
`agent_links()` in hive-agent is the single source of truth for
both. No separate overflow (`⋯`) menu exists any more — it used
to hold exactly this dashboard link plus a rebuild-container action
(mara: "remove rebuild button, move link to
dashboards into links menu") — rebuild had no real discoverability
need of its own (the dashboard's own R3BU1LD button already covers
it) so it's gone outright, and the dashboard link moved here,
leaving nothing to justify a separate menu. Everything else that
used to live in the old overflow menu (model/effort pickers,
new-session, logout) already had a better home before this: pickers
are real badges above, and `/new-session` / `/logout` are typed
slash commands with their own type-twice confirm (see below) — a
modal doesn't fit a text-input flow, and burying rare-but-important
actions in one flat menu was the design guide's own named
anti-example.
- No header cancel-turn button any more — `/cancel` (slash command,
below) is the only path; the turn-loop state badge already shows
`thinking` as the discoverability cue.
both. No overflow (`⋯`) menu exists: the dashboard link lives in
this 🔗 popover; the model/effort pickers are real badges above;
and `/new-session` / `/logout` are typed slash commands with their
own type-twice confirm (see below) — a modal doesn't fit a
text-input flow.
- `/cancel` (slash command, below) is the only cancel-turn path; the
turn-loop state badge already shows `thinking` as the
discoverability cue.
<!-- vale write-good.Passive = YES -->
Values throughout come from `GET /api/state`'s cold-load snapshot,
@ -179,11 +166,7 @@ from the harness-local store (same effect as `cancel_loose_end(kind:
"todo")`, just from the web UI instead of the agent's own tool calls).
The todos flyout is the only per-agent flyout — there is no separate
"loose-ends" or "tasks" list. There used to be a note here about the
`ask`/`answer` MCP tools having no inline answer form in this
terminal — that whole mechanism (the tools, the dashboard's questions
pane, the wire protocol) no longer exists, so there's
nothing left to render a form for.
"loose-ends" or "tasks" list.
## Live view