Skip to content

v2.1.0 — Redundancy, First-Class

Choose a tag to compare

@charlesaspe charlesaspe released this 11 Jul 08:49
c8b3945

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 all parse-fallback), HSRP + VRRP modeled as fhrp_group shared 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_path resolves a gateway VIP to its active router; blast_radius reports 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 auditable routing event
  • scripts/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 honestly manual_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