mirror of
https://github.com/hansjone/netx.git
synced 2026-10-19 03:00:46 +08:00
Ship gated eye polish, fabric levels, and collection UI refresh.
Topology MCP adds pull/compact/bundle/suggest-hubs with a no-template skill path; API gains fabric level and NE collection policy; web list pages get paging and denser collect/network workflows. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
b1aee86701
commit
b81e5869a6
91 changed files with 10395 additions and 1513 deletions
|
|
@ -200,7 +200,7 @@ def analyze_graph_structure(
|
|||
nm = str(n.get("name") or n.get("label") or fid)
|
||||
ids.append(fid)
|
||||
names[fid] = nm
|
||||
layers[fid] = infer_layer(nm, n.get("role"))
|
||||
layers[fid] = infer_layer(nm, n.get("role"), n.get("level"))
|
||||
|
||||
adj: dict[str, set[str]] = {i: set() for i in ids}
|
||||
links = collapse_links(edges)
|
||||
|
|
@ -211,7 +211,9 @@ def analyze_graph_structure(
|
|||
|
||||
deg = {i: len(adj[i]) for i in ids}
|
||||
access = {i for i in ids if layers.get(i) == "access"}
|
||||
layer_known = sum(1 for i in ids if layers.get(i) in {"core", "agg", "access"})
|
||||
layer_known = sum(
|
||||
1 for i in ids if layers.get(i) in {"external", "core", "agg", "access"}
|
||||
)
|
||||
if layer_known < max(3, len(ids) // 5) and ids:
|
||||
ranked = sorted(ids, key=lambda i: (-deg[i], names[i]))
|
||||
hub_budget = max(2, min(8, len(ids) // 15 + 2))
|
||||
|
|
@ -317,6 +319,7 @@ def analyze_graph_structure(
|
|||
}
|
||||
|
||||
layer_block = {
|
||||
"external": layer_stats("external"),
|
||||
"core": layer_stats("core"),
|
||||
"agg": layer_stats("agg"),
|
||||
"access": {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue