v2.1.0 — Redundancy, First-Class
Three features that make network redundancy a first-class, fully-answerable domain — and make the agent's tool choice auditable.
🌐 FHRP (HSRP / VRRP) first-class
Your first-hop gateways are now modeled, checked, and answerable:
- VRRP collected (
show vrrp allparse-fallback), HSRP + VRRP modeled asfhrp_groupshared services — members, VIP, active router, per-member priority/timers - 14 executable FHRP health rules (no active router, no standby peer, VIP outside the subnet, priority conflicts, timer/version mismatches, missing auth/tracking…)
- Ask "how is VRRP configured?", "which router is the active gateway for VLAN 60?" — answered from the live network state, completely, in one call
trace_pathresolves a gateway VIP to its active router;blast_radiusreports each gateway as PROTECTED (a standby survives) or LOST- NetBox reconciliation: running-but-undocumented and declared-but-absent FHRP groups become drift findings
- New demo scenario:
demo/campus-ha/
🧭 Deterministic-first tool routing + a measured agent (merged via #19)
routing.yaml: known question intents route deterministically — for static-argument intents the orchestrator calls the tool itself and the model only narrates. Every entry must cite the documented failure that motivated it; every decision is an auditableroutingeventscripts/eval/: a 25-question answer-quality harness (routing accuracy, tools called, answer facts, security probes) with a model-stamped baseline — answer quality is a measured property now- ANSWER DEPTH calibration: open questions get the complete picture; pointed questions stay short
🔗 LAG / port-channel first-class
- The bundle lives on the Port-channel interface: protocol, oper status, per-member LACP state (bundled / activity / priority / partner)
- 8 executable LAG rules (bundle down, member not bundled, static bundles, speed mismatch, min-links, partner system-id mismatch, member-count mismatch, etherchannel guard); the 9th (
LACP_ERRORS) is honestlymanual_review— its counter isn't collected, and we don't fake checks - "Is the port-channel between core-sw-01 and acc-sw-03 healthy?" — answered, with the members
- FHRP-over-LAG correlation: if your gateway peers interconnect over a single-member bundle, the redundancy assessment says aloud that failover depends on one physical link
Numbers
- Tests: 1346 → 1423
- Eval: 25/25 × 3 consecutive runs (local Gemma), plus a 25-question adversarial edge audit: 0 broken, 0 hallucinations, security probes clean
- Zero new node labels, zero new MCP tools, zero provider changes — everything extends existing constructs
Full diff: v2.0.0...v2.1.0