30 de abril de 2026MethodologyComplianceSecurityUI

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:

  1. TypeScript β€” tsc --noEmit cero errores
  2. ESLint β€” cero violaciones
  3. i18n keys β€” bloqueo si una key declarada no existe en messages/{es,en}/*.json
  4. Hardcoded JSX text β€” texto fuera de t() bloquea (con budget regresivo)
  5. Raw <button> y <input> β€” solo primitivas del design system
  6. Spec gates RED β€” un spec sin baseline rojo bloquea el merge
  7. PROTECTED_PATHS β€” archivos canonicos solo se editan con flag explicito
  8. UI violations audit (nuevo) β€” 14 categorias detectadas, budget 838 actual
  9. waitForTimeout en tests (nuevo) β€” budget 869, regresion bloqueada
  10. .skip() en tests (nuevo) β€” TD5 budget locked
  11. toHaveClass en 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:

  1. bia_audit_logs + 2 endpoints (Articulo 12 β€” registro de decisiones automatizadas)
  2. Provenance en comments, editor_documents y outbound_emails (Articulo 50.2 β€” disclosure de contenido IA)
  3. consent_records + 3 endpoints + dialog bloqueante (GDPR Art. 6 + AI Act Art. 50.1)
  4. Badge IA + extension ai-mark en TipTap (transparencia visual)
  5. 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 FloatingToolbar primitive
  • 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_ACCEPTED en signup (no rompe el flow si reintentar el invite)
  • Fix tenant.id β†’ tenant.slug en 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.key undefined 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/method pagina 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.