El frontmatter de contrato, los tres estados de una página, las reglas de coherencia con el roadmap y cómo no posponer la documentación.
Especificado. Describe la convención de
dec-0124, que está propuesto. Hasta que se bloquee, las guardas que la imponen corren en modo informe y no bloquean CI. Esta página obliga a quien escribe documentación desde el primer día.
La documentación de Styx no es un texto que se escribe al final: describe el sistema objetivo y obliga a que el código lo cumpla. Cada página declara a qué nodos, gates y decisiones está atada y en qué estado está. Un gate no puede pasar sin su documentación, y la referencia generada no puede desviarse del código.
Cada página lleva los campos de Fumadocs (title, description) más un tipo y un bloque
contract:
---
title: Invitaciones
description: Invitar a alguien a tu servidor con un enlace o un código.
kind: guia # tutorial | guia | referencia | explicacion | producto | operacion | contribuir
contract:
nodes: [track/identity] # al menos un nodo de styx.model.yml
gates: ['track/identity:I3'] # opcional: nodo:item
adrs: [dec-0118] # decisiones; una propuesta se cita igual
status: especificado # especificado | implementado | verificado
since: null # versión del tren en la que pasó a implementado
audience: [usuario, operador] # usuario | operador | desarrollador | agente
generated: null # o { source, generator, inputHash } en páginas generadas
---Una página tiene un tipo. Si mezcla tutorial y referencia, se parte.
| Estado | Significa | Condición |
|---|---|---|
especificado | Describe el comportamiento objetivo. Lo que dice obliga, aunque aún no exista | Los nodos, gates y decisiones citados existen; la página lleva el aviso «especificado» |
implementado | El comportamiento existe en un camino de producción | Algún nodo citado está en curso o terminado; hay decisión bloqueada detrás; la referencia existe |
verificado | Alguien distinto del autor lo comprobó contra el camino de producción | Todos los items de gate citados están en pass |
La coherencia es en las dos direcciones: una página verificado con un item abierto es rojo,
pero también lo es una página especificado cuando todos sus items ya pasaron. Que la
documentación se quede atrás también falla. Una página no baja de estado sin que baje lo que cita.
Una página especificado sin decisión bloqueada detrás no se puede promover a implementado: las
áreas de diseño abierto dicen «especificado — diseño pendiente de decisión» y enlazan su ticket.
especificado en el mismo cambio.docs con esas páginas./// y las descripciones de los contratos.producto/, sin una
campaña de medición que las respalde (dec-0112).apps/docs/content/docs/ y cada directorio tiene un meta.json con el
título y el orden explícito de sus páginas. Las secciones de primer nivel van con separadores.{, }, < y > van entre comillas de código o escapados.Cada página debe poder leerse en GitHub y en el editor sin construir el sitio.
Evidencia y verificación adversarial
Qué cuenta como evidencia, por qué un test verde no basta y cómo se verifica de forma independiente.
Generadores de la documentación
Qué se genera, desde qué fuente, con qué generador, qué valida cada uno, cómo se lee un rojo de bun run docs:check y cómo se añade uno nuevo.