Data Agent
Receives: Equipment tag, parameter name, time window.
Returns: 7-day trend data, anomaly timestamps, statistical summary.
When: Every alert — always dispatched in Phase 1.
The IOT Manager is the central coordinator of the BWTS IOT team. It never performs specialist work itself — no database queries, no manual-cause lookups, no email composition. Its sole job is to orchestrate the right agents in the right order, synthesise their outputs, and produce a unified root-cause assessment.
Receive Alert
The Alert Monitor creates a task addressed to the IOT Manager containing the structured alert payload (alert_monitor_v1 schema). The Manager parses the alert, identifies the vessel, equipment tag, and parameter in violation.
Dispatch Phase 1 — Four Parallel Investigations
The Manager creates four tasks simultaneously, one for each specialist:
| Task | Assigned To | Purpose |
|---|---|---|
| Trend analysis | Data Agent | Retrieve 7-day sensor trends for the flagged parameter |
| Manual-cause search | Manual Agent | Search equipment manuals for known causes of this alarm type |
| Maintenance history | PMS Agent | Pull recent maintenance and work-order records for the equipment |
| Case history | Casefile Agent | Find past incidents on the same equipment or alarm code |
All four tasks are created with no blockedByIssueIds, so they run in parallel.
Wait for Phase 1 Completion
The Manager monitors task statuses. It proceeds to synthesis only when all four Phase 1 tasks are marked complete. If any task fails, the Manager follows the error-handling protocol described below.
Synthesis — Cross-Reference and Score
The Manager reads every Phase 1 result and applies its synthesis logic to produce:
Dispatch Phase 2 — Report Generation
The Manager creates a single task for the Report Agent containing the full synthesis payload. This task uses blockedByIssueIds referencing all Phase 1 tasks to guarantee ordering. The Report Agent formats the final HTML report and delivers it.
Close the Loop
Once the Report Agent confirms delivery, the Manager marks the original alert task as resolved and writes a summary to Para Memory for future reference.
Synthesis is the Manager’s core intellectual contribution. It follows a structured cross-referencing process.
The Manager builds a matrix where rows are candidate causes and columns are evidence sources:
| Data Agent (Trends) | Manual Agent (Known Causes) | PMS Agent (Maintenance) | Casefile Agent (History) | |
|---|---|---|---|---|
| Cause A | Trend spike matches | Listed in manual | Recent part replacement | Similar incident 3 months ago |
| Cause B | No correlation | Listed in manual | No related work orders | No prior cases |
| Cause C | Gradual drift visible | Not in manual | Overdue calibration | One prior case |
The Manager assigns a confidence level based on how many independent sources corroborate a candidate cause:
| Rating | Sources Agreeing | Interpretation |
|---|---|---|
| HIGH | 3 or more | Strong convergence — treat as probable root cause |
| MEDIUM | 2 | Plausible — include in report with caveats |
| LOW | 1 | Speculative — mention only if no higher-rated causes exist |
When specialists contradict each other (e.g., the Manual Agent says “sensor drift” but trends show a clean step-change), the Manager:
graph LR AM["Alert Monitor\nEntry point"] -->|"Creates alert task"| MGR["IOT Manager\nCoordinator"]
MGR -->|"Phase 1 (parallel)"| DA["Data Agent\nSensor trends"] MGR -->|"Phase 1 (parallel)"| MA["Manual Agent\nKnown causes"] MGR -->|"Phase 1 (parallel)"| PMS["PMS Agent\nMaintenance records"] MGR -->|"Phase 1 (parallel)"| CA["Casefile Agent\nPast incidents"]
DA -->|"Results"| MGR MA -->|"Results"| MGR PMS -->|"Results"| MGR CA -->|"Results"| MGR
MGR -->|"Phase 2 (after synthesis)"| RA["Report Agent\nHTML report & delivery"] RA -->|"Delivery confirmed"| MGR
style MGR fill:#1a1a2e,stroke:#e94560,stroke-width:3px,color:#fff style AM fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff style DA fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff style MA fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff style PMS fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff style CA fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff style RA fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fffData Agent
Receives: Equipment tag, parameter name, time window.
Returns: 7-day trend data, anomaly timestamps, statistical summary.
When: Every alert — always dispatched in Phase 1.
Manual Agent
Receives: Alarm code, equipment type.
Returns: List of documented causes from equipment manuals, recommended actions.
When: Every alert — always dispatched in Phase 1.
PMS Agent
Receives: Equipment tag, date range.
Returns: Recent work orders, overdue maintenance items, part-replacement history.
When: Every alert — always dispatched in Phase 1.
Casefile Agent
Receives: Equipment tag, alarm code.
Returns: Past incidents, their root causes, and resolutions.
When: Every alert — always dispatched in Phase 1.
Report Agent
Receives: Full synthesis payload (causes, confidence, evidence map, recommended actions).
Returns: Confirmation that the formatted HTML report was emailed to stakeholders.
When: Phase 2 only — after synthesis is complete.
| Forbidden Action | Responsible Agent Instead |
|---|---|
| Run database queries or fetch sensor data | Data Agent |
| Search equipment manuals or PDFs | Manual Agent |
| Look up maintenance records or work orders | PMS Agent |
| Search past incident case files | Casefile Agent |
| Compose or send emails | Report Agent |
| Generate HTML reports | Report Agent |
| Poll for new alerts | Alert Monitor |
If a Phase 1 specialist task fails (times out, errors, or returns empty):
When no candidate cause reaches MEDIUM or HIGH confidence:
When a new alert arrives for equipment that already has an active investigation:
| Tool | Purpose |
|---|---|
| Task orchestration | Create, monitor, and close tasks for each specialist via the LifeOSAI task system |
Gate dependencies (blockedByIssueIds) | Enforce Phase 1 → Phase 2 ordering so the Report Agent never runs before synthesis |
| Para Memory | Store investigation summaries, track in-progress equipment, and feed weekly synthesis |