# F-112 — Arquitectura: disclaimer de contenido asistido por IA en la ficha de producto ## Decisiones 1. **Flag único `ai_assisted`**: una columna `boolean NOT NULL DEFAULT false` en `catalog_products`. - Más simple que flags por campo y suficiente para el aviso legal. 2. **Migración 040**: `ALTER TABLE catalog_products ADD COLUMN IF NOT EXISTS ai_assisted boolean NOT NULL DEFAULT false;` 3. **Dominio/serialización**: `Product.aiAssisted` propagado en rutas, repositorio y `serializeProduct`. 4. **Set del flag**: cuando se ejecuta `POST /products/:id/generate-seo` y el flujo completa al menos una generación, el flag se activa en true. El admin también puede alternarlo manualmente en el editor (futuro; no se requiere para este ticket). 5. **Frontend** (`apps/frontend/src/app/products/[slug]/page.tsx`): cuando `product.aiAssisted === true`, renderizar un bloque destacado en la ficha con los dos avisos. ## Tests - `serializeProduct` debe incluir `aiAssisted` (registrable en tests de product-use-cases). - `productsAiAssisted.test.ts` (puerta frontend): no es trivial sin jsdom; lo dejamos para smoke. ## Fuera de alcance - Sin cambios en el flujo admin de IA. - Sin nuevos endpoints. - Sin traducciones.