Skip to content

Commit d735201

Browse files
HumanBean17claude
andcommitted
review: simplify override-axis gate, extract _record_role, remove duplicate char-cap test
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent e1eab42 commit d735201

2 files changed

Lines changed: 7 additions & 22 deletions

File tree

mcp_hints.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,10 @@ def _in_count(edge_summary: dict[str, Any] | None, key: str) -> int:
270270
return int(cell.get("in", 0) or 0)
271271

272272

273+
def _record_role(rec: dict[str, Any]) -> str:
274+
return str((rec.get("data") or {}).get("role") or rec.get("role") or "")
275+
276+
273277
def _type_rollup_would_emit(edge_summary: dict[str, Any] | None) -> bool:
274278
return (
275279
_out_count(edge_summary, "DECLARES.DECLARES_CLIENT") > 0
@@ -1128,7 +1132,7 @@ def generate_hints(
11281132
"neighbors", {"ids": [node_id], "direction": "out", "edge_types": ["IMPLEMENTS"]},
11291133
True, PRIORITY_LEAF_FOLLOWUP,
11301134
))
1131-
if decl_kind == "class" and str(rec.get("data", {}).get("role") or rec.get("role") or "") == "SERVICE" and _out_count(edge_summary, "INJECTS") > 0:
1135+
if decl_kind == "class" and _record_role(rec) == "SERVICE" and _out_count(edge_summary, "INJECTS") > 0:
11321136
pairs.append((PRIORITY_LEAF_FOLLOWUP, TPL_DESCRIBE_TYPE_DEPENDENCIES.format(id=node_id)))
11331137
struct_pairs.append(_StructuredHint(
11341138
"neighbors", {"ids": [node_id], "direction": "out", "edge_types": ["INJECTS"]},
@@ -1194,19 +1198,15 @@ def generate_hints(
11941198
))
11951199
calls_out = _out_count(edge_summary, "CALLS")
11961200
if 1 <= calls_out <= 9:
1197-
method_role = str((rec.get("data") or {}).get("role") or rec.get("role") or "")
1201+
method_role = _record_role(rec)
11981202
if method_role != "OTHER" or calls_out >= 3:
11991203
pairs.append((PRIORITY_LEAF_FOLLOWUP, TPL_DESCRIBE_METHOD_OUTBOUND_CALLS.format(id=node_id)))
12001204
struct_pairs.append(_StructuredHint(
12011205
"neighbors", {"ids": [node_id], "direction": "out", "edge_types": ["CALLS"]},
12021206
True, PRIORITY_LEAF_FOLLOWUP,
12031207
))
12041208
if _out_count(edge_summary, "OVERRIDES") > 0:
1205-
override_axis_emits = any(
1206-
_out_count(edge_summary, k) > 0
1207-
for k in ["OVERRIDDEN_BY"] + [k for k in (edge_summary or {}) if k == "OVERRIDDEN_BY" or k.startswith("OVERRIDDEN_BY.")]
1208-
)
1209-
if not override_axis_emits:
1209+
if _out_count(edge_summary, "OVERRIDDEN_BY") == 0:
12101210
pairs.append((PRIORITY_LEAF_FOLLOWUP, TPL_DESCRIBE_METHOD_SUPER_DECL.format(id=node_id)))
12111211
struct_pairs.append(_StructuredHint(
12121212
"neighbors", {"ids": [node_id], "direction": "out", "edge_types": ["OVERRIDES"]},

tests/test_mcp_hints.py

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1984,21 +1984,6 @@ def test_hints_describe_producer_async_targets_emits(kuzu_graph) -> None:
19841984
assert want in out.hints
19851985

19861986

1987-
def test_hints_describe_structural_templates_char_cap() -> None:
1988-
templates = [
1989-
(mcp_hints.TPL_DESCRIBE_TYPE_IMPLEMENTORS, {"id": "sym:com.example.RegexComplianceScanner#scan(String)"}),
1990-
(mcp_hints.TPL_DESCRIBE_TYPE_IMPLEMENTS, {"id": "sym:com.example.RegexComplianceScanner#scan(String)"}),
1991-
(mcp_hints.TPL_DESCRIBE_TYPE_DEPENDENCIES, {"id": "sym:com.example.RegexComplianceScanner#scan(String)"}),
1992-
(mcp_hints.TPL_DESCRIBE_TYPE_INJECTORS, {"id": "sym:com.example.RegexComplianceScanner#scan(String)"}),
1993-
(mcp_hints.TPL_DESCRIBE_METHOD_OUTBOUND_CALLS, {"id": "sym:com.example.RegexComplianceScanner#scan(String)"}),
1994-
(mcp_hints.TPL_DESCRIBE_METHOD_SUPER_DECL, {"id": "sym:com.example.RegexComplianceScanner#scan(String)"}),
1995-
(mcp_hints.TPL_DESCRIBE_METHOD_UNRESOLVED, {"id": "sym:com.example.RegexComplianceScanner#scan(String)"}),
1996-
]
1997-
for template, kwargs in templates:
1998-
rendered = template.format(**kwargs)
1999-
assert len(rendered) <= 120, f"{template!r} rendered to {len(rendered)} chars: {rendered!r}"
2000-
2001-
20021987
# ---------------------------------------------------------------------------
20031988
# Structured hint tests (PR-1)
20041989
# ---------------------------------------------------------------------------

0 commit comments

Comments
 (0)