1 · Message lifecycle — sent · received · collapsed↔expanded · scheduled · failed · canceled
Sent · outbound (pill right) — collapsed ("Show")
Sent · same item — expanded ("Hide")
Karla Sellers@ 9:05 AM
Text SentSMSHide
Absolutely — I have Saturday at 11 open. Want me to hold it?
Received · inbound (pill left)
Lincoln Buyers@ 9:02 AM
Text ReceivedSMSHide
Is it still available for a test drive this weekend?
Scheduled · dashed + countdown chip ("Show")
Karla Sellers@ 9:00 AM
Email Scheduledon Jun 18 at 9:00 AM24h 20mShow
Failed · red dashed ("Show")
Karla Sellers@ 9:06 AM
Text FailedUndeliveredShow
Canceled · gray muted ("Show")
Karla Sellers@ 9:07 AM
Email CanceledScheduled send canceledShow
2 · Channels — color = channel (DAISI = actor, not a color)
Text · blue
Karla Sellers@ 9:05 AM
Text SentSMS
Want me to hold Saturday at 11 for a test drive?
Email · purple
Karla Sellers@ 9:10 AM
Email SentHide
Your financing optionsAttached are three pre-qualified payment plans.
Note · orange — internal (no direction)
Karla Sellers@ 9:12 AM
Internal NoteHide
Cross-shopping the Bronco — pull a trade quote before Saturday.
Log · indigo — manual event
Karla Sellers@ 9:14 AM
Call Logged05:00 PM
Left voicemail about the new Land Cruiser allocation.
DAISI as actor · Text (blue) — actor = "DAISI Auto Responder"
DAISI Auto Responder@ 9:16 AM
Text SentAuto
Just confirming your appointment tomorrow at 4:00 PM — reply C to confirm.
DAISI as actor · Email (purple)
DAISI Auto Responder@ 9:18 AM
Email SentAuto
Following up on the Land CruiserSaw you were looking — happy to answer any questions.
3 · Calls — audio player (play · scrubber · time · View Transcript)
Call Made · green · outbound ↗
Call Received by Karla Sellers · green · inbound ↙ (answering dealer named)
Lincoln Buyers@ 9:22 AM
Call Received by Karla Sellers2:38Hide
Call Missed · red · inbound ↙ (voicemail player)
Call In Progress · green (.sb-bubble--live · header-only)
Call Failed · red dashed (no connection)
4 · Record rows — neutral .sb-ind (status = bare colored text · edit = .sb-diff)
Deal Created · Fresh (orange text)
Karla Sellers@ 9:00 AM
Deal CreatedDefender (#1234) Fresh
Deal Updated · collapsed ("Show") · status Finance (blue text)
Karla Sellers@ 9:20 AM
Deal UpdatedDefender (#1234) FinanceShow
Deal Updated · EXPANDED ("Hide") · GitHub-style field diff (.sb-diff)
Karla Sellers@ 9:20 AM
Deal UpdatedDefender (#1234) FinanceHide
Any Misc. Meta Data Can Go Here.
- Selling Price: $68,500
+ Selling Price: $66,900
- Status: Working
+ Status: Finance
Deal Moved · status (indigo text)
Karla Sellers@ 9:24 AM
Deal MovedDefender (#1234) Working
Deal Deleted · red text (delete/expire reserves red)
Karla Sellers@ 9:30 AM
Deal DeletedDefender (#1234) Deleted
Task Updated · Call (green text)
Karla Sellers@ 9:32 AM
Task UpdatedCall Jordan · Due Fri CallShow
Appointment · Scheduled (indigo text)
Karla Sellers@ 9:34 AM
Appointment SetSat Jun 21 · 11:00 AM Scheduled
Trade-in · added
Karla Sellers@ 9:36 AM
Trade-in Added2019 Ford Bronco (est. $24,500)
Customer · created (New, orange text)
Karla Sellers@ 8:58 AM
Customer CreatedLincoln Buyers New
Website Session · neutral bubble + step list (collapsed)
Jenifer Burton@ 07/20/2026 9:26 am
Website Session0:01:31Show
The Inbox feed and the customer-profile feed are the same feed and the same templates — repackaged, never forked. Channel color language: text blue · email purple · call green · failure red · neutral gray. Long rows expand with an explicit Show / Hide control, not a bare chevron. Incoming and outgoing keep their alignment, and the accent bar follows the channel or state. Pending and cancelled rows use the dashed treatment.
Engineer reference. Every item is a live locked atom — .sb-activity / .sb-bubble (+ --blue/--purple/--green/--orange/--indigo/--red/--gray4/--dashed/--live) / .sb-ind / .sb-stamp / .sb-diff / .sb-player + .sb-transcript — no new atoms, tokens byte-identical. Message lifecycle: .hide reads "Show" collapsed (header only) / "Hide" expanded (header + .content); Scheduled = --dashed + .sb-sched countdown, Failed = --red --dashed, Canceled = --gray4. Channels: bubble color = channel; DAISI is an actor ("DAISI Auto Responder" via .sb-ic-daisi in the .sb-stamp) sending a normal blue/purple bubble — not a yellow bubble. Calls use the .sb-player audio player + "View Transcript"; Call Received names the answering dealer in the title; --live is header-only In Progress; Failed = --red --dashed. Record rows use a neutral .sb-ind + plain .sb-bubble, status as bare colored .state text, and the edit state expands the .sb-diff field changes (red − / green +). The AI-summary / aiPending state was removed (it no longer renders in the feed).