Create tasks via pick-NE or import log; re-import appends batches like collects, without inventory NE or SSH.
Co-authored-by: Cursor <cursoragent@cursor.com>
RR vpnv6 wrap lines with next-hop+metrics were collapsing ECMP legs; store raw_line_count/declared_total before DB truncate so collect stats stay accurate.
Co-authored-by: Cursor <cursoragent@cursor.com>
Decouple heavy CLI parse via ParsePool, keep ECMP/multi-RD keys, and expose per-command CLI lines vs DB rows with raw.txt export.
Co-authored-by: Cursor <cursoragent@cursor.com>
Batch sheets are keyed by metric_id, so all AF summaries land in one tab; stop inheriting the first profile title (VPNv4).
Co-authored-by: Cursor <cursoragent@cursor.com>
Shared aux CLIs (e.g. running-config bgp) now repeat per monitoring section; the trailing unique list still collapses duplicates.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match live collect: include discover-backed aux CLIs in plan/export (and unbound sections); primary-only via include_aux=false.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add an Aux column for each monitor item. Drop ip_route/ipv6_route as summary enrich aux so FIB stays a standalone collect profile. Export defaults to primary commands only.
Co-authored-by: Cursor <cursoragent@cursor.com>
When a monitoring item has no concrete CLI, export its command_template commented with # instead of omitting it.
Co-authored-by: Cursor <cursoragent@cursor.com>
Plan enabled monitoring items into concrete CLIs (with aux) and download as txt from the task detail modal.
Co-authored-by: Cursor <cursoragent@cursor.com>
Skip Dest/Network headers when Total routes is 0; capture direction from match groups; expose workbook compare/data/sheet stats and prefer batch aliases in compare/cutover pickers.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wire config_vrf plus ipv4/ipv6 forwarding as aux for VPN VRF summaries, and allow unbound items to expand all AF-filtered VRFs at collect time.
Co-authored-by: Cursor <cursoragent@cursor.com>
Remap legacy if_intf items, skip duplicate CLI+metric work, hide aux command duplicates in the workbook, use profile titles for sheet tabs, sticky table headers, and let scheduled tasks trigger collect-now when idle.
Co-authored-by: Cursor <cursoragent@cursor.com>
Load batch summaries without metric payloads, fetch sheet rows on demand, and show collect commands with a raw-log viewer.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the route-summary profiles/parser/persist path; keep VRF list discover for bindings and strip it from default cutover templates.
Co-authored-by: Cursor <cursoragent@cursor.com>
Evaluate keeps match keys for normalize/map pairing while diffs, reds, and the board show collected ports plus show-command provenance; add monitor-context and command-raw read APIs with biz-monitor:read scope.
Co-authored-by: Cursor <cursoragent@cursor.com>
Protect baselines and compare/migration-referenced batches from purge or delete, and let operators mark baselines and clean high-freq data manually.
Co-authored-by: Cursor <cursoragent@cursor.com>
Fill started_at from batch lists, show compact times, and right-align color-only -/+~/ = counts per sheet.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce ParseProfile-based business state tasks that reuse LLDP parsing for snapshot batches (separate from topology Fabric writes), with scheduler, export, and a Phase1 UI under network tasks.
Co-authored-by: Cursor <cursoragent@cursor.com>