Files
sausage/extensions/goal

Hands-off goals

The user starts or ends a goal through the exported server actions. Only the standing @ultimate 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 @ultimate receives the current open goal note. A queued start card grants nothing after the user ends the goal. The start wakes @ultimate. 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.