ZeroQ Knowledge Map
Cómo funciona esta estructura
Esta knowledge base está organizada en secciones numeradas que cubren todo el ciclo de vida de la documentación técnica de ZeroQ:
| Carpeta | Propósito |
|---|---|
00-Governance | Reglas, convenciones de nombrado y esquema de metadatos |
01-Architecture | Servicios, infraestructura, integraciones y flujos de datos |
02-Product | Módulos, features, hooks y reglas de negocio |
03-Security | Políticas, IAM, compliance y hardening |
04-Operations | Deployments, monitoreo, incidentes y DRP |
05-Clients | Documentación específica por cliente con entorno dedicado |
06-RFP-Knowledge | Respuestas reutilizables para licitaciones |
07-Templates | Templates base para crear nuevos documentos |
08-Engineering | Flujos de desarrollo, tooling, estándares de código y onboarding |
99-Index | Este mapa y vistas agregadas |
Reglas obligatorias
- Feature no documentada = feature no terminada. Ningún feature se considera completo hasta que su documentación esté creada y aprobada.
- Cambio sin update de documentación = cambio no aprobado. Todo PR que modifique comportamiento debe incluir actualización de la doc correspondiente.
- Un servicio = un archivo. No se fragmenta la documentación de un servicio en múltiples archivos.
- No se duplica información. Las relaciones se declaran en metadatos (
related_services,depends_on), no copiando texto. - No se documenta en Slack. Si es importante, va en esta knowledge base.
- Toda integración tiene su propio archivo en
01-Architecture/Integrations/. - Todo cliente con entorno dedicado tiene su subcarpeta en
05-Clients/.
Convenciones de nombrado
| Tipo de documento | Prefijo | Ejemplo |
|---|---|---|
| Servicio | SVC- | SVC-Queue-Engine.md |
| Feature | FEAT- | FEAT-Virtual-Queue.md |
| Integración | INT- | INT-SSO-SAML.md |
| Infraestructura | INFRA- | INFRA-Kubernetes-Cluster.md |
| Política | POL- | POL-Access-Control.md |
| Procedimiento | PROC- | PROC-Incident-Response.md |
| Módulo | MOD- | MOD-Appointments.md |
| RFP | RFP- | RFP-Security-Encryption.md |
| Data Flow | DF- | DF-Ticket-Lifecycle.md |
| DRP | DRP- | DRP-Database-Failover.md |
Ver detalle completo en [[Naming-Conventions]].
Esquema de metadatos
Todos los documentos deben comenzar con frontmatter YAML. Ver esquema completo en [[Metadata-Schema]].
---
type: service | feature | infra | integration | policy | procedure | rfp | module
status: draft | approved | deprecated
owner:
review_cycle: quarterly | annual
criticality: low | medium | high | mission-critical
environment: prod | staging | shared | dedicated
deploy_target: kubernetes | docker | lambda | static # solo type: service
framework: # solo type: service
framework_version: # solo type: service
runtime: # solo type: service
runtime_version: # solo 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
---
Cómo usar los templates
Los templates están en 07-Templates/. Para crear un nuevo documento:
- Copiar el template correspondiente al tipo de documento.
- Renombrar con el prefijo correcto (ej:
SVC-MiServicio.md). - Mover a la carpeta correspondiente.
- Completar el frontmatter con los valores reales.
- Rellenar las secciones.
Templates disponibles:
[[TEMPLATE-Service]]→ para documentar servicios[[TEMPLATE-Feature]]→ para documentar features[[TEMPLATE-Integration]]→ para documentar integraciones
Cómo los agentes AI deben usar los metadatos
Los agentes AI pueden consumir esta knowledge base de forma estructurada:
- Grafo de dependencias: Recorrer
depends_onyrelated_servicespara construir el mapa completo de relaciones entre componentes. - Detección de docs desactualizadas: Comparar
last_reviewedconreview_cyclepara alertar sobre documentos vencidos. - Respuestas a licitaciones: Filtrar por
type: rfpycompliance_tagspara encontrar respuestas reutilizables. - Análisis de impacto: Dado un servicio, recorrer recursivamente
depends_onyrelated_servicespara determinar el blast radius de un cambio. - Identificación de riesgos: Cruzar
criticality: mission-criticalconstatus: draftpara encontrar componentes críticos sin documentación aprobada.
Queries Dataview útiles
Listar todos los servicios mission-critical
Dataview TABLE
TABLE status, 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.
Documentos pendientes de revisión
Dataview TABLE
TABLE type, owner, last_reviewed, review_cycle
FROM ""
WHERE status = "approved" AND last_reviewed < date(today) - dur(90 days)
SORT last_reviewed ASC
Esta query se ejecuta dinámicamente en Obsidian.
Features por módulo
Dataview TABLE
TABLE status, criticality, owner
FROM "02-Product/Features"
WHERE type = "feature"
SORT file.name ASC
Esta query se ejecuta dinámicamente en Obsidian.
Integraciones activas
Dataview TABLE
TABLE status, criticality, environment, client_specific
FROM "01-Architecture/Integrations"
WHERE type = "integration" AND status != "deprecated"
SORT criticality DESC
Esta query se ejecuta dinámicamente en Obsidian.
Documentos en estado draft
Dataview TABLE
TABLE type, owner, criticality
FROM ""
WHERE status = "draft"
SORT criticality DESC
Esta query se ejecuta dinámicamente en Obsidian.
Cómo mantener consistencia
- Revisiones periódicas: Cada documento tiene un
review_cycle. Usar la query Dataview de arriba para identificar documentos vencidos. - Ownership claro: Todo documento tiene un
owner. Si el owner cambia de equipo, reasignar. - PR reviews: Incluir verificación de documentación en el checklist de code review.
- Onboarding: Todo nuevo miembro del equipo debe leer
00-Governance/antes de contribuir. - No documentar en otro lado: Si la información es relevante, vive aquí. No en Confluence, no en Notion, no en Slack.