Commit graph

533 commits

Author SHA1 Message Date
83cf086d8c Show full copyable batch ids in biz-state/cutover UI and document batch list tools.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 15:26:46 +08:00
04850b942c Expose biz-monitor:read on API key scope UI and include it in create defaults.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 15:14:08 +08:00
e1bae6a14a Document listBizMonitors as the biz-monitor catalog entry before project_id tools.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 15:04:14 +08:00
ac4f115ee8 Harden ZTE biz-state parsers and default | one-line collect CLIs.
Append secondary IPs with M/S tags, skip ND6 clock banners, split optical power vs thresholds including QSFP lanes, broaden static-route egress ifnames, and add | one-line to ZTE collect templates except interface detail.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 14:49:41 +08:00
d900aca633 Allow blank MT when parsing ZTE ISIS adjacency.
IPv4 rows often omit MT; requiring a token skipped the whole line.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 14:03:28 +08:00
5ab08bb9b3 Rename interface_detail admin field to port_status.
Header is/up/down is operational port state, not brief-style Admin.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 11:34:05 +08:00
b6eab3ed8f Show original field names in biz-state workbook headers.
Stop using Chinese display_name for metric sheet columns so headers match the raw field keys.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 11:25:06 +08:00
ee375b144d Extend heavy CLI timeout to ~25m and show batch progress live.
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>
2026-09-20 11:14:30 +08:00
a6ea67a8bf Extract IP/MPLS/IPv6 MTU from ZTE interface detail.
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>
2026-09-20 11:07:18 +08:00
f279431c70 Run heavy CLI dumps on a dedicated long-timeout SSH lane.
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>
2026-09-20 10:56:17 +08:00
99cec1c324 Dedupe if-intf/config_interface collects and allow idle manual collect.
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>
2026-09-20 10:35:04 +08:00
18a0c41196 Paginate biz-state batch workbook and expose raw CLI logs.
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>
2026-09-20 10:13:45 +08:00
a769e603b7 Remove fake VRF Route Summary collect item.
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>
2026-09-20 09:58:26 +08:00
1642a0adec Merge duplicate if-intf checks into Config Interface Intent.
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>
2026-09-20 09:48:48 +08:00
c1b1c0f75d Persist cutover evidence cards with device-raw A/B keys for board and AI.
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>
2026-09-19 22:48:37 +08:00
285c19e5a3 Decouple cutover HF from portrait and tighten ops UI.
Portrait stays on biz-monitor; cutover create/ensure owns purpose=cutover_hf slots with project collect override, multi-interval bindings, window pause, and industrial detail UX. Also expand ZTE collect/config parsers and TextFSM for route/BGP/L2VPN/VRRP coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 21:11:31 +08:00
a65c9fc420 Allow compare templates to split one collected metric into filtered sheets.
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>
2026-09-19 01:46:03 +08:00
88b7558a48 Tighten cutover verdicts and scope iface metrics by port mapping.
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>
2026-09-19 01:10:13 +08:00
27c6b7c61d Add visual dual-verdict editor for monitor templates with out_of_expect and field tokens.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 21:28:42 +08:00
2c2768a3d0 Fix cutover page crash: clear expect sheets instead of removed setBaselinePorts.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 21:01:34 +08:00
60a663e2f6 Wire cutover monitor to templates: project binding, multi-sheet evaluate, dual status semantics, and UI expect/HF.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 20:54:07 +08:00
202196a197 Add cutover-compare nav group and monitor templates.
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>
2026-09-18 20:09:26 +08:00
f3a8f80822 Fix cutover create-task form inputs and clarify steps.
Avoid nested labels so name and mapping controls work; separate name, collect tasks, and optional baseline/mapping.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 17:18:21 +08:00
335c3fcbeb Align cutover monitor UI with network task management.
Use the same list, create-task modal, and detail tabs pattern as business monitor.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 17:00:07 +08:00
920aa322f3 Rename biz monitor/compare page titles.
Use 业务监控 and 业务对比 (and matching English) for nav and page headings.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 16:46:56 +08:00
8631f58113 Add cutover migration monitor and day-based batch retention.
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>
2026-09-18 16:43:26 +08:00
c7539e379d Exclude added from fail counts and tighten the sheet nav header.
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>
2026-09-18 10:50:29 +08:00
bb00ec91f4 Simplify compare verdict to fail, success, and pass rate.
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>
2026-09-18 10:41:24 +08:00
357b831f2d Fix collect time on compare sides and clean left-nav stat digits.
Fill started_at from batch lists, show compact times, and right-align color-only -/+~/ = counts per sheet.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 10:26:24 +08:00
d96cbf330a Align compare board toolbar and show device name with collect time.
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>
2026-09-18 10:18:51 +08:00
182b65de2a Simplify compare board header: inline sides and per-sheet stat badges.
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>
2026-09-18 09:58:34 +08:00
194a4592c1 Show compare sides on the board and fix missing/extra row cells.
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>
2026-09-18 09:50:44 +08:00
bf35c0594e Label compare result columns with Key / Compare / Display roles.
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>
2026-09-18 09:31:43 +08:00
97796478b0 Show before/after values for all non-key compare result columns.
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>
2026-09-18 09:27:30 +08:00
157188bd3e Fix compare board kind labels being clipped to one character.
Lay out miss/extra/mismatch filters and stats as wrapping chips instead of a cramped 88px grid column.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 01:41:00 +08:00
d232044750 Make biz compare template-driven with field rules, board UX, and import/export.
Operators pick metrics then Key/Compare/Display rules; seed built-ins only once; fail-first verdict board for cutover review.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 01:30:57 +08:00
21b254120e Document netx-biz-state in skills README.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 23:54:12 +08:00
c5a571317d Add netx-biz-state skill for FSM-first status metrics and cross-command enrich.
Documents single-command and aux+EnrichJoin workflows under skills/biz-state.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 23:53:15 +08:00
17d136cf6b Elegant multi-command collect: slim aux, declarative enrich, CollectSession.
AuxCommand is key+profile_id only; EnrichJoin copies fields after primary parse; ARP no longer hardcodes if_intf join.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 23:49:01 +08:00
1f70f7fc25 Add multi-command collect with FSM-first if-intf aux and batch cache.
ARP binds show running-config if-intf to enrich vrf; identical aux commands reuse session cache.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 23:30:17 +08:00
0f235133ed Wire ZTE show arp through TextFSM dual-input pipeline.
Add zte_zxros_show_arp rule + prefer_fsm mapping using the lab one-line sample.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 22:30:23 +08:00
02b8a7073b Add TextFSM rule tables as dual input to biz-state parsers.
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>
2026-09-17 22:18:21 +08:00
24a1a853af Scaffold vendor parser packages for cisco/huawei/h3c/juniper/nokia/ericsson.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 21:46:21 +08:00
d587bf7bb9 Reorganize biz-state parsers by vendor folder and per-command modules.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 21:40:51 +08:00
da6b159703 Filter ARP compare to dynamic entries with valid Age timers.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 21:37:21 +08:00
bb0d8e4089 Show all collected metric sheets in biz-state batch workbook.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 21:23:19 +08:00
2f0c9eb1da Add ZTE status metrics (ISIS/IF/ARP/ND6/BGP) for monitor and compare.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 21:11:40 +08:00
fe34319d65 Stabilize compare board KPIs: fixed run overview + sheet strip slots.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 20:13:49 +08:00
499a5fec2e Store compare diffs in row table with server-side paging per sheet.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 19:59:06 +08:00
33264d7b76 Redesign compare board for many sheets: sidebar nav + strip + table.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 19:46:14 +08:00