You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: refresh CLAUDE.md architecture and test prerequisites
Procrastinate, context providers and the heartbeat thread were missing
from the architecture map, and both test commands understated what they
need to run.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
-Celery and CLI deps are optional; guard imports inside `taskbadger/celery.py`, `taskbadger/systems/celery.py`, `taskbadger/cli/`.
46
+
-Extras (`celery`, `procrastinate`, `cli`, `sentry`) are all optional; keep their imports inside the corresponding module (`taskbadger/celery.py`, `taskbadger/procrastinate.py`, `taskbadger/systems/`, `taskbadger/cli/`, `taskbadger/context_providers/sentry.py`).
44
47
-`taskbadger/internal/*` is generator output — lint is best-effort, don't reformat manually.
45
48
46
49
## Releasing
@@ -54,5 +57,8 @@ GitHub Actions then drafts a release; publishing the release triggers `publish.y
54
57
## Gotchas
55
58
56
59
-`pytest` skips `integration_tests/` via `norecursedirs` — name them explicitly to run.
57
-
- Integration tests need `TASKBADGER_ORG`, `TASKBADGER_PROJECT`, `TASKBADGER_API_KEY` env vars and a running Redis.
58
-
- Imports of `celery`, `typer`, `rich` must stay optional — only the core httpx/attrs deps are guaranteed.
60
+
- Integration tests need `TASKBADGER_ORG`, `TASKBADGER_PROJECT`, `TASKBADGER_API_KEY`, a running Redis, and Postgres via `PROCRASTINATE_DSN` (defaults to `postgresql://postgres:postgres@localhost:5432/procrastinate`).
61
+
- Unit tests also need Redis — `tests/conftest.py` points Celery at `redis://localhost:6379` so serialization is exercised for real.
62
+
- Don't unpin `openapi-python-client<0.29` — 0.29 generates `datetime.fromisoformat` calls that can't parse the API's `Z`-suffixed timestamps on Python 3.10.
63
+
- User-facing features are documented in `README.md`, not a docs site — add a section there when adding one.
64
+
- Only the core httpx/attrs/dateutil/tomlkit deps are guaranteed at runtime.
0 commit comments