Skip to content

Conversation

@ammar-agent
Copy link
Collaborator

@ammar-agent ammar-agent commented Jan 18, 2026

Summary

Phase 1: Centralize UI-only tool outputs

  • Move UI-only tool payloads into ui_only field (ask_user_question, file_edit, notify) with model-facing summaries
  • Update UI/tool consumers to read ui_only and fall back for legacy history
  • Strip only ui_only in provider requests; remove per-tool toolOutputRedaction plumbing
  • Prefer ui_only.file_edit.diff when extracting edited file diffs for compaction attachments

Phase 2: Bash overflow as success with note

  • Bash output overflow now returns success: true, exitCode: 0 instead of error
  • Overflow notice text moved to note field; output set to empty string
  • Remove severity (soft/hard warning) concept from ToolOutputUiOnly and all UI components
  • Add OverflowNotice Storybook story with createBashOverflowTool helper

Why

  • Keep model context concise while preserving rich UI rendering without per-tool redaction
  • Overflow is informational (output saved to file), not an error condition
  • Simplify UI by removing unused severity-based styling variations

Regression Risk

Area Risk Mitigation
Compaction/attachments Medium extractEditedFileDiffs now prefers ui_only.file_edit.diff; tested with existing unit tests
Legacy history compat Low UI falls back to reading from old locations when ui_only is absent
Bash overflow handling Low Model now sees empty output + note instead of error; tests updated to verify
GitStatusStore Low Skips parsing when note contains "OUTPUT OVERFLOW" (output is empty anyway)
UI severity removal Low Only removed unused soft-warning styling; status colors now fixed based on success/failure

Testing

  • bun test src/common/utils/messages/extractEditedFiles.test.ts
  • bun test src/node/services/tools/bash.test.ts
  • make static-check
  • Chromatic visual regression for overflow notice rendering

Generated with mux • Model: anthropic:claude-opus-4-5 • Thinking: high • Cost: $43.17

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 05a03427d3

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@ammar-agent
Copy link
Collaborator Author

@codex review

Addressed the compaction diff issue by preferring ui_only.file_edit.diff in extractEditedFileDiffs and added coverage in extractEditedFiles.test.ts.

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. You're on a roll.

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@ammar-agent ammar-agent force-pushed the error-handling-abpg branch 2 times, most recently from 3c9ef09 to dc2d3f4 Compare January 21, 2026 16:32
Ensure edited file diff extraction prefers ui_only.file_edit.diff when present.

---

_Generated with `mux` • Model: `openai:gpt-5.2-codex` • Thinking: `xhigh` • Cost: `8.50`_
- Bash output overflow now returns success: true with exit 0
- Overflow notice text moved to 'note' field, output set to empty string
- Removed severity (soft/hard) concept from ToolOutputUiOnly and UI
- Updated UI components to use fixed status colors without severity
- GitStatusStore skips parsing when note indicates overflow
- Added createBashOverflowTool for storybook and OverflowNotice story
- Added isForegroundSuccess type guard for proper type narrowing in tests
@ammario ammario merged commit 0e0cef6 into main Jan 21, 2026
36 of 38 checks passed
@ammario ammario deleted the error-handling-abpg branch January 21, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants