Skip to content

feat(bridle): thinking event relay + admin thinking timeline (CLEAN-10) - #29

Merged
maksymhryzodub-prog merged 6 commits into
mainfrom
feat/CLEAN-10-shimmer-thinking
Aug 16, 2026
Merged

feat(bridle): thinking event relay + admin thinking timeline (CLEAN-10)#29
maksymhryzodub-prog merged 6 commits into
mainfrom
feat/CLEAN-10-shimmer-thinking

Conversation

@maksymhryzodub-prog

@maksymhryzodub-prog maksymhryzodub-prog commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Ranch side of CLEAN-10 — Rovo-style "agent is thinking" UI:

  • API hub: mirrors the new additive thinking wire types and whitelists @SubscribeMessage('thinking') → opaque relay to the addressed browser client (like stream; visitor-safe payload, not admin-gated).
  • Admin chat preview: the bridle store advertises the 'thinking' capability, folds events into per-turn blocks (freeze on terminal done:true, socket drop, or 75s stale watchdog); the preview renders a shimmer status line instead of bouncing dots plus a collapsible step timeline with expandable markdown detail. DebugPanel untouched.
  • Spec artifacts: specs/005-shimmer-thinking-ui/ — spec, plan, research, wire/UI contracts with compatibility matrix, quickstart validation guide, tasks with implementation status.

Cross-repo: pairs with feat/CLEAN-10-shimmer-thinking PRs in CleanSlice/bridle (SDK + canonical types, stacked on #1 auto-popup) and CleanSlice/runtime (loop emission). Any deploy order is safe — the event is strictly additive and capability-gated; recommended: hubs → runtime → SDK.

Test plan

  • api: tsc --noEmit clean
  • admin store: scratch-tsconfig typecheck clean (no vue-tsc in this repo)
  • Manual quickstart Scenario 5 (admin preview) — needs a live agent; part of the T025 sign-off

🤖 Generated with Claude Code

maksymhryzodub-prog and others added 6 commits August 14, 2026 12:44
Mirrors the new wire types and adds @SubscribeMessage('thinking') →
handleAgentEvent so live reasoning steps reach the addressed browser
client. Opaque relay like 'stream'; visitor-safe payload, not
admin-gated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…10 US3)

The admin bridle store now advertises the 'thinking' capability, folds
incoming thinking events into per-turn blocks (freeze on terminal event,
socket drop, or a 75s stale watchdog), and the chat preview renders the
Rovo-style block: shimmer status line instead of the bouncing dots,
collapsible step timeline with expandable markdown detail, interleaved
with messages by timestamp. DebugPanel is untouched.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ts, tasks

Speckit artifacts for the Rovo-style thinking UI: shimmer status line,
thinking wire event contract with compatibility matrix, widget UI
contract, quickstart validation guide, and the task list with
implementation status. Design docs synced to the implemented protocol
(terminal done event, in-flow blocks, loop-context capability gate).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The production hub never read auth.capabilities from the handshake, so
messages reached the runtime with capabilities undefined and the
capability-gated thinking emission never armed — thinking-capable
clients got the shimmer status but no step timeline. Mirror the
standalone hub: parse the handshake list, keep it on the client record,
and attach it to every message forwarded to the agent (same pattern as
the per-client prompt).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…p (CLEAN-10)

Replaces the hand-rolled background-clip gradient classes with the
official shimmer utility from shadcn-vue/tailwind.css (works off
currentColor, dark-mode aware, honors prefers-reduced-motion out of the
box). shimmer-duration-1600 keeps the previous 1.6s rhythm; the custom
keyframes and reduced-motion overrides are deleted.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…-follow (CLEAN-10)

Mirrors the SDK behavior in the agent chat preview: segments seal when
content lands below them and the next step opens a new segment at the
bottom, so the current step is always visible near the newest output.
Turn-close straggler guard on terminal paths; auto-scroll only follows
a reader already near the bottom. data-model.md updated with the
segment/seal-vs-close semantics.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@maksymhryzodub-prog
maksymhryzodub-prog merged commit 378daf4 into main Aug 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant