---
id: "0006"
date: 2026-03-01
status: Accepted
supersedes:
superseded-by:
affected-paths: [taskq/logging.py, taskq/execution.py]
affected-components: [logging, execution]
---

# 0006 — All job state transitions logged to audit trail for compliance

## Context

No record of who/when changed job status for audit/compliance reporting.

## Decision

Every job state change (enqueue, start, success, failure, escalate) logged to immutable audit trail with timestamp, user (if applicable), and reason. Audit trail never deleted, only archived.

## Consequences

Strong audit trail. Extra logging overhead. Requires cleanup/archival process for large deployments. Larger on-disk footprint.

## Alternatives rejected

Ad-hoc logging rejected: inconsistent, missed events. Centralized event store rejected: external dependency.
