Skip to content

🤖 fix: render readable subagent failure cards - #4082

Open
ThomasK33 wants to merge 4 commits into
mainfrom
fix-subagent-failure-ui
Open

🤖 fix: render readable subagent failure cards#4082
ThomasK33 wants to merge 4 commits into
mainfrom
fix-subagent-failure-ui

Conversation

@ThomasK33

@ThomasK33 ThomasK33 commented Sep 4, 2026

Copy link
Copy Markdown
Member

Summary

Replace raw synthetic sub-agent failure envelopes with compact, readable transcript cards. Superseded workspace turns use a neutral New input took over message rather than implying the workspace failed; actual failures retain clear error styling.

  • Keep task/execution IDs and the original superseded-turn diagnostic under keyboard-accessible Technical details.
  • Preserve model-facing messages, persisted history, Copy, and raw JSON inspection.
  • Restrict protocol-aware rendering to synthetic messages; malformed envelopes and user-authored lookalikes retain the ordinary escaped message path.
  • Add parser/rendering regression coverage and full-app desktop/phone stories.

Validation

  • make static-check-full — passed after integrating current main, including both TypeScript projects, lint, formatting, and full CI-equivalent checks.
  • Targeted failure/report parser and message-renderer tests — 39 passed.
  • Cross-project workspace pin-order tests — 4 passed.
  • Full ProjectSidebar suite — 49 passed; combined UI/parser/sidebar regression run — 88 passed.
  • Independent final code review — no findings.
  • Full-app Storybook dogfood: desktop and 375px phone, dark/light themes, long diagnostic wrapping, click/Enter/Space disclosure, raw Copy via paste-and-clear, and raw JSON inspection.
Visual evidence

The yellow stream-interrupted banner is existing full-app behavior in this story fixture; the change is the two sub-agent cards above it.

Desktop failure cards

375px phone failure cards

final-walkthrough.webm

Risk

Presentation-only parsing of the existing failure protocol; no backend delivery or persistence changes. Unrecognized framing falls back to the original message instead of discarding diagnostics.


Generated with mux • Model: coder:openai/gpt-6-astra • Thinking: high • Cost: $12.80

Remove the stale getSessionDir mock from the cross-project pin-order fixture to restore the existing typecheck gate.
---
_Generated with [`mux`](https://github.com/coder/mux) • Model: `coder:openai/gpt-6-astra` • Thinking: `high` • Cost: `$12.80`_

<!-- mux-attribution: model=coder:openai/gpt-6-astra thinking=high costs=12.80 -->
Replace synthetic failure XML with compact cards, neutral superseded-turn messaging, and collapsible diagnostics while preserving raw protocol data. Add parser, rendering, and responsive story coverage.
---
_Generated with [`mux`](https://github.com/coder/mux) • Model: `coder:openai/gpt-6-astra` • Thinking: `high` • Cost: `$12.80`_

<!-- mux-attribution: model=coder:openai/gpt-6-astra thinking=high costs=12.80 -->
@chatgpt-codex-connector

This comment has been minimized.

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep it up!

Reviewed commit: a54391265a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector

This comment has been minimized.

Repair five existing fixtures that omit the required archivingWorkspaceIds field and fail before reaching their assertions.

---
_Generated with [`mux`](https://github.com/coder/mux) • Model: `coder:openai/gpt-6-astra` • Thinking: `high` • Cost: `$12.80`_

<!-- mux-attribution: model=coder:openai/gpt-6-astra thinking=high costs=12.80 -->
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: d60229677f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector

This comment has been minimized.

@ThomasK33
ThomasK33 added this pull request to the merge queue Sep 4, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 4, 2026
Merge current main and retain the upstream copy of the five archive-state mock fields, avoiding duplicate properties in the merge group. The failure UI remains unchanged.

---
_Generated with [`mux`](https://github.com/coder/mux) • Model: `coder:openai/gpt-6-astra` • Thinking: `high` • Cost: `$44.57`_

<!-- mux-attribution: model=coder:openai/gpt-6-astra thinking=high costs=44.57 -->
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Already looking forward to the next diff.

Reviewed commit: 7d4799aa41

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector

This comment has been minimized.

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