Routines are the unit of proactivity. Each declares a schedule, a scope, a policy, and a trace. They run while you sleep, leave a typed record, and never side-effect without an approval object.
Authored in YAML. Versioned with your workspace pack. Replayable on any past day.
07:30 · daily · workdays only
vault · last 7d · people + projects
read-only · no outbound · staging only
needs-you entries · open-loop digest
Every routine is a small YAML file in your workspace pack. Add one, fork one, copy one from a peer. The runtime types the inputs and outputs so a routine can’t quietly drift away from its contract.
· every routine has a scorecard · drift surfaces automatically
There is no zoo of permanent agents living in the background. Every routine has a fixed cadence, a fixed scope, and a hard policy that gates external effects. The scheduler runs only while the app is open in v1 — predictable, not magical.
No routine sends a message, schedules a meeting, or modifies a third-party system on its own. Every external effect is staged as an approval object with the reasoning, the source trace, and the side-effect list attached.
Two follow-ups stale by >3 days, one promise unsent, one decision pending Carla.
If you’d rather inspect a small set of bounded playbooks than babysit a chat window, apply to onboard.