Esquema de Metadatos Obligatorio — ZeroQ
Frontmatter YAML Requerido
Todo documento en esta knowledge base debe comenzar con el siguiente bloque YAML:
---
type: service | feature | infra | integration | policy | procedure | rfp | module
status: draft | approved | deprecated
owner: <nombre o equipo responsable>
review_cycle: quarterly | annual
criticality: low | medium | high | mission-critical
environment: prod | staging | shared | dedicated
deploy_target: kubernetes | docker | lambda | static # solo para type: service
framework: <nombre del framework> # solo para type: service
framework_version: <versión> # solo para type: service
runtime: <runtime> # solo para type: service
runtime_version: <versión> # solo para type: service
related_services: []
depends_on: []
exposes_api: true | false
uses_database: []
uses_queue: []
uses_cache: []
compliance_tags: []
client_specific: true | false
last_reviewed: YYYY-MM-DD
---
Definición de Cada Campo
type
Clasifica el documento dentro del framework. Valores permitidos:
- service: Microservicio o servicio backend/frontend independiente.
- feature: Funcionalidad de negocio dentro de un módulo.
- infra: Componente de infraestructura (cluster, base de datos, cache, etc.).
- integration: Conexión con sistema externo o entre servicios internos.
- policy: Política de seguridad, acceso o gobernanza.
- procedure: Procedimiento operativo (deploy, incident response, etc.).
- rfp: Respuesta reutilizable para licitaciones y RFPs.
- module: Módulo funcional del producto (Fila Virtual, Citas, etc.).
status
Estado actual del documento:
- draft: En construcción, no validado.
- approved: Revisado y aprobado por el owner.
- deprecated: Obsoleto, mantenido solo como referencia histórica.
owner
Persona o equipo responsable de mantener este documento actualizado. Ejemplo: "Platform Team", "Security Lead", "Juan Pérez".
review_cycle
Frecuencia de revisión obligatoria:
- quarterly: Cada 3 meses (servicios, features, integraciones).
- annual: Cada 12 meses (políticas, compliance).
criticality
Nivel de criticidad para el negocio:
- low: No impacta operaciones core.
- medium: Impacta funcionalidades secundarias.
- high: Impacta funcionalidades primarias del producto.
- mission-critical: Si falla, el negocio se detiene.
environment
Entorno donde opera o aplica:
- prod: Producción.
- staging: Pre-producción / QA.
- shared: Aplica a todos los entornos (políticas, estándares).
- dedicated: Entorno exclusivo de un cliente.
deploy_target
Solo aplica para documentos con
type: service.
Destino de despliegue del servicio:
- kubernetes: Desplegado en cluster Kubernetes (Helm/manifests).
- docker: Desplegado con Docker/Docker Compose sin orquestación k8s (ej: totems).
- lambda: Función serverless (AWS Lambda, Cloud Functions).
- static: Sitio estático desplegado en CDN (Vercel, Netlify, S3).
framework
Solo aplica para documentos con
type: service.
Framework principal del servicio. Ejemplo: "Express.js", "NestJS", "Next.js", "Spring Boot".
framework_version
Solo aplica para documentos con
type: service.
Versión del framework. Ejemplo: "4.17.1", "14.2.0".
runtime
Solo aplica para documentos con
type: service.
Runtime de ejecución. Ejemplo: "Node.js", "Python", "Java", "Go".
runtime_version
Solo aplica para documentos con
type: service.
Versión del runtime. Ejemplo: "20", "3.12", "21".
related_services
Lista de servicios relacionados usando wikilinks:
related_services:
- "[[SVC-Queue-Engine]]"
- "[[SVC-Notification-Service]]"
depends_on
Dependencias técnicas directas del componente:
depends_on:
- "[[INFRA-PostgreSQL]]"
- "[[INFRA-Redis]]"
- "[[SVC-Auth-Service]]"
exposes_api
Indica si el componente expone endpoints REST/GraphQL/WebSocket consumibles por otros servicios o clientes.
uses_database
Bases de datos que utiliza:
uses_database:
- "[[INFRA-PostgreSQL]]"
- "[[INFRA-MongoDB]]"
uses_queue
Colas de mensajería que utiliza:
uses_queue:
- "[[INFRA-RabbitMQ]]"
uses_cache
Sistemas de cache que utiliza:
uses_cache:
- "[[INFRA-Redis]]"
compliance_tags
Tags de cumplimiento normativo aplicables:
compliance_tags:
- ISO-27001
- SOC2
- GDPR
- PCI-DSS
client_specific
true si el documento aplica exclusivamente a un cliente con entorno dedicado. false si es genérico para la plataforma.
last_reviewed
Fecha de última revisión en formato YYYY-MM-DD.
Validación por Agentes AI
Los agentes AI pueden consumir estos metadatos para:
- Construir grafos de dependencia entre servicios.
- Detectar documentación desactualizada comparando
last_reviewedcon el ciclo de revisión. - Responder preguntas de licitación filtrando por
type: rfpycompliance_tags. - Análisis de impacto recorriendo
depends_onyrelated_servicesrecursivamente. - Identificar riesgos cruzando
criticality: mission-criticalconstatus: draft.
Ejemplo de Query Dataview
TABLE status, criticality, owner, last_reviewed
FROM "01-Architecture/Services"
WHERE type = "service" AND criticality = "mission-critical"
SORT last_reviewed ASC
Esta query se ejecuta dinámicamente en Obsidian.