Documentos corporativos
Los documentos corporativos suelen vivir en un punto intermedio incómodo: necesitan ser legibles y editables por personas, pero también deben ser consistentes, revisables y procesables para automatización.
STXT encaja especialmente bien cuando un “documento” es a la vez:
- contenido humano (texto),
- estructura (secciones, metadatos),
- y datos (campos, listas, estados).
Qué tipo de documentos
Ejemplos habituales:
- Actas de reunión
- Informes de estado (semanales/mensuales)
- Propuestas / RFC internos
- Políticas y procedimientos
- Postmortems (incidentes)
- Requisitos y decisiones (ADR: Architecture Decision Record, registro de decisiones de arquitectura)
Por qué STXT aquí
En entorno corporativo suelen aparecer estos problemas:
- Múltiples autores: gente no técnica y técnica editando el mismo documento.
- Plantillas: todos quieren el mismo formato, pero nadie quiere pelearse con un editor pesado.
- Revisión: comparaciones (diff) claras en Git.
- Automatización: extraer campos (estado, responsables, fechas, acciones) sin romper el texto.
- Evolución: el formato del documento cambia con el tiempo.
STXT aporta:
- Estructura explícita por indentación, fácil de escribir.
- Texto libre en bloques
>>sin “escapes” ni sintaxis extra. - Validación opcional con
@stxt.templateo@stxt.schema. - Namespaces para separar semántica por tipo de documento (
com.acme.minutes,com.acme.report, etc.).
Ejemplo 1 — Acta de reunión
Documento realista: mezcla metadatos, agenda, decisiones y acciones. El texto libre vive en bloques, y lo procesable queda como nodos.
Minutes (@com.acme.corp.minutes):
Title: Weekly sync — Platform
Date: 2026-01-09
Time: 10:00
Duration minutes: 45
Meeting id: PLAT-2026-01-09
Location: Google Meet
Confidential: false
Attendees:
Attendee: Joan Costa
Attendee: Mery Adams
Attendee: Keyla Brown
Agenda:
Item:
Title: Estado del roadmap Q1
Item:
Title: Incidencias y riesgos
Item:
Title: Decisiones pendientes
Notes >>
Resumen ejecutivo:
- Roadmap en verde, pero falta cerrar capacidad del equipo.
- Riesgo principal: dependencia de proveedor externo en el módulo X.
Observaciones:
- Se acuerda mover el despliegue del viernes al lunes.
- Se revisará el coste de la opción B.
Decisions:
Decision:
Id: DEC-0142
Title: Mover ventana de despliegue a lunes
Status: Approved
Owner: Platform Team
Rationale >>
Reducimos riesgo operativo y facilitamos soporte el lunes.
Decision:
Id: DEC-0143
Title: Congelar cambios no críticos en módulo X
Status: Proposed
Owner: Reliability
Rationale >>
Dependencia externa con variabilidad alta en tiempos de respuesta.
Action Items:
Action:
Id: ACT-0991
Title: Preparar propuesta de capacidad (Q1)
Owner: Mery Adams
Due: 2026-01-16
Status: Open
Action:
Id: ACT-0992
Title: Estimar coste opción B
Owner: Joan Costa
Due: 2026-01-14
Status: In Progress
Qué se automatiza con este documento
Con el árbol STXT puedes:
- Listar acciones abiertas y fechas de vencimiento.
- Generar un resumen para correo o chat.
- Calcular métricas: acciones por equipo, tiempos, porcentaje “done”.
- Exportar a otros formatos (por ejemplo, JSON para un dashboard).
Al mismo tiempo:
Notes >>yRationale >>mantienen texto humano sin restricciones artificiales.
Ejemplo 2 — Informe de estado
Un informe de estado es ideal para:
- “Estado” como dato validable.
- “Detalle” como texto libre.
- Riesgos y bloqueos como listas procesables.
Status Report (@com.acme.corp.status):
Period:
From: 2026-01-05
To: 2026-01-09
Project: STXT Web
Owner: Platform Docs
Status: Green
Summary >>
Avance sostenido en la documentación base y consolidación de ejemplos.
Queda trabajo en herramientas (CLI y editor online) y casos de uso.
Progress:
Item:
Title: Página de introducción
Done: true
Item:
Title: Tutorial actualizado
Done: true
Item:
Title: Especificaciones (core/schema/template)
Done: In Progress
Risks:
Risk:
Id: RSK-020
Level: Medium
Title: Falta de ejemplos de migración
Mitigation >>
Crear ejemplos de XML/YAML y explicar equivalencias.
Next:
Item: Cerrar páginas de casos de uso
Item: Publicar primera versión del parser Java
Item: Preparar repositorio de ejemplos
Validación con @stxt.template
Para evitar documentos “a medias”, un template puede asegurar estructura mínima (sin volverse demasiado verboso).
Template (@stxt.template): com.acme.corp.minutes
Description: Plantilla de actas corporativas
Structure >>
Minutes:
Title: (1)
Date: (1) DATE
Time: (?) TIME
Duration minutes: (?) NATURAL
Meeting id: (?)
Location: (?)
Confidential: (?) BOOLEAN
Attendees: (?)
Attendee: (+)
Agenda: (?)
Item: (*)
Title: (1)
Notes: (?) TEXT
Decisions: (?)
Decision: (*)
Id: (1)
Title: (1)
Status: (1) ENUM [Proposed, Approved, Rejected]
Owner: (?)
Rationale: (?) TEXT
Action Items: (?)
Action: (*)
Id: (1)
Title: (1)
Owner: (?)
Due: (?) DATE
Status: (1) ENUM [Open, In Progress, Done, Blocked]
Este template:
- Garantiza campos mínimos (por ejemplo
Title,Date). - Controla estados con
ENUM. - Permite texto libre donde toca (
TEXT). - Mantiene el documento agradable de editar (no obliga a “Node:” como en schema).
Validación con @stxt.schema
Si necesitas contratos estrictos, el schema es la forma más explícita. Es útil cuando:
- Hay múltiples productores/consumidores del documento.
- Se quiere interoperabilidad fuerte entre equipos o sistemas.
- Hay “compliance” (auditorías, controles, archivado).
Nota: el schema equivalente es más largo; normalmente se genera a partir del template.
Ventajas prácticas en empresa
- Diffs claros en Git: los cambios suelen afectar líneas concretas, no blobs.
- Menos fricción: se edita con cualquier editor de texto.
- Estandarización: template como contrato ligero para “todos escribimos igual”.
- Automatización gradual: puedes empezar sin validación, y añadirla después sin cambiar la sintaxis.
- Integración: un parser produce un árbol; de ahí puedes exportar a JSON/XML/YAML o alimentar herramientas internas.
Recomendaciones de estilo
- Usa nombres de nodos estables (“Action Items”, “Decision”, “Status”…).
- Reserva
>>para texto largo, contexto o argumentación. - Mantén cardinalidades pequeñas y explícitas en templates para evitar ambigüedad.
- Si necesitas estados, usa
ENUMcon valores acotados. - Si el documento va a vivir en Git, evita re-formateos automáticos (cambios masivos de espacios) para mantener diffs útiles.