← Commit history

v0.2.22 (insiders): 0.2.22: script-error safety net also covers the 'Continue execution?' X2 box raised by scripts run inside the agent (eval): photographed, answered OK, returned as agent_script_error with errorShot

John Lauer ·a8fd288ed4 ·1mo ago ·parent f24f2a8
4 files changed +8−4
CHANGELOG.md+5−1
@@ -1,11 +1,15 @@ # Changelog +## 0.2.22 (2026-09-20)+- Script-error safety net, second variant. 0.2.21 caught the lone-OK `Error` box (an error in the agent's own code). Proving it with a deliberate bad `altium_eval` on AD 26.9.1 showed the OTHER shape: a script run from inside the agent raises an `X2` box, "Undeclared identifier: ... at Line:N. Continue execution?", with OK + Cancel. The reaper rightly never touches a two-button box, so the agent sat blocked and the caller saw a timeout. `agent::call` now recognises that box while its own command is in flight, photographs it, answers OK (continue, so the agent loop survives) and returns `errorCode: agent_script_error` with `errorShot`, `answered`, `agentAlive`. It is logged in `altium_dialog_log` as `script_error_continue`.+- The changelog line about removed internal files no longer names them.+ ## 0.2.21 (2026-09-20) - **A script runtime error can no longer wedge Altium silently.** Found by running the 0.2.20 suite on a second machine (AD 26.9.1 trial; SOIC-8, QFN-24 with 9 heatsink vias, BGA-36): a DelphiScript runtime error raises a lone-OK `Error` box, the standing reaper pressed OK within a second, and the script was left STOPPED ON A BREAKPOINT in Altium's script debugger. The agent loop was dead, every later verb timed out, Altium refused to close ("cannot close the current document when a script is stopped on a breakpoint"), and the error text was gone. Now: the reaper photographs an `Error` box before pressing it; `agent::call` sees it within 400 ms, sends `EditScript:Stop` itself (the `altium_agent_recover` steps) and returns `errorCode: agent_script_error` with `errorShot` (the PNG of Altium's message), `autoRecovered` and `recoverSteps`. The next verb restarts the agent. - FIX the error that exposed it: `altium_symbol_prims {models:true}` and `altium_set_models` read `Comp.ImplementationCount` / `Comp.Implementation[i]`, which AD 26.9.1 does not expose to DelphiScript. Both now walk a component's models with the `eImplementation` child iterator. - `scripts/release.py` refuses to build an agent template that uses an identifier measured to halt the engine (`ENGINE_HALTING`: the list from the dev skill, as code). - Docs: every declared verb is in the README and a skill (21 were in neither); `altium_plate_vias`, `altium_add_symbol_art`, `altium_symbol_prims`, `altium_set_models` documented; new `altium-a365` skill; `install.sh` installs all user skills (instances, licensing, uia, wiki-import, a365 were packaged but never copied).-- Internal material removed from the public repo: machine names, an account display name and a private workspace hostname in `PLAN.md` / the plan skill / code comments and error strings; `docs/HANDOFF-COLBY.md` deleted.+- Internal material removed from the public repo: machine names, an account display name and a private workspace hostname in `PLAN.md` / the plan skill / code comments and error strings; one internal memo deleted. - `place_on_sch` describe text matches the agent (sheet sized from the measured parts, not "A4 or B"). Repo-root `bridge.json` synced to the shipped `src/bridge.json` (it was a stale 0.1.41 leftover).  ## 0.2.20 (2026-09-20)
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "altium-bridge",-  "version": "0.2.21",+  "version": "0.2.22",   "type": "app",   "description": "Skills for your container so your AI knows how to drive the Altium Designer bridge (altium_* verbs). The bridge runtime itself is the release zip; Adom Bridge loads that.",   "tags": [
src/BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.2.21+0.2.22
src/bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "altium",   "displayName": "Altium Designer",-  "version": "0.2.21",+  "version": "0.2.22",   "description": "Drive Altium Designer from Adom: a resident DelphiScript agent (eval + the 1,100-command process launcher), the X2 -R command line, UIA over the VCL shell, dialogs by PID, screenshots of every Altium window, and Altium 365.",   "homepage": "https://wiki.adom.inc/adom/altium-bridge",   "docs": "https://wiki.adom.inc/adom/altium-bridge",