Understand a watch
A watch declares a source, selected fields, a condition, an emission policy, and destination references. A destination declares how notifications are sent. Stable IDs let tools inspect and update the same objects.
From input to notification
- A source produces an observation, including selected fields and health.
- A condition evaluates it against retained state.
- An event records a decision or lifecycle change and its definition revision.
- A delivery intent retains the event's payload and destination revision. Workers record attempts and retry eligible failures.
Observations, state, events, and delivery intents commit together in SQLite. A failed transaction cannot advance the source while losing the event.
Read each state separately
| Dimension | What it tells you |
|---|---|
| Lifecycle | Running, paused, or deleted: whether acquisition is enabled. |
| Condition | Waiting, matching, open incident, recovering, or unknown. Change/event policies use their own event vocabulary. |
| Source | Whether data was acquired and interpreted successfully. An HTTP 503 can be a successful acquisition that satisfies a failure condition. |
| Delivery | Queued, sending, retrying, delivered, permanent failure, exhausted, or canceled. |
| Browser connection | When the planned Console last read data; disconnecting does not stop a daemon. |
Unknown input preserves an open incident and resets incomplete continuity evidence. An old push input is not automatically an error without a declared freshness rule. A grouped watch can have different states for different entities.
Time and evidence
Conditions use accepted observation time. Provider time can be retained as
metadata but does not drive windows. Windows include (accepted time - window,
accepted time]; their exact lower boundary is excluded.
Events retain the relevant definition and replay checkpoint. A checkpoint can explain a prior count without retaining every original request. Retention gaps, unavailable evidence, and unsupported replay are explicit. Never infer a full historical trace from one event. Investigate an event.
Changing a definition
Validate, explain, and dry-run before applying. Compatible message or destination
edits preserve state. Changes to interpretation or conditions reset it with a
state_reset event. Expected revisions detect concurrent edits. Already queued
deliveries keep their original destination revision.