Skip to content

selfhost(observability): structured per-job audit log #1202

Description

@JSONbored

Part of #982.

Emit one structured JSON line per job lifecycle event to stdout so operators can grep, pipe to Loki, CloudWatch, Datadog, etc. without extra setup. Docker's default json-file log driver captures it automatically.

Events: job_complete, job_dead, job_error
Fields: level:audit, ts (Unix ms), job_id, payload_type, latency_ms, attempts, error

Emitted from both sqlite-queue.ts and pg-queue.ts processOne() completion paths. Full test coverage on all emit paths.

Metadata

Metadata

Assignees

Labels

maintainer-onlyWork to be completed solely by jsonbored - yields no gittensor points.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions