[x] SpecBox Engine · v6.20.0 «Cableado» · 2026-10-04

Todo lo que hay entre la spec y la evidencia.

El engine es abierto y gratis. Aquí está entero: los cuatro comandos, los agentes, las herramientas MCP y los hooks que bloquean, con las cifras que publica cada versión.

agentes
13
herramientas MCP
192
comandos
25
versión de la extensión
v6.20.0

Foto del 2026-10-04 21:29 UTC

El pipeline

Cuatro comandos. Entre cada uno, un control.

Cada comando deja algo que puedes revisar, y no se pasa al siguiente sin superar su control.

Ver una entrega real, paso a paso
  1. 01/discovery

    Antes de escribir una línea: para quién es (ICP) y qué trabajo le resuelve (JTBD), en una conversación guiada.

    Dejadoc/discovery/<feature>/icp_jtbd.md
    ControlEl discovery tiene que quedar completo (READY_FOR_PRD) para pasar al PRD.
  2. 02/prd

    Historias, casos de uso y criterios de aceptación medibles, directamente en tu board.

    DejaUS · UC · AC en el board
    ControlDefinition Quality Gate: cada criterio tiene que ser específico, medible y comprobable.
  3. 03/plan

    Plan técnico por fases, componentes y el diseño de cada pantalla con los tokens del sistema.

    Dejadoc/plans/<feature>_plan.md + diseños
    ControlCada plan deja escrita su fuente de diseño: los tokens del sistema, no un brand kit aparte.
  4. 04/implement

    Rama, fases aisladas, código, tests y PR. Los agentes se reparten el trabajo y el orquestador coordina.

    DejaPR + un recibo por criterio
    ControlAG-08 da GO o NO-GO en cada fase y AG-09 acepta o rechaza cada caso de uso: sin los dos no hay merge.

Control

Lo que no se negocia.

Un fichero de instrucciones sugiere. En el engine, los gates deciden, los hooks bloquean y el self-healing repara, con un límite.

Gates que deciden

  • Definition Quality GateEn /prd. Un criterio que no es específico, medible y comprobable se rechaza y se propone otro.
  • AG-08 · Quality AuditorEn cada fase de /implement. GO o NO-GO: con NO-GO la fase no avanza.
  • AG-09 · AceptaciónEn /implement. Acepta, acepta con condiciones o rechaza cada caso de uso según sus criterios y su evidencia.
  • /feedbackLo que encuentra una persona probando invalida el veredicto: un fallo crítico o mayor bloquea el merge.

Aparte y bajo demanda: /audit hace una auditoría ISO/IEC 25010 con informe en PDF.

Hooks que bloquean

  • quality-first-guard.mjsNo se modifica un fichero que no se ha leído.
  • spec-guard.mjsSin un caso de uso activo, o en main, no se escribe código.
  • commit-spec-guard.mjsNingún commit en main.
  • pre-commit-lint.mjsLint a cero antes de cada commit.
  • no-bypass-guard.mjsNi --no-verify, ni push --force, ni reset --hard.
  • design-system-gate.mjsEn autopilot, ningún color ni fuente fuera del sistema de diseño.
  • healing-budget-guard.mjsOcho intentos de reparación como máximo.

Self-healing, con límite

Cuando una fase falla, el engine intenta repararse antes de pedir ayuda: dos intentos por fase y ocho por implementación; si fallan dos fases seguidas, para.

  1. 1
    Auto-fixCorrige lint, formato e imports (por ejemplo, eslint --fix).
  2. 2
    PatchDiagnostica y arregla la causa: un import que falta, un tipo incorrecto, una ruta mal resuelta.
  3. 3
    RollbackVuelve al último estado limpio, marca el checkpoint como fallido y reintenta la fase.
  4. 4
    Una personaSi la fase sigue fallando, para y escala con el diagnóstico escrito.
Por qué bloquean
En marzo de 2026 un agente implementó nueve casos de uso saltándose el pipeline y dejó el board vacío y sin trazabilidad. Ese día nacieron los bloqueos.

Inventario

Todo lo que trae, contado desde el código.

Agentes, comandos y herramientas salen del inventario que publica cada versión del engine: ninguna cifra está escrita a mano.

13 agentes

El orquestador nunca escribe código: coordina, delega y consolida.

  • Orchestrator
  • AG-01 Feature Generator
  • AG-02 UI/UX Designer
  • AG-03 DB Specialist
  • AG-04 QA & Validation
  • AG-05 n8n Specialist
  • AG-06 Google Stitch MCP
  • AG-07 Apps Script Specialist
  • AG-08 Quality Auditor
  • AG-09a Acceptance Tester
  • AG-09b Acceptance Validator
  • AG-10 Developer Tester
  • /audit ISO/IEC 25010

25 comandos

Los cuatro del pipeline primero; después, los que lo rodean: calidad, diseño, backends, pagos y releases.

  • /discovery
  • /prd
  • /plan
  • /implement
  • /acceptance-check
  • /adapt-ui
  • /app-init
  • /app-sync
  • /audit
  • /check-designs
  • /compliance
  • /explore
  • /feedback
  • /handoff
  • /manual-test
  • /optimize-agents
  • /quality-gate
  • /queue-review
  • /quickstart
  • /release
  • /stripe-connect
  • /stripe-standard
  • /stripe-switch-account
  • /switch-backend
  • /visual-setup

192 herramientas MCP

En un solo servidor, alojado en mcp.specbox.build. Los módulos con más herramientas:

  • 21 spec_driven Historias, casos de uso y criterios, con cualquier backend
  • 17 stitch Proxy completo de Google Stitch
  • 16 state Checkpoints, healing y sesiones
  • 12 migration Cambio de backend sin perder avance
  • 11 onboarding Alta, actualización y matriz de versiones
  • 8 milestone_management Hitos y reparto entre repos
  • 8 spec_mutations Alta y edición de historias, casos y criterios
  • 6 board_operations Calidad y metadatos de los criterios

Y 93 herramientas más en otros 30 módulos.

Se adapta a tu proyecto

Tu board, tu stack y tus servicios.

Dónde vive tu tracking

Cuatro backends con la misma interfaz, y migración entre ellos sin perder avance.

  • TrelloBoards con tarjetas de US, UC y AC
  • PlaneEn la nube o en tu servidor
  • FreeFormJSON en tu repositorio, sin API externa
  • NativePostgres compartido por todo el equipo
SpecBox CloudEl panel del ecosistema: sesiones, auditoría y progreso en cloud.specbox.build.

Stacks

  • Flutter
  • React
  • Go
  • Python
  • Google Apps Script

Servicios

  • Supabase
  • Neon
  • Stripe
  • Firebase
  • n8n

Extensión para VSCode

Instalación guiada, actualización automática e inicio de sesión con GitHub.

EmbedBuild.specbox-engine · v6.20.0

Evolución

Cada versión, con lo que evita.

Lo último que ha cambiado en el engine, con su sección de seguridad cuando la tiene. Todas las versiones están en producción.

Changelog completo en GitHub

v6.20.0

Cableado 2026-10-04 Versión actual
  • La plantilla de los proyectos activa los hooks que el engine instala
  • «Comprobar salud» avisa si un hook configurado no existe
  • Workflow hooks.yml
  • CLAUDE.md nombra lo que hay

v6.19.0

Escaparate 2026-10-04
  • Escaparate público de la home
  • server/db/migration_twins.py
  • La foto de actividad cuadra
  • El inventario del site cuenta lo que lista el MCP

Seguridad: qué evita esta versión

  • La home pública nunca enseña el detalle de un recibo ni los criterios internos, solo enlaza a specbox.build o al repositorio público del engine, y solo puede enseñar UC del board del orquestador: fijar una de otro proyecto lo rechaza la base de datos.
  • Las tablas del escaparate son privadas (seguridad por filas sin políticas ni privilegios para los roles públicos), y las tres vistas públicas (site_activity, site_stats y site_showcase) solo admiten lectura: nadie puede escribir en ellas desde la API pública.
  • site_publish se niega a publicar el inventario de un engine que no es el checkout importado, y un inventario vacío nunca vacía las tablas del site.

v6.18.0

Mudanza 2026-10-02
  • El servidor responde en mcp.specbox.build
  • scripts/check-mcp-hosts.mjs
  • La extensión y specbox login usan mcp.specbox.build
  • Las entradas antiguas se mudan solas, con copia

Seguridad: qué evita esta versión

  • La mudanza nunca saca la credencial del almacén seguro del sistema: se copia de una clave a otra dentro del mismo almacén, sin pasar por un fichero ni por la salida de una orden.
  • La copia de las entradas de Claude Code que se guarda antes de reescribirlas solo la puede leer su usuario (0600) y nunca lleva el valor de una cabecera Authorization.
  • La comparación de los dos nombres no imprime el token, y la que corre en GitHub lo hace sin token: ningún token con acceso a los boards queda guardado en los secretos del repositorio.

v6.17.1

EngineFirst 2026-10-01
  • provision_native_project (y setup_board) crean el proyecto aunque no haya organización que asignar
  • En el panel, un proyecto sin organización no lo ve ningún tenant (filtros de UC-1304) hasta que el SuperAdmin se la asigna: la «degradación segura» que ya describía la 0020
  • CLAUDE.md explica los proyectos sin organización y deja de hablar del NOT NULL de la 0019
  • 100% backwards-compatible para quien usa el panel: el registro da organización a cada developer, así que sus proyectos siguen cayendo en ella

v6.17.0

Evidencias 2026-10-01
  • Recibos estructurados en mark_ac y mark_ac_batch
  • get_uc devuelve los recibos de cada AC
  • Migración 0028 (sin DDL)
  • CI native-tests

Seguridad: qué evita esta versión

  • Nadie puede atribuirse ni atribuir una aceptación: quién y cuándo de cada recibo y de cada veredicto los pone el servidor con la sesión que marca, nunca quien llama, y donde el autor no consta se deja vacío en vez de suponerlo.
  • Un recibo solo enlaza a http(s): cualquier otro esquema se rechaza al escribirlo.
Versiones anteriores (25)

v6.16.0

Goma 2026-10-01
  • delete_uc con purge=true borra de verdad una UC que nunca tuvo trabajo
  • Prueba de traducciones de la extensión
  • La extensión habla español de principio a fin
  • El comprobador de seguridad de cada versión

Seguridad: qué evita esta versión

  • Un borrado real no deja trabajo ni rastro fuera de su sitio: solo alcanza una UC sin trabajo del proyecto de la sesión (se comprueba la membresía del proyecto que se escribe), lo que no cumple las condiciones se archiva y nunca se pierde, y cada borrado deja la copia de la UC y de sus AC en audit_log, que no se borra. Modelo de amenazas: T14.
  • El comprobador de cada versión reconoce siempre una credencial aunque el mismo mensaje hable de diseño, de modo que un cambio en mcp_token, dev_token, service_role o una API key no puede pasar como cambio visual.

v6.15.0

Tinta 2026-10-01
  • Las herramientas de diseño leen el sistema
  • El gate de diseño bloquea lo que se sale del sistema
  • La extensión de VSCode habla el mismo idioma visual
  • La CLI specbox se publica sola en npm con cada etiqueta, con trusted publishing (.github/workflows/publish-specbox-cli.yml)

Seguridad: qué evita esta versión

  • Publicar la CLI no necesita ningún token guardado: npm la publica con trusted publishing (una credencial de un solo uso por ejecución) y cada versión lleva su procedencia firmada, así que no hay un token de npm en los secretos del repositorio que pueda filtrarse ni publicaciones que no salgan de una etiqueta.
  • La página de vuelta del inicio de sesión, rehecha con el sistema de diseño, no muestra el token y escapa todo lo que llega en la dirección (el código y la descripción del error), así que un enlace manipulado no puede inyectar contenido; solo ejecuta el cierre de la pestaña.

v6.14.2

Idle Watch 2026-09-30
  • Revocación por inactividad
  • Cinco dispositivos por persona
  • specbox login explica ese caso y dónde desconectar un dispositivo
  • La sección Security llega al site

Seguridad: qué evita esta versión

  • Un token olvidado deja de valer solo: sin uso real durante 60 días se revoca, y la persona ve el motivo en el panel.
  • Nadie acumula dispositivos: el sexto no entra hasta que se desconecta otro, y el intento rechazado no cambia nada.
  • La conexión del ordenador no depende de un aviso pendiente: la extensión adopta, renueva y limpia antes de cualquier diálogo de arranque.
  • El modelo de amenazas del MCP remoto está escrito y cada tool nueva se contrasta con él antes de registrarse.

v6.14.1

Forward Only 2026-09-29
  • Política de divulgación responsable
  • Comprobación de seguridad del release
  • La extensión nunca se degrada al actualizarse
  • Tokens anteriores a la caducidad

Seguridad: qué evita esta versión

  • La actualización automática solo instala la versión que toca: un paquete antiguo en la carpeta de la extensión ya no puede sustituir la versión en ejecución por una anterior.
  • Los tokens sin caducidad tienen fecha: los emitidos antes de esta versión dejan de valer el 2026-12-28; desde entonces solo conectan los tokens de dispositivo, que caducan y se renuevan solos.
  • Cómo avisar de un problema de seguridad queda publicado en SECURITY.md, con un canal privado y plazos de respuesta.
  • Cada versión cuenta qué evita: la comprobación del release exige esta sección siempre que haya cambios de seguridad.

v6.14.0

Front Door 2026-09-29
  • Autenticación en el transporte
  • Tokens por dispositivo
  • specbox, paquete npm (packages/specbox-cli)
  • Registro de accesos por tool

Seguridad: qué evita esta versión

  • Aislamiento por usuario en el servidor remoto: el backend FreeForm remoto trabaja solo con el contenido que envía el cliente y el registro de proyectos solo muestra los proyectos de quien llama.
  • Base de datos del board: las vistas se evalúan con los derechos de quien consulta y los roles públicos no pueden escribir en ninguna tabla.
  • Operaciones de borrado de estado reservadas al operador.
  • Identidad en cada conexión y tokens que caducan (ver Added).

v6.13.0

Tenant Guard 2026-08-25
  • internal en los criterios de aceptación
  • Check de exposición
  • Guía de redacción cara-al-cliente en /prd, referenciada desde /plan
  • Batería permanente de aislamiento por tenant sobre todos los mutadores native

v6.12.0

Claude Design Native 2026-06-25
  • visual_provider abstraction (server/veg/visual_provider.py, UC-2901)
  • 5 claude_design_* MCP tools (server/tools/claude_design.py, UC-2902)
  • Topology-aware design-system gate (server/veg/design_system_gate.py, UC-2903)
  • Design-system sync engine (server/veg/claude_design_sync.py, UC-2905)

v6.11.1

Living Funnel 2026-06-23
  • US-16
  • US-20
  • US-26
  • /release Paso 6.5 publishes engine state + capability inventory in one invocation (python -m server.site_publish) as a non-blocking post-commit step

v6.11.0

Self Update 2026-06-14
  • Chequeo de versión remota al arrancar
  • Diálogo accionable X→Y + comparación semver
  • Upgrade garantizado con verificación
  • Camino de divergencia con backup

v6.10.2

Mirror Bootstrap 2026-06-12
  • enable_mirror: registry auto-init + entry auto-seed
  • Transactional rollback coherent for the just-created file
  • apply_mirror_transactional gains optional primary_backend / primary_board_id kwargs (default empty → 100% backwards-compatible)
  • 5 new tests in tests/test_dual_backend.py exercise the real dirty state the previous suite never hit (the trello_project fixture always pre-seeded the entry

v6.10.1

Reentrant Reserve 2026-06-11
  • reserve_uc reentrant inside a caller transaction
  • New PG-gated test_start_uc_atomic_after_reserve_same_dev_does_not_abort_tx reproduces the bug (fails with asyncpg.exceptions.InFailedSQLTransactionError without the fix, passes wi…

v6.10.0

UC Lifecycle Metrics 2026-06-11
  • Dual-backend mirror
  • Lifecycle capture
  • Per-transaction GUC context (0012/UC-1202)
  • Analytics views (0013)

v6.9.5

Tenant-Scoped Keys 2026-06-04
  • server/migration/freeform_normalize.py
  • 0009_tenant_scoped_pks.sql (+ supabase mirror, UC-707)
  • server/backends/freeform_backend.py
  • server/tools/migration.py

v6.9.4

Orphan Tenant Recovery 2026-06-03
  • tests/test_native_orphan_provision.py
  • provision_native_project(name=..., validate_id=...)
  • FIX A
  • FIX B

v6.9.3

Tenant Provisioning 2026-06-03
  • server/coordination/project_id.py
  • provision_native_project() (server/migration/native_handling.py, UC-820)
  • _maybe_auto_provision (server/tools/migration.py, UC-821)
  • tests/test_native_provision.py

v6.9.2

Batch Ingest 2026-06-02
  • server/migration/batch_session.py
  • server/migration/integrity.py
  • NativeBackend.ingest_atomic (server/backends/native_backend.py)
  • Tools MCP (server/tools/migration.py): start_migration_session (valida dev_token una vez, cache reusado, no escribe), append_migration_chunk (verifica hash por chunk), commit_migr…

v6.9.1

Atomic Switch 2026-06-02
  • switch_project_backend (server/tools/migration.py)
  • server/migration/orchestrator.py
  • server/migration/rollback.py
  • server/migration/count_guard.py

v6.9.0

Self-Provisioning 2026-06-01
  • Auto-clone del engine
  • Auto-pull del clon gestionado
  • Walkthrough + README (ES+EN)
  • ENGINE_VERSION.yaml

v6.8.0

Connectivity UX 2026-05-31
  • FreeForm content-passing
  • Audit analyzers client-side
  • Updater pedagógico de la extensión
  • Drift gate canónico

v6.7.0

Zero-Friction Onboarding 2026-05-28
  • Gate de prerequisitos no bloqueante
  • Comando "SpecBox: Check Prerequisites" (specbox.checkPrerequisites)
  • Helpers puros en mcp.ts
  • Onboarding cero-Python

v6.6.2

Fast Activate 2026-05-28
  • Extensión atascada en "Activating…"
  • vscode-extension/src/extension.ts
  • Trade-off aceptado: las welcome views del sidebar pueden mostrar estado vacío ~1-15s al arrancar (hasta que health.run() resuelve y dispara setContext)
  • 100% backwards-compatible

v6.6.1

Loopback Resilience 2026-05-28
  • describeSignInError()
  • Loopback timeout prematuro (ERR_CONNECTION_REFUSED)
  • Token persistido sin verificar identidad
  • vscode-extension/src/oauth.ts

v6.0.2

Smoke Test Followups 2026-05-25
  • submit_quality_audit autogenera audit_id (issue #61)
  • drift.kind en respuesta de validate_discovery_completeness (issue #62)
  • Sección "Smoke Test Followups (v6.0.2)" en CLAUDE.md documentando los cambios + bug latente eliminado
  • Caso (d) no_drift en .claude/skills/discovery/SKILL.md Paso 3, con enumeración explícita de las 4 resoluciones canónicas

v6.0.1

MCP Path Contract 2026-05-25
  • Content-passing API en 17 tools cat A (server/tools/):
  • discovery.py: start_discovery(feature_name, app_market_content, existing_artifact_content, mode), validate_discovery_completeness(feature_name, icp_jtbd_content), detect_v60_migra…
  • app_docs.py: read_app_docs_tool(app_prd_content, app_spec_content), get_inheritable_values_tool(app_prd_content, app_spec_content)
  • onboarding.py: detect_project_stack(project_name, marker_files_present, dep_files, feature_dirs_present), get_onboarding_status(project_name, artifact_presence), get_visual_gap_re…

v5.35.0

Reservation Rename 2026-05-25
  • SQL migration 0007_rename_claims_to_reservations.sql (canonical at server/db/migrations/0007_*.sql + Supabase mirror at supabase/migrations/20260524000007_*.sql)
  • server/coordination/claims.py renamed to server/coordination/reservations.py with full identifier rename
  • MCP tool surface renamed
  • tools/coordination.py registers claim_uc as a deprecated alias of reserve_uc for the v5.35-v5.36 window

Que tus agentes demuestren lo que hicieron.

Instala la extensión, abre Claude Code y empieza con /discovery. El primer recibo llega con el primer criterio cerrado.

O desde la paleta de VSCode:ext install EmbedBuild.specbox-engine