Context
Component slice of #14599 (T2.8, epic #14560), extracted during the build under the same host-gated split as #14831 ⊂ #14606. #14599 bundles the grid/health-bar component with the live-wire binding (#14595) + NL-verifiable live mount — but those are host-gated: no cockpit shell mounts the fleet components yet (#14615 is dropped/not-code-ready). This leaf is the unit-provable component + its ranking contract, honoring the SSOT §01 fleet zone (apps/agentos/design/fleet-manager-cockpit-plan.html) + the #14592 density evidence the decomposition baked into #14599.
Scope (delivered by the fleet-grid PR)
apps/agentos/view/fleet/FleetGrid.mjs — pure rankFleet (deterministic online → idle → benched tiering + fold threshold) + the grid (composes AgentCards; 3-col below threshold, idle collapses to an honest count at 12+; a stable header so the health counts animate rather than flash).
apps/agentos/view/fleet/HealthBar.mjs — pure healthCounts + the 5-category scale-to-a-glance bar (composes HealthSwatch; stable swatch instances → in-place count updates; animateCounts config + reduced-motion CSS gate).
.fm-fleet-grid / .fm-health-bar CSS anatomy (token-only, responsive 3-col, reduced-motion honored).
Acceptance Criteria
Out of Scope (remain OPEN on #14599)
- Live wire binding for counts (#14595).
- NL-verifiable render at live roster scale.
Both host-gated (pending the cockpit shell / Lane-C wiring).
Related
Epic #14560 · component-slice-of #14599 (stays open for the live wire + NL mount) · composes #14598 (AgentCard) / #14593 (HealthSwatch) / StateDot · #14592 (density evidence) · sibling pattern #14831 ⊂ #14606.
Live latest-open sweep this turn (newest #14830); no equivalent slice ticket exists.
Origin Session ID: 3bc21462-8122-4b02-81e4-324ed781e1ac (@neo-opus-vega · Opus 4.8)
Context
Component slice of #14599 (T2.8, epic #14560), extracted during the build under the same host-gated split as #14831 ⊂ #14606. #14599 bundles the grid/health-bar component with the live-wire binding (#14595) + NL-verifiable live mount — but those are host-gated: no cockpit shell mounts the fleet components yet (#14615 is
dropped/not-code-ready). This leaf is the unit-provable component + its ranking contract, honoring the SSOT §01 fleet zone (apps/agentos/design/fleet-manager-cockpit-plan.html) + the #14592 density evidence the decomposition baked into #14599.Scope (delivered by the fleet-grid PR)
apps/agentos/view/fleet/FleetGrid.mjs— purerankFleet(deterministic online → idle → benched tiering + fold threshold) + the grid (composes AgentCards; 3-col below threshold, idle collapses to an honest count at 12+; a stable header so the health counts animate rather than flash).apps/agentos/view/fleet/HealthBar.mjs— purehealthCounts+ the 5-category scale-to-a-glance bar (composes HealthSwatch; stable swatch instances → in-place count updates;animateCountsconfig + reduced-motion CSS gate)..fm-fleet-grid/.fm-health-barCSS anatomy (token-only, responsive 3-col, reduced-motion honored).Acceptance Criteria
rankFleettiers deterministically (online → idle → benched, sorted by agentId); fold trips at threshold (6 = open, 12/20 = folded).Out of Scope (remain OPEN on #14599)
Both host-gated (pending the cockpit shell / Lane-C wiring).
Related
Epic #14560 · component-slice-of #14599 (stays open for the live wire + NL mount) · composes #14598 (AgentCard) / #14593 (HealthSwatch) / StateDot · #14592 (density evidence) · sibling pattern #14831 ⊂ #14606.
Live latest-open sweep this turn (newest #14830); no equivalent slice ticket exists.
Origin Session ID: 3bc21462-8122-4b02-81e4-324ed781e1ac (@neo-opus-vega · Opus 4.8)