☰
0.2.38-0.2.39: review-pass correctness fixes (cleanup_libs, set_params, add_body, extract_intlib, schematic_data params…
0.2.37: launch hands the user's foreground window back; battery green on both Altium builds (113 pass, 0 fail)
0.2.36: modal-orphan escape (posted WM_QUIT keeps the licence seat), full save-prompt exchange on close, no -R storm pe…
0.2.33 source: 122/122 verbs documented + enforcing test; dismiss_dialogs honours hwnd; recover/sweeps never answer sav…
0.2.32 source: recover activates + verifies, close frees a parked engine, outjob_not_found, PUBLISHING.md, Parent skill…
0.2.31 source: board_shape uses the proven outline pattern, nil-guarded
0.2.30 source: dialog scan sees button-bearing dialogs; close discardChanges; battery corrections
0.2.29 source: altium_install verb + detect.installVerb/hostAppOptionalVerbs; battery covers it; install skill starts w…
0.2.28 source: one thread per request, named agent_busy; battery aborts on a blocked bridge
0.2.27 source: parked-engine check before agent bootstrap
0.2.26 source: silent-halt detector, non-raising number conversions (bad_number), import_part nothing_to_import, verb b…
0.2.25 source: a document that did not open is a failure with the reason (view_only_no_author_seat)
0.2.24 source: selftest_script_error reports halted_and_recovered vs contained_by_agent
0.2.23 source: altium_selftest_script_error (regression test for the script-error safety net)
0.2.22 source: script-error net covers the Continue-execution X2 box
0.2.21 source: script-error auto-recovery + errorShot, symbol_prims/set_models fix for AD 26.9.1, ENGINE_HALTING releas…
v0.1.41: favicon route serves the real line mark; install.sh installs it
v0.1.40: restore the dashboard header CSS, add the missing favicon
v0.1.39: fix idle-watcher boot (unimported taskbar; misattributed failure log)
v0.1.38: taskbar overlay auto-clears after 5 idle minutes
v0.1.37: lone-OK dialogs carry no decision - reaper clears them without needing the text
v0.1.36: read Altium's painted dialog text via UIA - the reaper was blind
v0.1.35: standing dialog reaper - nuisance modals never reach the user
v0.1.34: force-close guard fires on intent; instances reads Develop licence
v0.1.33: licence-seat guard rails, AI hints, and three new skills
v0.1.32: licence gate respects the selected instance
v0.1.31: unwrap ab reply envelopes (every callback read was silently None)
v0.1.30: background proof capture (restore+bottom, never move the window)
v0.1.29: import_part surfaces model counts and fails on a zero-model attach
v0.1.28: design-rule hygiene checks
v0.1.27: review switches documents, reports skipped checks
v0.1.26: vendor part number house rule as a check, schematic params
v0.1.25: check-id filtering fixed, read_board exposed
v0.1.24: board outline section + two edge checks
v0.1.23: review_board - five design-review checks over one board read
v0.1.22: cross_check switches documents (Altium holds only one current)
v0.1.21: pre-empt File-type-not-recognised at the cause; bounded opens
v0.1.20: schematic read + cross_check in python, manifest drift fixed, release-time verb lint
v0.1.19: pre-empt script modals - cross-workspace residency check + in-flight watcher
v0.1.18: instances - two Altiums, two AI threads, one bridge
v0.1.17: layers_in_use - the board's real layer count, from primitive occupancy
v0.1.16: rename dump_board -> read_board; read_*/write_* naming convention recorded
v0.1.15: dump_board primitive, rust cold bootstrap proven, dump views with recorded fixtures
v0.1.14: activate_document over the agent (UIA on the main window is >100s), skill corrected
v0.1.13: UIA-first clicking (no cursor movement), altium_activate_document, altium-uia skill
v0.1.12: 14x faster agent round trip - Break inside Try..Except never breaks in this engine
v0.1.11: Phase 1 introspection — 11 read-only board/schematic verbs; reaper via ab verbs; last Python release before th…
v0.1.8: fix bridge.json verbs[] schema (strings), attach release asset
v0.1.7: altium_install_library_bundle web-control verb