Skip to content

IOT Manager

Role

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.


What It Does

  1. 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.

  2. Dispatch Phase 1 — Four Parallel Investigations

    The Manager creates four tasks simultaneously, one for each specialist:

    TaskAssigned ToPurpose
    Trend analysisData AgentRetrieve 7-day sensor trends for the flagged parameter
    Manual-cause searchManual AgentSearch equipment manuals for known causes of this alarm type
    Maintenance historyPMS AgentPull recent maintenance and work-order records for the equipment
    Case historyCasefile AgentFind past incidents on the same equipment or alarm code

    All four tasks are created with no blockedByIssueIds, so they run in parallel.

  3. 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.

  4. Synthesis — Cross-Reference and Score

    The Manager reads every Phase 1 result and applies its synthesis logic to produce:

    • A ranked list of probable root causes
    • A confidence rating for each cause
    • Supporting evidence mapped back to each specialist’s findings
  5. 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.

  6. 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 Logic

Synthesis is the Manager’s core intellectual contribution. It follows a structured cross-referencing process.

Cross-Referencing Matrix

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 ATrend spike matchesListed in manualRecent part replacementSimilar incident 3 months ago
Cause BNo correlationListed in manualNo related work ordersNo prior cases
Cause CGradual drift visibleNot in manualOverdue calibrationOne prior case

Confidence Rating

The Manager assigns a confidence level based on how many independent sources corroborate a candidate cause:

RatingSources AgreeingInterpretation
HIGH3 or moreStrong convergence — treat as probable root cause
MEDIUM2Plausible — include in report with caveats
LOW1Speculative — mention only if no higher-rated causes exist

Conflict Resolution

When specialists contradict each other (e.g., the Manual Agent says “sensor drift” but trends show a clean step-change), the Manager:

  1. Notes the conflict explicitly in the synthesis.
  2. Weights the data-driven source (Data Agent, PMS Agent) over the text-driven source (Manual Agent, Casefile Agent).
  3. Flags the conflict for human review in the final report.

Team Interaction

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:#fff

Delegation Table

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.

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.


What It Does NOT Do

Forbidden ActionResponsible Agent Instead
Run database queries or fetch sensor dataData Agent
Search equipment manuals or PDFsManual Agent
Look up maintenance records or work ordersPMS Agent
Search past incident case filesCasefile Agent
Compose or send emailsReport Agent
Generate HTML reportsReport Agent
Poll for new alertsAlert Monitor

Error Handling

If a Phase 1 specialist task fails (times out, errors, or returns empty):

  1. The Manager retries once after a short delay.
  2. If the retry also fails, the Manager proceeds with the remaining specialists’ data.
  3. The synthesis explicitly notes the missing data source and downgrades confidence ratings accordingly.
  4. The final report includes a “Data Gaps” section listing which specialist was unavailable.

Tools

ToolPurpose
Task orchestrationCreate, 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 MemoryStore investigation summaries, track in-progress equipment, and feed weekly synthesis