Problem
Compaction has three disconnected render paths that can disagree:
- Out-of-feed condition strip from
claude.compaction.
- Live semantic placeholder gated by
turn.isCompactionSynthesis.
- Committed compact boundary/summary rows after transcript entries arrive.
In saved bundles, the condition can say compaction is running while the feed renders raw semantic synthesis text.
Evidence
Bundle:
~/.config/agent-code/debug-bundles/manual/2026-06-22T12-42-54-045-c973322e
claude.compaction condition is visible/running.
proxy-semantic.json.currentTurn.text starts with <analysis>.
- The semantic turn lacks
isCompactionSynthesis.
Relevant Paths
src/renderer/src/workspace/tile-tree/TileLeaf/CompactionStrip.tsx
src/renderer/src/workspace/tile-tree/TileLeaf.tsx
src/renderer/src/features/feed/ui/rows/CompactBoundaryRow.tsx
src/renderer/src/features/feed/ui/rows/CompactSummaryRow.tsx
src/renderer/src/features/feed/ui/semantic/StreamingTurn.tsx
src/renderer/src/features/feed/model/renderModel.ts
Expected
There should be one ownership rule for compaction rendering. If any reliable signal says compaction is active, raw synthesis content should be suppressed in the feed.
Problem
Compaction has three disconnected render paths that can disagree:
claude.compaction.turn.isCompactionSynthesis.In saved bundles, the condition can say compaction is running while the feed renders raw semantic synthesis text.
Evidence
Bundle:
~/.config/agent-code/debug-bundles/manual/2026-06-22T12-42-54-045-c973322eclaude.compactioncondition is visible/running.proxy-semantic.json.currentTurn.textstarts with<analysis>.isCompactionSynthesis.Relevant Paths
src/renderer/src/workspace/tile-tree/TileLeaf/CompactionStrip.tsxsrc/renderer/src/workspace/tile-tree/TileLeaf.tsxsrc/renderer/src/features/feed/ui/rows/CompactBoundaryRow.tsxsrc/renderer/src/features/feed/ui/rows/CompactSummaryRow.tsxsrc/renderer/src/features/feed/ui/semantic/StreamingTurn.tsxsrc/renderer/src/features/feed/model/renderModel.tsExpected
There should be one ownership rule for compaction rendering. If any reliable signal says compaction is active, raw synthesis content should be suppressed in the feed.