feat: ship agent-first mission control v0.2.57
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# Structural proof preflight
|
||||
|
||||
## Product contract
|
||||
|
||||
- **Surface:** desktop operational product UI
|
||||
- **Selected source:** `reference/selected-option-2.png`
|
||||
- **Concept sentence:** For an owner supervising an OpenClaw run, Run Control
|
||||
should feel like live mission instrumentation by combining an authoritative
|
||||
agent topology with one connected decision inspector, while avoiding a
|
||||
dashboard inventory of unrelated cards.
|
||||
- **Evidence boundary:** authored controlled prototype; no backend or provider
|
||||
request
|
||||
- **Supported width:** 1100 CSS px and wider; primary proof at `1440 x 1024`
|
||||
- **Explicit exclusion:** no mobile layout and no standalone Mobile Chat page
|
||||
|
||||
## Entry mode
|
||||
|
||||
`task-first`. The selected run name, runtime state, session reference, active
|
||||
agent path, and pending approval are visible before the first material action.
|
||||
The first material action is `Review approval`; it opens a connected dialog
|
||||
without changing the mock decision.
|
||||
|
||||
## Section grammar
|
||||
|
||||
| Section | Role | User question | Grammar |
|
||||
|---|---|---|---|
|
||||
| Sidebar/topbar | Orient | Where am I and which run is active? | fixed navigation and compact run metadata |
|
||||
| Status strip | Orient | Is anything waiting or blocked? | one lightweight status row |
|
||||
| Agent topology | Explain | Who is doing what, and what depends on whom? | spatial nodes with one highlighted execution path |
|
||||
| Event rail | Prove | What happened and where did the state come from? | chronological rows opening event details |
|
||||
| Inspector | Explain/Act | What is selected and what can I do safely? | one persistent context rail |
|
||||
| Approval dialog | Act | What exactly am I approving? | scope, impact, immutable context, explicit decision |
|
||||
| Toast/recovery | Recover | What changed and can I reverse the mock action? | connected status plus visible undo/restart |
|
||||
|
||||
## Signature gesture
|
||||
|
||||
The active topology path is the single dominant gesture. A restrained glow may
|
||||
echo on the selected node and primary approval action. Event rows, dense
|
||||
metadata, error/recovery copy, and modal body text must remain plain and
|
||||
high-contrast.
|
||||
|
||||
## State and copy truth table
|
||||
|
||||
| State | Visible facts | Allowed action | Forbidden claim | Recovery/focus |
|
||||
|---|---|---|---|---|
|
||||
| Pending approval | Executor waiting; scope not yet approved | inspect agents/events/session/provider; review approval | deployment started | dialog close restores trigger focus |
|
||||
| Approval dialog | exact authored scope and no-production-mutation impact | approve, request changes, close | live policy check | close returns to approval trigger |
|
||||
| Approved | decision recorded; Executor preparing artifacts | inspect; undo mock decision | deployment executed | undo restores pending state |
|
||||
| Paused | run overlay and paused label | resume; inspect details | agents advancing | Resume in topbar |
|
||||
| Stopped | stopped overlay and recovery card | inspect; restart mock run | runtime still active | Restart restores pending approval |
|
||||
| Event detail | actor, time, correlation, source | close | live trace evidence | close restores event-row focus |
|
||||
| Provider/session detail | authored connected state and explicit no-request copy | close | verified live provider or secret visibility | close restores metadata-row focus |
|
||||
| Ask Iris | explicit mock label and authored response | submit local text, close | live model response | close restores topbar trigger |
|
||||
|
||||
## Proof selectors and settle condition
|
||||
|
||||
- Primary canvas: `[data-testid="run-canvas"]`
|
||||
- Executor node: `[data-testid="agent-executor"]`
|
||||
- Approval node: `[data-testid="approval-node"]`
|
||||
- Review trigger: `[data-testid="review-approval"]`
|
||||
- Confirmation: `[data-testid="confirm-approval"]`
|
||||
- Settle condition: local fonts loaded, the canvas is visible, no dialog
|
||||
transition is pending, and the selected node geometry is stable.
|
||||
Reference in New Issue
Block a user