Skip to content

docs: rename Network Intelligence to Network Cluster (#745, tiers 1-2) - #753

Merged
NotYuSheng merged 1 commit into
mainfrom
feature/745-network-cluster-rename
Aug 13, 2026
Merged

NotYuSheng merged 1 commit into
mainfrom
feature/745-network-cluster-rename

Conversation

@NotYuSheng

Copy link
Copy Markdown
Owner

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.rstnetwork-cluster.rst with the toctree entry, plus docs/api/README.md and README.md. RST underlines re-fitted to the shorter title.

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 and did not accidentally break an API contract.

What is deliberately not here

Tier 3 — the frontend route network-intelligence, the /intelligence endpoint path, the Java package com.tracepcap.intelligence, and the frontend directories. Those are contracts, not labels:

  • the endpoint is versioned public API, so renaming it needs a deprecation window or an explicit decision that no external consumer exists
  • the route change breaks bookmarks and shared links unless a redirect goes in
  • renaming the Java package churns every path in the ArchUnit frozen store, which has to be hand-edited in this environment

It also waits on #734: that issue uses this exact package as its evidence that module boundaries are UI-shaped, and if intelligence merges into a host module 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

  • Docs build clean; network-cluster.html produced and the toctree resolves with no dangling reference to the old path. The remaining sphinx warnings are pre-existing in network-monitor.rst and streaming-upload.rst.
  • Frontend suite green (619), tsc -p tsconfig.app.json --noEmit and typecheck:test both clean
  • docker compose up -d --build succeeds and the app serves

🤖 Generated with Claude Code

"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>
@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@NotYuSheng, you've reached your PR review limit, so we couldn't start this review.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 7d92349b-b790-4d3b-912b-d13b521d70a1

📥 Commits

Reviewing files that changed from the base of the PR and between 4deecfe and 41f3acb.

📒 Files selected for processing (13)
  • README.md
  • backend/src/main/java/com/tracepcap/analysis/spi/HostServiceLogExtractor.java
  • backend/src/main/java/com/tracepcap/intelligence/controller/NetworkIntelligenceController.java
  • backend/src/main/java/com/tracepcap/intelligence/dto/ServiceServerSummaryDto.java
  • docs/api/README.md
  • docs/features/network-cluster.rst
  • docs/index.rst
  • frontend/src/pages/Analysis/AnalysisPage.tsx
  • frontend/src/pages/NetworkDiagram/NetworkDiagramPage.tsx
  • frontend/src/pages/NetworkIntelligence/NetworkIntelligencePage.tsx
  • frontend/src/services/api/endpoints.ts
  • frontend/src/utils/volumeColor.ts
  • openapi/baseline.json

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@NotYuSheng
NotYuSheng merged commit 508ebe3 into main Aug 13, 2026
10 checks passed
@NotYuSheng
NotYuSheng deleted the feature/745-network-cluster-rename branch August 13, 2026 12:12
NotYuSheng added a commit that referenced this pull request Aug 14, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant