1.8.9b9 — a Host that notices
This preview was published. Its Host-owned watch runtime was removed in 1.8.9b12 in favor of Agent-owned watches in the original session (#1788).
An opt-in preview on the 1.8.9 fix line (#1499). Stable remains 1.8.8.
Watch an event
Declare a fixed file or timer source in .co/host.yaml:
watch:
- name: notes
source: file
path: notes.md
- name: heartbeat
source: timer
every: 15m
The Host observes changes in the background and records events in
.co/watch-state.sqlite3. An idle watch starts a normal user turn in a stable
per-watch session. A later event arriving during that turn enters before the
next model decision through the copyable watch_events Agent plugin. If it
arrives during a final model call, the plugin requests one more iteration.
The internal <system-reminder> is a model-visible user-role message, not
provider system authority. Event data is labeled untrusted.
Push producers can call connectonion.network.host.watch.emit_event() with a
stable event ID. co watch list shows event status and failures;
co watch retry <event-id> requeues a failed event after its cause is fixed.
The queue reconciles a saved Agent answer with a lost acknowledgement after a
restart. Watch sessions proceed independently of one another.
The watch_events plugin can also be used in a plain Agent with
plugins=[watch_events(claim_events)]. Run co copy watch_events to edit its
source for your own Agent. The Host supplies observation, queueing, and idle
wakeup; the plugin owns only active-turn iteration delivery.
Known limits
- Fixed-file polling runs every two seconds and can combine rapid writes. Missed timer intervals are coalesced into one event with a count.
- A turn accepts at most four batches of 16 live events; the rest remain queued for another turn. External tool effects are at least once after an uncertain crash, not exactly once.
- Agent-owned persistent watches that resume an arbitrary original session are separate work in #1788.
Install
python -m pip install --upgrade 'connectonion==1.8.9b9'
co --version
ConnectOnion