← Commit history

standard 0.24.3: coverage reads KiCad 1.0.89 (214)

Colby Knox ·c612c41e1c ·11d ago ·parent a3e0959
5 files changed +16−12
README.md+3−2
@@ -63,9 +63,9 @@ verb by verb: [docs/coverage.md](docs/coverage.md). | **core** | 93 | 93 | 89 | 90 | | **native** | 47 | 47 | 44 | 42 | | **checks** | 37 | 37 | 35 | 37 |-| **app** | 62 | 62 | 45 | 53 |+| **app** | 62 | 62 | 46 | 53 | | **platform** | 18 | 18 | 0 | 1 |-| standard (all but platform) | 239 | 239 | 213 | 222 |+| standard (all but platform) | 239 | 239 | 214 | 222 | <!-- coverage:end -->  The **checks** tier is where the other bridges are furthest behind, and it is the cheapest to close: those verbs are@@ -158,6 +158,7 @@ Decisions so far (proposals from the KiCad and Fusion bridges, 2026-10-27; issue  ## Status +Version 0.24.3: coverage reads KiCad bridge 1.0.89 (214 of 239: animate_view). Version 0.24.2: engine 0.21.1: `duplicate_pad_number` counts touching or overlapping pads as one land (a split exposed pad is not a duplicate; KiCad #28). KiCad's `swap_footprint` is no longer counted as `update_footprints_from_library`, which does a different job (#27). Version 0.24.1: coverage reads Fusion 360 bridge 1.13.24 (222 of 239: add_symbol_art, list_installed_libraries and install_library partial; uninstall_library, normalize_bodies and sch_sheet_symbol unsupported). Version 0.24.0: engine 0.21.0 adds `lint_library` (#28): the shared library rules (pads, courtyard, origin, pins against pads, part numbers) with a fixed severity each, from the footprints and symbols a bridge already reads.
docs/coverage.md+4−4
@@ -1,6 +1,6 @@ # Coverage: every standard verb on each bridge -Altium bridge 0.2.83 (the reference), KiCad bridge 1.0.88, Fusion 360 bridge 1.13.24. 56 verbs came from other bridges' proposals (tools/proposed/); they are marked *proposed*.+Altium bridge 0.2.83 (the reference), KiCad bridge 1.0.89, Fusion 360 bridge 1.13.24. 56 verbs came from other bridges' proposals (tools/proposed/); they are marked *proposed*. `exact` is the same job under the same or an equivalent name; `partial` does part of it or does it differently (`verbs/coverage.json` names what in `note`); `unsupported` answers `not_supported` for the whole job and is not counted; blank is missing. Generated by `tools/generate.py` from `verbs/coverage.json`; do not edit by hand. @@ -9,9 +9,9 @@ Generated by `tools/generate.py` from `verbs/coverage.json`; do not edit by hand | **core** | 93 | 93 | 89 | 90 | | **native** | 47 | 47 | 44 | 42 | | **checks** | 37 | 37 | 35 | 37 |-| **app** | 62 | 62 | 45 | 53 |+| **app** | 62 | 62 | 46 | 53 | | **platform** | 18 | 18 | 0 | 1 |-| standard (all but platform) | 239 | 239 | 213 | 222 |+| standard (all but platform) | 239 | 239 | 214 | 222 |  ## core @@ -222,7 +222,7 @@ Driving the application itself (launch, licence, dialogs, windows, views). Each | `agent_start` | Bootstrap the resident DelphiScript agent inside Altium (renders the script, runs it through the -R lane, waits for the heartbeat). Optional: every... | `altium_agent_start` |  | unsupported | | `agent_status` | Is the agent loop alive and responsive, in which workspace, and is any loop resident anywhere? Read-only; never starts the agent. | `altium_agent_status` |  | `fusion_addin_status` (partial) | | `agent_stop` | Stop the selected instance's resident agent loop (drops a stop file and waits up to 12 s for the heartbeat to go stale). | `altium_agent_stop` |  | unsupported |-| `animate_view` | Camera/zoom choreography on the current document - native Altium camera commands, animated by Altium itself. | `altium_animate_view` |  | `fusion_view` (partial) |+| `animate_view` | Camera/zoom choreography on the current document - native Altium camera commands, animated by Altium itself. | `altium_animate_view` | `kicad_animate_view` | `fusion_view` (partial) | | `check_dialogs` | List every Altium dialog currently open, classified, each with a screenshot (the only way to READ one: Altium paints its dialog text). | `altium_check_dialogs` | `kicad_state / kicad_dismiss_dialogs` (partial) | `fusion_check_dialogs` | | `close` | Polite close (releases the licence seat). Frees a script engine parked on a breakpoint first (Altium refuses to close over one). discardChanges:true answers... | `altium_close` | `kicad_close` | `fusion_stop` | | `close_all_documents` *proposed* | Close every open document without a save dialog. Unsaved work is never lost by default: a document with unsaved changes stays open and is listed, unless... | `altium_close_all_documents` | `kicad_close` (partial) | `fusion_close_all_documents` |
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "eda-bridge-standard",-  "version": "0.24.2",+  "version": "0.24.3",   "type": "skill",   "title": "EDA Bridge Standard: one way for an AI to drive every PCB tool",   "description": "The standard every Adom EDA bridge follows so one AI can drive Altium, KiCad, Fusion 360 and any future PCB tool the same way: shared verb names in tiers, the board model JSON, reply and refusal conventions, and a coverage table of each bridge against the Altium reference.",
verbs/coverage.json+6−3
@@ -1,12 +1,12 @@ {- "standard": "0.24.2",+ "standard": "0.24.3",  "reference": {   "bridge": "altium",   "version": "0.2.83"  },  "proposed": 56,  "compared": {-  "kicad": "1.0.88",+  "kicad": "1.0.89",   "fusion360": "1.13.24"  },  "tiers": {@@ -3149,7 +3149,10 @@     "verb": "altium_animate_view",     "match": "exact"    },-   "kicad": null,+   "kicad": {+    "verb": "kicad_animate_view",+    "match": "exact"+   },    "fusion360": {     "verb": "fusion_view",     "match": "partial",
verbs/standard.json+2−2
@@ -1,12 +1,12 @@ {- "standard": "0.24.2",+ "standard": "0.24.3",  "reference": {   "bridge": "altium",   "version": "0.2.83"  },  "proposed": 56,  "compared": {-  "kicad": "1.0.88",+  "kicad": "1.0.89",   "fusion360": "1.13.24"  },  "tiers": {