# Atomizer HQ Dashboard โ€” Full Plan > **Status:** DRAFT โ€” Awaiting CEO review > **Author:** Manager ๐ŸŽฏ > **Date:** 2026-02-11 > **Requested by:** Antoine Letarte (CEO) --- ## Executive Summary Transform the existing Atomizer Dashboard (study monitoring tool) into **Atomizer HQ** โ€” a centralized command center that serves as the primary interface between Antoine and the entire Atomizer Engineering operation. From any device, Antoine can view project blueprints, monitor running studies, execute commands on Windows, interact with agents, and generate reports โ€” all through a single, polished web UI. **The core insight:** The dashboard isn't just a viewer. It's a **remote control for the entire operation** โ€” agents, NX solver, studies, reports โ€” with Windows compute power dispatched from the browser. --- ## Vision ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ATOMIZER HQ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Project โ”‚ โ”‚ Study โ”‚ โ”‚ Command โ”‚ โ”‚ Agent โ”‚ โ”‚ โ”‚ โ”‚ Blueprintโ”‚ โ”‚ Tracker โ”‚ โ”‚ Center โ”‚ โ”‚ Console โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ Browser (any device) โ†โ”€โ”€โ”€โ”€ HTTPS โ”€โ”€โ”€โ”€โ†’ FastAPI (T420) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Job Queue / MCP โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ dalidou (Windows) โ”‚ โ”‚ NX Nastran + conda โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` Antoine opens a browser on his Windows machine, his phone, or any device on the network. He sees his projects, his studies, his results โ€” and he can take action. No PowerShell. No SSH. No switching between tools. --- ## Architecture ### Current State ``` atomizer-dashboard/ โ”œโ”€โ”€ backend/ FastAPI + WebSocket (Python) โ”‚ โ”œโ”€โ”€ api/routes/ optimization, insights, terminal, nx, spec, intake โ”‚ โ”œโ”€โ”€ api/services/ claude agent, session mgr, spec mgr, nx introspection โ”‚ โ””โ”€โ”€ api/websocket/ optimization stream โ”œโ”€โ”€ frontend/ React + Vite + TypeScript + TailwindCSS โ”‚ โ”œโ”€โ”€ pages/ Home, Dashboard, Analysis, Insights, Studio, Setup, Canvas โ”‚ โ”œโ”€โ”€ components/ Canvas nodes, chart components, terminal โ”‚ โ””โ”€โ”€ hooks/ WebSocket, Optuna stream, spec store โ””โ”€โ”€ README.md ``` **What works today:** - Study discovery and monitoring (WebSocket streaming) - Interactive charts (Plotly + Recharts) - Process control (start/stop optimization) - Claude Code terminal embed (xterm.js + PTY) - Study insights (Zernike WFE, stress, modal) - AtomizerSpec canvas (node-based study configurator) - NX introspection endpoints **What's missing for HQ:** - Project-level view (above study level) - Atomizer HQ agent integration (Slack agents โ†’ dashboard) - Remote command dispatch with live feedback - Project reporting & export - Multi-device responsive design - Authentication (currently open) ### Target Architecture ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Browser (any device) โ”‚ โ”‚ React + TailwindCSS โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ HTTPS + WSS โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ FastAPI Backend (T420) โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Project Service โ”‚โ”€โ”€โ”€โ”€ CONTEXT.md, DECISIONS.md โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ knowledge_base/ โ”‚ โ”‚ Study Service โ”‚โ”€โ”€โ”€โ”€ Optuna DB, history.db โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ iteration folders โ”‚ โ”‚ Command Service โ”‚โ”€โ”€โ”€โ”€ Job Queue (SYS_19) โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ†’ Syncthing โ†’ dalidou โ”‚ โ”‚ Agent Service โ”‚โ”€โ”€โ”€โ”€ Clawdbot API / Slack โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ Report Service โ”‚โ”€โ”€โ”€โ”€ Markdown โ†’ PDF/HTML โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ WebSocket Hub โ”‚ โ”‚ โ”œโ”€ Study stream โ”‚ โ”‚ โ”œโ”€ Command output stream โ”‚ โ”‚ โ””โ”€ Agent activity stream โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Atomizer โ”‚ โ”‚ Job Queue โ”‚ โ”‚ Clawdbot โ”‚ โ”‚ Repo โ”‚ โ”‚ (Syncthing)โ”‚ โ”‚ Gateway โ”‚ โ”‚ (Git) โ”‚ โ”‚ โ†’ Windows โ”‚ โ”‚ (Agents) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ dalidou โ”‚ โ”‚ Windows โ”‚ โ”‚ NX + condaโ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ### Network / Access | Component | Location | Port | Access | |-----------|----------|------|--------| | Dashboard frontend | T420 (Linux) | 5173 (dev) / 443 (prod) | LAN / Tailscale | | FastAPI backend | T420 (Linux) | 8000 | Internal only | | Clawdbot gateway | T420 (Linux) | 18790 | Internal only | | NX Solver | dalidou (Windows) | โ€” | Via Syncthing job queue | | NX MCP (future) | dalidou (Windows) | TBD | Direct API (Phase 3) | **Multi-device access:** Via Tailscale VPN or LAN. Dashboard is a web app โ€” works on Windows, Mac, phone, tablet. No install needed. --- ## The Five Panes ### Pane 1: ๐Ÿ“‹ Project Blueprint **Purpose:** The project's living blueprint โ€” everything about the project in one view. **Data sources:** `CONTEXT.md`, `DECISIONS.md`, `knowledge_base/`, `atomizer_spec.json` #### Layout ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿ“‹ HYDROTECH BEAM ๐ŸŸข Active โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ โ”Œโ”€ Objective โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Minimize mass (kg) of sandwich I-beam โ”‚ โ”‚ โ”‚ โ”‚ Subject to: displacement โ‰ค 10mm, stress โ‰ค 130 MPa โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Design Variables โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ DV โ”‚ Expression โ”‚ Range โ”‚ Baseline โ”‚ โ”‚ โ”‚ โ”‚ 1 โ”‚ beam_half_core_thick โ”‚ 10-40mm โ”‚ 25.162mm โ”‚ โ”‚ โ”‚ โ”‚ 2 โ”‚ beam_face_thickness โ”‚ 10-40mm โ”‚ 21.504mm โ”‚ โ”‚ โ”‚ โ”‚ 3 โ”‚ holes_diameter โ”‚ 150-450 โ”‚ 300mm โ”‚ โ”‚ โ”‚ โ”‚ 4 โ”‚ hole_count โ”‚ 5-15 โ”‚ 10 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Baseline Performance โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Mass: 1,133 kg โ”‚ Disp: 19.56mm โš ๏ธ โ”‚ Stress: 117 MPa โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Decision Timeline โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ— DEC-HB-001 Two-phase strategy (DOEโ†’TPE) โ”‚ โ”‚ โ”‚ โ”‚ โ— DEC-HB-002 4 design variables confirmed โ”‚ โ”‚ โ”‚ โ”‚ โ— DEC-HB-008 In-place solving (backup/restore) โ”‚ โ”‚ โ”‚ โ”‚ โ— ... โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Knowledge Base Status โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Generation: 003 โ”‚ Gaps: 2 open / 14 closed โ”‚ โ”‚ โ”‚ โ”‚ Open: G9 (yield stress), G15 (p6 as DV?) โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Study Phases โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โœ… Phase 1: DOE Landscape (51 trials) [View โ†’] โ”‚ โ”‚ โ”‚ โ”‚ โฌœ Phase 2: TPE Optimization [Plan โ†’] โ”‚ โ”‚ โ”‚ โ”‚ โฌœ Phase 3: Validation โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` #### Features - **Auto-parsed from CONTEXT.md** โ€” no manual data entry - **Live status indicators** โ€” green/yellow/red based on constraint satisfaction - **Decision log as interactive timeline** โ€” click to expand rationale - **KB gap tracker** โ€” see what's still unknown - **Study phase navigation** โ€” click to jump into Study Tracker pane - **Export:** One-click PDF/HTML project summary (OP_08 report format) --- ### Pane 2: ๐Ÿ“Š Study Tracker **Purpose:** Real-time monitoring of running studies + historical results analysis. **Data sources:** `history.db`, `optuna_study.db`, iteration folders, `doe_run.log` **Builds on:** Existing Dashboard + Analysis + Insights pages (already functional) #### Layout ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿ“Š Study: 01_doe_landscape โ–ถ๏ธ Running (Trial 23/51) โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ โ”Œโ”€ Live Progress Bar โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 23/51 (45%) ~5min โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Best So Far โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Trial #17: Mass=847kg โœ… Disp=8.2mm โœ… Stress=98MPa โœ… โ”‚ โ”‚ โ”‚ โ”‚ DVs: core=18.5 face=28.3 dia=220 count=12 โ”‚ โ”‚ โ”‚ โ”‚ Improvement: -25.2% mass vs baseline โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Charts (tabbed) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ [Convergence] [Scatter] [Parallel] [Sensitivity] โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Mass vs Trial โ€” convergence curve with โ”‚ โ”‚ โ”‚ โ”‚ feasible/infeasible color coding โ”‚ โ”‚ โ”‚ โ”‚ โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Trial Table โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ # โ”‚ Core โ”‚ Face โ”‚ Dia โ”‚Countโ”‚Mass โ”‚Dispโ”‚Stressโ”‚Feasโ”‚ โ”‚ โ”‚ โ”‚ 0 โ”‚25.16โ”‚21.50 โ”‚300.0 โ”‚ 10 โ”‚1133 โ”‚19.5โ”‚ 117 โ”‚ โœ… โ”‚ โ”‚ โ”‚ โ”‚ 1 โ”‚18.50โ”‚28.30 โ”‚220.0 โ”‚ 12 โ”‚ 847 โ”‚ 8.2โ”‚ 98 โ”‚ โœ… โ”‚ โ”‚ โ”‚ โ”‚ ... โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Iteration Inspector โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Click any trial โ†’ see params.json, solver log, โ”‚ โ”‚ โ”‚ โ”‚ OP2 summary, NX screenshots (if available) โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` #### New Features (beyond existing dashboard) - **Progress bar with ETA** โ€” based on solve_time_s average - **Best-so-far card** โ€” highlighted, always visible - **Feasibility color coding** โ€” green (all constraints met), yellow (partial), red (infeasible) - **Parameter sensitivity** โ€” from DOE data, which DVs matter most - **Iteration inspector** โ€” click a trial, see everything about it - **Study comparison** โ€” side-by-side Phase 1 vs Phase 2 results - **DOE heatmaps** โ€” 2D parameter space with mass/constraint coloring --- ### Pane 3: ๐ŸŽฎ Command Center **Purpose:** Replace PowerShell. Run commands on Windows from the browser with button-driven UI. **This is the killer feature.** Instead of: ```powershell # On dalidou, open PowerShell, navigate, activate env, run... cd C:\Users\antoi\Atomizer\projects\hydrotech-beam\studies\01_doe_landscape conda activate atomizer python run_doe.py --n-samples 51 --backend nxopen ``` You click a button: ``` [โ–ถ๏ธ Run DOE] Samples: [51] Backend: [nxopen โ–พ] [Start] ``` #### Layout ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐ŸŽฎ Command Center dalidou: ๐ŸŸข Online โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ โ”Œโ”€ Quick Actions โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ [โ–ถ๏ธ Run DOE] [โ–ถ๏ธ Resume Study] [โน๏ธ Stop] โ”‚ โ”‚ โ”‚ โ”‚ [๐Ÿ”„ Single Trial] [๐Ÿ“Š Generate Report] โ”‚ โ”‚ โ”‚ โ”‚ [๐Ÿงน Clean & Restart] [๐Ÿ“ฅ Pull Results] โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Run Configuration โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Study: [01_doe_landscape โ–พ] โ”‚ โ”‚ โ”‚ โ”‚ Samples: [51 โ–พ] Backend: [nxopen โ–พ] โ”‚ โ”‚ โ”‚ โ”‚ Resume: [โ˜] Clean: [โ˜] Verbose: [โ˜‘] โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ [โ–ถ๏ธ Execute on dalidou] โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Live Console โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ $ python run_doe.py --n-samples 51 --backend nxopen โ”‚ โ”‚ โ”‚ โ”‚ [INFO] Starting trial evaluations... โ”‚ โ”‚ โ”‚ โ”‚ [INFO] Trial 0: DV1=25.16, DV2=21.50... โ”‚ โ”‚ โ”‚ โ”‚ [INFO] Trial 0: Mass=1133kg, Disp=19.56mm โœ… โ”‚ โ”‚ โ”‚ โ”‚ [INFO] Trial 1: DV1=18.50, DV2=28.30... โ”‚ โ”‚ โ”‚ โ”‚ โ–ˆ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Expression Editor โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ beam_half_core_thickness: [25.162] mm โ”‚ โ”‚ โ”‚ โ”‚ beam_face_thickness: [21.504] mm โ”‚ โ”‚ โ”‚ โ”‚ holes_diameter: [300.0 ] mm โ”‚ โ”‚ โ”‚ โ”‚ hole_count: [10 ] โ”‚ โ”‚ โ”‚ โ”‚ [Update NX Model] [Reset to Baseline] โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ System Status โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ NX: ๐ŸŸข DesigncenterNX 2512 โ”‚ conda: ๐ŸŸข atomizer โ”‚ โ”‚ โ”‚ โ”‚ Syncthing: ๐ŸŸก Paused (git-only mode) โ”‚ โ”‚ โ”‚ โ”‚ Last solve: 12.3s โ”‚ Queue: 0 pending โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` #### How Command Dispatch Works **Phase 1: Job Queue (Syncthing bridge)** 1. User clicks "Run DOE" โ†’ backend creates `job.json` in outbox 2. Syncthing syncs to dalidou (5-30s delay) 3. Watcher script on dalidou picks up job, executes in conda env 4. stdout/stderr streams back via log file (Syncthing'd back) 5. Dashboard tails the log file in real-time via WebSocket ``` Browser โ†’ FastAPI โ†’ outbox/job.json โ†’ Syncthing โ†’ dalidou/watcher.py โ†’ NX โ”‚ stdout.log โ”‚ Syncthing โ†’ FastAPI โ†’ WebSocket โ†’ Browser ``` **Phase 2: Direct Bridge (WebSocket tunnel)** - Lightweight agent on dalidou connects to T420 via WebSocket - Commands dispatched instantly (no Syncthing delay) - Live stdout streaming without file polling - Process control (pause, resume, kill) in real-time **Phase 3: NX MCP Server** - Full NXOpen API exposed as MCP endpoints on dalidou - Expression read/write, solve, result extraction โ€” all direct API calls - Eliminates journal generation, temp files, pyNastran dependency - Dashboard calls MCP server directly for NX operations #### Key Commands | Button | What it does | Backend mechanism | |--------|-------------|-------------------| | โ–ถ๏ธ Run DOE | Execute `run_doe.py` with configured params | Job queue โ†’ dalidou | | โ–ถ๏ธ Resume Study | `run_doe.py --resume` | Job queue โ†’ dalidou | | โน๏ธ Stop | Send SIGINT/SIGTERM to running process | Bridge signal | | ๐Ÿ”„ Single Trial | Run one trial with specified DVs | Job queue โ†’ dalidou | | ๐Ÿ“Š Generate Report | Trigger OP_08 report generation | Agent spawn | | ๐Ÿ“ฅ Pull Results | Trigger git pull or Syncthing sync | Backend command | | Update NX Model | Push expression values to NX | Job queue / MCP | --- ### Pane 4: ๐Ÿค– Agent Console **Purpose:** Interact with Atomizer HQ agents directly from the dashboard. #### Layout ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿค– Agent Console โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ โ”Œโ”€ Agent Status โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ ๐ŸŽฏ Manager ๐ŸŸข Active โ”‚ Last: 2min ago โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ“‹ Secretary ๐ŸŸข Active โ”‚ Last: 15min ago โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ”ง Tech Lead ๐ŸŸก Idle โ”‚ Last: 3h ago โ”‚ โ”‚ โ”‚ โ”‚ โšก Optimizer ๐ŸŸก Idle โ”‚ Last: 18h ago โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ—๏ธ Study Build ๐ŸŸก Idle โ”‚ Last: 18h ago โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ” Auditor ๐ŸŸก Idle โ”‚ Last: 18h ago โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Quick Commands โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ [๐Ÿง  Run Digestion Cycle] [๐Ÿ” Request Audit] โ”‚ โ”‚ โ”‚ โ”‚ [๐Ÿ“Š Generate Status Report] [๐Ÿ“‹ Project Summary] โ”‚ โ”‚ โ”‚ โ”‚ [๐Ÿ”ง Technical Review] [โšก Optimize Strategy] โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Activity Feed (from Slack) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ ๐ŸŽฏ Manager: DOE Phase 1 pipeline operational โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ”ง Tech Lead: NX interface refactored (126f0bb) โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ” Auditor: APPROVED WITH CONDITIONS โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ—๏ธ Study Builder: run_doe.py complete (017b90f) โ”‚ โ”‚ โ”‚ โ”‚ ... โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Chat โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ To: [๐ŸŽฏ Manager โ–พ] โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ What's the status of the hydrotech beam project? โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ [Send] โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` #### Features - **Agent status board** โ€” who's active, when they last worked - **Quick command buttons** โ€” trigger common agent workflows - **Slack activity feed** โ€” real-time project activity from all agents - **Direct chat** โ€” message any agent from the dashboard (routes to Slack/Clawdbot) - **Digestion trigger** โ€” manually run OP_11 from the dashboard #### Integration with Clawdbot - Agent status: via Clawdbot sessions API - Chat: POST to Clawdbot API or Slack webhook - Activity feed: Slack event stream or Clawdbot WebSocket --- ### Pane 5: ๐Ÿ“ Reports & Export **Purpose:** Professional project reporting and data export. #### Features ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿ“ Reports & Export โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ โ”Œโ”€ Auto-Generated Reports โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ“„ Project Summary [Generate] [PDF] [HTML] โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ“„ DOE Analysis Report [Generate] [PDF] [HTML] โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ“„ Optimization Report [Generate] [PDF] [HTML] โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ“„ Decision Log [Generate] [PDF] [HTML] โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ“„ Knowledge Base Export [Generate] [PDF] [HTML] โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Data Export โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ“Š Trial History [CSV] [JSON] [Excel] โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ“Š Best Designs [CSV] [JSON] โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ“Š Parameter Study [CSV] [Pareto CSV] โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€ Report Viewer โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ (Rendered markdown / PDF preview) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` #### Report Types | Report | Content | Source | |--------|---------|--------| | Project Summary | Objective, DVs, constraints, timeline, current status | CONTEXT.md + DECISIONS.md | | DOE Analysis | Parameter sensitivity, feasible region, response surfaces | history.db + Optuna | | Optimization Report | Best design, improvement %, convergence, recommendations | Study results | | Decision Log | All decisions with rationale and dates | DECISIONS.md | | KB Export | Everything we know about this model/project | knowledge_base/ | --- ## Navigation & UX ### Top-Level Navigation ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โšก ATOMIZER HQ [Hydrotech Beam โ–พ] Antoine ๐Ÿ‘ค โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ ๐Ÿ“‹ โ”‚ ๐Ÿ“Š โ”‚ ๐ŸŽฎ โ”‚ ๐Ÿค– โ”‚ ๐Ÿ“ โ”‚ โ”‚Project โ”‚Studies โ”‚Commands โ”‚Agents โ”‚Reports โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ (Active pane content) โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` - **Project selector** in header โ€” switch between active projects - **Tab navigation** โ€” 5 panes, always accessible - **Responsive** โ€” works on desktop (full layout), tablet (stacked), phone (single-pane) - **Dark/light theme** โ€” engineer-friendly dark mode default, light for reports ### Notification System - Toast notifications for: trial complete, study finished, agent message, job status change - Badge counts on pane tabs (e.g., "3 new trials" on Study Tracker) - Sound alerts for critical events (study complete, study failed) --- ## Implementation Plan ### Phase D1: Foundation (1-2 weeks) **Goal:** Project-level data layer + navigation shell **Tasks:** 1. Add project discovery endpoint (scan `projects/` directory for CONTEXT.md files) 2. Parse CONTEXT.md โ†’ structured API response (DVs, constraints, objectives, baseline) 3. Parse DECISIONS.md โ†’ timeline API 4. Create top-level navigation shell (5 panes with tab routing) 5. Build Project Blueprint pane (read-only view) 6. Add project selector dropdown **API endpoints:** ``` GET /api/projects โ†’ list projects GET /api/projects/{id} โ†’ parsed CONTEXT.md GET /api/projects/{id}/decisions โ†’ parsed DECISIONS.md GET /api/projects/{id}/kb-status โ†’ gap tracker from _index.md GET /api/projects/{id}/studies โ†’ list studies with status ``` **Deliverable:** Navigate to Atomizer HQ, select Hydrotech Beam, see the full project blueprint with DVs, constraints, decisions, KB status. --- ### Phase D2: Study Tracker Enhancement (1-2 weeks) **Goal:** Adapt existing dashboard for project-scoped study tracking **Tasks:** 1. Integrate existing Dashboard/Analysis pages into Study Tracker pane 2. Add progress bar with ETA (from `history.db` solve_time averages) 3. Add best-so-far card (always visible) 4. Add feasibility color coding to trial table 5. Build iteration inspector (click trial โ†’ see detail panel) 6. Add DOE-specific visualizations (heatmaps, response surfaces) **API endpoints (extend existing):** ``` GET /api/projects/{id}/studies/{sid}/progress โ†’ % complete, ETA GET /api/projects/{id}/studies/{sid}/best โ†’ best feasible trial GET /api/projects/{id}/studies/{sid}/iteration/{n} โ†’ detailed trial data ``` **Deliverable:** Watch a running DOE in real-time with progress bar, see the best design update live, click any trial to inspect. --- ### Phase D3: Command Center (2-3 weeks) **Goal:** Execute commands on Windows from the dashboard **Tasks:** 1. Build Windows watcher service (`atomizer-agent.py` on dalidou) - Monitors job queue inbox - Executes jobs in conda env - Streams stdout back via log file + Syncthing 2. Build command dispatch API 3. Build Quick Actions UI (button-driven command forms) 4. Build live console viewer (tail log files via WebSocket) 5. Build expression editor UI 6. Add system status panel (NX process, conda env, Syncthing health) **Windows watcher (new component on dalidou):** ```python # atomizer-agent.py โ€” runs on dalidou # Watches job queue, executes commands, streams results # Auto-starts via Windows Task Scheduler or startup script ``` **API endpoints:** ``` POST /api/commands/dispatch โ†’ submit job to queue GET /api/commands/{id}/status โ†’ job status WS /api/commands/{id}/stream โ†’ live stdout POST /api/commands/{id}/signal โ†’ send signal (stop/pause) GET /api/system/status โ†’ NX, conda, Syncthing health GET /api/system/expressions โ†’ current NX expression values POST /api/system/expressions โ†’ update NX expressions ``` **Deliverable:** Click "Run DOE" โ†’ see it execute on Windows โ†’ watch live console output โ†’ results appear in Study Tracker. --- ### Phase D4: Agent Console (1-2 weeks) **Goal:** Interact with Atomizer HQ agents from the dashboard **Tasks:** 1. Build agent status endpoint (via Clawdbot sessions API) 2. Build activity feed (aggregate from Slack channel history) 3. Build chat interface (send messages to agents via Clawdbot/Slack API) 4. Add quick command buttons (pre-configured agent tasks) 5. Add digestion cycle trigger (OP_11 from dashboard) **API endpoints:** ``` GET /api/agents โ†’ list agents with status GET /api/agents/{id}/activity โ†’ recent messages/actions POST /api/agents/{id}/message โ†’ send message to agent POST /api/agents/digestion โ†’ trigger OP_11 cycle GET /api/activity/feed โ†’ aggregated activity stream ``` **Deliverable:** See all agents, their status, recent activity. Send a message to Manager. Trigger a digestion cycle. --- ### Phase D5: Reports & Polish (1-2 weeks) **Goal:** Professional reporting + responsive design + auth **Tasks:** 1. Build report generation pipeline (Markdown โ†’ styled HTML โ†’ PDF) 2. Build report viewer component 3. Add data export buttons (CSV, JSON, Excel) 4. Responsive layout (mobile-friendly) 5. Basic auth (token-based, single user for now) 6. Dark/light theme toggle 7. Notification system (toasts + badges) **Deliverable:** Generate a beautiful project summary PDF from the dashboard. View reports inline. Export data in any format. --- ### Phase D6: Future โ€” NX MCP Integration **Goal:** Direct NXOpen API access, eliminating the Syncthing bridge **When:** After Phase 3 roadmap item (NX MCP Server) **Impact:** - Command Center becomes instant (no Syncthing delay) - Expression editor reads/writes NX directly - Solve triggers are immediate - Live screenshots from NX model - Dashboard becomes the primary NX interaction point --- ## Tech Stack Decisions | Component | Choice | Rationale | |-----------|--------|-----------| | Frontend | React + Vite + TypeScript + TailwindCSS | Already in use, proven | | Charts | Plotly (interactive) + Recharts (fast) | Already in use | | Backend | FastAPI + Python | Already in use | | Real-time | WebSocket (native) | Already in use | | State | React Query + Zustand | React Query already in use | | Reports | markdown-it + Puppeteer (PDF) | Markdown is our native format | | Auth | Simple token auth (Phase D5) | Single user, no complexity | | Windows bridge | File-based job queue โ†’ WebSocket bridge (D3) | Progressive enhancement | **No new frameworks.** We extend what's already built and working. --- ## What Makes This Powerful 1. **Single pane of glass** โ€” Everything about a project, from blueprint to live results, in one place. 2. **Remote execution** โ€” Click a button on your phone, NX runs on your desktop. No PowerShell, no SSH, no context switching. 3. **Agent integration** โ€” The dashboard isn't just a viewer, it's an agent orchestrator. Trigger digestion cycles, request audits, generate reports โ€” all from buttons. 4. **Living documents** โ€” Project Blueprint auto-updates from CONTEXT.md. Reports generate from real data. Nothing gets stale because there's no copy-paste. 5. **Progressive enhancement** โ€” Phase D1 is useful on day 1 (project view). Each phase adds power. The MCP integration in D6 makes it the only tool you need. 6. **Multi-device** โ€” Works on Windows, phone, tablet. Same URL, same experience. 7. **Built on what exists** โ€” Not a rewrite. The existing dashboard has real functionality. We're wrapping it in a project-level shell and adding command dispatch. --- ## Risk & Mitigation | Risk | Mitigation | |------|-----------| | Syncthing delay for command dispatch | Phase D3 adds direct WebSocket bridge as upgrade path | | Dashboard adds complexity to maintain | Modular pane architecture โ€” each pane is independent | | NX MCP server is a big build | MCP is Phase D6/future โ€” core dashboard works without it | | Security (open dashboard on LAN) | Token auth in Phase D5; Tailscale for remote access | | Agent API integration complexity | Start with Slack feed (simple), add direct Clawdbot API later | --- ## Success Criteria | Milestone | Criteria | |-----------|---------| | D1 Complete | Antoine opens HQ, sees Hydrotech Beam blueprint | | D2 Complete | DOE results viewable with progress, best-so-far, trial inspection | | D3 Complete | Antoine clicks "Run DOE" on browser โ†’ NX runs on dalidou โ†’ live console | | D4 Complete | Antoine messages Manager from dashboard, sees agent activity | | D5 Complete | PDF project report generated from dashboard, works on phone | | **MVP** | **D1 + D2 + D3 = usable command center** | --- ## Estimated Timeline | Phase | Duration | Dependencies | |-------|----------|-------------| | D1: Foundation | 1-2 weeks | None โ€” start immediately | | D2: Study Tracker | 1-2 weeks | D1 (navigation shell) | | D3: Command Center | 2-3 weeks | D1 + Windows watcher setup | | D4: Agent Console | 1-2 weeks | D1 + Clawdbot API access | | D5: Reports & Polish | 1-2 weeks | D1-D4 complete | | **Total to MVP (D1-D3)** | **4-7 weeks** | | | **Total to Full HQ** | **7-12 weeks** | | --- *This is how we build the cockpit for Atomizer Engineering. One dashboard to run the whole operation.* ๐ŸŽฏ