Telemetry
Telemetry is off until `kusaw telemetry on`. Nothing is sent before that. There is no built-in destination. The endpoint is one you host, over HTTPS, or `http` only for `127.0.0.1` or `localhost`.
Telemetry is off until kusaw telemetry on. Nothing is sent before that. There is no built-in destination. The endpoint is one you host, over HTTPS, or http only for 127.0.0.1 or localhost.
The only level in this version is metadata. The token and the signing key are read from environment variables named by token_env and signing_key_env. Those values are never written into kusaw.yaml.
kusaw telemetry status shows whether it is on. kusaw telemetry preview prints the next batch with secrets redacted. kusaw telemetry schema prints the JSON Schema. kusaw telemetry off stops sending and deletes batches that have not gone out. That discard is written to the local audit log.
Batches wait in <data_dir>/telemetry/outbox when the machine is offline, up to the buffer cap. Dropping old data is logged. Every payload is also appended to the local audit log.
What is sent
Records are run.finished, outcome.labelled, and exporter.dropped.
A finished run sends its run and factory ids, an optional factory label, the outcome, reason code, source, times, durations, cost, token counts, size bucket, tries, recoveries, human-interaction counts, a hashed repository id with status, step ids with status and cost, scorer results, and whether the run was a benchmark. A run that changed no lines sends size bucket none. An outcome row sends the run id, the hashed repository id, the label, and when it was labelled. A drop record sends how many batches and records were dropped and why.
Repository labels are HMAC-SHA256 with a per-factory salt, truncated to 16 hex characters. The salt stays in <data_dir>/telemetry/salt and is never sent. Task ids and factory names are not sent.
What is never sent
Task titles, spec text, findings, notes, messages, logs, prompts, transcripts, diffs, file or folder paths, repository labels or paths in clear, branch names, source links, model names, environment names or values, and error detail text.
What needs your approval
The factory does not merge, does not push, and does not apply self-improvement proposals on its own. You approve gates you put in the pipeline. You merge and push the local commit it left. You can stop a run, or every run in a factory, from the machine that is serving it.
Find your message
When something goes wrong, match the text Kusaw printed or the reason code it recorded. Entries are grouped by where you see them. Each one quotes the message as the factory prints it, with placeholders where the factory fills values.