Repository navigation
v0.4.18
Patch release. The theme is evidence: a drawing can now be asked what it recognised,
what it missed, and what it did with each finding — and say so in versioned JSON that
another program can read.
Recognition evidence and reporting
inspect_step(path)(#1460) — read-only, versioned STEP evidence over one hashed
byte snapshot. No drawing build, view projection, annotation placement, render, export
or lint path runs; a guard pins the exact set of engine modules an inspection executes.
It reports what was found, what each finding was used for (acted_on,disposition,
reason,owners), and what went unclaimed.- Report v1 and CLI sidecars (#1438, #1449, #1455, #1456) — a versioned
machine-readable recognition and drawing report written alongside generated artifacts,
atomically (#1452), with physical requirement outcomes projected into it. - Script generation writes the sidecar to disk (#1454) rather than embedding a
snapshot in the emitted Python. - Occurrence ownership (#1441–#1453) — every accepted recognition occurrence is now
tracked to an outcome: direct, grouped, nested countersinks, conditional channels,
turned steps, through steps, round bosses, exact Plate ownership, and an explicit
classification for ownerless occurrences. - b123d-recognisers 0.4.14 Blend paths adopted (#1459).
Fixes
- A raw OCC failure no longer escapes on Linux (#1395, #1468). A degenerate iso zone
reachedgp_Trsf::SetScaleand crashed: on Linux the kernel raises
Standard_ConstructionError, which is not aStandard_Failuresubclass, so the
handler missed it. Two further cases came out of the same fix — a negative factor was
accepted silently and mirrored the geometry, and a NaN scale slipped past a<= 0
test and hung the build. *_requirement_unverifiableno longer prints?where a requirement id belongs
(#1397). That finding is recorded exactly when a recognised source matched no IR
feature, so no id exists; the message now names how many requirements are unattributable,
or says the cardinality is unknown where it genuinely is.
Documentation
- The ADR corpus is five records (#1463), down from twenty-one and 8,787 lines, each
capped at 200 lines and each naming the guard test that fails if an invariant is
violated. The superseded records are archived as frozen history. - The multi-feature object-reference workflow doc now runs (#856, #858). Its example
raisedValueErroras written, and a test now executes what the doc tells the reader to
execute and pins the measured output.
Internal
reporting's occurrence projector is a named seam (#1461):project_occurrences,
json_value,producer,write_json_document,drawing_report.- PR CI shards were 1.60x out of balance — 38% of collected tests had no recorded
duration. Rebalanced to 1.00x, cutting PR wall clock by ~19%.
Full changelog: v0.4.17...v0.4.18