Skip to content

ENG-160 MSOS studio dry-run UI - #4

Open
blindwolf90 wants to merge 1 commit into
develop212:mainfrom
blindwolf90:kimi/studio-ui
Open

blindwolf90 wants to merge 1 commit into
develop212:mainfrom
blindwolf90:kimi/studio-ui

Conversation

@blindwolf90

Copy link
Copy Markdown

Summary

Adds an isolated ?studio dry-run UI with only COO and Engineer: claim-request menu, desk report, approve/return actions, blocked hand raise, and a persistent bridge-status banner. All actions use a local mock handler; no real system is connected.

Existing event types and state machine

The existing protocol accepts only join / status / tool / message / task / leave / reset. join creates teams/agents, status changes agent state, tool normally enters working, message creates message effects, task updates the team task, leave enters offline, and reset clears the world. POST /events normalizes and applies events; GET /stream sends a snapshot followed by event/effect updates. This PR does not change the server or shared/protocol.js.

New front-end-only dry-run events

  • claim_confirmed {agent, task_id, task_title, source}: assign the simulated task and walk Engineer to COO and back.
  • claim_rejected {agent, reason}: show the rejection reason.
  • blocked {agent, task_id, reason}: raise Engineer's hand; opening the reason does not clear it.
  • report_ready {agent, task_id, report_url|report_local, summary}: place a report on the desk for review.
  • review_result {task_id, result, note}: remove an approved report or mark a returned report red.
  • bridge_status {mode, connected, last_update_ts, note}: update the persistent mode/connectivity/staleness banner.

Local action intents use POST-shaped /actions requests for claim_request and review, but src/studio/transport.ts resolves them locally and never sends them over the network. Only confirmation events complete a claim or review.

Validation

  • npm test — 17/17 PASS (7 new tests).
  • npm run build — TypeScript and Vite production build PASS.
  • node sim/dry-run.js — deterministic sequence including rejection and blockage; output saved.
  • node scripts/studio-browser.mjs — Chrome CDP mobile emulation at 390×844, real coordinate clicks, 44px targets, no horizontal overflow or external resource origins.

Evidence: docs/eng-160/evidence/ contains four screenshots (default, waiting, report, offline), browser-check results, and simulator terminal output. Full handoff and Engineer integration notes: docs/eng-160/HANDOFF.md.

Boundaries

Dry-run UI only. No Notion, tokens, real work orders, real bridge, Electron requirement, server changes, or arthur-os changes. The local preview uses only SIM-001 and a local simulated report.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant