← Commit history

skills: verbs[] are strings; where ab's lifecycle log lives (#971)

John Lauer ·64ce5ccc00 ·1mo ago ·parent 4de6d38
2 files changed +18
skills/altium-bridge-dev/SKILL.md+7
@@ -57,6 +57,13 @@ Result strings build JSON with `'{' + ... + '}'`; that's fine in a STRING LITERA BRACE COMMENTS that cannot contain a nested `{`. Lint new commands: `re.sub(r"'[^']*'","",code)` then assert no `\{[^}]*\{`. +## When the bridge "vanishes" from ab++`bridge_list` without `altium` + `Unknown verb altium_*` = ab could not parse the cached `bridge.json`+(verbs[] must be strings — see the publish skill). ab's lifecycle log is+`%LOCALAPPDATA%\inc.adom.bridge\logs\Adom Bridge.log`; `bridges-cache\altium\server.out.log` only+covers a process that actually spawned.+ ## Verify like production fails  Frame-check EVERY generated look/variant (a 3-of-10 spot check shipped three defect classes).
skills/altium-bridge-publish/SKILL.md+11
@@ -15,6 +15,16 @@ description: >- Two artifacts: the RUNTIME (zip + manifest on the page `/files`, what Adom Bridge downloads) and the SKILLS PKG (`adom/altium-bridge`, container docs). Use `adom-wiki` for ALL wiki calls. +## 0. bridge.json schema — verbs[] are STRINGS++`verbs` is a flat list of verb names. NEVER objects. 0.1.5–0.1.7 appended four `{name, description}`+entries and ab's `bridge_registry` refused the whole file (`invalid type: map, expected a string`) —+the bridge kept running on its stale in-memory registration until the next reap, then vanished from+`bridge_list` while `bridge_install` still reported ✓ (ab issue #971). Lint before every release:+`python3 -c "import json;b=json.load(open('src/bridge.json'));assert all(isinstance(v,str) for v in b['verbs'])"`.+When a bridge disappears from the registry, read `%LOCALAPPDATA%\inc.adom.bridge\logs\Adom Bridge.log`+(ab's real lifecycle log) for `[bridge_registry] parse ... failed`.+ ## 1. Version lockstep (bump together)  `src/bridge.json` `version`, `src/BRIDGE_VERSION`, `package.json` `version`, and the generated@@ -28,6 +38,7 @@ python3 scripts/release.py                                   # dist/adom-bridge- cp dist/adom-bridge-altium-v<ver>.zip dist/adom-bridge-altium-manifest.json . ; cp src/bridge.json . adom-wiki repo push adom/altium-bridge --files adom-bridge-altium-v<ver>.zip adom-bridge-altium-manifest.json bridge.json <changed docs> -m "v<ver>: ..." adom-wiki release create adom/altium-bridge <ver> --title "Altium bridge v<ver>" --changelog "..." --binary-path adom-bridge-altium-v<ver>.zip+adom-wiki release upload adom/altium-bridge <ver> adom-bridge-altium-v<ver>.zip --platform windows --arch x64   # REQUIRED: create's --binary-path does NOT attach the asset (measured 2026-08-31: 0.1.4-0.1.7 all had assets:[] and the manifest's /download/<owner>/<slug>/<ver>/<zip> URL 404'd -> bridge_install failed). Verify: curl -I the manifest url == 200. rm -f adom-bridge-altium-v<ver>.zip bridge.json      # don't leave copies in the repo root ```