# Decision: Master Console = Read-only Monitor + Control

**Date**: 2026-05-09
**Status**: Accepted (overrides earlier mockup-conventions / spec defaults)
**Affected**: `MICROAPPS_PRODUCT_CONTEXT.md` §3 / §5 / §9, Figma Requirements doc (`2956:4546`), Figma mockups (MC-1920 / MC-1440), UX delivery annotations

---

## Context

The original spec / mockup-conventions placed `+ New Session` per card and `Clone Session` per row across **both** Master Console and My Sessions. The Figma Requirements doc (`2956:4546`) had also stated "Creating new sessions from the dashboard — sessions come from the backend; this is a readonly monitor + control surface", which contradicted the per-card New Session button.

These two positions were inconsistent and product needed to clarify.

## Decision

| Capability | Master Console | My Sessions |
|---|---|---|
| `+ New Session` button (per card) | ❌ hidden | ✅ shown |
| `Clone Session` icon (in Action Cluster) | ❌ hidden | ✅ shown |
| URL field editing (Input URL / Output URL) | ❌ read-only; unset = `—` | ✅ editable |
| State actions (Preview / Go Live / Stop / Start Analysis / Stop Analysis / Start Stream / Stop Stream) | ✅ allowed | ✅ allowed |
| `Open in MicroApp` (navigate to detail page) | ✅ allowed | ✅ allowed |
| Sort / filter / search | ✅ allowed | ✅ allowed |

**Master Console = read-only monitor + operational control.**
**My Sessions = self-scope authoring + control.**

## Rationale

1. **Scope separation**: Console is for cross-tenant visibility (Super / Company Admin). Authoring artifacts under another tenant's scope is risky — easier to enforce by hiding the affordance entirely.
2. **Reduce blast radius**: A wrong URL edit on a live On-air broadcast can interrupt service. Operators making changes should do so on their own sessions.
3. **Permission consistency**: Aligns with the role matrix — Company User and Personal User can never see Console anyway, so authoring on Console was always admin-only. Removing it on Console means no role gets authoring privileges they didn't already have.
4. **Cleaner mental model**: "Console = look, MS = act on own".

## Implementation

### Figma mockups

- MC-1920 (`3278:1835`): 8 `+ New Session` button instances hidden; 16 `Clone` icons (`icon/Edit/Copy`) hidden in Action Clusters; 5 `Click to set input/output URL...` placeholders replaced with `—`.
- MC-1440 (`3289:2530`): **TBD — same edits to be applied.**
- MS-1920 (`3289:2726`) / MS-1440 (`3289:2922`): **no change** — keep full set.

### Figma Requirements doc (`2956:4546`)

- The bullet under "❌ Intentionally NOT in this release" that says "Creating new sessions from the dashboard — sessions come from the backend; this is a readonly monitor + control surface" needs to be **rephrased**, because My Sessions DOES support session creation. Suggested replacement:
  - "Creating sessions on Master Console — Console is read-only monitor + control. Authoring (create / clone / edit URL) is self-scoped to **My Sessions**."

### UX delivery annotations

- A1 (Page Access — Master Console): add explicit "READ-ONLY" section.
- A4 (Action Icons & Tooltips): note Clone hidden in MC + add row "Page differences" matrix.
- A_MicroAppsOrder: note + New Session button only visible on MS.

## Open Questions

None — directive is clear.

## Source

User instructions, sessions on 2026-05-08 / 2026-05-09.
