← Commit history

standard 0.22.3: generate.py warns on equivalents that hide a same-named verb

Colby Knox ·07948794f0 ·12d ago ·parent 6187f30
5 files changed +9−3
README.md+2
@@ -158,6 +158,8 @@ Decisions so far (proposals from the KiCad and Fusion bridges, 2026-10-27; issue  ## Status +Version 0.22.3: generate.py warns when an equivalents entry maps a verb elsewhere while the bridge has its own same-named verb+(a stale entry had kept four of Altium's sheet verbs at partial; altium-lane emptied its file). Version 0.22.2: the engine (0.19.1)'s `footprint_from_land_pattern` lines SOT-23-5's pins 4 and 5 up with 3 and 1, and draws the courtyard round the pads and body only, not the silkscreen pin-1 dot (kicad-lane #25). Version 0.22.1: regenerated with fusion-bridge 1.13.15 (Altium-only verbs marked unsupported; swap_footprint, set_models, add_models).
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "eda-bridge-standard",-  "version": "0.22.2",+  "version": "0.22.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.",
tools/generate.py+4
@@ -144,6 +144,10 @@ def main():                     row[b] = {"verb": " / ".join(prefixes[b] + p for p in parts), "match": match}                     if note:                         row[b]["note"] = note[0]+                    # a stale entry hides the bridge's own same-named verb (altium-lane, 2026-10-30: four sheet verbs read+                    # partial for six releases after Altium shipped them exact); keep it only when that verb does another job+                    if parts != [s["name"]] and s["name"] in have[b]:+                        print(f"warning: {b} {s['name']}: tools/equivalents/{b}.json maps it to {row[b]['verb']} ({match}), but the bridge has its own {prefixes[b]}{s['name']}: drop the entry unless that verb does another job")             if row[b] is None and s["name"] in have[b]:                 row[b] = {"verb": prefixes[b] + s["name"], "match": "exact"}         coverage.append(row)
verbs/coverage.json+1−1
@@ -1,5 +1,5 @@ {- "standard": "0.22.2",+ "standard": "0.22.3",  "reference": {   "bridge": "altium",   "version": "0.2.82"
verbs/standard.json+1−1
@@ -1,5 +1,5 @@ {- "standard": "0.22.2",+ "standard": "0.22.3",  "reference": {   "bridge": "altium",   "version": "0.2.82"