docs: rename Network Intelligence to Network Cluster (#745, tiers 1-2) - #753
Conversation
"Network Intelligence" said nothing about what the tab does. It clusters hosts by topology, ASN/org and geography; "Network Cluster" names that. "Intelligence" was also the vaguest word in the app's vocabulary and collided conceptually with Monitor's security signals and Story mode's findings, both of which are more literally intelligence. Tiers 1 and 2 only — user-visible copy and docs: tab label, page heading, cross-references in NetworkDiagram the OpenAPI @tag (Swagger UI) docs/features/network-intelligence.rst -> network-cluster.rst, toctree entry, docs/api/README.md, README.md OpenAPI baseline regenerated, since the @tag name is part of the snapshot. The diff is tag names only — no path changed, which is the check that this stayed inside tier 1. Tier 3 is deliberately not here: the frontend route, the /intelligence endpoint path, the Java package and the frontend directories are contracts rather than labels. The endpoint is versioned public API, the route breaks bookmarks, and renaming the package churns every path in the ArchUnit frozen store — which has to be hand-edited in this environment. It also waits on #734, since if that module merges into `host` the rename is wasted churn. RST underlines re-fitted to the shorter title; docs build clean (the remaining warnings are pre-existing in network-monitor.rst and streaming-upload.rst). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 57 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (13)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Tiers 1-2 (#753) renamed the copy and docs; #756 split the Java package into cluster and policy. This finishes the identifiers. endpoint /api/v1/intelligence/... -> /api/v1/clusters/... route network-intelligence -> network-cluster frontend pages/NetworkIntelligence, features/intelligence, components/intelligence -> NetworkCluster, cluster, cluster classes NetworkIntelligenceController/Service -> NetworkCluster* service intelligenceService.ts -> clusterApi.ts The old route redirects rather than 404s, so links shared before the rename still land somewhere useful. The endpoint does not: the frontend is its only consumer (verified by grep across the repo) and the app ships as a self-contained offline stack, so a compatibility alias would be permanent cost for nobody. Also fixed a path this rename would otherwise have shipped: /clusters/{fileId}/clusters read as a stutter, and the handler returns a ClusterGraphResponse, so it is /clusters/{fileId}/graph. The endpoint-path contract test — the gate built for #630 — caught the half-done state: the frontend pointed at /clusters while the baseline still described /intelligence, and it failed on all six routes until the baseline was regenerated. Exactly what it exists for. Baseline diff is 7 paths renamed, count unchanged at 93. Generated schema.d.ts regenerated from it. Verified against the running stack: the renamed endpoints return real cluster data, and the old path 404s as intended. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Tiers 1 and 2 of #745 — user-visible copy and docs. Tier 3 deliberately excluded.
Why
"Network Intelligence" said nothing about what the tab does: it clusters hosts by topology, ASN/org and geography. "Network Cluster" names that. "Intelligence" was also the vaguest word in the app's vocabulary, colliding with Monitor's security signals and Story mode's findings — both more literally intelligence.
What changed
Copy: tab label, page heading, the cross-reference from the network diagram, and the OpenAPI
@Tag(which is what Swagger UI shows).Docs:
docs/features/network-intelligence.rst→network-cluster.rstwith the toctree entry, plusdocs/api/README.mdandREADME.md. RST underlines re-fitted to the shorter title.OpenAPI baseline regenerated, since the
@Tagname is part of the snapshot. The diff is tag names only, no path changed — which is the check that this stayed inside tier 1 and did not accidentally break an API contract.What is deliberately not here
Tier 3 — the frontend route
network-intelligence, the/intelligenceendpoint path, the Java packagecom.tracepcap.intelligence, and the frontend directories. Those are contracts, not labels:It also waits on #734: that issue uses this exact package as its evidence that module boundaries are UI-shaped, and if
intelligencemerges into ahostmodule then renaming the package first is wasted churn on the store.There is a neat irony worth recording — #734's heuristic is "if a UI rename forces a package rename, the package is named wrong." This issue is that heuristic firing in real life.
Verification
network-cluster.htmlproduced and the toctree resolves with no dangling reference to the old path. The remaining sphinx warnings are pre-existing innetwork-monitor.rstandstreaming-upload.rst.tsc -p tsconfig.app.json --noEmitandtypecheck:testboth cleandocker compose up -d --buildsucceeds and the app serves🤖 Generated with Claude Code