Follow this workflow exactly:
- Read the spec — read
docs/PLAN.md step $ARGUMENTS and docs/SPEC.md sections relevant to it
- Check status — inspect what already exists (existing files, docker compose status if relevant)
- Enter Plan Mode — explore codebase, identify all files to create/modify, draft implementation plan
- Confirm the plan — list files to create with their purpose before coding
- Implement following these constraints:
- Follow SPEC.md column names, types, endpoints, interfaces exactly — no improvising
- Bronze = raw (no filtering in ingestion layer)
- Idempotency required for all data operations
- SQL files must pass SQLFluff (ClickHouse dialect, max 100 chars)
- No hardcoded credentials
- Validate using the exact commands in PLAN.md for this step — fix all failures
- Commit with a descriptive message (conventional commits:
feat(transform): ...)
- Update CLAUDE.md implementation status table to ✅ Done for completed module