Skip to content

Commit 0d97533

Browse files
committed
feat(docs): add comprehensive ROADMAP for ARIA hackathon planning
1 parent 2db8228 commit 0d97533

1 file changed

Lines changed: 270 additions & 0 deletions

File tree

docs/planning/ROADMAP.md

Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,270 @@
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

Comments
 (0)