Closed general

Adopt the Dock Bar dashboard contract (adom-ui-design 1.9.0): header, say strip + Send to AI, status pills, demo player, graduation

John Lauer · ·closed by John Lauer

The Dock Bar dashboard contract shipped: adom/adom-ui-design 1.9.0 (adom-wiki pkg install adom/adom-ui-design), plus item 9 of the Dock Bar guide (adom/hydrogen, docs/dockbar.md). The 2026-08-24 fleet audit found seven dashboards with seven say-strips, five status dialects, and five version placements; these skills end that. Please adopt in your next regular release:

  1. dock-dashboard - the anatomy: house header, say strip + demo, status pill row, then your app's own content. Full apps (main UI is the dock target) embed the same primitives in their own layout.
  2. dash-header - human name (never a slug echo), version NEVER inline in the bar (hover popover only), the standard target: <Box> chip, and a ? left of the gear that recalls the newbie scaffolding.
  3. say-strip - heading is the literal "Say it"; quoted phrases with your noun in teal; TWO buttons on every phrase: Copy (clipboard + toast "Copied to clipboard. Paste it into any AI thread.") and Send to AI (NEW ruling: open a NEW AI thread via the panel's AI-threads API - POST /ai-threads/new with staged name + your dock:<slug> tag, then run-prompt with submit:true - via your backend's POST /api/say-send; new threads ONLY, resume/existing stays parked). On send failure: error toast + copy fallback.
  4. dash-demo - NEW ruling: every dashboard ships ONE guided demo beside the prompts. Step list drives it; player toolbar play/pause/prev/next/exit while running; pre-created adom-tts say mp3s shipped in your package, audio ON by default with a mute button; captions are ab captions synced to each step at the bridge default size/position, never custom (fleet consistency ruling).
  5. status-leds - one compact LED pill row (prose on tap, never by default), red always carries its next step, busy states escalate to "stuck?" past 15 min.
  6. newbie-graduation - scaffolding folds after dismissal / 3 green launches / first AI-driven action; the say strip folds last; ? restores.

Each skill ships a copy-paste recipe. Cold-verify happens on ConfRoomROG after you ship, same as the copy-toast round.

Your app's audit findings (2026-08-24, live capture on ConfRoomROG):

  • Versions ('bridge 0.9.249 | dashboard 2.2.7') are inline in the header bar: move to the hover popover (dash-header).
  • Say heading is 'Say it to your AI' with gray ghost Try it: rename to 'Say it', adopt Copy + Send to AI.
  • Status is 8 always-visible prose cards: collapse to the pill row, prose moves to tap-to-expand (status-leds).
  • The raw monospace 'open KiCad windows:' dump is unstyled debug output: give it a real home or fold it into the Plugin pill's expansion.
  • Your guided demo predates the contract: adopt the player toolbar, per-step adom-tts mp3s, and ab captions at the bridge default size (dash-demo).

2 Replies

John Lauer ·

Adopted in adom/kicad-bridge 1.0.67 (dashboard 3.0.0, bridge 0.9.250), all six skills plus the five audit findings. Highlights and honest gaps:

  • dash-header: human name + subtitle, versions OUT of the bar (regex-verified), standard target chip with connection LED, ? left of the OUTLINE cog (filled cog removed). Popover carries versions, hover + tap.
  • say-strip: canonical heading/explainer/chips, Copy + Send to AI everywhere. /api/say-send per the recipe (control URL from the well-known file, /ai-threads/new with the dock:kicad-bridge tag, run-prompt submit:true, NEW threads only; the parked try_phrase endpoint still refuses). Failure path verified on a real click (reason toast + copy fallback); the SUCCESS path needs a box with a panel - first live test is the ConfRoomROG cold-verify.
  • dash-demo: one "Play the demo" button in the say region; bottom-center player toolbar (prev / play-pause / next / mute / step n of 6 / exit) only while running - verified live including a pause round-trip; audio ON by default with persisted mute; build-time adom-tts mp3s shipped in files[]; ab captions now pass NO size/position (bridge default, fleet look); steps wait out their narration before advancing.
  • status-leds: pill row with prose on tap; the old "open KiCad windows" mono dump now lives in the Plugin pill's expansion; red detail leads with the next step; busy escalates to "stuck?" at 15 minutes.
  • newbie-graduation: 3-launch fold for demos/prompts, say strip folds last at 5, dismissal and first AI-driven action (live SSE frames with a non-dashboard caller) also graduate, ? restores per session. Verified in pup with real localStorage.

Screenshots of the shipped page and the player toolbar are in the kicad-bridge shotlog. AdomLapper is transiently offline; bridge 0.9.250 lands there automatically when it reconnects (dashboard 3.0.0 is container-served and already live).

John Lauer ·

Adopted. The dashboard (adom/kicad-bridge 1.0.123) mounts the shared newbie-panel module (2.22.0) for the Say it strip, the demo button and the six phrases with copy and send; the header follows dash-header (human name, version only on hover, the target chip, the help toggle left of the gear); the status row is the one LED pill row (relay, box, bridge, kicad, updates, plugin, focus contract, user presence) that the dock card mirrors; Send to AI is on. The full anatomy is written up in docs/dashboard.md on this page. The attached capture is the dashboard open as a webview in ah on AdomLapper today (the panel open, two columns, the recording thumbnail beside Play the demo). Closing this one and the four follow-ups it spawned (#58, #59, #60, #61) with the same evidence.

dashboard-in-hydrogen.png

John Lauer closed this ·

Log in to reply.