← Commit history
README.md+1−1
@@ -11,7 +11,7 @@ verbs.  ```bash adom-wiki pkg install barrett-land/adom-desktop-altium-bridge   # the skill, in the container-adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.39/altium-bridge-manifest.json"}'+adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.40/altium-bridge-manifest.json"}' adom-desktop --ai-thread "<your thread>" altium_ping '{}' ``` 
SKILL.md+1−1
@@ -12,7 +12,7 @@ forwards work into the running GUI as DelphiScript via `X2.EXE`. ## Install  ```bash-adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.39/altium-bridge-manifest.json"}'+adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.40/altium-bridge-manifest.json"}' adom-desktop --ai-thread "<your thread>" altium_ping '{}'   # -> {"altiumInstalled": true, "version": "..."} ``` 
altium-bridge-manifest.json+3−3
@@ -1,3 +1,3 @@-{ "manifest_version": 1, "name": "altium", "version": "0.0.39",-  "url": "https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.39/altium-bridge-v0.0.39.zip",-  "sha256": "d509064f91dc6492b4eed977e24cf8c34677bc19b1a5c77340de219eef4c664f", "size": 26085, "released_at": "2026-08-05T20:53:15Z" }+{ "manifest_version": 1, "name": "altium", "version": "0.0.40",+  "url": "https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.40/altium-bridge-v0.0.40.zip",+  "sha256": "ed6378c8a9df9cf197464ca148cc45680e1bf9de05b57c77ec75286fdbeae2a9", "size": 26085, "released_at": "2026-08-05T20:55:02Z" }
altium-bridge-v0.0.40.zipadded
⋯ 1 unchanged line ⋯
bridge-src/BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.0.39+0.0.40
bridge-src/__pycache__/addin_client.cpython-312.pycadded
⋯ 1 unchanged line ⋯
bridge-src/__pycache__/altium_detect.cpython-312.pycadded
⋯ 1 unchanged line ⋯
bridge-src/__pycache__/check_wiring.cpython-312.pycadded
⋯ 1 unchanged line ⋯
bridge-src/__pycache__/server.cpython-312.pycadded
⋯ 1 unchanged line ⋯
bridge-src/__pycache__/test_addin_client.cpython-312.pycadded
⋯ 1 unchanged line ⋯
bridge-src/bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "altium",   "displayName": "Altium Bridge",-  "version": "0.0.39",+  "version": "0.0.40",   "description": "Drives Altium Designer from a container: build, clone and edit file-based symbol/footprint/Integrated libraries with LCSC/JLCPCB part numbers attached, and generate batch outputs (STEP, PDF, Gerber, BOM, CPL) from an OutJob. Pairs with the container-side altium-jlc orchestrator (adom-jlcpcb + chip-fetcher).",   "homepage": "https://wiki.adom.inc/adom/adom-desktop-altium-bridge",   "author": "Adom Inc.",
bridge-src/deploy.sh+17−2
@@ -92,6 +92,11 @@ for z in "$REPO"/altium-bridge-v*.zip; do   OLD_ZIPS+=("$(basename "$z")") done rm -f "$REPO"/altium-bridge-v*.zip+# NOTE: deliberately NOT normalising mtimes to make the zip reproducible. The script+# sync on the desktop resolves a content conflict by mtime, so a packaged AdomAltium.pas+# stamped to a fixed epoch would always look older than a stale copy in the exchange+# dir and could never upgrade it. Re-runnability is handled below instead, by+# re-uploading the assets when the version already exists. ( cd "$SRC" && zip -rq "$ZIP" . \     -x '*__pycache__*' -x '*.pyc' -x 'check_wiring.py' -x 'test_*.py' -x 'deploy.sh' ) SHA=$(sha256sum "$ZIP" | cut -d' ' -f1)@@ -117,12 +122,22 @@ echo "    ${ZIP_NAME}  size=${SIZE}  sha256=${SHA:0:16}…" # `pkg publish` rewrites page files (README/SKILL/package.json) from the tarball — # so the repo push has to come after it to have the last word. echo "==> publishing the package (registry layer)"-adom-wiki pkg publish -y --skip-lint >/dev/null+# A re-run of the same version is normal (an earlier attempt failed after publishing).+# Registry releases are immutable, but release ASSETS are not, so carry on and let the+# upload below overwrite them — that is what re-syncs the published zip with this build.+if PUB_OUT=$(adom-wiki pkg publish -y --skip-lint 2>&1); then+  echo "    published $VER"+elif grep -q VERSION_EXISTS <<<"$PUB_OUT"; then+  echo "    $VER already in the registry; refreshing its assets"+else+  echo "$PUB_OUT" >&2; exit 1+fi  echo "==> pushing page repo to $REF" # `repo push` takes an explicit file list, so enumerate everything tracked. Skip the # .git dir and any stale zip that step 3 already deleted from disk.-mapfile -t FILES < <(cd "$REPO" && find . -type f -not -path './.git/*' -printf '%P\n' | sort)+mapfile -t FILES < <(cd "$REPO" && find . -type f \+  -not -path './.git/*' -not -path '*/__pycache__/*' -not -name '*.pyc' -printf '%P\n' | sort) printf '    %s\n' "${FILES[@]}" ( cd "$REPO" && adom-wiki repo push "$REF" --message "altium bridge v${VER}" --files "${FILES[@]}" ) 
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "adom-desktop-altium-bridge",-  "version": "0.0.39",+  "version": "0.0.40",   "type": "app",   "description": "Adom Desktop bridge for Altium Designer \u2014 build and edit file-based symbol/footprint/Integrated libraries with LCSC/JLCPCB part numbers attached, and generate batch outputs (STEP, PDF, Gerber, BOM, CPL) from an OutJob, by driving Altium via DelphiScript.",   "tags": [
page.json+4−3
@@ -1,8 +1,8 @@ {   "slug": "adom-desktop-altium-bridge",-  "version": "0.0.37",+  "version": "0.0.40",   "type": "app",-  "description": "Adom Desktop bridge for Altium Designer \u2014 build and edit file-based symbol/footprint/Integrated libraries with LCSC/JLCPCB part numbers attached, and generate batch outputs (STEP, PDF, Gerber, BOM, CPL) from an OutJob, by driving Altium via DelphiScript.",+  "description": "Adom Desktop bridge for Altium Designer — build and edit file-based symbol/footprint/Integrated libraries with LCSC/JLCPCB part numbers attached, and generate batch outputs (STEP, PDF, Gerber, BOM, CPL) from an OutJob, by driving Altium via DelphiScript.",   "tags": [     "app",     "adom-desktop",@@ -18,6 +18,7 @@   },   "needs_sudo": false,   "hero": {+    "type": "image",     "path": "docs/hero.png"   },   "author": {@@ -48,4 +49,4 @@       "prompt": "Is the Altium bridge connected and what version is it?"     }   ]-}+}\ No newline at end of file