# HTML5/PWA Cockpit Readiness

This checklist validates the V3 decision that Cockpit and app.99pages.uk are
HTML5/PWA surfaces over Core CLI, not separate native applications.

## Product Contract

- Cockpit is a local-first HTML5/PWA workbench.
- app.99pages.uk is the remote-control PWA for signed-in users.
- Browser Terminal talks to Core CLI and displays state; it is not a bash editor.
- Core CLI/SubCLI remain the execution layer.
- A remote-control device is not automatically the execution device.
- Mini Apps use one SQLite database per app by default.
- Health Score is a first-screen trust indicator and must use the internal
  `health_score_fast` AI Workforce tier. The UI must not reveal the underlying
  model or provider name.

## Health Score

- [ ] Health Score appears in the first viewport of Cockpit.
- [ ] Health Score consumes local deterministic checks before model reasoning.
- [ ] Health Score model calls route through AI Workforce tier `health_score_fast`.
- [ ] UI label uses "Health Check" or "Fast diagnostic tier", not provider/model names.
- [ ] Score explains system, workstation, agents, MCP, security, and data dimensions.
- [ ] Score refresh creates an auditable event or evidence record.
- [ ] Failure states show next action, not just a number.

## Browser Terminal

- [ ] Opens from Cockpit without requiring native GUI code.
- [ ] Shows Core CLI prompt/status.
- [ ] Supports slash commands.
- [ ] Streams run events back into the terminal panel.
- [ ] Does not expose raw provider names.
- [ ] Does not expose hidden relay endpoints.
- [ ] Mutating actions require approval unless explicitly pre-authorized.
- [ ] Session state survives browser refresh where possible.

## Core CLI Bridge

- [ ] HTTP/WebSocket bridge starts from the local launcher.
- [ ] Bridge can call `99p run`, `99p runs`, `99p watch`, `99p mcp audit`,
  `99p subcli spawn`, and `99p telegram status`.
- [ ] Bridge can expose Health Check without revealing provider/model names.
- [ ] Bridge actions are listed in `docs/DEPLOYMENT_PLAN.md`.
- [ ] Bridge writes events to the same JSONL run store.
- [ ] Bridge logs are stored under `.agentic-os/logs`.
- [ ] Browser disconnect does not kill active runs.

## Panel Registry

- [ ] Cockpit modules are registered once in `configs/panel_registry.json`.
- [ ] High-frequency dedicated apps can override visuals but not duplicate capability logic.
- [ ] MCP, Skill, Plugin, and Mini App entries appear as one capability system.
- [ ] Web Terminal, Health Check, Runs, MCP Market, Agents, Wiki/Library, Mini App Builder, Devices, Settings, and Virtual Desktop are present.
- [ ] Each panel maps to Core CLI, MCP, or run event capabilities.

## Mini App Builder

- [ ] Mini App manifest contains name, slug, database path, required MCPs, and UI route.
- [ ] Each Mini App gets a SQLite database by default.
- [ ] Mini App chatbot calls Core CLI/SubCLI, not a separate agent runtime.
- [ ] Mini App capabilities are cloned from installed MCP templates.
- [ ] Export can generate HTML and spreadsheet artifacts from SQLite.
- [ ] Custom app requests can be published into the Mini App Market.

## Cross-Platform

- [ ] Windows uses PowerShell/Core CLI underneath.
- [ ] macOS uses shell adapter/Core CLI underneath.
- [ ] Linux VPS uses shell adapter/Core CLI underneath.
- [ ] ChromeOS/mobile devices act as remote-control clients.
- [ ] No platform requires a separate native Cockpit codebase.

## Verification

```powershell
99p mcp audit
99p subcli spawn project_triage "verify Core CLI bridge readiness"
99p telegram status
```

The HTML5/PWA layer is ready only when these capabilities can be projected
without duplicating business logic in the frontend.
