# CLAUDE.md `taskq` is a small Python async job queue system for reliable work processing. ## Architecture decisions This project records architecture decisions as ADRs in `docs/adr/` (index: `docs/adr/README.md`). - **When** your task involves making an architecture-level choice, or changing/replacing an approach this codebase already uses (job execution, persistence, notifications, delivery strategy) → **first** run `/os-adr:find` to check whether a recorded decision already covers it. - Mechanical rule: **before your first edit to any existing source or config file**, run `/os-adr:find` on the paths you are about to touch — one cheap, deterministic CLI call. This applies to additions too: a new method or module can bypass a decided constraint just as easily as a rewrite can. - **When** you make such a choice → record it with `/os-adr:create`. - If an Accepted ADR covers the approach you are changing, you are **reversing a recorded decision**. A task that reverses a recorded decision is **not complete until the superseding ADR is created** (`/os-adr:create` with `supersedes`) — implementing the change and stopping leaves `docs/adr/` asserting the opposite of what the code does. Create the superseding ADR (or explicitly propose it to the user) before you consider the task done.