Skip to content

🤖 feat: add hyper transcript density#3400

Open
ThomasK33 wants to merge 16 commits into
mainfrom
ui-layout-a7e8
Open

🤖 feat: add hyper transcript density#3400
ThomasK33 wants to merge 16 commits into
mainfrom
ui-layout-a7e8

Conversation

@ThomasK33
Copy link
Copy Markdown
Member

@ThomasK33 ThomasK33 commented May 27, 2026

Summary

Adds Hyper Transcript Density, a presentation-only transcript mode that compresses dense agent work into expandable bundles while preserving underlying history, provider context, backend schemas, and Normal transcript rendering.

Background

Long execution turns can push the useful final answer and conversational pacing off screen. Hyper density keeps the final response visible, summarizes completed turn work with a duration row, and keeps detailed reasoning/tool activity available on demand.

Implementation

  • Adds a global Transcript density setting with Normal and Hyper modes.
  • Computes render-time metadata projections for completed Work Bundles and nested Operational Bundles without mutating persisted messages.
  • Renders completed assistant work as a Worked for … row; expanding it uses the same message render path as normal transcript rows so bash output grouping, barriers, task links, review notes, and file-tool coalescing stay consistent.
  • Keeps nested operational details collapsed inside expanded Work Bundles until the user expands them, while preserving chronological order for leading reasoning.
  • Keeps high-signal generated artifacts, stream errors, plan displays, and failed searches visible instead of hiding them behind generic work summaries.
  • Adds summary handling for no-result searches, failed bundled operations, plural labels, active bundles, singleton bundles, and manual expansion overrides.
  • Adds Storybook scenarios and tests for storage normalization, projections, bundle components, and expanded nested bundle behavior.

Validation

  • bun test src/browser/utils/messages/transcriptRenderProjection.test.ts
  • bun test src/browser/features/Messages/OperationalBundleMessage.test.tsx src/browser/features/Messages/WorkBundleMessage.test.tsx
  • bun test src/browser/features/Tools/Shared/HookOutputDisplay.test.ts
  • bun x test-storybook --url http://127.0.0.1:6006 --testTimeout 30000 src/browser/features/Messages/TranscriptDensity.stories.tsx
  • make typecheck
  • make static-check
  • Dogfooded in Storybook with collapsed, expanded, and nested operational bundle screenshots/video.

Risks

Medium UI regression risk in transcript rendering because the ChatPane render loop now coordinates both work-level and operation-level grouping. The feature is gated to Hyper density, leaving Normal mode on the existing rendering path.

Pains

The implementation direction changed after the original conservative plan: Hyper now intentionally uses turn-level Work Bundles and nested Operational Bundles rather than only grouping a narrow allowlist of adjacent tool rows. The PR body now describes the shipped behavior directly instead of retaining the obsolete plan text.


Generated with mux • Model: openai:gpt-5.5 • Thinking: xhigh • Cost: $165.33

ThomasK33 added 2 commits May 27, 2026 10:10
Adds a global Transcript Density setting and Hyper mode rendering that condenses operational transcript rows into expandable bundles while preserving the underlying message history.

Validation: bun test src/browser/features/Messages/OperationalBundleMessage.test.tsx src/browser/utils/messages/transcriptRenderProjection.test.ts src/browser/features/Tools/Shared/HookOutputDisplay.test.ts; make static-check.

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$114.65`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=114.65 -->
Adds Hyper transcript density work bundles that summarize completed assistant turns as worked-duration rows while preserving nested operational bundle collapse inside expanded work.

Validation: make static-check.

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$133.12`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=133.12 -->
@ThomasK33
Copy link
Copy Markdown
Member Author

/coder-agents-review

@ThomasK33
Copy link
Copy Markdown
Member Author

@codex review

@coder-agents-review
Copy link
Copy Markdown

coder-agents-review Bot commented May 27, 2026

Chat: Spend limit reached | View chat
Requested: 2026-05-27 13:48 UTC by @ThomasK33
Spend: $100.75 / $100.00 (limit reached)

Review history
  • R1 (2026-05-27), 2 Nit, 1 Note, 1 P1, 1 P2, 2 P3, COMMENT. Review
  • R2 (2026-05-27), 2 Nit, 1 Note, 1 P1, 1 P2, 2 P3, COMMENT. Review
  • R3 (2026-05-27): 18 reviewers, 4 Nit, 1 Note, 1 P1, 6 P2, 10 P3, REQUEST_CHANGES. Review
  • R4 (2026-05-27): 4 reviewers, 5 Nit, 1 Note, 1 P1, 6 P2, 12 P3, APPROVE. Review
  • R5 (2026-05-27), 5 Nit, 1 Note, 1 P1, 6 P2, 12 P3, COMMENT. Review
  • R6 (2026-05-27), 5 Nit, 1 Note, 1 P1, 6 P2, 12 P3, COMMENT. Review
  • R7 (2026-05-27): 3 reviewers, 5 Nit, 1 Note, 1 P1, 7 P2, 13 P3, COMMENT. Review
  • R8 (2026-05-27), 5 Nit, 1 Note, 1 P1, 7 P2, 13 P3, COMMENT. Review

deep-review v0.5.0 | Round 8 | 5d79d9b..487d62a

Last posted: Round 8, 27 findings (1 P1, 7 P2, 13 P3, 5 Nit, 1 Note), COMMENT. Review

Finding inventory

Findings

# Sev Status Location Summary Round Reviewer Posted
CRF-1 P1 Author fixed (213ca88) transcriptRenderProjection.ts:163 Double-counts reasoning in computeOperationalBundleInfos when reasoning not followed by assistant R1 Netero Yes
CRF-2 P2 Author contested; panel closed R3 (4/4 accept) transcriptRenderProjection.ts:282 isOperationalBundleMessage bundles ALL tools; no allowlist per plan/CONTEXT.md R1 Netero Yes
CRF-3 P3 Author fixed (213ca88) transcriptRenderProjection.ts:75 computeWorkBundleInfos uses ComputeOperationalBundleInfosOptions type name R1 Netero Yes
CRF-4 P3 Author fixed (213ca88) storage.ts:395 isTranscriptDensity exported but no external callers R1 Netero Yes
CRF-5 Nit Author fixed (213ca88) ChatPane.tsx:1157 Deleted explanatory comments about tool-coalesce rendering order without replacement R1 Netero Yes
CRF-6 Nit Author fixed (213ca88) CONTEXT.md:153 10 new em-dash (U+2014) instances in added dialogue lines R1 Netero Yes
CRF-7 Note Author fixed (213ca88) transcriptRenderProjection.ts:4 OperationalBundleMessage type alias shares name with React component R1 Netero Yes
CRF-8 P3 Author fixed (c15c843) transcriptRenderProjection.ts:308 formatDetails pluralization produces "searchs" and "fetchs" R3 Netero, Bisky, Mafuuu Yes
CRF-9 P3 Author fixed (c15c843) transcriptRenderProjection.ts:35 WorkBundleInfo.finalIndex computed but never read by any consumer R3 Netero Yes
CRF-10 P2 Author fixed (c15c843) ChatPane.tsx:1381 Expanded work bundles lose bash output grouping, barriers, and tool coalesce props R3 Hisoka P2, Chopper P2, Knov P2, Mafuuu P3, Nami P3, Kite P3, Zoro P3, Meruem P3, Luffy P3, Razor P3 Yes
CRF-11 P2 Author fixed (c15c843) ChatPane.tsx:1304 Duplicated render paths; no shared render helper as called for in plan R3 Kite P2, Meruem P2, Mafu-san P3, Robin P3, Zoro P3 Yes
CRF-12 P2 Author fixed (c15c843) transcriptRenderProjection.ts:163 Leading reasoning reorder: reasoning absorbed across assistant boundaries displays after assistant text on expansion R3 Nami P2, Razor P2, Hisoka P3 Yes
CRF-13 P2 Author fixed (c15c843) GeneralSection.tsx:591 Settings description "operational detail" misleads; Hyper also hides edits, questions, assistant prose R3 Luffy P2, Leorio P3 Yes
CRF-14 P2 Author fixed (c15c843) ChatPane.tsx:1176 PR description plan contradicts implementation on allowlist, test coverage, and acceptance criteria R3 Mafu-san P1 Yes
CRF-15 P3 Author fixed (c15c843) ChatPane.tsx:1291 Expansion override cleanup drops user preference when defaultExpanded transitions during turn completion R3 Pariston P3, Nami P3 Yes
CRF-16 P3 Author fixed (c15c843) OperationalBundleMessage.tsx:36 Singleton operational bundle shows redundant title and details R3 Nami P3, Pariston Nit Yes
CRF-17 P3 Author fixed (c15c843); fix unreachable R7 transcriptRenderProjection.ts:282 Collapsed bundle header has no failure indicator when bundle contains failed tools R3 Meruem P3 Yes
CRF-18 P3 Author fixed (c15c843) transcriptRenderProjection.test.ts:1 No test for work bundles containing operational bundles (most complex integration path) R3 Kite P3 Yes
CRF-19 P3 Author fixed (c15c843) OperationalBundleMessage.test.tsx:39 Active bundle rendering path has zero assertions R3 Bisky P3 Yes
CRF-20 P3 Author fixed (c15c843); regressed adb13f8 TranscriptDensity.stories.tsx:91 HyperExpandedBundle story has no play function; visually identical to collapsed R3 Bisky P2 Yes
CRF-21 Nit Author fixed (c15c843) CONTEXT.md:90 Work Bundle bolded 6 times but has no glossary definition entry R3 Gon Yes
CRF-22 Nit Author fixed (c15c843) hookOutput.ts:9 Doc comments dropped during extraction from HookOutputDisplay.tsx R3 Leorio Yes
CRF-23 P3 Author fixed (e680f6f) transcriptRenderProjection.test.ts:152 No test for undefined work bundle duration path R4 Bisky Yes
CRF-24 P3 Author fixed (e680f6f) transcriptRenderProjection.ts:220 All info objects in a bundle share same entries array by reference; Object.freeze would harden R4 Meruem Yes
CRF-25 Nit Author fixed (e680f6f) transcriptRenderProjection.ts:20 headIndex name misleads; it is render-slot index, not first entry's index R4 Meruem Yes
CRF-26 P2 Open TranscriptDensity.stories.tsx:91 CRF-20 fix reverted: play function deleted in adb13f8; no interaction coverage for nesting path R7 Bisky Yes
CRF-27 P3 Open transcriptRenderProjection.ts:317 withFailureIndicator is dead code; isBundleableToolMessage excludes failed tools before they enter bundles; CRF-17 fix is a no-op R7 Mafuuu P3, Razor P3 Yes

Contested and acknowledged

CRF-2 (P2, transcriptRenderProjection.ts:282) - isOperationalBundleMessage bundles ALL tools

  • Finding: Reviewer proposed adding an allowlist to isOperationalBundleMessage so only low-signal tools are bundled, keeping file edits, validation, mutation, questions visible as first-class events.
  • Author defense: Hyper mode is intentionally hyper-aggressive. All tool types are bundled; expansion preserves inspectability. CONTEXT.md was updated to align the spec with this design.
  • Panel closure (R3, 4/4 accept): Mafuuu verified code matches updated CONTEXT.md contract. Kite accepted product intent. Knov accepted: Hyper means hyper-aggressive. Razor verified defense holds. Adjacent concerns captured as CRF-14 and CRF-17.

Round log

Round 1

Netero-only. 1 P1, 1 P2, 2 P3, 2 Nit, 1 Note. Reviewed against 5d79d9b..391e632.

Round 2

BLOCKED. All findings silent. No review.

Round 3

Panel round. CRF-1,3,4,5,6,7 author fixed. CRF-2 contested, panel closed (4/4 accept). 5 P2, 8 P3, 2 Nit new. Reviewed against 5d79d9b..4ad2ba3.

Round 4

CRF-8-22 all author fixed (c15c843). All fixes verified by panel. 2 P3, 1 Nit new. Reviewed against 5d79d9b..c15c843.

Round 5

CRF-23,24,25 all author fixed (e680f6f). 0 open findings. Reviewed against 5d79d9b..e680f6f.

Round 6

No new code (same SHA as R5). No open findings. No review needed.

Round 7

Panel round (3 reviewers). CRF-20 regressed (play function deleted in adb13f8). CRF-17 fix unreachable (withFailureIndicator dead code). 1 P2, 1 P3 new. Reviewed against 5d79d9b..a1f3023.

Round 8

BLOCKED. CRF-26 and CRF-27 both silent. No review.

About deep-review

CRF = Coder Review Finding (P0-P4, Nit, Note)

Reviewer Focus
Bisky tests
Chopper ops/errors
Churn-guard change verification
Ging language modernization
Gon naming
Hisoka edge cases
Killua perf
Kite change integrity
Knov contracts
Knuckle SQL
Kurapika security
Leorio docs
Luffy product
Mafu-san process
Mafuuu contracts
Melody dispatch/pairing
Meruem structural
Nami frontend
Netero mechanical checks
Pariston premise testing
Pen-botter product gaps
Razor verification
Robin duplication
Ryosuke Go arch
Takumi concurrency
Zoro shape

🤖 Managed by Coder Agents.

Copy link
Copy Markdown

@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

# Mux Conversation Context

P2 Badge Move context docs under the docs tree

This adds a root-level Markdown document, but /workspace/mux/AGENTS.md says “No free-floating Markdown” and requires user docs to live in docs/ with docs.json navigation. Leaving this at the repo root bypasses the documented docs layout and navigation/link-check workflow; please move it under docs/ (or make it an inline developer note if it is not user-facing).

ℹ️ 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".

Comment thread src/browser/utils/messages/transcriptRenderProjection.ts Outdated
Copy link
Copy Markdown

@coder-agents-review coder-agents-review Bot left a comment

Choose a reason for hiding this comment

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

Hyper Transcript Density is a well-scoped presentation-only feature with clean separation between projection logic and rendering, good use of stable bundle keys, proper ARIA on bundle headers, and solid Storybook coverage. The re-export refactor for hook output helpers and the tool coalesce kind export are both nice deduplication.

1 P1, 1 P2, 2 P3, 2 Nit, 1 Note.

This is a first-pass review only: these are mechanical findings from Netero. The full review panel has not yet reviewed this PR. The panel will review after these findings are addressed.

The rendering order explanation is still relevant for understanding the interplay between operational bundles and tool coalescing, but no replacement comment was added.
Netero, looking at the intersection of three grouping systems

🤖 This review was automatically generated with Coder Agents.

Comment thread src/browser/utils/messages/transcriptRenderProjection.ts
Comment thread src/browser/utils/messages/transcriptRenderProjection.ts Outdated
Comment thread src/browser/utils/messages/transcriptRenderProjection.ts Outdated
Comment thread src/common/constants/storage.ts Outdated
Comment thread src/browser/components/ChatPane/ChatPane.tsx
Comment thread CONTEXT.md
Comment thread src/browser/utils/messages/transcriptRenderProjection.ts Outdated
Removes the flaky interaction play test from the transcript density Storybook story while retaining smoke coverage and component-level expansion tests.

Validation: bun x test-storybook --url http://127.0.0.1:6006 --testTimeout 30000 src/browser/features/Messages/TranscriptDensity.stories.tsx; make static-check.

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$133.12`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=133.12 -->
@ThomasK33
Copy link
Copy Markdown
Member Author

/coder-agents-review

@ThomasK33
Copy link
Copy Markdown
Member Author

@codex review

Copy link
Copy Markdown

@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: 5d6b5e43c3

ℹ️ 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".

Comment thread src/browser/utils/messages/transcriptRenderProjection.ts
Comment thread src/browser/utils/messages/transcriptRenderProjection.ts Outdated
Copy link
Copy Markdown

@coder-agents-review coder-agents-review Bot left a comment

Choose a reason for hiding this comment

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

Round 2 is blocked. All 7 findings from round 1 are silent: no code changes address them, no author responses.

Unaddressed findings:

  • CRF-1 (P1) transcriptRenderProjection.ts:163 Double-counts reasoning in computeOperationalBundleInfos when reasoning not followed by assistant.
  • CRF-2 (P2) transcriptRenderProjection.ts:282 isOperationalBundleMessage bundles ALL tools with no allowlist per plan/CONTEXT.md.
  • CRF-3 (P3) transcriptRenderProjection.ts:75 computeWorkBundleInfos uses ComputeOperationalBundleInfosOptions type name.
  • CRF-4 (P3) storage.ts:395 isTranscriptDensity exported but no external callers.
  • CRF-5 (Nit) ChatPane.tsx:1157 Deleted explanatory comments about tool-coalesce rendering order without replacement.
  • CRF-6 (Nit) CONTEXT.md:153 10 new em-dash (U+2014) instances in added dialogue lines.
  • CRF-7 (Note) transcriptRenderProjection.ts:4 OperationalBundleMessage type alias shares name with React component.

Further review is blocked until the author responds to or pushes fixes for these findings. The full review panel has not yet reviewed this PR.

🤖 This review was automatically generated with Coder Agents.

Fixes operational bundle reasoning duplication, aligns transcript density docs with the accepted hyper behavior, cleans minor naming/export issues, and stabilizes Storybook smoke coverage.

Validation: bun test src/browser/utils/messages/transcriptRenderProjection.test.ts; bun test src/browser/features/Messages/OperationalBundleMessage.test.tsx src/browser/features/Messages/WorkBundleMessage.test.tsx; bun test src/browser/features/Tools/Shared/HookOutputDisplay.test.ts; bun x test-storybook --url http://127.0.0.1:6006 --testTimeout 30000 src/browser/features/Messages/TranscriptDensity.stories.tsx; make static-check.

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$133.12`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=133.12 -->
@ThomasK33
Copy link
Copy Markdown
Member Author

/coder-agents-review

@ThomasK33
Copy link
Copy Markdown
Member Author

@codex review

Scopes work bundle active checks to the candidate assistant turn so completed prior work remains bundled while a later response streams.

Validation: bun test src/browser/utils/messages/transcriptRenderProjection.test.ts; make static-check.

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$133.12`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=133.12 -->
@ThomasK33
Copy link
Copy Markdown
Member Author

/coder-agents-review

@ThomasK33
Copy link
Copy Markdown
Member Author

@codex review

Copy link
Copy Markdown

@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: 4ad2ba3f05

ℹ️ 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".

Comment thread src/browser/utils/messages/transcriptRenderProjection.ts
Excludes reasoning-only assistant turns from operational bundling so truncated reasoning remains visible in Hyper density.

Validation: bun test src/browser/utils/messages/transcriptRenderProjection.test.ts; make static-check.

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$133.12`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=133.12 -->
@ThomasK33
Copy link
Copy Markdown
Member Author

/coder-agents-review

@ThomasK33
Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

This comment has been minimized.

@ThomasK33
Copy link
Copy Markdown
Member Author

Addressed the Codex findings in 9f11dd0:

  • Work bundles now only consider assistant/tool/reasoning rows and require an assistant final row, so stream errors, generated/edited images, and plan displays split the bundle and remain visible. Added regression coverage for those high-signal rows.
  • Failed web_search rows now stay visible, and the No results summary is only used for completed searches with known empty result sets. Updated the all-miss search story fixture accordingly.

@codex review
Please take another look.

Copy link
Copy Markdown

@coder-agents-review coder-agents-review Bot left a comment

Choose a reason for hiding this comment

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

The projection layer is well-designed: pure functions, stable keys, compile-time type narrowing via OperationalBundleMemberMessage, and correct React Compiler interaction (ChatPane skipped by compiler due to ref access; manual useMemo is appropriate). The hookOutput extraction refactor is clean, accessibility basics are correct (semantic buttons, aria-expanded, focus outlines), and the storage normalization is solid.

5 P2, 8 P3, 2 Nit. CRF-2 (bundle-everything design) closed by panel vote: 4/4 accept the opt-in Hyper behavior. Adjacent concerns captured as separate findings.

The dominant structural issue is C1+C2: expanded work bundle entries render through a separate code path that drops bashOutputGroup, barriers, and tool coalesce props. Nine reviewers flagged it independently. The root cause is the missing shared render helper the plan called for (Phase 5). A single renderMessageForIndex helper resolving all per-message props would fix the prop divergence, the barrier loss, and the three duplicated toggle handlers in one refactor.

CRF-1 fix verified: leading-reasoning entries correctly cleared on scan reset. CRF-3,4,5,6,7 fixes all verified clean.

"The implementation intentionally remains hyper-aggressive."
The author-agent, updating the spec to match the code rather than the code to match the spec

🤖 This review was automatically generated with Coder Agents.

Comment thread src/browser/components/ChatPane/ChatPane.tsx Outdated
Comment thread src/browser/components/ChatPane/ChatPane.tsx
Comment thread src/browser/utils/messages/transcriptRenderProjection.ts
Comment thread src/browser/features/Settings/Sections/GeneralSection.tsx
Comment thread src/browser/components/ChatPane/ChatPane.tsx
Comment thread src/browser/utils/messages/transcriptRenderProjection.test.ts
Comment thread src/browser/features/Messages/OperationalBundleMessage.test.tsx
Comment thread src/browser/features/Messages/TranscriptDensity.stories.tsx
Comment thread CONTEXT.md Outdated
Comment thread src/common/utils/tools/hookOutput.ts
Copy link
Copy Markdown

@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: 9f11dd0259

ℹ️ 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".

Comment thread src/browser/utils/messages/transcriptRenderProjection.ts Outdated
@ThomasK33
Copy link
Copy Markdown
Member Author

Addressed the latest Codex finding in 78c4f41: failed web_search rows now split work bundles as well as operational bundles, so a failed search followed by the final assistant row stays visible. Added regression coverage for that completed-turn case.

@ThomasK33
Copy link
Copy Markdown
Member Author

@codex review
Please take another look.

@ThomasK33
Copy link
Copy Markdown
Member Author

I could not reproduce this Codex finding on the current head (fa0c167). computeWorkBundleDurationMs has a single finalMessage: DisplayedMessage parameter, and the current branch passes:

  • bun test src/browser/utils/messages/transcriptRenderProjection.test.ts
  • make typecheck
  • make static-check

Resolving this as stale; please re-review the latest head.

@ThomasK33
Copy link
Copy Markdown
Member Author

@codex review
Please take another look at the latest head.

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Nice work!

ℹ️ 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".

Copy link
Copy Markdown

@coder-agents-review coder-agents-review Bot left a comment

Choose a reason for hiding this comment

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

All 15 findings from round 3 verified fixed by the panel. The shared renderMessageAtIndex helper (CRF-10/CRF-11) is the standout fix: it eliminates the prop divergence, barrier loss, and toggle duplication in one refactor. Reasoning order preserved on expansion (CRF-12), failure indicators in collapsed headers (CRF-17), explicit plural labels (CRF-8), and the updated settings copy (CRF-13) and PR description (CRF-14) all land cleanly.

2 P3, 1 Nit remaining. None blocking.

"Two-layer projection composition is structurally sound."
Meruem, after tracing both projection functions through the shared render helper

🤖 This review was automatically generated with Coder Agents.

Comment thread src/browser/utils/messages/transcriptRenderProjection.test.ts
Comment thread src/browser/utils/messages/transcriptRenderProjection.ts Outdated
Comment thread src/browser/utils/messages/transcriptRenderProjection.ts
@ThomasK33
Copy link
Copy Markdown
Member Author

Addressed coder-agents-review follow-ups in e680f6f:

  • CRF-23: Added projection coverage for missing timestamps and component coverage for the Worked fallback label.
  • CRF-24: Work-bundle and operational-bundle entry arrays are now frozen and typed readonly to prevent accidental mutation.
  • CRF-25: Added comments clarifying that headIndex is the render slot for the bundle header, which can differ from the first entry index when leading entries are included.

@ThomasK33
Copy link
Copy Markdown
Member Author

/coder-agents-review

@codex review
Please take another look after the follow-up fixes.

Copy link
Copy Markdown

@coder-agents-review coder-agents-review Bot left a comment

Choose a reason for hiding this comment

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

All 25 findings across 5 rounds are resolved. CRF-23 (undefined duration test), CRF-24 (Object.freeze on entries), and CRF-25 (headIndex doc comment) all addressed cleanly in e680f6f. Codex also reports clean on the latest head.

25 findings total: 1 P1, 6 P2, 12 P3, 4 Nit, 1 Note, 1 contested (closed by panel vote). All fixed or closed. No open findings.

🤖 This review was automatically generated with Coder Agents.

@chatgpt-codex-connector
Copy link
Copy Markdown

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

ℹ️ 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".

@ThomasK33
Copy link
Copy Markdown
Member Author

/coder-agents-review

Copy link
Copy Markdown

@coder-agents-review coder-agents-review Bot left a comment

Choose a reason for hiding this comment

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

No new code since round 5 (same SHA e680f6f). All 25 findings remain resolved. R4 approval stands. Nothing to review.

🤖 This review was automatically generated with Coder Agents.

@ThomasK33
Copy link
Copy Markdown
Member Author

/coder-agents-review

@ThomasK33
Copy link
Copy Markdown
Member Author

@codex review
Please take another look after the coder-agents review parser update.

Copy link
Copy Markdown

@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: a1f30232ef

ℹ️ 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".

Comment thread CONTEXT.md Outdated
@ThomasK33
Copy link
Copy Markdown
Member Author

Addressed the Codex documentation-placement finding in 487d62a by removing the root CONTEXT.md transcript-density glossary edits from this PR. The shipped feature is now documented in the PR body and code/tests rather than adding new free-floating root Markdown.

@ThomasK33
Copy link
Copy Markdown
Member Author

@codex review
Please take another look after the root docs cleanup.

@ThomasK33
Copy link
Copy Markdown
Member Author

/coder-agents-review

@ThomasK33
Copy link
Copy Markdown
Member Author

@claude review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

ℹ️ 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".

Copy link
Copy Markdown

@coder-agents-review coder-agents-review Bot left a comment

Choose a reason for hiding this comment

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

Round 7: two new commits since R5 (storybook test stabilization, review parser update). Netero clean. Panel (3 reviewers) found two issues:

1 P2 (CRF-20 regression), 1 P3 (CRF-17 fix unreachable).

CRF-26 is the higher-priority item: the "stabilize" commit deleted the play function that was the CRF-20 fix, removing the only interaction-level test for the composed nesting path (work bundle -> operational bundle -> messages). This was verified fixed in R4 and regressed in a subsequent commit.

CRF-27 is a convergence finding (2 reviewers independently traced the same root cause): withFailureIndicator scans for status === "failed" tools, but isBundleableToolMessage only admits completed/pending/executing tools into bundles. Failed tools never enter bundles, so the failure indicator never fires. The test passes because it calls summarizeOperationalBundle directly with fabricated failed tools, bypassing the bundling guard. The user-facing behavior is correct (failed tools stay visible as first-class rows), but the dead code and misleading test should be cleaned up.

🤖 This review was automatically generated with Coder Agents.

Comment thread src/browser/features/Messages/TranscriptDensity.stories.tsx
Comment thread src/browser/utils/messages/transcriptRenderProjection.ts Outdated
Copy link
Copy Markdown

@coder-agents-review coder-agents-review Bot left a comment

Choose a reason for hiding this comment

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

Round 8 is blocked. Both open findings from round 7 are silent: no code changes address them, no author responses.

  • CRF-26 (P2) TranscriptDensity.stories.tsx:91 CRF-20 fix reverted: play function deleted in adb13f8; no interaction coverage for nesting path.
  • CRF-27 (P3) transcriptRenderProjection.ts:317 withFailureIndicator is dead code; isBundleableToolMessage excludes failed tools before they enter bundles.

The only new commit (487d62a, "remove root transcript glossary changes") addresses a Codex documentation-placement finding, not our findings. CI is green.

Further review is blocked until the author responds to or pushes fixes for CRF-26 and CRF-27.

🤖 This review was automatically generated with Coder Agents.

@ThomasK33
Copy link
Copy Markdown
Member Author

Addressed coder-agents-review follow-ups in a77708c:

  • CRF-26: Added an app-level UI test (tests/ui/chat/transcriptDensity.test.tsx) that renders the Hyper transcript, expands the Work Bundle, expands the nested Operational Bundle, and asserts original child content (src/auth.ts) renders through the composed ChatPane path. I kept the Storybook story smoke-only because Storybook play ran before the app story finished preparing in CI.
  • CRF-27: Removed the dead withFailureIndicator helper and the misleading direct-summary test. Failed/non-success tools intentionally stay visible instead of entering bundles.

@ThomasK33
Copy link
Copy Markdown
Member Author

/coder-agents-review

@ThomasK33
Copy link
Copy Markdown
Member Author

@codex review
Please take another look after the nested expansion UI test and summary cleanup.

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Chef's kiss.

ℹ️ 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".

@ThomasK33
Copy link
Copy Markdown
Member Author

/coder-agents-review

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