Skip to content

FLT-152 build report

Mobile parity inventory

The narrow cockpit supplies a horizontally scrollable, 44px-touch-target panel navigator. Every panel remains rendered (no mobile-only omissions) and the cockpit itself remains vertically scrollable.

Cockpit feature Narrow-layout access
Command bar: resolve, editable resolution, host/agent selection, protected-branch confirmation, dispatch, worktree history Pinned above the panel navigator; internally scrollable when expanded
Command launch panel Command
Design/artifact planning and dispatch Command, immediately below launch
Needs-human gate Needs you
Worker availability and host status controls Fleet
Session tree, transcript-open, and queued cancel Fleet
Run stream, cancel, review/artifact links and files Runs
Transcript and unified follow-up composer Open any session from Fleet; full-screen mobile-safe modal
FLT-144 memory review, edit, promote/reject, bulk actions and house facts Memory
Governor tier, provider seats and Claude window Limits
Quota, reserve pools, five-hour and weekly limits Limits
Legend and full Jones-Gaffney family roster Header legend control
Connection, availability and host state Header and Fleet

Responsive and platform behavior

  • 360–599px: single-column stack plus direct panel navigation; all nested inputs/selects/textareas are at least 16px to prevent iOS focus zoom and all interactive controls have at least a 44px touch dimension.
  • 600–1099px: dual-pane layout, including unfolded Pixel Fold-class viewports.
  • 1100px+: existing three-pane cockpit.
  • horizontal-viewport-segments: 2 remains an enhancement for segmented folded postures; the 600px breakpoint is the primary unfolded trigger.
  • 100dvh, viewport-fit=cover, safe-area insets, reduced-motion handling, and mobile modal sizing cover iPhone Safari behavior.

PWA and Tailscale configuration

  • Production Angular service worker prefetches the app shell and uses network-first (freshness) handling for runtime configuration and API GETs.
  • The manifest names Fleet Mission Control, requests standalone display, declares theme/background colors, and supplies 72–512px maskable/any PNG icons.
  • public/fleet-config.js is emitted as a separately network-first deployment file. Set window.__FLEET_CONFIG__.apiBaseUrl to the HTTPS Tailscale-reachable API origin, or leave it empty for a same-origin reverse proxy. Avoid an HTTP API behind an HTTPS PWA because browsers block mixed content.

Verification

  • npx ng build: PASS. Initial bundle 415.82 kB raw / 98.54 kB estimated transfer. Output contains manifest.webmanifest, ngsw-worker.js, ngsw.json, and fleet-config.js; runtime config is network-first rather than app-shell precached.
  • npx ng lint: PASS. All files pass linting.
  • npx vitest run: PASS. 25 test files, 266 tests.
  • Backend was not touched, so .NET gates were not applicable.
  • Generated contracts were not changed, so npm run check:drift was not applicable.
  • Live in-app-browser viewport validation was attempted but the browser surface was unavailable; no physical-device/browser result is claimed.