src/app.py | Main Flask API and demo UI server on port 5757; legacy device-ops routes and static demo serving. Flask · Python 3.11+ |
src/multivendor_extensions.py | mv_bp Flask Blueprint exposing the /api/mv/* endpoints (orchestrator, intent verify, path trace, eval, GAIT, runbooks, CVE, translator, TOON). Flask Blueprints · type hints |
src/drivers/ | Vendor-neutral driver abstraction: BaseNetworkDriver template method, get_driver() factory, per-vendor subclasses (FRR/EOS/SRL/Junos/IOSXR), transports, parsers, frozen DriverResult. Python ABC · dataclasses · ThreadPoolExecutor · Protocol |
src/mcp_dcn_server.py | FastMCP server exposing lab capabilities as MCP tools so Claude Code / Cursor / opencode can call any capability. FastMCP · mcp[cli] |
src/pydantic_ai_orchestrator.py | Multi-agent orchestrator with structured outputs (Routing / ACL / Incident agents); degrades to offline rule-based mode without an API key. Pydantic · Anthropic SDK (claude-haiku-4-5) |
src/health_gate.py | RFC 6241 §8.4 confirmed-commit Health Gate: snapshot, apply, watch window, then confirm or auto-rollback on regression. Python · junos-eznc (PyEZ) |
src/health.py | Single-device health snapshot: parallel fan-out collecting BGP/OSPF/interfaces/routes/mem/CPU into one JSON doc via GET /api/health/<hostname>. Python · concurrent.futures |
src/netbox_sot.py | NetBox source-of-truth drift detector: severity-tiered (critical/high/medium/low) presence and field drift between SoT and observed state. Python · pynetbox |
src/auto_remediate.py · src/remediation.py | Auto-remediation proposal state machine: drift → AI proposes runbook → human approves → executes through the Health Gate. Python · YAML runbooks |
src/postmortem.py | Auto-postmortem writer: stitches GAIT + Health Gate + Remediation events into a structured markdown incident report with P1 detection. Python · markdown |
src/gait_audit.py | GAIT immutable append-only JSONL audit trail recording every AI action with token-in/token-out cost. Python · append-only JSONL · threading lock |
src/cli_rag.py | BM25 retrieval over a 9,802-command multivendor CLI corpus with citation deep-links; stdlib-only, no embeddings. Python stdlib · BM25 |
src/predict_engine.py · blast_radius.py · forecast_engine.py | Change prediction, blast-radius cascade-depth simulation, and predictive forecasting that feed the closed-loop change pipeline. Python · optional Batfish digital twin |
network-lab/ | Docker lab and sanitized device configs: docker-compose FRR container mesh (ports 2201-2210) plus 16 sanitized junos+eos configs and inventory.json. docker-compose · FRRouting |
demo/ | Static HTML/JS demo UI (index.html, phase3.js) and animated in-app architecture page. HTML · JavaScript |