merge: track H group N

The merge agent stopped this branch on an add/add conflict it had not been
told to expect: groups U and N each created tests/test_understand_tools.py.
Resolved by hand:
- tests/test_understand_tools.py stays U's (the drawing_understand wire
  tests), and N's takeoff wire tests move whole to
  tests/test_understand_takeoff_tools.py. Each file keeps its own client
  fixture: U's opens a fresh document, N's reads files only.
- server.py: SECTION 26 (4 tools, U then D) is kept as merged, and SECTION
  27 (Plant Takeoffs, 2 tools) follows it whole, above the RESOURCES
  banner.
- discovery/aliases.py: additive; the two takeoff records follow the four
  readers.
- tests/test_tool_registry.py: all three branches' paragraphs are kept.
  The snapshot is recomputed from the live registry: analysis 18, 247
  tools. Task 11 ranks `understand` and `plant`.
- docs/tool-inventory.json regenerated (247 tools, 26 groups); README
  counts are 247 registered / 242 advertised. The collected-tests figure
  is left to Task 11.

ruff check passes. Suite: 4919 passed, 1 xfailed. The one deselected test
is the collected-tests figure.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FKFStjEFzpGyLq5bMpWxTd
This commit is contained in:
Umut CAN
2026-09-24 12:48:12 +03:00
co-authored by Claude Opus 5.5
16 changed files with 5215 additions and 7 deletions
+16 -2
View File
@@ -609,10 +609,24 @@ async def test_tool_group_sizes_are_unchanged():
Merged, the two SECTION 26 halves file all four readers under `analysis`
(12 -> 16).
`analysis` moved 12 -> 13 when track H's SECTION 27 opened with
`pipe_takeoff` on the network branch. It is tagged `plant` and
`analysis`, and `plant` is not in `_GROUP_TAG_PRIORITY` on that
branch, so it files under `analysis`. This snapshot is branch-local:
the track H integration task gives `plant` its pack and its group
once every branch has landed.
It moved 13 -> 14 when `cable_takeoff` joined the same section, for
the same branch-local reason.
With SECTION 27 merged beside them, the four readers and the two
takeoffs all file under `analysis` (12 -> 18) until the track H
integration task ranks `understand` and `plant`.
"""
sizes = {label: len(names) for label, names in (await server._tool_groups()).items()}
assert sizes == {
"analysis": 16,
"analysis": 18,
"architecture": 12,
"batch": 3,
"blocks": 9,
@@ -639,4 +653,4 @@ async def test_tool_group_sizes_are_unchanged():
"validation": 1,
"view": 4,
}
assert sum(sizes.values()) == 245
assert sum(sizes.values()) == 247