Vigil is a deterministic diagnostic engine wrapped in an agentic loop: perceive the fault, collect evidence under hard safety constraints, correlate it, decide, and keep watching until the fault clears. Here is exactly how each part works.
Vigil sits beside your existing operations stack and reaches devices on exactly the path your engineers already use.
The agentic part is the loop, not the guesswork. What happens inside each step is ordinary, inspectable engineering.
| Stage | What actually happens |
|---|---|
| Perceive | The fault queue is polled continuously. Alarm subjects are parsed into a structured fault — host, port, LAG, service id, BGP peer, circuit — and matched against open work so duplicates and alarm storms collapse into one investigation instead of fifty. |
| Act safely | A command set is selected for the alarm type and every command is checked against the read-only allow-list before it leaves the process. Vigil connects through your jump host, paces itself per device, and retrieves event logs scoped to the alarm window — falling back to rotated log files when the in-memory buffer has already wrapped. |
| Correlate | Raw CLI is parsed into typed objects, then cross-checked against optical NMS state, circuit inventory and backbone topology. Contradictions between what the OSS believes and what the device reports are raised as explicit findings rather than silently resolved. |
| Decide | A per-alarm-type analyser produces a root cause, a confidence grade, a per-layer OK/WARN/CRIT breakdown with the source command for each line, the evidence that was missing, and the queue the ticket should be dispatched to. |
| Verify | Open faults are re-probed on exponential backoff. Vigil records the outage window (down → up), promotes repeat offenders to chronic-flap, and flags when a fault has demonstrably cleared and the ticket is safe for a human to close. |
One worked example. The same rigour applies to each of the nine alarm families.
Vigil's collectors use around 70 distinct read-only commands, selected by alarm type. Nothing that changes state is in the vocabulary:
No configure. No admin. No clear.
No shutdown. Not permitted, not reachable.
A verdict nobody can check is worth nothing at 2 a.m. Vigil's output is structured so an engineer can agree or disagree in seconds.
One root cause, graded HIGH / MEDIUM / LOW by how much independent evidence agreed. Vigil says "insufficient evidence" when that is the truth.
Each diagnostic layer — reachability, physical, optical, LAG, service, BGP, hardware — reports OK / WARN / CRIT / NO DATA, with the command that produced it.
Missing evidence is a first-class finding, not an omission — including who or what would need to change for the gap to close next time.
Actual down and up timestamps derived from device event logs, anchored to the alarm — plus how many times this link has flapped in the window.
Each root-cause category maps to a queue — transport, routing, hardware, field engineering — so the escalation is pre-routed.
Accept, needs-improvement or reject, with a structured reason. Corrections are retained and drive tuning of thresholds and evidence sets.
| Item | Detail |
|---|---|
| Compute | One small Linux VM inside your network — 2 vCPU / 4 GB is comfortable for a national backbone's L1 volume. No GPU. |
| Device access | A read-only account reachable through your existing jump host. No new firewall rules inbound to the network. |
| Fault queue | Read access to the network fault queue in your ITSM. Write access is deliberately not requested. |
| Enrichment (optional) | Read APIs for optical NMS, circuit inventory and backbone topology. Vigil works without them; it works considerably better with them. |
| People | About an hour a week of an L1 engineer marking verdicts right or wrong during the tuning period. |
A complete triage report, section by section, with the reasoning annotated.