Adoptar Opus: de una Obra a sus expresiones
Opus lo consume, mediante dependencias de ruta, una implementación que sirve a una Obra. La adopción sigue el orden que declara el dominio: la Obra, después sus espacios, luego sus expresiones.
Una fuente, un vocabulario, todos los formatos.
Expresar la Obra en todos sus canales
Una expresión es una proyección de lo que contiene un espacio en un modo, un formato y un canal: impreso, digital, web, interactivo, recuperación. Queda aguas abajo del espacio y nunca lo redefine.
Pipeline de procesado
opus-processor extrae texto, filtra correcciones, genera ODT y compone con typst, desde la misma fuente que leen las demás expresiones.
Envío registrado
Una copia para un tercero solo sale como envío que nombra a su destinatario, sus partes con su sha256 y su propósito, anotado en un registro que solo crece.
Comprobaciones ortotipográficas
Unas comprobaciones permanentes sujetan el catálogo de la lengua a sus herramientas: cada regla de puntuación del analizador está citada y nada de lo citado es inventado.
Digests de escritura
Cada operación que reescribe una fuente registra el digest que deja, así que una migración nunca blanquea la edición de una persona.
Lo que gana la Obra
Declarar, después implementar
Antes de expresar nada, la Obra se declara en su propia configuración y se conecta al framework mediante unos pocos traits estables.
Declarar la Obra
El vocabulario de una Obra vive solo en la configuración de su consumidor, tipado en Nickel, con valores por defecto en inglés en el framework. Lo llevan cuatro lugares.
Proyecto
projectEl título y la identidad de la Obra, que leen todas las expresiones en lugar de llevarlos escritos.
Capítulos
chaptersEl término de capítulo y la estructura que declara la Obra, que las comprobaciones pueden contrastar con lo que existe de verdad.
Presentación
presentationLos pies de figura, los marcadores de recuadro y el código de lengua que decide qué reglas de la lengua se aplican a esta Obra.
Ortotipografía
composeLa Obra compone el catálogo de la lengua: puede añadir o endurecer reglas y debe elegir cada alternativa, nunca retirar una obligatoria.
Implementar los traits
El framework solo llega a la Obra mediante traits públicos. Son API estable: cuando un consumidor implementa uno, romperlo exige una versión nueva del trait.
ContentLoader
Entrega al framework cada sección como SectionContent, el único tipo en la frontera; el framework nunca va más allá.
PedagogyEngine
La costura para una Obra cuyos espacios enseñan, servida por el mismo framework MCP que todo lo demás.
EmbeddingProvider y VectorStore
Los contratos de recuperación que sostienen la búsqueda semántica local, con fastembed y tantivy como implementaciones incluidas.
McpServer<T>
Sirve una Obra a los agentes en cuanto existe su ContentLoader, sin código propio de la Obra en el servidor.
Qué capa estás tocando
El orden es del dominio, no una preferencia: un cambio en una Obra pertenece a la primera capa a la que afecta, y todo lo que queda aguas abajo se deriva de ella.
La producción de autor
El átomo del dominio: un todo coherente y de autor, declarado una vez y leído por todo lo que hay debajo.
Donde se hace la Obra
Un libro, un cuaderno de bitácora, un taller, un material educativo: cada uno con sus fuentes, su estructura, sus piezas y su estado editorial.
Cómo llega a sus lectores
Una proyección de un espacio en un modo, un formato y un canal. Aguas abajo del espacio, nunca su definición.
¿Por dónde debería empezar tu Obra?
Escribe sobre la Obra, sus espacios y los formatos a los que debe llegar; la respuesta señala la primera capa a la que afecta.