Cursor rule
Keep committed OpenAPI, drf-spectacular annotations, and Orval client in sync.
Cursor rule
Keep committed OpenAPI, drf-spectacular annotations, and Orval client in sync.
Cursor rule
OpenAPI serializers must match live SPA JSON; wire contract tests lock Orval Zod validation.
Cursor rule
When operator commands fail, update compose-operator rules in the same task — do not repeat broken patterns.
Cursor rule
Library modules live in flat parent/lib/ next to entry scripts; entry paths never move; git must track lib trees.
Cursor rule
Keep pipeline endpoint Playwright matrix synced with Django routes.
Cursor rule
When an API route in the pipeline endpoint matrix requires one or more query parameters for a valid request, the concrete pipeline endpoint spec must include those parameters.
Cursor rule
Keep pipeline metrics E2E aligned with metrics and ingest changes.
Cursor rule
Hard gate — no task close without senior final code review and structured post-code self-review (all non-trivial code changes, not only plans).
Cursor rule
Mandatory structure, testing, and completion bar for every implementation plan.
Cursor rule
Live plan file on disk is the only source of truth — chat and CreatePlan do not count.
Cursor rule
Hard gate — PLANTEMPLATE for plans; close sequence (senior review + self-review) for every non-trivial code change.
Cursor rule
PostgreSQL in Docker — /dev/shm "No space left on device" and shmsize tuning.