Otto

The brief

The rolling snapshot of your day that rides along with every trigger and every scan.

Live.

The brief is a plain-text snapshot of your day, rebuilt on a short cycle and attached to every trigger and every email scan. brief fetches it on demand.

It exists so that a trigger firing at 09:00 does not have to go and look everything up before it can decide whether to speak. The context arrives with the event.

Sections

SectionWhat it carries
Calendartoday's events, with the timezone you are actually in
Inboxwhat arrived since the last scan, sorted by what needs an answer
Open loopswhat you promised, and what you are waiting on
Triggerswhich automations are armed, and when each next fires
Machinewhat is running on the Mac: the repo, the branch, the track playing

Two properties that matter

Every section is stamped, so its age is knowable and quotable. If freshness matters to the answer, Otto says how stale the number is rather than presenting a six-hour-old figure as current.

A missing section means that source failed. It never means the day is empty. The correct move on a missing section is to go and look it up, never to report nothing and never to guess. An absent calendar section and a genuinely free day look identical if you skip this rule, which is exactly the failure the watchdog is designed to catch.

Machine state

The Mac line comes from a probe that answers, in one line, what you are actually doing: the frontmost application, the repo you are in and whether it has uncommitted changes, and what is playing in Music.

It is what lets Otto tell the difference between you being at the keyboard and you being away, without installing anything that watches you.

Forward window

The calendar section covers today, and then looks ahead: the next three fixed points plus a "free until HH:MM" figure. "When am I free" is answerable without a fetch, and a trigger can judge whether an interruption fits the gap you are actually in.

Under an hour it reads as "25m until 10:25" instead, because at that range the remaining minutes are the useful number.

On this page