[x] SpecBox Engine · v6.20.0 “Cableado” · 2026-10-04

Everything between the spec and the evidence.

The engine is free and open. Here it is in full: the four commands, the agents, the MCP tools and the hooks that block, with the figures each release publishes.

agents
13
MCP tools
192
commands
25
extension version
v6.20.0

Snapshot from 2026-10-04 21:29 UTC

The pipeline

Four commands. A control between each.

Each command leaves something you can review, and the next one doesn't start until its control passes.

See a real delivery, step by step
  1. 01/discovery

    Before writing a line: who it's for (ICP) and which job it does for them (JTBD), in a guided conversation.

    Leavesdoc/discovery/<feature>/icp_jtbd.md
    ControlThe discovery has to be complete (READY_FOR_PRD) to move on to the PRD.
  2. 02/prd

    Stories, use cases and measurable acceptance criteria, straight on your board.

    LeavesUS · UC · AC on the board
    ControlDefinition Quality Gate: every criterion has to be specific, measurable and checkable.
  3. 03/plan

    A technical plan by phases, components and a design for each screen with the system's tokens.

    Leavesdoc/plans/<feature>_plan.md + designs
    ControlEvery plan records its design source: the system's tokens, not a separate brand kit.
  4. 04/implement

    Branch, isolated phases, code, tests and PR. The agents split the work and the orchestrator coordinates.

    LeavesPR + a receipt per criterion
    ControlAG-08 gives GO or NO-GO on every phase and AG-09 accepts or rejects every use case: without both, no merge.

Control

What isn't negotiable.

An instructions file suggests. In the engine, gates decide, hooks block and self-healing repairs, within a limit.

Gates that decide

  • Definition Quality GateIn /prd. A criterion that isn't specific, measurable and checkable is rejected and a better one is proposed.
  • AG-08 · Quality AuditorOn every phase of /implement. GO or NO-GO: with NO-GO the phase doesn't move on.
  • AG-09 · AcceptanceIn /implement. Accepts, accepts with conditions or rejects each use case against its criteria and evidence.
  • /feedbackWhat a person finds while testing invalidates the verdict: a critical or major issue blocks the merge.

Separate and on demand: /audit runs an ISO/IEC 25010 audit with a PDF report.

Hooks that block

  • quality-first-guard.mjsNo file is modified without being read first.
  • spec-guard.mjsNo code without an active use case, or on main.
  • commit-spec-guard.mjsNo commits on main.
  • pre-commit-lint.mjsZero lint before every commit.
  • no-bypass-guard.mjsNo --no-verify, no push --force, no reset --hard.
  • design-system-gate.mjsIn autopilot, no color or font outside the design system.
  • healing-budget-guard.mjsEight repair attempts at most.

Self-healing, within a limit

When a phase fails, the engine tries to repair itself before asking for help: two attempts per phase and eight per implementation; if two phases in a row fail, it stops.

  1. 1
    Auto-fixFixes lint, formatting and imports (for example, eslint --fix).
  2. 2
    PatchDiagnoses and fixes the cause: a missing import, a wrong type, a badly resolved path.
  3. 3
    RollbackGoes back to the last clean state, marks the checkpoint as failed and retries the phase.
  4. 4
    A personIf the phase keeps failing, it stops and escalates with a written diagnosis.
Why they block
In March 2026 an agent implemented nine use cases bypassing the pipeline and left the board empty and untraceable. That day the blocks were born.

Inventory

Everything it ships, counted from the code.

Agents, commands and tools come from the inventory each engine release publishes: no figure is written by hand.

13 agents

The orchestrator never writes code: it coordinates, delegates and consolidates.

  • 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 commands

The four of the pipeline first; then the ones around them: quality, design, backends, payments and 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 MCP tools

In a single server, hosted at mcp.specbox.build. The modules with the most tools:

  • 21 spec_driven Stories, use cases and criteria, on any backend
  • 17 stitch Full Google Stitch proxy
  • 16 state Checkpoints, healing and sessions
  • 12 migration Switch backends without losing progress
  • 11 onboarding Onboarding, upgrades and version matrix
  • 8 milestone_management Milestones and work across repos
  • 8 spec_mutations Create and edit stories, cases and criteria
  • 6 board_operations Criteria quality and metadata

And 93 more tools in 30 other modules.

Fits your project

Your board, your stack and your services.

Where your tracking lives

Four backends with the same interface, and migration between them without losing progress.

  • TrelloBoards with US, UC and AC cards
  • PlaneIn the cloud or on your own server
  • FreeFormJSON in your repository, no external API
  • NativePostgres shared by the whole team
SpecBox CloudThe ecosystem's panel: sessions, audit trail and progress at cloud.specbox.build.

Stacks

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

Services

  • Supabase
  • Neon
  • Stripe
  • Firebase
  • n8n

VSCode extension

Guided setup, automatic updates and GitHub sign-in.

EmbedBuild.specbox-engine · v6.20.0

Evolution

Every release, with what it prevents.

The latest changes to the engine, with their security section when they have one. Every release is in production.

Full changelog on GitHub

v6.20.0

Cableado 2026-10-04 Current version
  • 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

Security: what this release prevents

  • 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

Security: what this release prevents

  • 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

Security: what this release prevents

  • 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.
Earlier releases (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

Security: what this release prevents

  • 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)

Security: what this release prevents

  • 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

Security: what this release prevents

  • 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

Security: what this release prevents

  • 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

Security: what this release prevents

  • 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

Let your agents prove what they did.

Install the extension, open Claude Code and start with /discovery. The first receipt arrives with the first closed criterion.

Or from the VSCode command palette:ext install EmbedBuild.specbox-engine