Relationships
#731 Telemetry not synced to swamp-club: local queue accumulating ~3 days despite valid auth
Opened by magistr · 6/21/2026· Shipped 6/21/2026
Description
The swamp CLI records command telemetry locally but has stopped uploading/syncing it to swamp-club. The local telemetry queue under <repo>/.swamp/telemetry/ has been accumulating for roughly 3 days with nothing being drained, indicating the upload path has silently stalled. Local recording itself is healthy — only the remote sync is affected.
Affected component
The telemetry upload/sync path that drains .swamp/telemetry/*.json to swamp-club. (Local capture/recording is working.)
Evidence / diagnosis
- Local recording works:
swamp doctor audit-> overallStatus "pass", including the recording-smoke-test ("synthetic claude payload landed in today's audit JSONL"). swamp telemetry statsshows 188 invocations recorded at 100% success — data is being captured.- Local queue is growing, not draining:
<repo>/.swamp/telemetry/holds ~198telemetry-*.jsonfiles spanning 2026-06-19 -> 2026-06-21; the oldest unsynced file is dated 2026-06-19. None appear to be pruned or marked synced after upload. - Not an auth problem:
swamp auth whoamireports an authenticated session against https://swamp-club.com. - No telemetry sync-state / cursor file exists under
.swamp/(only.datastore-sync-state.jsonfor datastore sync), so the drain failure leaves no visible error or progress marker. - Individual telemetry files contain no
synced/uploadedAtfield, so sync progress is not observable locally.
Environment
- swamp 20260620.200156.0-sha.d9abe1a2 (up to date;
update --check-> up_to_date) - deno 2.8.3
- platform: linux
- autoupdate disabled; non-interactive agent session
Expected fix approach (high level)
The telemetry uploader appears to fail silently and stop draining the local queue. The fix would involve: surfacing upload failures (log + retry with backoff) instead of silently halting; persisting a sync cursor / last-synced timestamp so backlog size and last error are observable (e.g. via swamp telemetry stats or swamp doctor); pruning files only after confirmed upload; and adding a swamp doctor check for telemetry upload health (last successful sync time, pending backlog count) so this is detectable going forward.
Shipped
Click a lifecycle step above to view its details.