Four verbs. One loop. AI watches every live thread, joins what's arrived with what's expected, routes by confidence, and summons the operator only when judgment is required.
To run operations where AI is on watch and operators are summoned only when needed, follow four moves. They repeat. The same loop runs from a household to a hospital ward, from an agency to a kitchen, with different vocabulary and tempo but identical shape.
Underneath the loop, every signal-routing-action-outcome chain is recorded. The system gets sharper because it remembers what worked.
The substrate is built from four concepts that work together.
Triggers are external-ecosystem stimuli that spawn lifecycles. An order received. A patient admitted. A brief intake. A roster locked. A scheduler ticking the start of a payroll cycle. Each trigger opens a new thread of a known type.
Threads are lifecycles from spawn to logical conclusion. A business runs thousands of concurrent threads. Each is a string with events as beads, branches, terminals. Each is the engine's unit of orchestration.
Stimuli are the source-blind inputs that advance threads. They arrive through nine channels — in-app user action, webhook, inbound email, SMS reply, external system pull, AI agent action, scheduled pulse, in-app system event, device sensor. Each channel is a sealed adapter; once normalized, all stimuli share one canonical envelope.
Heartbeats are scheduled at thread-step entry and fire on time. They watch for absence — the thing that should have happened by now didn't — which by definition can't be detected from incoming stimuli alone. Heartbeats consult both the event chain and the stimulus log: if the human is in the middle of acting, suppress and wait; if they're genuinely silent, fire and route.
Three streams of operational truth survive in the new framing as the three roles a stimulus plays: fact (something happened), intent (a human tried), absence (what should have happened didn't). Roles describe what a stimulus does. Channels describe where it came from.
Each incoming stimulus joins the thread it belongs to. History attaches. Policy attaches. Persona attaches. Recent overrides attach. Channel trust attaches — a webhook signed by a government gateway carries different weight than a parsed inbound email, and that difference feeds the routing decision downstream. By the time a signal is ready for routing, it carries enough context for a decision to be made.
The same event means radically different things to different people. A campaign that's running 8% over budget is a routine note for the agency finance lead, an early-warning to the brand manager, and a non-event to the promoter. A 102°F temperature is a daily occurrence at a paediatric clinic, a concern in a normally healthy adult, and a crisis post-surgery. Enrichment is what makes meaning per-persona explicit before routing decides what to do with it.
Many individual signals only become meaningful when grouped. A delayed delivery, a rising scrap rate, and a falling throughput may all point to the same operational problem. The engine identifies these patterns early so teams respond to root causes, not just individual symptoms.
Each enriched signal carries a confidence score. The score governs where it goes.
High-confidence cases route silently to automation: retry a failed integration, refresh a channel sync, fire a deterministic policy rule, dispatch a templated reminder. Medium-confidence cases land in the action queue: a refund within policy bounds, a courier swap, a re-route, a flagged duplicate. Low-confidence cases go to the approval surface: refunds outside policy, regulatory filings, customer-impacting carrier changes, anything irreversible.
Confidence is governed by multiple inputs: pattern match strength, channel trust, operational risk band, recent override history. Tunable per tenant, per jurisdiction. Read about the confidence model.
When the engine decides a human is needed, the locator resolves the right person from the signal's context — and the right channel from the user's preferences. WhatsApp, Slack, email, SMS, in-app push. The locator respects quiet hours, do-not-disturb policies, per-user nudge budgets, and channel-specific etiquette. If the right channel is blocked, the locator falls back. If no response within SLA, it escalates to the next person or raises urgency. See the multi-channel locator.
When a human is needed, ContextOS reaches them on the surface they already glance at — the watch face complication, the pinned conversation in Slack, the kitchen tablet, the office monitor sidebar, the voice assistant when they ask "what's next." Ambient surfaces are primary. Push notifications exist as a failsafe escalation channel, not a default delivery mechanism.
The discipline is to surface at the latest safe moment that still allows action. Goldratt's theory of constraints applied to attention: don't release work into a system earlier than the bottleneck — human attention — can absorb. Don't show "homework due Friday" on Sunday afternoon. Show it Wednesday morning, when there's still time to act but no time to forget. The window is per-person, per-task, learned over time.
Routed signals also land on appropriate destinations within the system: automation handles safe corrections silently, the action queue holds issues needing soon-attention, the follow-up calendar holds time-bound commitments, the approval surface holds decisions requiring judgment, notifications reach people out-of-app, and the timeline records every signal, decision, and action for traceability.
The same structured signal renders to the right surface and the right channel — WhatsApp rich card, Slack block kit, email HTML, SMS, push notification — bilingual per locale. Audit captures the structured signal, not the rendered text, which means template changes don't break the record.
The engine doesn't learn from raw data. It learns from the chain of signal → routing → action → outcome. Every link is recorded as a decision record — what AI proposed, with what confidence, where it was routed, what the human did (accepted, edited, overridden, ignored), and how the situation resolved.
Over time, the decision graph sharpens the loop. Patterns the system gets right see their thresholds quietly raised — quietly automating cases that previously sat in the queue. Patterns where humans repeatedly override see their thresholds lowered — surfacing those signals more often, until the override rate stabilises. The locator sharpens too: when the system picks the wrong channel, the user-channel preference function downgrades that channel for that user-signal combination.
Thread closure also feeds the loop. Patterns of recurring failure-mode in a given thread type sharpen the engine's surfacing of similar threads in their early steps. The system gets better at catching trouble before it becomes trouble.
This is closer to decision intelligence than simple automation. The framework supports compliance: every AI-suggested action is logged with model version, confidence, and inputs; users can request human review of any AI decision affecting them.
Ready to see specific concept pages, or skip to use cases?