Persist running commands early, bump command/row counts during collect, and poll the batches tab while a long show-interface run is in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
Plain MTU alone missed sibling values in filtered show interface output; also clear Filldown between interfaces so optional IPv6 MTU does not leak.
Co-authored-by: Cursor <cursoragent@cursor.com>
Split interface detail/route-class collects from the light lane so they no longer block other checks, and scope Collect Now busy state per task.
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>
Hide standalone IF VRF from the catalog and point ARP enrich at config_interface so one CLI maps to one check item.
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>
BGP/ISIS (and any other metric) can share a metric_id with distinct sheet_id + row_filters; drop conflicting bgp state_or_pfx and keep state/pfx_rcd.
Co-authored-by: Cursor <cursoragent@cursor.com>
Mapped interfaces are the expect set and must appear after cutover; unmapped same-name down/up is anomaly. Success presets no longer treat bare unchanged as green.
Co-authored-by: Cursor <cursoragent@cursor.com>
Move biz monitor/compare/migration under Cutover compare, split compare templates into their own page, and add monitor-template CRUD that overlays compare templates.
Co-authored-by: Cursor <cursoragent@cursor.com>
Avoid nested labels so name and mapping controls work; separate name, collect tasks, and optional baseline/mapping.
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>
Derive fail from missing+mismatch only, recompute pass rate accordingly, and put check-item count on one row aligned with fail/success/%.
Co-authored-by: Cursor <cursoragent@cursor.com>
Treat missing+mismatch as fail, match as success, and added as a special filter; show three right-aligned sheet badges.
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>
Drop the batch-run label, resolve NE from job tasks, and slim left-nav badges to pass or non-zero fail counts only.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep device and collect time beside export actions; drop the run verdict row and show miss/extra/mismatch/match badges on each left-nav check item.
Co-authored-by: Cursor <cursoragent@cursor.com>
Enrich run detail with before/after NE labels, and keep present-side values readable for added/removed rows instead of striking them out.
Co-authored-by: Cursor <cursoragent@cursor.com>
Make field purpose visible in the sticky table header so reviewers can tell identity vs check vs context at a glance.
Co-authored-by: Cursor <cursoragent@cursor.com>
Key stays single-value; other fields always render a paired 前/后 cell so cutover diffs are readable at a glance.
Co-authored-by: Cursor <cursoragent@cursor.com>
Collectors apply RULE_KEYS (or index stems) into fsm_tables before normalize; parsers prefer FSM or hand-parse.
Co-authored-by: Cursor <cursoragent@cursor.com>