Start with a groomed GitHub issue and follow PROCESS.md. The authoritative implementation requirements are in specs/.
- Copy
.env.exampleto.envand replace its placeholders. - Run
make setup,make migrate, andmake test-core. - Implement and verify the assigned issue without committing.
- Put all scratch files and screenshots below
.tmp/. - Hand the uncommitted work to a separate tester, then to product acceptance.
- After approval, commit with a body containing
Closes #N. - The orchestrator merges locally with
--no-ffand pushesmain; no pull request is opened. - On-call observes the resulting CI run.
Raw reports use needs grooming. Groomed issues use one priority (P0, P1, or P2), the relevant area labels, and a type label when useful. Use human only for a specifically named verification that automation cannot perform.
Never commit secrets, .env, SQLite databases, generated browser state, screenshots, or production data.
Local development and ordinary CI use gitignored SQLite databases and need no PostgreSQL service.
An ambient DATABASE_URL cannot switch ordinary tests away from SQLite. Deployed settings remain
fail-closed and require PostgreSQL for the bounded migration/readiness/smoke path.