The Inbox is the second destination in Oliver's new UI: everything Oliver has to tell you that isn't a conversation. This is the log of how we built it, and why most of the engineering was deciding what the surface refuses to do.
Its charter fit in a sentence, everything Oliver has to tell you that isn't a chat, and that sentence turned out to be a surprisingly deep engineering project.
The hard part wasn't rendering rows. It was making a surface that spends the member's attention honestly, and enforcing that mechanically with tests so it stays honest as the codebase moves.
One line, Oliver is working on <task> · 2:41, rendered only while a delegation is actually running, elapsed counter ticking off the earliest start in the set.
It's deliberately not a row: no id, no timestamp, no dismiss, which structurally keeps it out of the keyboard walk. And there is no "all quiet" fallback, because a surface fed by a 15/60-second poll can't honestly claim quiet.
Rows where something is blocked on the member: a review assigned to you, an open tool-approval gate, a shadow waiting at an approval step. Mono lane label on the left, one-word act on the right, expiry always written as a duration ("times out in 20m"), never a bare timestamp.
Needs-you rows have no dismiss: hiding something you genuinely owe is grooming, not deciding, and the row leaves when the state resolves.
decide opens, it never decidesOliver's own offers: title, one-line gist, at most two controls, Start and Decline.
Proposals never light the orange badge: an offer is not an obligation.
What finished, arrived, or broke: shipped previews, shadow runs, shares, resolved approvals and reviews, goals Oliver completed or set aside. Bucketed Today · Yesterday · This week · Earlier, hairline-separated, no cards, keyset-paged, ending in an honest terminal line: "That's everything from the last 30 days."
We ruled it out before writing a line, with the decision that shaped the whole surface: completed delegations never generate Inbox rows. When work you asked for comes back, Oliver processes the report and tells you in the thread; the thread is the record.
That subtraction gave the Inbox a sharp charter (blocked-on-you, finished-arrived-broke, offers), and the charter is why it can stay one calm page instead of becoming email.
"Oliver suggests" is the first surface where the memory Oliver collects comes back as a concrete, executable offer.
Oliver's brain runs on the org's own box, digesting what's happening (conversations, activity, things you've told it). Out of that it mints proposals.
Composition happens brain-side, at digest time, and the composer decides three things: the prompt, the target agent (main thread or a specific project agent), and the delivery.
By the time a proposal reaches the Inbox it isn't a nudge; it's a loaded action waiting on one click. And the click is load-bearing: nothing auto-executes. Memory proposes; the member is the gate.
The first fully wired producer is the idle-project sweeper: nothing has moved on a project in 14 days → "Want me to take a pass and report back?"
Producers write with an idempotency key and ON CONFLICT DO NOTHING. A dismissed row keeps its key, so a declined proposal can't sneak back in a later sweep.
Proactivity that re-asks on a timer is spam with better branding.
The color grammar is enforced mechanically: orange means "alive or blocked on you," and a test asserts no ledger kind maps to it. A crashed preview from three hours ago is neither.
Pinned by a testWant me to take a pass and report back?
Something happens in the org
What kind of thing?
blocked on you · review · approval · gate
Inbox · Needs you
pinned, orange, one act
Oliver has an offer · from memory or observation
Inbox · Oliver suggests
Start / Decline
finished / arrived / broke · build · run · share · resolution
Inbox · Ledger
bucketed, dismissible, buried by time
a delegated task completed
The Oliver thread
Oliver processes it and tells you · never an Inbox row ·
churn · file added · session started · stage moved
Cut.
Never reaches the Inbox.
brain digests memory, composes prompt + target + delivery
Proposed
appears in Oliver suggests
Seen
Start
Accepted
Receipt
row converts in place, → destination link, follow-up in the home thread
Decline
Declined
Excluded
idempotency key retained, never re-offered without new evidence
TTL passes (7 days for pickups)
Expired