docs: the phone reports are state, not conversation

The claw README claimed the phone ingest dispatches battery, network,
and DND flips to the agent; the ingest door stores topic-keyed
payloads and answers "observed", and the Android worker posts nothing
but topic keys. The README now says state-only with the bare
phone:<device> key as the dispatch path, and the worker's comment
matches what it actually posts.
This commit is contained in:
vhaudiquet committed 2026-11-05 19:12:18 +01:00
1 parent c7adc6404a
commit 1467f98c96
2 files changed
+12 -9

No files matched your search

@@ -29,12 +29,12 @@ import kotlinx.serialization.json.put
// WorkManager's exponential backoff (up to hours), the exact silence the
// fleet reads as "last seen hours ago".
//
// Two kinds of topic leave this worker. Battery, network, and DND posts are
// conversation: the claw dispatches them and the agent hears the flip. The
// rest — location, app, device, wifi, alarm, heartbeat — are snapshot-only on
// the claw
// (its ingest door answers "observed" and never runs a turn), so their rules
// only bound write traffic, not model traffic.
// Every post here is topic-keyed (`phone:<device>:<topic>`), so every
// post is snapshot-only on the claw: the payload lands in the phone
// tables, the ingest door answers "observed", and no turn runs — the
// topic rate rules only bound write traffic, not model traffic. A
// dispatch to a device goes through its bare `phone:<device>` key,
// which this worker never posts to.
class PhoneStatusWorker(context: Context, params: WorkerParameters) : CoroutineWorker(context, params) {
override suspend fun doWork(): Result = try {