MARCO
Optical-Fiber Draw Co-Pilot
An agentic co-pilot for a continuous optical-fiber draw plant: scheduling six towers around color, die, and controller constraints, and resolving the disruptions that stall a line.
#Agentic Workflow
#Time-series Telemetry
#Anomaly Detection
Experience the demo to see MARCO re-plan a live optical-fiber draw floor and respond to production disruptions in real time.
What it does
MARCO is deployed here as the control-room co-pilot for a continuous optical-fiber draw plant: six draw towers turning glass preforms into colored fiber spools, 24/7. A constraint solver (Google OR-Tools CP-SAT) re-plans all six towers on every demand change, honoring the rules a draw floor actually runs on: TIA-598 color order (dark → light, with throwaway “slate purges” when a sequence would contaminate the colorant), coating-die wear and compatibility, controller compatibility (Low-Loss runs Apex-only, Multi-Mode Siedel-only), and delivery due dates. Routine planning runs on its own; the agent is simply notified.
When something breaks (a tower goes down, a quality hold trips because the drawn diameter drifted outside its tolerance around 125 µm, or an OTDR test fails and scraps a spool), the affected line stalls and the agent steps in. It reasons over the current floor state, proposes two or three recovery options with trade-offs, re-plans around the lost time, and, only with operator approval, drafts an escalation email. No pre-coded rule.
Every decision is explained in plain language, and the operator can intervene or approve.
Why it matters
A draw floor’s hard part isn’t drawing the fiber: it’s the sequencing. Color order, die wear, controller compatibility, and due dates interact in ways no static rule set anticipates, and the edge cases that actually stop production (a stalled tower, a failed OTDR test, a sequence that needs a purge) are where capacity quietly bleeds. A stalled line does not fix itself; it stays down until someone acts.
MARCO puts an agent in that seat: one that reads the full floor state, reasons over the same constraints the solver does, and acts within the operator’s own interface. The result is faster recovery from disruptions that would otherwise wait for a supervisor, full genealogy traceability from spool back to preform, and a written record of what the agent decided and why.
Architecture

Draw Floor → State Change → Agent Orchestrator → MCP (Tool Calls) + A2A/IPC (Scheduling + Quality sub-agents) + LiteLLM → Operator Dashboard
The agent is wired to the draw floor through MCP (Model Context Protocol), which exposes discrete tools: re-plan the towers, repair a stalled line, query genealogy, draft an escalation. When the floor emits a state change (a new order, a tower-down, a failed test), the agent wakes automatically and reasons over the current situation without waiting for an operator to prompt it.
For complex disruptions, A2A (Agent-to-Agent protocol) lets multiple agents share a session and divide the problem, with one reasoning over the schedule and the CP-SAT re-plan and another over post-draw quality and traceability, coordinating over local IPC with no external services required.
The agent layer is compatible with any LLM provider through LiteLLM (Claude, GPT, Gemini, or a self-hosted model for increased privacy) without changing any application code. The framework itself ships as the marco package; this deployment adds only the fiber-draw domain, windows, and CP-SAT solver on top of it.
Stop losing hours to line stalls. Our agentic co-pilot schedules your six towers around color, die, and controller constraints, and resolves disruptions the moment they hit.