Skip to content

feat(ai-elements): add Convex UI parts adapter#521

Merged
HomenShum merged 3 commits into
mainfrom
feat/ai-elements-convex-adapter
Jul 14, 2026
Merged

feat(ai-elements): add Convex UI parts adapter#521
HomenShum merged 3 commits into
mainfrom
feat/ai-elements-convex-adapter

Conversation

@HomenShum

@HomenShum HomenShum commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a typed Convex-to-AI-Elements adapter for persisted FastAgentPanel message parts
  • expose one canonical ordered renderParts stream with exactly-one render ownership
  • preserve text, reasoning, sources, files, normalized tools, domain passthrough, raw domain identity, and original ordering
  • normalize malformed terminal tool states into AI SDK v5-compatible disjoint shapes
  • keep aggregate projections convenience-only and keep persistent stream primitives out of this adapter

This is supporting infrastructure; runtime call-site adoption lands separately in UIMessageBubble.

Safety contract

  • no primitive drives a persistent stream
  • domain cards retain their raw payload identity
  • unified and legacy tool call/result shapes collapse to one owner
  • valid explicit terminal states retain precedence while malformed payloads are rebuilt
  • null or blank error aliases do not manufacture a failure
  • repeated unified snapshots cannot duplicate FIFO ownership
  • tool output/error terminal states are disjoint
  • exact ordering and exactly-once ownership are regression tested

Verification

  • adapter: 33/33 passed
  • full FastAgentPanel: 89 passed, 19 intentional skips
  • root TypeScript: passed
  • strict adapter TypeScript: passed
  • design contract: 11/11 passed
  • design lint: 0 high-severity violations
  • production build/PWA: passed, 265 precache entries
  • protected-preview authentication prerequisite: fix(ci): authenticate protected Tier B previews #522 merged
  • independent post-fix release review: GO, no P0/P1 findings

No Convex production deploy and no admin merge 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:24am

Request Review

@github-actions

Copy link
Copy Markdown

PR size advisory

This PR adds 1108 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

github-actions Bot commented Jul 14, 2026

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-f45fd40 artifact from the Actions tab for full screenshots, frames, and walkthrough video.


Generated by Dogfood QA Gate

@github-actions

Copy link
Copy Markdown

Tier B regression failed against preview

Preview URL: https://nodebench-jpck6ayip-hshum2018-gmailcoms-projects.vercel.app
Run: 29323883014

Likely a kit-parity DOM regression. Check the Playwright report artifact attached to the run for the failing selector + screenshot.

This check would have caught all 4 A9 sessionRows iterations as a single PR — that's why it exists.

@HomenShum HomenShum marked this pull request as draft July 14, 2026 10:14
@HomenShum HomenShum force-pushed the feat/ai-elements-convex-adapter branch from b78eb07 to 40bf68a Compare July 14, 2026 11:11
@HomenShum HomenShum marked this pull request as ready for review July 14, 2026 11:11
@HomenShum HomenShum enabled auto-merge (squash) July 14, 2026 11:11
@HomenShum HomenShum disabled auto-merge July 14, 2026 11:14
@HomenShum HomenShum marked this pull request as draft July 14, 2026 11:14
@HomenShum HomenShum marked this pull request as ready for review July 14, 2026 11:23
@HomenShum HomenShum enabled auto-merge (squash) July 14, 2026 11:23
@HomenShum HomenShum merged commit 3068811 into main Jul 14, 2026
19 of 26 checks passed
@HomenShum HomenShum deleted the feat/ai-elements-convex-adapter branch July 14, 2026 11:29
@github-actions

Copy link
Copy Markdown

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

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