Quickstart: Validação e escopo por CRP
Commands
- API:
cd prontuare-api && bun run db:migrate && bun run typecheck && bun run test:integration.
- Worker:
cd prontuare-api && bun run start:worker with Redis available.
- Web:
cd prontuare-web && pnpm typecheck && pnpm build.
- Browser: start API/web/worker, then
cd prontuare-web && pnpm test:e2e -- crp-scope.spec.ts.
Required vertical scenarios
- New account with CPF+CNPJ and two CRPs; owner/document conflicts are neutral.
- Provider unavailable creates provisional CRP; fake clock verifies before/at/after five days and late success.
free owner distributes five patients between CRPs; sixth is denied globally under concurrent requests.
- A/B/Todos filtering; legacy null visible only in Todos; direct ID never crosses scope or owner.
- Profile incomplete + expired CRP + plan limit returns all applicable blockers; resolving one preserves others.
- Browser selector invalidates cache; create under Todos asks CRP; two tabs do not expose stale data.
Deployment proof
- Migration from empty and pre-feature snapshot.
- API readiness, worker health and retry metrics without sensitive documents.
- API deployed before web; rollback preserves additive data.