docs: retire the agent hierarchy from every page that described it
The topology doc keeps its filename and its second half (manager special-casing, harness unit shape) — both are cross-referenced from other pages and neither is about the parent field. Its first half is rewritten: what topology.json is now, and a table of what the removal took with it, so a reader who finds `<parent>` or `set-parent` in an old issue thread learns it went away rather than moved. The dashboard's tree-rendering section is marked dormant rather than deleted: the walk is still in swarm.js and retiring it is the frontend owner's call.
This commit is contained in:
parent
d94bc2188d
commit
179f873722
17 changed files with 186 additions and 262 deletions
|
|
@ -56,16 +56,12 @@ surfaces, not tab panes.
|
|||
|
||||
## SW4RM tab
|
||||
|
||||
**C0NTAINERS** — live containers rendered as a depth-first
|
||||
tree using `ContainerView.parent` (populated by
|
||||
`hive-c0re/src/agent_config/topology.rs` — don't confuse it with
|
||||
`hive-c0re/src/dashboard/topology.rs`, which only holds the
|
||||
set-parent endpoints).
|
||||
ASCII tree glyphs (`├─`, `└─`, `│ ` continuation columns) prefix
|
||||
each container's row, showing the agent parent/child hierarchy.
|
||||
When every container has `parent = null`
|
||||
(flat topology) the tree collapses to a plain list with no
|
||||
glyphs. The tree sorts children alphabetically within each parent;
|
||||
**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 #4472 removed that field,
|
||||
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
|
||||
|
|
@ -961,7 +957,7 @@ Three primitives, all built on the `openDialog` core:
|
|||
summaries are sticky (select to dismiss) so they aren't missed.
|
||||
|
||||
Every destructive run-state action (`ST0P`, `R3ST4RT`, `R3BU1LD`,
|
||||
`DESTR0Y`, `PURG3`, `M0V3`) routes through `themedConfirm`, on both
|
||||
`DESTR0Y`, `PURG3`) routes through `themedConfirm`, on both
|
||||
the per-agent `⋮` menu and the bulk selection bar.
|
||||
|
||||
**Graceful stop** — the `■ ST0P` confirm dialog (per-agent and
|
||||
|
|
@ -985,10 +981,12 @@ identically.)
|
|||
|
||||
### Topology tree
|
||||
|
||||
See **SW4RM tab** above for the parent/child derivation, sibling
|
||||
sort order, and cycle-safety rules (`swarm.js::buildAgentTree` walks
|
||||
`ContainerView.parent`) — this section covers only how the tree is
|
||||
*drawn*.
|
||||
⚠️ **Dormant since #4472,** which removed `ContainerView.parent`:
|
||||
`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>`
|
||||
|
|
@ -1002,8 +1000,8 @@ ancestor's still-open subtree, and the joint at a row's own depth is
|
|||
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.
|
||||
When every container is at depth 0 (no `parent` set) these rules are
|
||||
all no-ops and the layout reads like a plain flat list.
|
||||
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.
|
||||
|
||||
## Selection bar
|
||||
|
||||
|
|
@ -1032,25 +1030,10 @@ frosted-mauve bar slides up from the bottom of the viewport
|
|||
- `▶ R3SUM3` — paused agents only
|
||||
- `↻ R3BU1LD` — always available
|
||||
- `DESTR0Y` / `PURG3` — always available
|
||||
- `⇡ M0V3 → ROOT` — promote selected agents to top-level
|
||||
(parent = null); disabled when all selected are already at root.
|
||||
hive-c0re's `topology::set_parent` refuses moves it can't satisfy
|
||||
(for example a move that would create a cycle) and the refusal surfaces
|
||||
in the failure roll-up.
|
||||
- `⇢ M0V3 → [select]` — inline picker available for any
|
||||
selection size. The dropdown lists every container that isn't IN
|
||||
the selection itself nor a descendant of any selected agent
|
||||
(client-side BFS cycle prevention across the whole batch; the
|
||||
hive-c0re re-checks per-agent). On submit:
|
||||
- **single agent** → `POST /api/topology/set-parent`
|
||||
(form-encoded `child=<name>&new_parent=<target>`)
|
||||
- **multiple agents** → `POST /api/topology/set-parent-bulk`
|
||||
(JSON `[{ child, new_parent }]`; all moves land in a single
|
||||
`topology.json` commit instead of one per agent)
|
||||
<!-- vale write-good.Passive = YES -->
|
||||
|
||||
Both write `topology.json` and re-emit a container snapshot so
|
||||
the tree repaints without a page reload.
|
||||
#4472 removed the `M0V3` picker that used to sit here — an agent has
|
||||
no parent to move it to any more.
|
||||
- **`✕ clear`** button + `Esc` key clear the entire selection.
|
||||
|
||||
Every render prunes stale selections (agents destroyed while
|
||||
|
|
|
|||
Loading…
Reference in a new issue