Skip to content

DQ4 — Additive Fleet page for at-a-glance agent visibility #28

Description

@Jacksondr5

Posted by an AI agent on Jackson's behalf

Build the Fleet view so the user can locate measured problems across Squadrons, inspect one Squadron's agents, and open the relevant thread.

Product contract

Jackson settled FV1–FV11, including second-round rulings FV1a/FV2a/FV5a/FV7a, with Product on 2026-09-04. PR #107 carries the docs, verified at efa7c79e60334fe557dce12b906314981c1dea9c; it was open when this issue was updated. Jackson owns docs review and merge.

This supersedes the original roster/sidebar-membership pairing. Normal sidebar membership stays unchanged: no provenance hiding or new pin/hide rules. While Fleet is open, the sidebar instead shows Squadrons and their problem counts; leaving Fleet restores the normal sidebar and its scope. Bryant owns Roles/personas separately.

Navigation and roster

  • Rail-footer entry with a global primary-environment problem count; command-palette entry "Go to Fleet."
  • On Fleet, show every Squadron in the primary environment in its own navigation list with measured problem counts. Select one to see its roster. Selection is page-local and never writes the ambient sidebar scope. Product's entry default: seed from an ambient selected Squadron, otherwise show the list unselected.
  • Roster rows are registered agent participants only. Humans appear as ask counterparties; provider-native Subagents are excluded.
  • Placement tree, stable creation-order siblings, explicit provenance. Preserve every retired ancestor on the path to an active descendant as a dimmed placeholder with not-applicable runtime/ask cells; omit retired branches with no active descendants. Never re-parent.
  • Every registered agent is reachable: no population cap or silent truncation. Click through to the thread.
  • Footer counts primary-environment-wide unarchived threads without a Squadron home, excluding provider-native Subagents.

Measured facts

  • Runtime status: Working, Waiting when background work remains, Approval, Input, Failed. Current undispatched-watchdog condition shows "Waiting to start · Nm" while applicable; reuse the complete predicate, including startedAt being null. "Idle since" applies only with no active or background work. Woke/Done and silence notices are excluded.
  • Owes N / Awaiting N, with counterparty, intent and age in accessible detail. Coalesced follow-ups count as one exchange.
  • Last activity is the labeled latest run start/end. Ledger recency is outside this increment.
  • Failed latest run, current watchdog condition, and delivery alarms are independent measured facts. Preserve known facts when another source is unknown.
  • Delivery alarms belong to the sender. Show the timestamp, receiver and reason; the chip persists. An alarm contributes to the badge only while its associated exchange is open. Closing/clearing that exchange removes its badge contribution while keeping the chip. Plain-message failures are chip-only. Exclude silence-notice and lifecycle-notice failures.
  • Global and per-Squadron counts deduplicate affected agents. Open asks alone never count as platform problems. Unknowns never fabricate failures or healthy zeroes.
  • Explicit unknown reasons and measurement timestamps; header identifies primary environment and as-of time. Failed refetch retains the previous snapshot with visible staleness/failure.

Data and delivery

Two authenticated server reads: (1) one Squadron's roster and all required facts; (2) primary-wide problem counts per Squadron, shared by the rail badge and Squadron list. Assemble existing sources and share failure-eligibility logic between both reads. No client fan-out through every Squadron's full roster.

A5 #31 replay/subscriptions and A10 #30 silence fact bundles are not prerequisites. No migration is expected under this read-only scope.

Proposed build: A establishes the end-to-end read/page/navigation contract; B adds complete asks behavior; C adds failures and aggregate counts. B/C can run concurrently once shared ownership and interfaces are fixed. A alone is scaffolding, not completed product acceptance. Design and Architecture are incorporating the second-round layout and read changes before staffing.

All eleven product scenarios are required, including global count → Squadron count → agent discovery, restored sidebar scope on exit, and clearing an ask removing a delivery alarm's badge contribution while preserving its chip. Focused negative tests cover excluded notice channels, partial failures, selection races, and the full watchdog predicate.

Normal reviewed changes land on j5/main; no GitHub release or packaging milestone. Monitoring delivery #74 follows this outcome.

Deferred: row actions, cross-environment aggregation (#105), inbox alerts, Crews, cost, PR pane, graph/playback, spectrum representation, ledger recency, urgency reordering. Health inference is excluded.

Coordination: GPT-6 through Codex in J5 Code; product rulings by Jackson with the standing Product agent.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    dogfood-queueReserved J5-native dogfood work — not staffable in Traycer

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions