The evidence for track F, in the shape tracks A, E and B + G used. - benchmarks/tasks_v6.py: 19 tasks, DEFAULT_MATRIX = "v6"; v5 to v2 stay addressable. arch_roundtrip draws the example plan with arch_plan_from_spec and reads it back without the spec: rooms_detect must find each labelled room within 0.1 % of its label and of the net floor computed by hand (4825 x 5750 and 3825 x 5750), the schedules must list D1, D2, W1, W2, and the plan is gated on a zero-issue critique and a finalize score of at least 90. A test removes one room label and the gate fails naming arch_room_unlabelled. - Four correctness checks, every number worked out by hand in the docstring: L / T / X junction corners and wall areas, a 4 x 5 m room labelled 20.00 m2 rather than its 21.84 m2 axis area, a door interrupting both faces, and a plan of plain lines read as 20 and 15 m2 at confidence 0.6. The published A/B report is re-run over 43 checks: 26 / 43 -> 43 / 43, zero regressed. - scripts/smoke_arch_com.py runs the whole plan once on a live seat and closes every document it opens; the CHANGELOG records what it returned. - The token suite measures a TOOL_PACKS=core,arch row; check_doc_numbers derives the task count from the v6 matrix; CLAUDE.md, both READMEs and the spec status line say what shipped. - fix(com): the first live smoke exited 1 - the room reader found 0 wall segments. Measured on AutoCAD 2026 (2026-09-23): with a makepy cache, ModelSpace.Item(i) returns the gen_py IAcadEntity wrapper (type(item).__name__ == "IAcadEntity") and item.StartPoint on an AcDbLine raises AttributeError, so every entity_list row lost its type-specific properties (28 wall LINEs, 0 with start/end). _entity_info now re-dispatches exactly that wrapper through _com_unnarrow; after the fix 38 of 53 rows carry start/end and the smoke exits 0 with both rooms at 27 743 750 / 21 993 750 mm2 and 0 critique issues. Re-dispatch measured at ~1.7 ms per entity (dynamic vs gencache alike). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FKFStjEFzpGyLq5bMpWxTd
272 lines
5.5 KiB
JSON
272 lines
5.5 KiB
JSON
{
|
|
"summary": {
|
|
"baseline_ref": "v1.5.1",
|
|
"total": 43,
|
|
"old_pass": 26,
|
|
"new_pass": 43,
|
|
"old_pct": 60.5,
|
|
"new_pct": 100.0,
|
|
"fixed": 17,
|
|
"regressed": 0
|
|
},
|
|
"rows": [
|
|
{
|
|
"check": "core_line_length",
|
|
"category": "Core",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "core_circle_radius",
|
|
"category": "Core",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "core_layer_create",
|
|
"category": "Core",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "core_polyline_closed",
|
|
"category": "Core",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "core_linear_dim",
|
|
"category": "Core",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "core_save_dxf_roundtrip",
|
|
"category": "Core",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "dim_aligned_no_error",
|
|
"category": "Dimensions",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "dim_angular_no_error",
|
|
"category": "Dimensions",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "array_polar_360_distinct",
|
|
"category": "Modify",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "point_intersection_line_line",
|
|
"category": "Geometry",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "point_tangent_external",
|
|
"category": "Geometry",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "arc_has_length",
|
|
"category": "Query",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "arc_select_by_length",
|
|
"category": "Query",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "ezdxf_bounding_box",
|
|
"category": "Query",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "mtext_rotation_roundtrip",
|
|
"category": "Entities",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "screenshot_png",
|
|
"category": "Render",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "dim_overlap_critique_fires",
|
|
"category": "Quality gate",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "iso13567_dim_layer",
|
|
"category": "Quality gate",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "construction_left_iso_caught",
|
|
"category": "Quality gate",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "gear_no_self_overlap",
|
|
"category": "Engineering",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "center_linetype_applied",
|
|
"category": "Entities",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "hatch_area_subtracts_its_island",
|
|
"category": "Measurement",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "boundary_area_agrees_with_measure",
|
|
"category": "Measurement",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "two_vertex_circle_has_area",
|
|
"category": "Measurement",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "diameter_dim_measures_the_diameter",
|
|
"category": "Dimensions",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "radius_dim_ignores_the_leader_length",
|
|
"category": "Dimensions",
|
|
"old": "pass",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "pid_block_define_attdef_roundtrip",
|
|
"category": "P&ID",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "pid_tag_parse_fic",
|
|
"category": "P&ID",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "pid_graph_edge_count",
|
|
"category": "P&ID",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "settings_dimstyle_iso25_values",
|
|
"category": "Settings",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "settings_layer_state_roundtrip",
|
|
"category": "Settings",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "settings_pdf_mediabox_a3",
|
|
"category": "Settings",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "mech_part_roundtrip",
|
|
"category": "Mechanical",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "mech_section_hatch_area",
|
|
"category": "Mechanical",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "mech_iso286_on_dimension",
|
|
"category": "Mechanical",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "mech_thread_unrepresented_is_caught",
|
|
"category": "Mechanical",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "std_part_iso4014_m12",
|
|
"category": "Mechanical",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "sheet_frame_iso5457_a3",
|
|
"category": "Sheet",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "bom_balloon_link",
|
|
"category": "Sheet",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "arch_junction_l_t_x",
|
|
"category": "Architecture",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "arch_room_area_net",
|
|
"category": "Architecture",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "arch_opening_cuts_wall",
|
|
"category": "Architecture",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
},
|
|
{
|
|
"check": "arch_rooms_detect_foreign",
|
|
"category": "Architecture",
|
|
"old": "miss",
|
|
"new": "pass"
|
|
}
|
|
]
|
|
} |