Skip to content

refactor(ai-elements): wrap live message bubble#525

Merged
HomenShum merged 3 commits into
mainfrom
codex/ai-elements-message
Jul 14, 2026
Merged

refactor(ai-elements): wrap live message bubble#525
HomenShum merged 3 commits into
mainfrom
codex/ai-elements-message

Conversation

@HomenShum

Copy link
Copy Markdown
Owner

What changed

  • Makes convexToUIParts().renderParts the canonical ordered dispatcher for FastAgentPanel messages.
  • Wraps text, reasoning, source, file, tool, rich-media, and domain-card rendering with AI Elements primitives while preserving NodeBench domain ownership.
  • Keeps Streamdown and code rendering lazy, preserves reduced-motion and persistent stream ownership, and retains existing callbacks/export/save/regenerate/delete behavior.
  • Adds focused contract coverage for ordered interleaving, exactly-once domain ownership, multi-part reasoning, error/empty states, and generic tool outputs.

Why

The previous aggregate rendering path could not safely adopt AI Elements without risking reordered or duplicated domain content. Independent review also caught separator drift across multiple reasoning parts and valid falsy tool results (false, 0, and empty string) disappearing; both now have failing-first regressions.

Validation

  • npx vitest run src/features/agents/components/FastAgentPanel/__tests__/FastAgentUIMessageBubble.contract.test.tsx — 15 passed
  • npx vitest run src/features/agents/components/FastAgentPanel — 147 passed, 19 skipped
  • npx vitest run src/features/agents/components/FastAgentPanel/__tests__/MessageBubble.streaming.test.tsx — 1 passed
  • npx tsc --noEmit --pretty false
  • npx vitest run src/design/designSystem.test.ts — 11 passed
  • npm run lint:design — 0 high findings
  • npm run build
  • Bundle guard: FastAgentPanel 1,381,969 B; separate code block 131,747 B; separate Streamdown 163,182 B; 0 Shiki/oniguruma/wasm markers in panel; 0 assets/shiki/ service-worker precache entries

Release

Ready for the repository P0 workflow: required checks first, then CI-gated squash merge. No admin bypass.

@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
nodebench-ai Ready Ready Preview, Comment Jul 14, 2026 11:59am

Request Review

@github-actions

Copy link
Copy Markdown

PR size advisory

This PR adds 1645 lines of substantive change. CONTRIBUTING.md defines a soft limit of ~400 LOC.

If the PR is genuinely cohesive (e.g. an architecture map, a generated migration, a deletion of a dead module), no action is needed. Otherwise consider:

  • splitting into 2-3 PRs along independent concerns
  • pre-discussing the architecture change in a GitHub Discussion before merge

This is advisory — it does not block the merge.

@github-actions

Copy link
Copy Markdown

✅ Dogfood Visual QA Gate: PASSED

Check Status
Screenshots 23 captured (pass)
Walkthrough 9 chapters (pass)
Key Frames 9 extracted (pass)
Scribe Steps 8 how-to steps (pass)
Build success
Artifacts

Download the dogfood-evidence-6d6da36 artifact from the Actions tab for full screenshots, frames, and walkthrough video.


Generated by Dogfood QA Gate

@HomenShum HomenShum merged commit 165ecec into main Jul 14, 2026
15 of 17 checks passed
@HomenShum HomenShum deleted the codex/ai-elements-message branch July 14, 2026 12:03
@github-actions

Copy link
Copy Markdown

Demo: walkthrough of the surfaces this PR changed is available as a workflow artifact (pr-demo-525) at https://github.com/HomenShum/NodeBenchAI/actions/runs/29331115042

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.

2 participants