14 — Handoff de desarrollo — RELE
1. Enlaces canónicos
2. Arranque en 5 minutos
cd /Users/cristian/orca/rele-app
cp apps/api/.env.example apps/api/.env # si existe; si no, crear .env
# DATABASE_URL=... JWT_SECRET=dev-secret PORT=3009
npm install --prefix apps/api
npm install --prefix apps/web
npm --prefix apps/api run prisma:migrate
npm --prefix apps/api run prisma:seed
npm run api
npm run web
3. Credenciales demo
4. Mapa docs → implementación
| Doc | Uso para dev |
|---|
| 03 IA | Rutas y nav |
| 04 Flows | Edge cases |
| 05 Data | Schema + contratos |
| 06 Stack | Puertos y módulos |
| 08 DS | Tokens Tailwind |
| 09 Content | Strings UI |
| 11 Security | Authz rules |
| 13 QA | Smoke |
| 16 Interactions | Detalle UI |
| 20 Implementation | Archivos y decisiones |
5. Contratos críticos (no romper)
- Login response usa
accessToken (camelCase).
- Todas las lecturas bajo JWT.
- POST create →
SUBMITTED + code RE-….
- PATCH status solo ADVISOR.
- Stats incluyen
kwhTotal.
- Storage keys:
rele_token, rele_user.
6. Estructura de código a tocar
| Cambio | Archivos |
|---|
| Nuevo campo lectura | schema.prisma, DTO, seed, Reading type web, UI |
| Nuevo estado | enum Prisma + badges + stats open formula |
| Nuevo rol | enum Role + service checks + UI condicional |
| Copy | templates páginas |
| Tokens | tailwind.config.js, styles.css |
7. Convenciones
| Tema | Convención |
|---|
| IDs | cuid |
| Fechas | ISO DateTime Prisma; period string YYYY-MM |
| Roles | UPPER enum |
| Status | UPPER enum |
| API prefix | /api |
| Idioma UI | es-ES |
8. Definition of Done (feature nueva)
9. Entorno y secretos
| Variable | Requerida |
|---|
| DATABASE_URL | Sí |
| JWT_SECRET | Sí |
| PORT | No (3009) |
10. Paridad Paper
Implementar respetando:
- Palette maritime
- Sora + Nunito Sans
- Login split
- Stats strip
- Badges estado
Inventario: docs/00-paper-reference.md.
11. Problemas conocidos / no-bugs
| Síntoma | Explicación |
|---|
| Soft auth solo en ngOnInit | Deep link sin token redirige; no hay interceptor global |
| DRAFT no aparece al crear | Create fuerza SUBMITTED |
| ADVISOR ve todas las lecturas | Scope demo L2; multi-tenant fuera |
| Enum en inglés en UI | Decisión contenido v1 |
Cambios visuales: actualizar Paper + tokens Angular en la misma PR mental del daily. No “solo código gris”.