Umbra Studio · Lighthouse Sprint
Studio / Library / Level 1 — Schema
Vision Document · Stage 1 of 4 — Structured Pattern Library · 2026.04.25

Antes de que el library sea una plataforma,
tiene que ser un esquema.

Nivel 1 no produce código nuevo, ni una herramienta, ni una UI. Define el shape al que cada patrón debe responder antes de poder ser comparado, compuesto, instanciado o medido. Es la condición previa para que todo lo demás del Lighthouse Sprint deje de ser artesanal y empiece a componer.

01Por qué un schema

Un patrón no es un documento — es una especimen.

Hoy un patrón vive como prosa: un nombre, una descripción, quizás un diagrama. Útil para leer, inútil para componer. Si no podemos preguntar "¿qué patrones aplican a este síntoma del cliente?" sin abrir cada documento, el library sigue siendo una biblioteca, no una máquina.

El schema convierte cada patrón en un objeto con campos predecibles — problem signature, inputs, outputs, dependencias, gobierno, telemetría, fit criteria. La prosa editorial sigue ahí, en el body. Pero arriba aparece una capa estructurada que el matching engine (Nivel 2) podrá leer y rankear, y que la instanciación (Nivel 3) podrá usar como scaffold.

La regla: si el schema no puede describir el patrón sin aplastarlo, gana el patrón. El schema es servidumbre del library, no al revés.

02Anatomía de un patrón

Once campos. Ni uno más, ni uno menos, hasta que un Sprint pruebe lo contrario.

Esta es la forma propuesta. Cada campo está justificado por una pregunta operativa real: ¿cómo lo encuentro?, ¿cómo lo compongo?, ¿cómo sé si funcionó?. Lo que no responde a una de esas preguntas no entra al schema todavía.

— Pattern Schema · v0.1 specimen / definition
id
domain.pattern-name — identificador estable, kebab-case, namespace por dominio funcional. Inmutable una vez publicado.
version
0.1 — semver simple. Cambios incompatibles bumpean major. La versión instanciada queda en el registro.
layer
substrate vertical meta — uno de los tres. Determina si el patrón se usa como primitivo, como aplicación de dominio, o como composición vendible.
domain
queue, editorial, distribution, seo, governance, workflow… — categoría funcional. Permite filtrar el library por área.
problem signature
Frase corta del estado del cliente que activa este patrón. "Múltiples agentes pueden tomar el mismo trabajo y duplicarlo." Es el campo que el matching engine compara contra el output del Workflow Audit.
inputs
Lista de lo que el patrón necesita para operar — datos, decisiones, ownership, endpoints. No incluye implementación, solo contrato.
outputs
Qué produce el patrón cuando opera correctamente. También: qué no produce (boundary explícito).
composes
Lista de IDs de otros patrones que este consume. Vacío para primitivos. Es lo que permite que un meta-patrón se construya como grafo en lugar de como prosa.
governance hooks
Puntos donde el patrón requiere una decisión humana, una alerta, o un gate. Ejemplo: approval.before-publish, watchdog.lock-timeout. Conecta directamente con el Governance Runbook.
telemetry
Qué medimos para saber si el patrón está funcionando — duración, tasa de error, contention, time-to-decision. Sin telemetría no hay Nivel 4.
fit criteria
Condiciones bajo las cuales el patrón es la respuesta correcta — y, igual de importante, bajo las cuales no lo es. El matching engine penaliza patrones cuyas anti-condiciones aparecen en el audit.
03Tres capas

El library no es plano. Tiene estratos, y cada uno juega un rol distinto.

Una crítica justa al library actual es que mezcla niveles de abstracción. Algunos patrones son primitivos operativos; otros son composiciones comerciales. El schema introduce un campo layer que separa explícitamente las tres funciones que el library cumple:

— Layer 01 · Substrate

Primitivos operativos

Las piezas más pequeñas y reutilizables. Coordinación, colas, pipelines editoriales, distribución, gobierno básico. Probadas en operación continua antes de entrar al library — no se publica un primitivo teórico.
queue.lock-and-release
editorial.draft-approve-publish
distribution.scheduled-fanout
seo.gap-detection
governance.human-in-the-loop-gate
— Layer 02 · Vertical

Aplicaciones de dominio

Composiciones de primitivos tuneadas a un dominio. Cada vertical de Umbra Group vive aquí — patrones específicos a su mercado, su tipo de cliente, sus deliverables. Reutilizan substrate, no lo reescriben.
indietheka.weekly-recap
indietheka.album-review-pipeline
transit.press-kit-assembly
transit.outlet-match-and-pitch
orbit.moment-curation
— Layer 03 · Meta

Patrones comerciales del Studio

Lo que Umbra Studio le vende a un cliente enterprise. Composiciones de alto nivel sobre Layer 1+2, expresadas en lenguaje de workflow, no de implementación. Cada uno es derivable como grafo — eso es lo que lo hace defendible.
studio.workflow-audit-redesign
studio.agent-fleet-governance
studio.editorial-ops-overhaul
studio.distribution-modernization
studio.seo-and-content-engine
04Patrones de muestra

Tres especímenes. Uno por capa. Para ver la forma, no para poblar el library.

Los siguientes tres patrones están escritos desde cero como ejemplos de cómo se ve el schema poblado. No son extractos — son ilustraciones. El propósito es que la forma quede legible antes de comprometernos a migrar (o redestilar) los 14 meta-patrones existentes.

queue.lock-and-release v0.1 · layer / substrate
layer · domain
substratequeue
problem signature
"Múltiples agentes pueden tomar el mismo trabajo y duplicarlo, o un agente caído deja un trabajo bloqueado para siempre."
inputs
cola compartida con identidad por fila · agent_id estable · TTL del lock · política de heartbeat opcional
outputs
fila atomicamente asignada a un agente · liberación explícita o por timeout · log de transición de estado
composes
— ninguno · es primitivo
governance hooks
watchdog.lock-timeout · alert.repeated-contention
telemetry
duración promedio del lock · tasa de contention · timeouts por hora · % de releases explícitos vs por TTL
fit criteria
Aplica cuando: hay ≥ 2 agentes contra una sola fuente de trabajo, y duplicar tiene costo.
No aplica cuando: el trabajo es idempotente y barato, o hay un solo worker.
indietheka.album-review-pipeline v0.1 · layer / vertical
layer · domain
verticaleditorial
problem signature
"Hay que producir N reseñas semanales en español, con investigación, redacción editorial, arte de portada y publicación SEO-completa, sin que dos agentes trabajen el mismo álbum."
inputs
cola priorizada de candidatos · identidad editorial (voz, longitud, secciones) · destino de publicación · ventana de SLA semanal
outputs
draft publicado con metadata SEO completa · cover art atribuido · entrada de write-back en la cola con estado y URL final
composes
queue.lock-and-release
editorial.draft-approve-publish
seo.metadata-completion
distribution.scheduled-fanout
governance hooks
approval.editorial-voice-check · watchdog.weekly-sla
telemetry
reseñas/semana · time-from-pick-to-publish · tasa de drafts retomados · tráfico orgánico a 30/90 días
fit criteria
Aplica cuando: el cliente publica contenido editorial con cadencia regular y tiene voz definida.
No aplica cuando: la publicación es ad-hoc o no hay criterio editorial estable.
studio.workflow-audit-redesign v0.1 · layer / meta
layer · domain
metaworkflow
problem signature
"El cliente tiene un workflow operacional con fricción evidente — duplicación, esperas, errores recurrentes — pero no sabe dónde meter agentes sin romperlo o quedarse a medias."
inputs
inventario del workflow actual · pain points del operador · objetivos del cliente · constraints (legal, talento, presupuesto)
outputs
Redesign Blueprint con patrones recomendados rankeados · Agent Spec Sheet inicial · Governance Runbook draft · baseline de métricas a observar
composes
↳ patrones substrate aplicables (rankeados por matching)
↳ patrones vertical equivalentes (si el dominio del cliente coincide)
+ governance.human-in-the-loop-gate (gate de aprobación cliente)
governance hooks
approval.client-blueprint-signoff · checkpoint.stage2-to-stage3
telemetry
tiempo de Stage 1→2 · # patrones recomendados vs adoptados · % de blueprint ejecutado en Stage 3 · outcome a 90 días
fit criteria
Aplica cuando: el cliente tiene un workflow operacional vivo con métricas (aunque sean pobres) y voluntad de rediseñarlo.
No aplica cuando: el cliente quiere "agentes" como palabra de moda sin un workflow concreto que mejorar.
05Composición

Un meta-patrón es un grafo, no un párrafo.

El campo composes del schema convierte cada patrón meta o vertical en un nodo con aristas explícitas hacia sus primitivos. Eso es lo que permite, en el Nivel 2, que el matching engine no recomiende patrones aislados — recomiende composiciones, con su árbol de dependencias visible y su gobierno heredado.

— LAYER 03 · META studio.workflow-audit-redesign LAYER 02 · VERTICAL indietheka.album-review-pipeline LAYER 02 · VERTICAL transit.press-kit-assembly LAYER 01 · SUBSTRATE queue.lock-and-release LAYER 01 · SUBSTRATE editorial.draft-approve-publish LAYER 01 · SUBSTRATE seo.metadata-completion LAYER 01 · SUBSTRATE distribution.scheduled-fanout composes (Studio meta → vertical) composes (vertical → substrate)
— Lectura: Studio vende composiciones, no patrones sueltos.