/bi-kickoff production flow

Flujo de producción: proyecto nuevo, Codex-first, Git obligatorio, modelo demo por MCP, eliminación del ejemplo de ventas y validación persistida antes de declarar éxito.

flowchart TD
    A["Usuario invoca /bi-kickoff"] --> B{"Proyecto nuevo?"}
    B -->|"No / PBIP existente"| Ref["Derivar a /bi-refactor"]
    B -->|"Si / carpeta vacia"| C["Primer mensaje simple
pregunta nombre"] C --> D["Scaffold desde base-template
sin narrar checks"] D --> E{"Existe Git?"} E -->|"No"| F["git init"] E -->|"Si"| G["Commit scaffold inicial"] F --> G G --> H["Agente abre PBIP en Desktop"] H --> I["Aclarar: aún es plantilla
siguiente mensaje genera modelo"] I --> J["Conectar MCP"] J --> K{"MCP puede refrescar?"} K -->|"Si"| L["Primer refresh automático"] K -->|"No"| M["Pedir Inicio > Actualizar
y esperar confirmación"] L --> N["Onboarding negocio
una pregunta por vez"] M --> N N --> O["Métricas, dimensiones y tiempo
con opciones numeradas"] O --> P{"Mapeo de datos ahora?"} P -->|"No"| Q["Pendiente para /bi-powerquery"] P -->|"Si"| R["docs/mapeo-de-datos.md
sin conectar fuentes reales"] Q --> S["AGENTS.md + ROADMAP.md + LEARNINGS.md
Codex-only"] R --> S S --> T["Proponer modelo demo
cada fila representa algo medible"] T --> U{"Agregamos o quitamos algo?"} U -->|"Cambios"| T U -->|"Aprobado"| Gen["Crear modelo por MCP"] Gen --> Model["Crear facts, dims, relaciones, métricas, dispatchers"] Model --> Clean["Eliminar star schema demo de Ventas
si el dominio no es ventas"] Clean --> V{"Verificación MCP pasa?"} V -->|"No"| Gen V -->|"Si"| W["Usuario guarda y cierra Desktop"] W --> X{"TMDL persistido valida?"} X -->|"No"| W X -->|"Si"| Y{"Visual bindings validados?"} Y -->|"Rebind tool"| RB["Rebind seguro
backup + dry-run + validación"] Y -->|"Manual"| MH["Handoff manual explícito
reporte pendiente"] RB --> Cmt["Actualizar ROADMAP/docs
commit modelo generado"] MH --> Cmt Cmt --> Z["Handoff: report rebind, authoring o /bi-powerquery"]
Codex-only por defecto: sin CLAUDE.md, GEMINI.md, .github ni .kilo.
Git obligatorio: commit del scaffold antes de tocar el modelo.
El agente abre el PBIP y ejecuta el primer refresh, o pide Inicio > Actualizar si MCP no puede.
El usuario ve "cada fila representa..." en lugar de jerga como grano.
Se preservan nombres técnicos bindeados al reporte; si no alcanza, hay gate de rebind visual.
REPORT TOPOLOGY LOCK: no borrar, renombrar, mover o recrear páginas, visuales, layouts mobile o bookmarks.
El ejemplo de ventas se elimina en proyectos que no son de ventas.
Nada queda completo hasta guardar, cerrar Desktop, validar TMDL y resolver el estado visual.