feat(understand): drawing_scale_check - is this drawing to scale against that one

Equipment tags found exactly once in each drawing are matched (a tag
found twice - a plan copy, a legend - is reported ambiguous and takes no
part; two plan copies resolve to the cluster that matches the most
tags). For every pair of matched tags at least min_pair_mm apart on the
reference, the ratio of their distances is taken in millimetres by each
drawing's inferred unit; the median, the quartiles, the share within
+/-10 % of the median, the same per room of the reference, and the
verdict: to_scale (>= 80 %, with its factor), schematic (<= 50 %),
partly, or insufficient under three matched tags.

server.py grows SECTION 26 to two tools with drawing_scale_check (core,
read-only, tagged analysis/query); alias record, inventory, README
release snapshot 243, frozen group sizes (analysis 14).

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 11:55:57 +03:00
co-authored by Claude Opus 5.5
parent 2459694880
commit 7aaead43d9
8 changed files with 695 additions and 12 deletions
+16 -2
View File
@@ -3,13 +3,13 @@
"schema_version": 1,
"package_version": "1.5.1",
"totals": {
"tools": 242,
"tools": 243,
"resources": 8,
"prompts": 5,
"groups": 26
},
"groups": {
"analysis": 13,
"analysis": 14,
"architecture": 12,
"batch": 3,
"blocks": 9,
@@ -1116,6 +1116,20 @@
"title": "Save As"
}
},
{
"name": "drawing_scale_check",
"group": "analysis",
"cost": "read",
"summary": "Is this drawing to scale against a reference? Tag distances, ratios, a verdict.",
"tags": [
"analysis",
"query"
],
"annotations": {
"title": "Understand: Scale Check",
"readOnlyHint": true
}
},
{
"name": "drawing_settings",
"group": "system",