Three-Stage Message Pipeline
- Entity ID:
ent-20260423-r31a000000035 - Type:
pattern - Scope:
private - Status:
active
Description
Southbridge Research architectural analysis: Claude Code maintains three simultaneous representations of every message. Stage 1 CliMessage — CLI internal representation with UUID, timestamp, type discriminator, and embedded APICompatibleMessage. Stage 2 APIMessage — clean API wire format with role and content only, no CLI-specific fields. Stage 3 StreamAccumulator — streaming partial representation holding deltas and per-tool_use_id JSON buffers. The separation allows progress indicators, partial rendering, and UUID tracking while keeping the API payload minimal and correct.
Key claims
- Claude Code maintains three simultaneous message representations
Relations
- CliMessage (Stage 1 CLI Internal Representation) --[implements]--> Three-Stage Message Pipeline
- APIMessage (Stage 2 API Wire Format) --[implements]--> Three-Stage Message Pipeline
- StreamAccumulator (Stage 3 Streaming Representation) --[implements]--> Three-Stage Message Pipeline
- Dual-Representation Message Invariant --[constrains]--> Three-Stage Message Pipeline
- Southbridge Research --[authored]--> Three-Stage Message Pipeline