diff --git a/CLAUDE.md b/CLAUDE.md index 21a34431..d87335e8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -211,6 +211,10 @@ cd frontend && npm run build # Database migrations cd backend && alembic upgrade head alembic revision --autogenerate -m "Description" --rev-id=NNN # NNN = next sequential number +# IMPORTANT: Migrations use sequential 3-digit IDs (001, 002, ..., 068, 069). +# Check the latest: ls backend/alembic/versions/ | grep -E '^\d{3}_' | sort | tail -1 +# The revision ID and filename prefix MUST match (e.g., revision="068", file=068_description.py). +# down_revision MUST point to the previous sequential number. Never use hex hash IDs for new migrations. # Access PostgreSQL docker exec -it patherly_postgres psql -U postgres -d patherly @@ -415,7 +419,7 @@ gh run view --json jobs --jq '.jobs[] | {name: .name, conclusion: .conclusi - **New endpoint:** Create in `endpoints/` → add to `router.py` → schema in `schemas/` → tests → frontend API client - **New page:** Create in `pages/` → add route in `router.tsx` → nav link in `AppLayout.tsx` - **New public route (no auth):** Add at top level in `router.tsx` alongside `/login`, `/register` — NOT inside the `ProtectedRoute`/`AppLayout` children. -- **Schema change:** Update model → `alembic revision --autogenerate -m "desc"` → review → `alembic upgrade head` +- **Schema change:** Update model → `alembic revision --autogenerate -m "desc" --rev-id=NNN` (NNN = next sequential number, e.g., 068 → 069) → review → `alembic upgrade head` - **New frontend API module:** Types in `types/` → export from `types/index.ts` → client in `api/` → export from `api/index.ts` --- diff --git a/backend/alembic/versions/fc01_add_pending_task_lane.py b/backend/alembic/versions/068_add_pending_task_lane.py similarity index 88% rename from backend/alembic/versions/fc01_add_pending_task_lane.py rename to backend/alembic/versions/068_add_pending_task_lane.py index 632de9b4..a8da1977 100644 --- a/backend/alembic/versions/fc01_add_pending_task_lane.py +++ b/backend/alembic/versions/068_add_pending_task_lane.py @@ -1,14 +1,14 @@ """add pending_task_lane to ai_sessions -Revision ID: fc01a1b2c3d4 -Revises: fb1481317ff6 +Revision ID: 068 +Revises: 067 Create Date: 2026-03-27 """ from alembic import op import sqlalchemy as sa from sqlalchemy.dialects.postgresql import JSONB -revision = "fc01a1b2c3d4" +revision = "068" down_revision = "067" branch_labels = None depends_on = None