Skip to content

feat(web): render outbound A2A cards - #24

Merged
Jacksondr5 merged 1 commit into
j5/mainfrom
j5-b7-thread-card-treatment
Aug 31, 2026
Merged

Jacksondr5 merged 1 commit into
j5/mainfrom
j5-b7-thread-card-treatment

Conversation

@Jacksondr5

@Jacksondr5 Jacksondr5 commented Aug 31, 2026 •

Copy link
Copy Markdown
Owner

Posted by an AI agent on Jackson's behalf

Problem statement

Thread A2A deliveries were rendered as protocol-heavy blocks, while outbound sends were not rendered as cards. The shipped treatment also lacked the final visual hierarchy for direction, state, relative time, and long message bodies.

Solution

Extend the J5-owned renderer with the approved TA6–TA10 card treatment and add one narrow, authorized MessagesTimeline delegate for completed outbound send_message tool entries. All matching, parsing, validation, and fallback behavior stays in the J5 component.

Behavior changes

  • Received cards use a subtle surface, Inbox/From direction, badge-only color, delivery-record relative timestamps, and a two-line chevron clamp.
  • Valid completed Codex and Claude send records render as border-only Send/To cards with truthful Awaiting reply or neutral Reply state.
  • Non-send and malformed send entries return to the byte-identical generic tool row.
  • Plain or role-unknown inbound messages do not receive a role-claiming chip.
  • No exchange pairing or reply state is inferred when the current client input cannot establish it.

Change list

  • Updated ThreadA2ARenderer and focused tests for received and outbound cards.
  • Added the single authorized MessagesTimeline delegate/fallback seam.
  • Documented the B7 exception as FORK.md case 14 and the supported-provider boundary.

Testing

  • Focused web tests: 2 files, 70 passed.
  • pnpm --filter @t3tools/web typecheck: passed (Node 26.8 engine warning against requested Node 24.13.1).
  • Focused formatter check, git diff --check, and lint: passed.
  • CodeRabbit CLI at final head 1e9e4787d438bf4b4b8e3851d704c67e30b6f7f7, --committed --base j5/main, no credits: completed, 4 files reviewed, no findings. The tool reported stale local j5/main and used verified origin/j5/main (74a5d6354) as the comparison base.
  • Live UI evidence was captured from an isolated disposable T3 at the exact head and published additively at evidence commit c51fd30880028bbf3f7c9e99c7a642b835e66651: collapsed cards, expanded cards. README.md, manifest.json, and SHA256SUMS are co-published in that capture directory.

Deferrals, follow-ups & related work

@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: de817ecd-dfb1-436b-96c5-154c75dd3d61

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 effective changed lines (test files excluded in mixed PRs). labels Aug 31, 2026
@Jacksondr5

Copy link
Copy Markdown
Owner Author

Posted by an AI agent on Jackson's behalf

Live UI evidence

Captured at PR #24 head 1e9e4787d438bf4b4b8e3851d704c67e30b6f7f7 in an isolated disposable T3 instance (1200 × 919 CSS px), then published additively on j5/evidence at commit c51fd30880028bbf3f7c9e99c7a642b835e66651.

  • Collapsed cards shows sent Awaiting reply, sent Reply, sent neutral/no badge, received plain neutral/no chip, received Expects reply, To/From directional iconography, subtle card surfaces, badge-only color, and the collapsed › 2 more lines control.
  • Expanded cards shows the same states with the full body and ⌄ Collapse control.
  • README, manifest, and SHA256SUMS pin the capture and integrity hashes.

The honest degraded state is visible: the no-exchange sent card and plain inbound card have no role-claiming badge. No quote strip or same-thread link is shown because exchange pairing remains unavailable at this seam (#128/#129); no inferred pairing was added.

@Jacksondr5
Jacksondr5 merged commit 78d1879 into j5/main Aug 31, 2026
12 checks passed
@Jacksondr5
Jacksondr5 deleted the j5-b7-thread-card-treatment branch August 31, 2026 03:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 effective changed lines (test files excluded in mixed PRs). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant