Skip to content

F11.2: Cache-first fleet render (CLI + TUI) #33

Description

@gnanirahulnutakki

Part of epic #29 (E11). Milestone: Phase L (day-0 adoption wedge). Source: docs/EPICS.md / docs/SITH-NOTION.md.

F11.2 — Cache-first fleet render (CLI + TUI)

What it is. A k9s-style terminal view over the aggregated fleet that renders from a local
cache in tens of milliseconds, plus scriptable CLI verbs (sith get … --all-clusters).

How it works.

  1. Watch streams hydrate a local store; the UI reads the store first, never the API per keystroke.
  2. Views (resources, health, contexts) render from cache; deltas reconcile in the background.
  3. A command bar (:/cmd-K) offers fuzzy navigation across all clusters at once.
  4. CLI verbs render the same model for scripting and SSH use.
flowchart LR
    W["Per-context watch streams"] --> S[("Local fleet cache")]
    S --> U["TUI view (renders from cache, <100ms)"]
    S --> C["CLI verbs (--all-clusters)"]
    A["User keystroke / query"] --> U
    U -. "async" .-> W
Loading

Acceptance criteria.

  • Views and the command bar render under ~100 ms from cache; deltas reconcile without spinners.
  • CLI verbs return the same aggregated answers as the TUI.

Key risk / guardrail. Per-keystroke API round-trips (the slow-UI failure). Guardrail: the
store is the single render source; the API is only a background sync target.


Spec & slice. Slice 2 of docs/BUILD-SEQUENCE.md (PR #40). Full contract: docs/specs/F11.2-F11.5-local-fleet-ux.md (PR #42) — cache-first render. Folds F11.4 (cross-cluster search/correlation, routed via #10 + #38). AC: store is the single render source; views/command-bar render < ~100 ms from cache; CLI --all-clusters parity with TUI; one cross-cluster query correct over ≥ 2 contexts with stale flagged. Backs the E14 advisory brain (#48) scope-walk.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureFeature / child issuelocal-modeLocal fleet client / adoption wedgephase-LPhase L: local mode (day 0 adoption wedge)

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions