Hands-off goals
The user starts or ends a goal through the exported server actions.
Only the standing the standing agent conversation uses the goal tool.
The root document stores one open goal and its decisions.
Three failed tries block a criterion. Rewording preserves unchanged criteria.
Decisions can name screenshots from the caller's conversation.
The latest reference never crosses an input boundary.
Each input to the standing agent receives the current open goal note.
A queued start card grants nothing after the user ends the goal.
The start wakes the standing agent. The report uses a passive write.
The optional automations service creates one keyed reminder every 30 minutes.
A durable task synchronizes its state after each lifecycle change.
A replay adopts the existing reminder. A user-deleted reminder stays deleted.
Pause disables the reminder. Resume enables it. End deletes it.
A reminder input adds the reminder checklist to the goal note.
World automations identify a fire with the [automation <id> fired] prefix.
The goal hook recognizes that prefix and the structured automations.fired entry.
Side chats and browser components are outside this server port.