|
| 1 | +# ARIA — Roadmap |
| 2 | + |
| 3 | +> [!IMPORTANT] |
| 4 | +> **Hackathon: Built with Opus 4.7** — Apr 21–28, 2026 |
| 5 | +> **Submission deadline: Sunday Apr 26, 8pm EST** |
| 6 | +> **Today: Wed Apr 22 (Day 2)** — ~4.5 build days remaining |
| 7 | +> **Project board:** [zestones/projects/28](https://github.com/users/zestones/projects/28) |
| 8 | +> **Planning sources:** [`docs/planning/`](./docs/planning/) |
| 9 | +
|
| 10 | +ARIA is an agentic predictive‑maintenance platform for industrial operators. A multi‑agent system (KB Builder, Sentinel, Investigator, Work Order Generator, Q&A) consumes time‑series signals + a structured equipment knowledge base, detects anomalies, runs Root Cause Analysis with extended thinking on Opus 4.7, and emits generative‑UI artifacts (charts, diagnostic cards, work orders) directly into the operator's chat. |
| 11 | + |
| 12 | +--- |
| 13 | + |
| 14 | +## Big picture |
| 15 | + |
| 16 | +```mermaid |
| 17 | +flowchart LR |
| 18 | + subgraph Data["M1 — Data Layer"] |
| 19 | + DB[(TimescaleDB)] |
| 20 | + KB[(equipment_kb)] |
| 21 | + WO[(work_order)] |
| 22 | + FH[(failure_history)] |
| 23 | + end |
| 24 | + subgraph MCP["M2 — MCP Server (14 tools)"] |
| 25 | + FastMCP |
| 26 | + end |
| 27 | + subgraph Agents["M3-M5 — Agents"] |
| 28 | + Builder[KB Builder] |
| 29 | + Sentinel |
| 30 | + Investigator |
| 31 | + WOGen[WO Generator] |
| 32 | + QA[Q&A] |
| 33 | + end |
| 34 | + subgraph Front["M6-M9 — Frontend"] |
| 35 | + Shell[App shell] |
| 36 | + WS[WS client typed] |
| 37 | + Control[Control Room] |
| 38 | + Workspace[Agentic Workspace] |
| 39 | + Registry[Artifact registry] |
| 40 | + end |
| 41 | + DB --> FastMCP |
| 42 | + FastMCP -- "MCPClient (M2.7)" --> Agents |
| 43 | + Agents -- "WSManager broadcast" --> WS |
| 44 | + WS --> Control |
| 45 | + WS --> Workspace |
| 46 | + Registry --> Workspace |
| 47 | +``` |
| 48 | + |
| 49 | +--- |
| 50 | + |
| 51 | +## Timeline |
| 52 | + |
| 53 | +```mermaid |
| 54 | +gantt |
| 55 | + title ARIA build timeline (4 days, parallel back/front tracks) |
| 56 | + dateFormat YYYY-MM-DD |
| 57 | + axisFormat %a %d |
| 58 | + excludes weekends |
| 59 | +
|
| 60 | + section Backend |
| 61 | + M1 Data Layer :done, m1, 2026-04-22, 1d |
| 62 | + M2 MCP Server : m2, 2026-04-23, 1d |
| 63 | + M3 KB Builder : m3, 2026-04-23, 1d |
| 64 | + M4 Sentinel+Invest. :crit, m4, 2026-04-24, 1d |
| 65 | + M5 WO Gen + Q&A :crit, m5, 2026-04-25, 1d |
| 66 | +
|
| 67 | + section Frontend |
| 68 | + M6 Foundation : m6, 2026-04-23, 1d |
| 69 | + M7 Control Room : m7, 2026-04-24, 1d |
| 70 | + M8 Agentic Workspace :crit, m8, 2026-04-25, 1d |
| 71 | +
|
| 72 | + section Demo |
| 73 | + M9 Polish & E2E :crit, m9, 2026-04-26, 1d |
| 74 | + M10 Submission (8pm) :milestone, m10, 2026-04-26, 0d |
| 75 | +``` |
| 76 | + |
| 77 | +> [!WARNING] |
| 78 | +> Critical path runs M4 → M5 → M9. If M4 (Investigator loop) slips, demo Scene 3 |
| 79 | +> breaks. Frontend track (M6-M8) can absorb a half-day delay using the chat WS |
| 80 | +> mock from M6.5. |
| 81 | +
|
| 82 | +--- |
| 83 | + |
| 84 | +## Milestones |
| 85 | + |
| 86 | +| # | Milestone | Issues | Target | Critical | |
| 87 | +|-----|-------------------------------------------------------------------------------|----------------------------------------------------------|-------------|----------| |
| 88 | +| M1 | [Data Layer](./docs/planning/M1-data-layer/issues.md) | [#2-#7](https://github.com/zestones/ARIA/milestone/1) | Wed Apr 22 | yes | |
| 89 | +| M2 | [MCP Server](./docs/planning/M2-mcp-server/issues.md) | [#8-#16](https://github.com/zestones/ARIA/milestone/2) | Thu Apr 23 | yes | |
| 90 | +| M3 | [KB Builder Agent](./docs/planning/M3-kb-builder/issues.md) | [#17-#22](https://github.com/zestones/ARIA/milestone/3) | Thu Apr 23 | — | |
| 91 | +| M4 | [Sentinel + Investigator](./docs/planning/M4-sentinel-investigator/issues.md) | [#23-#29](https://github.com/zestones/ARIA/milestone/4) | Fri Apr 24 | yes | |
| 92 | +| M5 | [WO Generator + Q&A](./docs/planning/M5-workorder-qa/issues.md) | [#30-#33](https://github.com/zestones/ARIA/milestone/5) | Sat Apr 25 | yes | |
| 93 | +| M6 | [Frontend Foundation](./docs/planning/M6-frontend-foundation/issues.md) | [#34-#39](https://github.com/zestones/ARIA/milestone/6) | Thu Apr 23 | yes | |
| 94 | +| M7 | [Control Room](./docs/planning/M7-control-room/issues.md) | [#40-#44](https://github.com/zestones/ARIA/milestone/7) | Fri Apr 24 | — | |
| 95 | +| M8 | [Agentic Workspace](./docs/planning/M8-agentic-workspace/issues.md) | [#45-#50](https://github.com/zestones/ARIA/milestone/8) | Sat Apr 25 | yes | |
| 96 | +| M9 | [Polish & E2E](./docs/planning/M9-polish-e2e/issues.md) | [#51-#54](https://github.com/zestones/ARIA/milestone/9) | Sun Apr 26 | yes | |
| 97 | +| M10 | [Submission](./docs/planning/M10-submission/issues.md) | [#55-#57](https://github.com/zestones/ARIA/milestone/10) | Sun 8pm EST | yes | |
| 98 | + |
| 99 | +--- |
| 100 | + |
| 101 | +## Scope per milestone |
| 102 | + |
| 103 | +### M1 — Data Layer (Wed) |
| 104 | +Migration `007` adds the columns the agents need (`equipment_kb.structured_data`, |
| 105 | +`work_order.recommended_actions`, `failure_history.signal_patterns`). Pydantic |
| 106 | +schemas mirror the JSON columns. **Blocks everything.** |
| 107 | + |
| 108 | +### M2 — MCP Server (Thu) |
| 109 | +`FastMCP("aria-tools")` mounted in‑process at `/mcp` exposes 14 data tools |
| 110 | +(KPI, signals, human context, KB, production). `MCPClient` singleton is the |
| 111 | +only caller agents talk to. M2.9 adds 9 `render_*` UI tools (no DB hit, just a |
| 112 | +schema the LLM can emit → broadcast via WS). |
| 113 | + |
| 114 | +### M3 — KB Builder Agent (Thu) |
| 115 | +Opus 4.7 vision extracts a structured KB JSON from a manufacturer PDF, then a |
| 116 | +4‑question onboarding session calibrates per‑signal thresholds with the |
| 117 | +operator. Also exposed as a callable agent via `ask_kb_builder` (M4.6). |
| 118 | + |
| 119 | +### M4 — Sentinel + Investigator (Fri) — **critical** |
| 120 | +- Sentinel: 30‑second loop, queries DB, opens a `work_order(status='detected')` |
| 121 | + on threshold breach. |
| 122 | +- Investigator: free agent loop with all MCP tools + `submit_rca` |
| 123 | + + `ask_kb_builder` + UI tools, **extended thinking enabled** (Opus 4.7 wow |
| 124 | + factor). Persists RCA + `failure_history`. |
| 125 | + |
| 126 | +### M5 — WO Generator + Q&A (Sat) — **critical** |
| 127 | +- WO Generator: takes RCA → produces `recommended_actions[]` + `parts_required[]` |
| 128 | + + a printable Work Order Card. |
| 129 | +- Q&A: WS endpoint with same tool set + `ask_investigator`. M5.4 swaps the |
| 130 | + Messages‑API loop for **Claude Managed Agents** (prize‑eligible path, |
| 131 | + feature‑flagged so we can fall back instantly). |
| 132 | + |
| 133 | +### M6 — Frontend Foundation (Thu) — parallel track |
| 134 | +React/Vite app shell, design system tokens, **typed WS client** with |
| 135 | +`EventBusMap` + `ChatMap` (factory + reconnect), chat shell wired to a WS mock, |
| 136 | +PDF upload shell. |
| 137 | + |
| 138 | +### M7 — Control Room (Fri) |
| 139 | +Animated SVG P&ID, live KPI bar (OEE/MTBF/MTTR/anomalies 24h), real‑time |
| 140 | +anomaly banner, ChatPanel wired to the real `WS /api/v1/agent/chat`, |
| 141 | +**Artifact Registry + Dispatcher** (the Generative‑UI seam). |
| 142 | + |
| 143 | +### M8 — Agentic Workspace (Sat) — **critical** |
| 144 | +React components for every `render_*` tool: `SignalChart` (line + anomaly |
| 145 | +marker), `EquipmentKbCard` with inline‑editable thresholds, the |
| 146 | +WorkOrderCard / DiagnosticCard / CorrelationMatrix / PatternMatch / BarChart |
| 147 | +/ AlertBanner / KbProgress bundle, Agent Activity Feed, **Agent Inspector** |
| 148 | +with live `thinking_delta` stream, Onboarding Wizard. |
| 149 | + |
| 150 | +### M9 — Polish & E2E (Sun morning) |
| 151 | +Work Orders console (list + detail + printable), motion polish pass, memory |
| 152 | +flex scene UI, **scripted P‑02 demo rehearsal** (5 scenes, 3 min). |
| 153 | + |
| 154 | +### M10 — Submission (Sun 8pm EST) |
| 155 | +README + DEMO.md final polish, 3‑minute demo video, submission package on |
| 156 | +the CV platform. |
| 157 | + |
| 158 | +--- |
| 159 | + |
| 160 | +## Agent topology |
| 161 | + |
| 162 | +```mermaid |
| 163 | +flowchart TB |
| 164 | + subgraph Operator |
| 165 | + UI["Browser — Control Room + Chat"] |
| 166 | + end |
| 167 | + subgraph Orchestration |
| 168 | + Sentinel |
| 169 | + Investigator |
| 170 | + Builder[KB Builder] |
| 171 | + WOGen[WO Generator] |
| 172 | + QA[Q&A] |
| 173 | + end |
| 174 | + subgraph Tools |
| 175 | + MCP["FastMCP\n14 data tools"] |
| 176 | + UITools["UI tools render_*\n(local, no DB)"] |
| 177 | + Local["submit_rca / submit_work_order\n/ ask_kb_builder / ask_investigator\n(local per agent)"] |
| 178 | + end |
| 179 | + DB[(TimescaleDB)] |
| 180 | + WSMgr[WSManager broadcast] |
| 181 | +
|
| 182 | + Sentinel -- detects anomaly --> Investigator |
| 183 | + Investigator -- ask_kb_builder --> Builder |
| 184 | + QA -- ask_investigator --> Investigator |
| 185 | + Investigator -- pipeline --> WOGen |
| 186 | +
|
| 187 | + Sentinel --> MCP |
| 188 | + Investigator --> MCP |
| 189 | + Investigator --> UITools |
| 190 | + Investigator --> Local |
| 191 | + WOGen --> MCP |
| 192 | + WOGen --> UITools |
| 193 | + WOGen --> Local |
| 194 | + QA --> MCP |
| 195 | + QA --> UITools |
| 196 | + Builder --> MCP |
| 197 | +
|
| 198 | + MCP --> DB |
| 199 | + UI -- "WS /api/v1/agent/chat" --> QA |
| 200 | + UI -- "WS /api/v1/events" --> WSMgr |
| 201 | + Sentinel --> WSMgr |
| 202 | + Investigator --> WSMgr |
| 203 | + WOGen --> WSMgr |
| 204 | + Builder --> WSMgr |
| 205 | + QA --> WSMgr |
| 206 | +``` |
| 207 | + |
| 208 | +--- |
| 209 | + |
| 210 | +## Demo flow (P‑02 scenario, 5 scenes / 3 min) |
| 211 | + |
| 212 | +```mermaid |
| 213 | +sequenceDiagram |
| 214 | + autonumber |
| 215 | + participant Op as Operator |
| 216 | + participant UI as Frontend |
| 217 | + participant Sentinel |
| 218 | + participant Investigator |
| 219 | + participant WOGen |
| 220 | + participant Builder |
| 221 | + participant QA |
| 222 | +
|
| 223 | + Note over Op,UI: Scene 1 — Onboarding (45s) |
| 224 | + Op->>UI: upload pump P-02 PDF |
| 225 | + UI->>Builder: extract + 4-question calibration |
| 226 | + Builder-->>UI: render_kb_progress, render_equipment_kb_card |
| 227 | +
|
| 228 | + Note over Op,UI: Scene 2 — Anomaly (15s) |
| 229 | + Sentinel->>UI: anomaly_detected + render_alert_banner |
| 230 | +
|
| 231 | + Note over Op,UI: Scene 3 — Investigation (75s) |
| 232 | + Investigator->>UI: thinking_delta stream (Opus 4.7) |
| 233 | + Investigator->>Builder: ask_kb_builder (handoff visible) |
| 234 | + Investigator->>UI: render_signal_chart, render_correlation_matrix |
| 235 | + Investigator->>UI: render_diagnostic_card + rca_ready |
| 236 | +
|
| 237 | + Note over Op,UI: Scene 4 — Work order (25s) |
| 238 | + WOGen->>UI: render_work_order_card (printable) |
| 239 | +
|
| 240 | + Note over Op,UI: Scene 5 — Q&A (20s) |
| 241 | + Op->>QA: "OEE de la pompe ce mois ?" |
| 242 | + QA->>Investigator: ask_investigator (handoff) |
| 243 | + QA->>UI: render_bar_chart + cited sources |
| 244 | +``` |
| 245 | + |
| 246 | +--- |
| 247 | + |
| 248 | +## Prize alignment |
| 249 | + |
| 250 | +> [!NOTE] |
| 251 | +> **Best Use of Opus 4.7** — Investigator runs with `thinking={budget:10000}`, |
| 252 | +> visible live in the Agent Inspector (M8.5). No other model can do this. |
| 253 | +
|
| 254 | +> [!NOTE] |
| 255 | +> **Best Use of Managed Agents** — Q&A built on Claude Managed Agents (M5.4). |
| 256 | +> Dynamic handoffs via `ask_*` tools (M4.6) prove agentic delegation isn't a |
| 257 | +> Python `if` chain. |
| 258 | +
|
| 259 | +> [!TIP] |
| 260 | +> **Wow factor** — every agent can render its own UI inline (`render_*` tools, |
| 261 | +> M2.9 + M7.5 + M8). Pattern is Generative UI / Claude artifacts inside the chat. |
| 262 | +
|
| 263 | +--- |
| 264 | + |
| 265 | +## Project board fields |
| 266 | + |
| 267 | +The [GitHub project](https://github.com/users/zestones/projects/28) tracks each |
| 268 | +issue with **Status**, **Priority**, **Size**, and **Target Date**. Critical |
| 269 | +foundations (M1, M2.1/2.5/2.7/2.9, M4 entirely, M5.1/5.2, M6.4, M7.4/7.5, |
| 270 | +M8.1, M9.4, all of M10) are flagged **Urgent**. |
0 commit comments