11 gates pre-commit, plan AI Act, sweep de seguridad
Frontend health forever: 11 pre-commit gates locked. Plan ejecutable AI Act 5 semanas. Sanitize sweep en uploads. Capa de auto-evaluacion con sub-agentes adversarios.
11 gates pre-commit blindando la calidad
Esta semana cerramos los gates 8 a 11. La calidad del frontend ya no depende de disciplina humana β depende de scripts.
Lista completa:
- TypeScript β
tsc --noEmitcero errores - ESLint β cero violaciones
- i18n keys β bloqueo si una key declarada no existe en
messages/{es,en}/*.json - Hardcoded JSX text β texto fuera de
t()bloquea (con budget regresivo) - Raw
<button>y<input>β solo primitivas del design system - Spec gates RED β un spec sin baseline rojo bloquea el merge
- PROTECTED_PATHS β archivos canonicos solo se editan con flag explicito
- UI violations audit (nuevo) β 14 categorias detectadas, budget 838 actual
waitForTimeouten tests (nuevo) β budget 869, regresion bloqueada.skip()en tests (nuevo) β TD5 budget lockedtoHaveClassen tests (nuevo) β TD6 budget locked, force assertion sobre rol/aria
Resultado: una rama nueva no puede degradar nada que ya hayamos limpiado. La deuda tecnica solo baja.
Plan ejecutable EU AI Act β 5 semanas
Publicamos el spec 2026-04-27-ai-act-implementation-plan.md con cinco items priorizados, DDL Postgres, endpoints FastAPI, paths frontend y dias estimados:
bia_audit_logs+ 2 endpoints (Articulo 12 β registro de decisiones automatizadas)- Provenance en comments, editor_documents y outbound_emails (Articulo 50.2 β disclosure de contenido IA)
consent_records+ 3 endpoints + dialog bloqueante (GDPR Art. 6 + AI Act Art. 50.1)- Badge IA + extension
ai-marken TipTap (transparencia visual) - DPA Anthropic + verificacion residencia EU (Articulo 28 + soberania de datos)
Sprint 5 semanas (29 abr β 2 jun) para cumplir con el deadline del 2 de agosto de 2026.
Sweep de seguridad β sanitizacion de filename
Auditamos los 21 puntos de subida de archivos en el frontend. Tres faltaban: crm/entity-file-list.tsx (lineas 87 y 125) y editor/extensions/file-attachment.ts (linea 259). Parcheados con sanitizeDisplayFilename.
Bonus: nuevo lib/logger.ts con debug() env-guarded y error() siempre activo. Sustituimos console.warn ruidoso del wizard de proyectos. La consola en produccion ya no se llena de "Failed to save statusCategory overrides" cuando un endpoint opcional falla.
Capa de auto-evaluacion con sub-agentes adversarios
Spec 2026-04-26-evaluation-layer-bik.md shipping. Antes de marcar una tarea como "done", el codigo pasa por tres sub-agentes adversarios que buscan: (1) afirmaciones tautologicas, (2) tests que solo verifican el happy path, (3) gaps entre spec y implementacion.
Si los tres sub-agentes dicen "ship", se commitea. Si uno dice "no", el ciclo continua. Es Test-Driven Development con un revisor humano simulado, sin el coste humano.
Pre-commit hook compartible
scripts/pre-commit consolidado y auto-instalable: cp scripts/pre-commit .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit. Cualquier desarrollador nuevo en el equipo tiene los 11 gates activos en cinco segundos.
UI sweep β Phase 1 + Phase 2
- 73 violaciones I-category migradas (className override β size prop en Badge y Button)
- 7 divs de "custom card" reemplazados por
<Card>y<SearchInput> - 3 toolbars bottom-fixed reemplazados por
FloatingToolbarprimitive - 4 cards de command-control migradas a
SearchInput - Bulldoze visual: budget UI violations 838 β 781 en una sola semana
Pequenas mejoras
- Fix 409
INVITE_ALREADY_ACCEPTEDen signup (no rompe el flow si reintentar el invite) - Fix
tenant.idβtenant.slugen todos los callers de agent workspace API (paths consistentes) - Fix N+1 en approval-requests y queries duplicadas en clients
- Fix CSS Tailwind leak en build de produccion
- Guard
e.keyundefined en todos los keyboard handlers - IconButton round + outline-surface variants
- SelectionCard vertical layout
- 5 archivos nuevos de tests P0 (72 passing, 9 todo) para backend agent integration
Lo que viene
- WriterAgent Memoria Tecnica MVP (10-15d) β primer documento generado end-to-end
- AI Act Items 1-3 (audit log + provenance + consent dialog) β sprint 1-3
bik.eus/methodpagina publica con la metodologia (PLANE_STYLE_GUIDE + canonical-model + DoD)- Cycles auto-carryover + velocity computado (paridad Linear)
Si quieres ver como quedan los 11 gates desde dentro, el spec pending-excellence-master lleva el backlog completo: 590 lineas de tracking, 8 categorias de deuda, prioridades por trimestre.