Skip to content

fix(a2ui): improve catalog tests and fix misleading _bindings docs#106

Merged
blove merged 10 commits into
mainfrom
fix/a2ui-catalog-tests
Apr 11, 2026
Merged

fix(a2ui): improve catalog tests and fix misleading _bindings docs#106
blove merged 10 commits into
mainfrom
fix/a2ui-catalog-tests

Conversation

@blove
Copy link
Copy Markdown
Contributor

@blove blove commented Apr 10, 2026

Summary

  • Library fix: Add _bindings to surfaceToSpec RESERVED_KEYS — prevents agent-authored bindings from leaking as regular props
  • Cockpit registration: Wire A2UI into manifest, capability registry, route resolution, and smoke tests (port 4511)
  • LLM-backed graph: Replace 123-line hardcoded JSONL with 40-line LLM-backed generation using gpt-5-mini
  • System prompt rewrite: Correct component API (Text.text not .content, no Row.gap, validation/checks docs)
  • Docs cleanup: Remove _bindings from catalog examples and guide, clarify StateStore limitation
  • Catalog tests: Behavioral contract tests for interactive components (TextField, CheckBox, Slider, ChoicePicker, DateTimeInput, Button, Modal, Tabs)
  • E2E test: Rewrite matching smoke test pattern with timeouts

Test plan

  • 226 chat lib tests pass
  • 91 a2ui lib tests pass
  • Cockpit build succeeds
  • Angular A2UI build succeeds (production)
  • Clean working tree
  • CI passes
  • Verify deployed cockpit renders A2UI example

🤖 Generated with Claude Code

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 10, 2026

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

Project Deployment Actions Updated (UTC)
cacheplane Ready Ready Preview, Comment Apr 11, 2026 0:07am

Request Review

blove and others added 10 commits April 10, 2026 17:05
Replace vacuous catalog component tests with meaningful behavioral tests.
Add missing DateTimeInput spec. Fix catalog docs that showed _bindings as
agent-authored — agents use path references, surfaceToSpec populates bindings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Prevents agent-authored _bindings from leaking through as a regular
resolved prop. Only auto-detected bindings from path references are set.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Change dev port from 4311 (conflicts with filesystem) to 4511.
Rename graph from a2ui_form to c-a2ui matching chat convention.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hardcoded form JSONL with ChatOpenAI invocation using system
prompt, matching the generative-ui example pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix inaccurate prop names (Text.content→text, remove Row.gap),
add validation/checks docs, add sendDataModel, clarify _bindings
is auto-populated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…y StateStore limitation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…, and e2e

Add a2ui to APPROVED_TOPICS, capability-registry (port 4511),
route-resolution imports, and all-examples-smoke test suite.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Verify chat renders, input and send button visible on port 4511.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@blove blove force-pushed the fix/a2ui-catalog-tests branch from acfbc82 to 7855acf Compare April 11, 2026 00:05
@blove blove merged commit 8d46099 into main Apr 11, 2026
14 checks passed
@blove blove deleted the fix/a2ui-catalog-tests branch April 11, 2026 00:11
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