docs: describe the flat container list, not a dormant tree
mara's ruling on the review: documentation describes functionality as is. The dashboard doc carried a "Topology tree" section marked dormant, still spelling out the indent lanes, joints and continuation bars the renderer paints — for a renderer that, with no parent field to walk, puts every container at depth 0 and emits no prefix column at all. A section labelled dormant is still a section describing a feature the code does not have. Each one now states what the page renders today: SW4RM's C0NTAINERS is a flat alphabetical list, one row per container, no indent and no glyph; the tree section says nothing nests and names the code that decides so; the selection bar lists the bulk actions it has, without a note about the M0V3 picker it doesn't (agent-hierarchy.md's removal table is where that record belongs). Two more the -U15 context sweep turned up outside that section, neither naming a removed identifier so neither reachable by grep: approvals.md told an agent to clone "the child's" config repo, and hivectl.md sold `agent restart` as a way round "the agent hierarchy".
This commit is contained in:
parent
336ed5a010
commit
d547ae58e6
3 changed files with 12 additions and 34 deletions
|
|
@ -491,7 +491,7 @@ current config — not an editing surface. An agent without the
|
|||
capability sees no other agent's config at all.
|
||||
|
||||
An agent with the `approvals` tool group submits a change the same way
|
||||
it makes any other change: **clone the child's config repo from the
|
||||
it makes any other change: **clone the target agent's config repo from the
|
||||
forge into its own state dir, commit on a branch, open a PR**, and let
|
||||
the operator review and approve it. By design, no second, mount-shaped
|
||||
path reaches the same file without the review.
|
||||
|
|
|
|||
|
|
@ -163,7 +163,7 @@ raw rows instead of the table.
|
|||
|
||||
`agent <name> restart` is the manual equivalent of the MCP `restart`
|
||||
tool — useful when you need to kick a container from the host without
|
||||
going through the agent hierarchy. For more than one agent at once, use
|
||||
going through an agent at all. For more than one agent at once, use
|
||||
the top-level `hivectl restart --agents` (or `--agent <name>` repeated) —
|
||||
it rides a single DAG and reports per-target failures at the end rather
|
||||
than aborting mid-run, instead of shelling out to `agent <name> restart`
|
||||
|
|
|
|||
|
|
@ -56,15 +56,10 @@ surfaces, not tab panes.
|
|||
|
||||
## SW4RM tab
|
||||
|
||||
**C0NTAINERS** — live containers rendered as a flat,
|
||||
alphabetically-sorted list. The renderer still walks
|
||||
`ContainerView.parent` for a depth-first tree with ASCII glyphs
|
||||
(`├─`, `└─`, `│ ` continuation columns), but that field no longer
|
||||
exists, so every row sits at depth 0 and the renderer paints no glyph. The tree
|
||||
sorts alphabetically;
|
||||
roots likewise. The tree tolerates cycles in the parent graph —
|
||||
it appends orphaned containers (not reachable from any root)
|
||||
as roots so no agent disappears. Pulsing red banner at the top
|
||||
**C0NTAINERS** — live containers as a flat list, one row per
|
||||
container, sorted alphabetically by agent name. No row nests under
|
||||
another, none carries an indent or a tree glyph, and every container the
|
||||
rescan reports gets a row. Pulsing red banner at the top
|
||||
of this section if any two sub-agents hash to the same port
|
||||
(`port_conflicts` from `/api/state`): the operator must rename
|
||||
one of them and rebuild. `lifecycle::{spawn,rebuild}` also
|
||||
|
|
@ -981,27 +976,11 @@ identically.)
|
|||
|
||||
### Topology tree
|
||||
|
||||
⚠️ **Dormant now that `ContainerView.parent` no longer exists:**
|
||||
`buildAgentTree` now puts every container at depth 0 and the rules below are
|
||||
all no-ops — the list renders flat. The walk and the prefix painting are
|
||||
still in `swarm.js`; retiring them falls to the frontend owner rather
|
||||
than to this removal. What follows describes what the code
|
||||
still does, for whoever makes that call.
|
||||
|
||||
The per-row prefix column (`.tree-prefix`) is **DOM-painted, not
|
||||
text-glyph-painted**: each indent lane is its own positioned `<span>`
|
||||
so CSS can draw full-height vertical bars that bridge the gap between
|
||||
sibling rows. Plain text box-drawing characters (`├─`, `└─`, `│ `)
|
||||
would only paint one text-line tall and leave visible breaks between
|
||||
the taller-than-one-line container cards, so CSS borders draw the
|
||||
bars instead: a continuation bar runs the full height of an
|
||||
ancestor's still-open subtree, and the joint at a row's own depth is
|
||||
`├` (more siblings below) or `└` (last sibling — the line stops at
|
||||
the row's icon midline). Exact lane widths and positioning live in
|
||||
`swarm.js`'s tree-prefix rendering and its paired CSS rules — not
|
||||
reproduced here since they're tuned in pixel units and will drift.
|
||||
With every container at depth 0 these rules are all no-ops and the
|
||||
layout reads like a plain flat list, which is what a hive renders today.
|
||||
Nothing nests. `swarm.js::buildAgentTree` returns every container at
|
||||
depth 0 in alphabetical order, and the row builder emits no prefix
|
||||
column for a depth-0 row — so a container row carries no indent, no
|
||||
joint and no continuation bar, and the SW4RM list reads as a flat
|
||||
roster. The `.tree-prefix` lane rules in `dashboard.css` match nothing.
|
||||
|
||||
## Selection bar
|
||||
|
||||
|
|
@ -1032,8 +1011,7 @@ frosted-mauve bar slides up from the bottom of the viewport
|
|||
- `DESTR0Y` / `PURG3` — always available
|
||||
<!-- vale write-good.Passive = YES -->
|
||||
|
||||
The `M0V3` picker that used to sit here no longer exists — an agent
|
||||
has no parent to move it to any more.
|
||||
That list is the whole set — the bar offers no other bulk action.
|
||||
- **`✕ clear`** button + `Esc` key clear the entire selection.
|
||||
|
||||
Every render prunes stale selections (agents destroyed while
|
||||
|
|
|
|||
Loading…
Reference in a new issue