# Subplan 06 - Admin UI

## Goal

Build a dense, operational admin UI for managing apps, releases, artifacts,
channels, tokens, install pages, and audit logs.

## Authority

- Snarky defines product requirements and acceptance criteria.
- Opus owns layout, visual hierarchy, and interaction design.
- Opus is the only role that writes UI code during implementation.

## Screens

Apps:

- app list
- platform coverage
- channel status
- latest release summary

App detail:

- metadata
- releases table
- channels
- install page visibility

Release detail:

- artifact list
- validation status
- timeline
- promote/rollback actions

Install preview:

- public install page preview
- platform detection states
- iOS mode selector
- QR/deep link preview

Tokens:

- token list
- create token
- scopes
- revoke

Audit:

- filter by actor, action, app, release
- event details

Settings:

- server URL
- storage
- policy gates
- NAS deployment values

## UX Requirements

- First screen is the working product, not a landing page.
- Operational SaaS density: quiet, scan-friendly, no oversized marketing hero.
- Layout works on desktop and mobile without text overlap.
- Tables and panels should have stable dimensions.
- Repeated items can be cards; avoid nested cards.
- The UI must distinguish iOS TestFlight, Enterprise/MDM, and Artifact-only
  modes clearly.

## Mock Redesign Slice

Current static mock files:

- `index.html`
- `styles.css`
- `app.js`

The current layout was rejected by the user.

Next redesign branch:

- `opus/redesign-distribution-mock`

Allowed paths for Opus:

- `index.html`
- `styles.css`
- `app.js`
- `assets/**`

Acceptance:

- App console is usable in the first viewport.
- Navigation is not visually heavy.
- Release workflow and install workflow are immediately legible.
- Mobile layout prioritizes content before secondary chrome.
- No misleading iOS install claim.
