[
  {
    "id": "cj-20260816-1bbe20",
    "app": "captajaus",
    "kind": "ops",
    "title": "Ops: deduplicación y scoring tras scrape masivo",
    "risk_tier": "L2",
    "impact_kpi": [
      "duplicate_rate",
      "quality_score"
    ],
    "prompt_for_bridge": "Audita deduplicationService y scoringService: reglas por URL/hash, precio/m², zona. Propón job post-scrape en schedulerService con métricas en analytics.",
    "files_hint": [
      "src/services/deduplicationService.ts",
      "src/services/scoringService.ts"
    ],
    "rationale": "Tras ampliar Valencia, suben duplicados entre portales.",
    "source": "seed_playbook",
    "status": "proposed",
    "created_at": "2026-08-16T21:00:48.377Z",
    "updated_at": "2026-08-16T21:00:48.377Z",
    "execution": null
  },
  {
    "id": "cj-20260816-fc1153",
    "app": "captajaus",
    "kind": "brand_swap",
    "title": "Brand swap: preset activo en navbar + PWA",
    "risk_tier": "L0",
    "impact_kpi": [
      "brand_consistency"
    ],
    "prompt_for_bridge": "Conecta BrandPack activo a main.ejs y manifest.json: título, theme-color, logo y navbar deben leer data/brand/active.json. No hardcodear LlíriaProps si hay otro preset.",
    "files_hint": [
      "src/views/layouts/main.ejs",
      "public/manifest.json",
      "data/brand/"
    ],
    "rationale": "White-label partner: nombre, colores y theme-color deben seguir preset activo.",
    "source": "seed_playbook",
    "status": "proposed",
    "created_at": "2026-08-16T21:00:48.376Z",
    "updated_at": "2026-08-16T21:00:48.376Z",
    "execution": null
  },
  {
    "id": "cj-20260816-b66d51",
    "app": "captajaus",
    "kind": "marketing_campaign",
    "title": "Marketing: landing agencia Llíria con CTA alertas",
    "risk_tier": "L1",
    "impact_kpi": [
      "alert_signups",
      "whatsapp_clicks"
    ],
    "prompt_for_bridge": "Mejora dashboard/index con héroe CaptaJaus/LlíriaProps: valor (alertas email, mapa, scoring), CTA claro a filtros y registro. Usa BrandPack CSS vars (--brand-*). Responsive móvil.",
    "files_hint": [
      "src/views/dashboard/index.ejs",
      "public/css/main.css"
    ],
    "rationale": "Captación local: agencias quieren leads de compradores en comarca.",
    "source": "seed_playbook",
    "status": "proposed",
    "created_at": "2026-08-16T21:00:48.375Z",
    "updated_at": "2026-08-16T21:00:48.375Z",
    "execution": null
  },
  {
    "id": "cj-20260816-85a763",
    "app": "captajaus",
    "kind": "code_fix",
    "title": "Scraper: anti-ban Idealista/Fotocasa Llíria+Valencia",
    "risk_tier": "L2",
    "impact_kpi": [
      "listings_captured",
      "scraper_uptime"
    ],
    "prompt_for_bridge": "Revisa scrapers Idealista/Fotocasa/Pisos para Llíria y Valencia: anti-ban Playwright, reintentos, logging en scrapeRunCoordinator. Diff mínimo, sin romper scheduler PM2.",
    "files_hint": [
      "src/scrapers/",
      "src/services/scrapeRunCoordinator.ts"
    ],
    "rationale": "Portales ES bloquean bots; necesitamos rotación de user-agent, delays y recuperación.",
    "source": "seed_playbook",
    "status": "proposed",
    "created_at": "2026-08-16T21:00:48.373Z",
    "updated_at": "2026-08-16T21:00:48.373Z",
    "execution": null
  }
]