← Commit history
dev-skills/developing-the-bridge/SKILL.md+13@@ -440,3 +440,16 @@ properly. Never rip an extension out from under a user. best-effort (a failure still lets ab delete the cache), it would have failed **silently**, leaving exactly the orphaned registration the cascade exists to prevent. Check any callback verb's real signature with `adom-bridge commands` before shipping; do not infer it.++## The Dock Bar dashboard (bin/nb-dashboard, adom/nb-bridge#30)+`nb-dashboard serve --print-url` is what the dock runs; `dockbar.json` at the repo root is the manifest.+Traps that each cost a real-machine run (2026-08-23):+- **CORS on every /api/* route + OPTIONS preflight.** The dock's health probe is a cross-origin fetch from+ the Hydrogen shell page; without `Access-Control-Allow-Origin: *` the card LED reads red "not+ answering" while curl gets a 200.+- **Relative status fetch in the page** (`fetch('api/status')`, not `/api/status`): the page also renders+ behind a `/proxy/<port>/` prefix, where an absolute path hits the proxy root.+- **Reuse compares a BUILD hash, not just VERSION**: a same-version process with older code is stale.+- **`nb-dashboard selfcheck`** must pass before publishing: it parses the served inline script (an+ onclick quoting slip once shipped a blank card body).+- **Disabled-by-user is a state, not a fault**: the matrix renders it muted and never upsells it.