Releases: AIops-tools/Network-AIops
Release list
v0.5.0
Release notes — network-aiops 0.5.0
Previous release: 0.4.0.
Headline: read-only mode
export NETWORK_READ_ONLY=1With this set the 4 write tools are never registered — an MCP
client lists 28 tools instead of 32. The writes are not hidden
behind a flag and not merely refused on call: they are absent from the session,
so a model cannot invoke one and cannot be argued into one. For a reviewer this
is checkable rather than promised — connect, list the tools, and the writes are
not there.
Enforcement is two layers deep: the @governed_tool harness refuses every
non-read operation (covering the CLI and in-process callers too), and the MCP
server removes write tools from list_tools(). Changing entry point does not
get around it.
BREAKING — return shapes changed
This release changes payloads that callers may be parsing. Both changes exist
to stop a result from misrepresenting itself:
- Absent fields are now
null, not"". A missing value and an empty value
were previously indistinguishable, which invited consumers to invent the
difference. Keys are still always present — only the value may be null. - Anything with a
limitnow returns an envelope —
{"<items>": [...], "returned": N, "limit": L, "truncated": bool}. Truncation is
measured (one extra row is fetched), never inferred from the page happening to
be full. Where a genuine pre-cap total is knowable it is reported astotal;
where it isn't,totalis deliberately omitted rather than echoingreturned.
New: read-only diagnostics / RCA
Two new read-only analyses — interface_health_rca and bgp_neighbor_rca — plus a
diagnose CLI group. Every finding cites the measured number that tripped it
along with a cause and a concrete action, ranked worst-first with an explicit
rank field, so priority is stated in the payload rather than implied by list
order. Transparent heuristics, not a black-box verdict.
Also in this release
docs/VERIFICATION.md— what the mock suite actually guarantees, a live
verification checklist, and the criteria for claiming this tool verified.skills/network-aiops/references/agent-guardrails.md— for driving this tool with a
smaller / local model: which guardrails are now enforced for you, and a
ready-made system prompt for the rest.- Expanded operator playbooks in the skill documentation.
- The advertised tool count now matches what an MCP client actually lists
(it includesundo_list/undo_apply), and a release gate keeps it honest. - The
(preview)label has been dropped. It never meant unreleased; verification
status now lives indocs/VERIFICATION.mdwhere it can be specific.
v0.4.0
v0.3.1
v0.3.0
Security-hardening release from a line-wide code review. Highlights: secure-by-default approver gate for high/critical operations (init seeds a starter rules.yaml), percent-encoded URL path segments, single-sourced version, governance persistence + CLI write-path tests. See CHANGELOG.md for the full list. BREAKING: fresh installs with no rules.yaml now deny high/critical writes until an approver is recorded.
Network-AIops v0.2.1
Patch: config.yaml now honors the *_AIOPS_HOME env var; CLI writes are now audited + undo-recorded through the governance path (previously MCP-only). See CHANGELOG.
v0.2.0
v0.2.0
Security
- Encrypted credential store — secrets now stored in
~/.<tool>/secrets.enc(Fernet + scrypt-derived master password), never plaintext on disk (chmod 600). Legacy.envstill works as a deprecated fallback;secret migrateimports it.
Onboarding
- Friendly interactive
<tool> initwizard +<tool> secret set/list/rm/migrate/rotate-passwordcommands.doctornow reports store health.
Expanded operations
- Many new day-2 MCP tools covering common scenarios (see SKILL.md). Every tool runs through the governance harness (audit / budget / risk-tier / undo).
Note: still validated against mocked APIs; verify against a live system before production use.
v0.1.0 — first release (preview)
Standalone governed multi-vendor network ops via NAPALM (Cisco IOS/NX-OS/IOS-XR, Arista EOS, Juniper Junos) + NetBox — 13 MCP tools with audit/budget/undo/risk-tier harness. config_diff dry-run + config-replace undo. See README.