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: 2remains 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.jsis emitted as a separately network-first deployment file. Setwindow.__FLEET_CONFIG__.apiBaseUrlto 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 containsmanifest.webmanifest,ngsw-worker.js,ngsw.json, andfleet-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:driftwas not applicable. - Live in-app-browser viewport validation was attempted but the browser surface was unavailable; no physical-device/browser result is claimed.