Also written: caaat-harness, ca&at-harness, .c&at-harness, c@t-harness
Please be introduced to a cat who acquires things, for whatever purpose — maybe somebody knows.
Scope: the platform — skills, schemas, processes, the MCP server and the pipeline. Not what a folio IS (that is folio-assist-core), and not any folio’s own content, which lives in its own repository.
The graph an agent reads before it knows what this repository is.
Scope: phase one of two, and valid with NOTHING installed — no skills, no knowledge graph, no MCP, no work-plan store. One process here is the place to start. Everything else is composed on top of it, and nothing here may import from the layer above.
bootstrap, in the sourceOne process here is the place to start: processes/initialize-harness.bpmn.
Un marco de habilidades de agente independiente del contenido para la autoría de
contenido riguroso con un modelo de lenguaje grande — artículos científicos y
libros, Directrices SMART de la OMS y Guías de Implementación FHIR —
respaldado por un servidor MCP, control de acceso basado en roles y un modelo
de objetos de contenido tipado.
smart-trust: declares 1 graph(s) with no published viewer — ig-ast. Declared and not rendered is a gap, not a dead link.
smart-trust: 2 graph(s) hold materialized content and are READ-ONLY — fhir-artifact-index, openapi. Readable, not editable here: copy one out to your own folio/ to work on it. Separate from whether a viewer is published.
smart-immunizations: a viewer is published at /en/cat-harness/code/smart-immunizations/ by cat-harness’s code visualiser, which covers none of this instance’s directories. Declare one it covers and the tile links it.
smart-immunizations: has no docs/ of its own, so the tile opens its section of the landing (/#harness-smart-immunizations) rather than the instance’s own themed root.
The WHO SMART Guidelines base layer — the ingested WHO digital-health corpus, the methodologies read out of it, and the editorial voices derived from it.
smart-base: declares 1 graph(s) with no published viewer — themes. Declared and not rendered is a gap, not a dead link.
smart-base: 1 graph(s) hold materialized content and are READ-ONLY — fhir-artifact-index. Readable, not editable here: copy one out to your own folio/ to work on it. Separate from whether a viewer is published.
smart-base: a viewer is published at /en/cat-harness/attestations/smart-base/ by cat-harness’s attestations visualiser, which covers none of this instance’s directories. Declare one it covers and the tile links it.
who-iris: declares 1 graph(s) with no published viewer — themes. Declared and not rendered is a gap, not a dead link.
who-iris: 1 graph(s) hold materialized content and are READ-ONLY — catalogue. Readable, not editable here: copy one out to your own folio/ to work on it. Separate from whether a viewer is published.
Scientific source material used by folios that formalise mathematics, and the methodologies for formalising it in Lean that this layer adopts from that material.
folio-assistant-sci: 1 graph(s) render no viewer — lean — under a declared coverage.exempt.visualiser. Not a gap: This directory holds a Lean TEMPLATE, not a Lake package: there is nothing for doc-gen4 to elaborate, so there is no render to show. The visualiser the kind provides — the doc-gen4 render wrapped in the harness rail — belongs to a folio’s lean directory, where a package is built; README.md here documents how a folio declares it.
folio-assistant-sci: a viewer is published at /en/cat-harness/scenarios/folio-assistant-sci/ by cat-harness’s scenarios visualiser, which covers none of this instance’s directories. Declare one it covers and the tile links it.
The bare FHIR IG pipeline — SUSHI, the IG Publisher, Jekyll assembly and publication — with no WHO, DAK or SMART assumption. What a non-WHO implementation guide instantiates.
fhir-harness: a viewer is published at /en/cat-harness/schemas/fhir-harness/ by cat-harness’s schemas visualiser, which covers none of this instance’s directories. Declare one it covers and the tile links it.
fhir-harness: a viewer is published at /en/cat-harness/scenarios/fhir-harness/ by cat-harness’s scenarios visualiser, which covers none of this instance’s directories. Declare one it covers and the tile links it.
folio-assistant-core: a viewer is published at /en/cat-harness/uploads/folio-assistant-core/ by cat-harness’s uploads visualiser, which covers none of this instance’s directories. Declare one it covers and the tile links it.
folio-assistant-core: a viewer is published at /en/cat-harness/attestations/folio-assistant-core/ by cat-harness’s attestations visualiser, which covers none of this instance’s directories. Declare one it covers and the tile links it.
folio-assistant-core: a viewer is published at /en/cat-harness/scenarios/folio-assistant-core/ by cat-harness’s scenarios visualiser, which covers none of this instance’s directories. Declare one it covers and the tile links it.
folio-assistant-core: a viewer is published at /en/cat-harness/policies/folio-assistant-core/ by cat-harness’s policies visualiser, which covers none of this instance’s directories. Declare one it covers and the tile links it.
What implements the harness’s Tool definitions: the MCP servers, their tool registrars and routes. Definitions stay in cat-harness; this layer runs them.
cat-harness-tools: a viewer is published at /en/cat-harness/qa/cat-harness-tools/ by cat-harness’s qa visualiser, which covers none of this instance’s directories. Declare one it covers and the tile links it.
cat-harness-tools: has no docs/ of its own, so the tile opens its section of the landing (/#harness-cat-harness-tools) rather than the instance’s own themed root.
cat-harness: a viewer is published at /en/cat-harness/qa/cat-harness/ by cat-harness’s qa visualiser, which covers none of this instance’s directories. Declare one it covers and the tile links it.
The Zod source of bootstrap’s schemas, the generators that write bootstrap’s JSON Schemas, schema page and READMEs, and the checks bootstrap’s content must pass — runnable by an agent, with zod, liquidjs, Playwright and bpmn-js as its dependencies.
bootstrap-tools: declares 1 graph(s) with no published viewer — skills. Declared and not rendered is a gap, not a dead link.
bootstrap-tools: has no docs/ of its own, so the tile opens its section of the landing (/#harness-bootstrap-tools) rather than the instance’s own themed root.
bootstrap: 2 graph(s) render no viewer — models, skills — under a declared renderExemption. Not a gap: it owes Its own Knowledge Graph, written out as .jsonld with a .json copy and published at <base>/bootstrap/bootstrap.jsonld, the exact address its @id names. Governed by skills/bootstrap-graph-emission.md and skills/bootstrap-graph-publication.md.
bootstrap: has no docs/ of its own, so the tile opens its section of the landing (/#harness-bootstrap) rather than the instance’s own themed root.
Cuatro cosas, en orden
1. El plan de trabajo es donde dices lo que estás haciendo.
No un mensaje de chat, no un comentario: beans, un almacén versionado que cualquier sesión o agente puede leer. Reclama antes de trabajar para que una sesión hermana no tome el mismo elemento; un bean que resulta no ser necesario se marca scrapped, con sus razones, y nunca se elimina.
cat-harness/scripts/install-beans.sh &&export PATH="$HOME/.local/bin:$PATH"
beans list # lo que está abierto
beans create "<title>"# …tras comprobar que el título no existe
beans <id>--statusin-progress# reclamarlo, de forma visible
2. Crea tu primer folio. Este repositorio es la plataforma; tu contenido vive en el suyo propio. Un solo comando lo prepara — los manifiestos, la declaración, los archivos del agente y el enlace de vuelta aquí:
bun run cat init-folio --help
Después, Primeros pasos acompaña el primer bloque por la validación, el renderizado y la revisión.
3. Conoce qué tipo de cosa estás escribiendo. Un documento es prosa estructurada; un artículo (paper) es eso más los tipos de bloque cuya aserción es una afirmación formal, respaldada por Lean y compuesta con LaTeX. La elección decide qué bloques son válidos y qué controles se ejecutan: Tipos de contenido.
4. La documentación que nunca leerás.Toda ella — las guías de autoría, la arquitectura, el flujo de publicación, la referencia generada de esquemas y habilidades. Está aquí, es exhaustiva, y lo honesto es esperar que llegues a ella desde un buscador en el momento exacto en que algo se rompa. Es una buena forma de usarla. Los tres pasos de arriba son los que vale la pena leer ahora.
Cuando lo que te desconcierta es la maquinaria y no la autoría — quién hace qué cosa, en qué proceso, con qué habilidad — empieza por La plataforma. Una sola frase allí sostiene todo el modelo, y cada palabra en ella es un objeto declarado por separado.
¿Qué es folio-assistant?
folio-assistant es la plataforma — no contiene contenido. Proporciona
las habilidades, los esquemas, las herramientas y un servidor MCP (Model Context
Protocol) que un agente impulsado por LLM utiliza para planificar, redactar, validar,
revisar, probar y publicar un folio de contenido que reside en un repositorio independiente.
Separación de responsabilidades. Esta documentación describe el formalismo del
marco de trabajo y cómo usar folio-assistant — mantenido deliberadamente separado
de cualquier contenido específico. Cuando aparece contenido en estas páginas, es
puramente ilustrativo (un ejemplo), nunca el artefacto canónico.
flowchart LR
A[Autor + LLM] -->|chat / herramientas MCP| B(folio-assistant)
B --> C{Adaptador de contenido}
C -->|artículo| D[Repositorio Lean + LaTeX]
C -->|WHO SMART DAK| E[L2 BPMN / DMN / Excel]
C -->|WHO SMART IG| F[L3 FHIR / FSH]
B --> G[Habilidades + Esquemas + RBAC]
D & E & F --> H[Sitio publicado / PDF / IG]
Tipos de contenido admitidos
folio-assistant es extensible — cada tipo de contenido es gestionado por un
adaptador de contenido y un paquete de habilidades correspondiente. Los tipos admitidos actualmente:
El paquete transversal content-lifecycle
(planificar → redactar → validar → revisar → probar → publicar → retroalimentación → retirar)
se aplica a cada tipo de contenido. El
flujo de publicación lo modela adecuadamente — como
carriles BPMN, con los roles, la puerta de validación HCI y el plan de trabajo compartido.
A dónde ir a continuación
Instalación — requisitos previos, clonación, bun install, verificación de capacidades.
Primeros pasos — conecta el servidor MCP a tu LLM y ejecuta tu primera habilidad.
Flujo de publicación — diagramas de carriles BPMN de los procesos de edición y publicación: la puerta de validación de HCI, quién revisa qué y el plan de trabajo compartido.
Incorporación del agente — orientación para un agente LLM situado en un folio: primeros pasos, búsqueda de habilidades, el modelo de objetos de contenido, sidecars de QA.
Habilidades y roles — cada habilidad y rol, y cómo interactúan junto con el LLM.
Arquitectura — adaptadores, servidor MCP, RBAC, el modelo de bloques.
El grafo de conocimiento — la taxonomía de subgrafos, en qué sentido van las referencias y cómo dividen el trabajo los repositorios.
The Harness — la instanciación, el recorrido de dependencias y a qué obliga incorporar un directorio al arnés.
Vale la pena leer dos habilidades antes que las páginas anteriores, porque todo lo demás
las asume: getting-started
enruta lo que realmente estás intentando hacer, y
placement determina a dónde
pertenece un nuevo nodo antes de crearlo.
Mapa de la documentación
flowchart TD
Home[Inicio] --> Install[Instalación]
Home --> GS[Primeros pasos]
Install --> GS
GS --> Tut[Tutorial: redactar un artículo]
GS --> CT[Tipos de contenido]
CT --> Skills[Habilidades y roles]
CT --> WF["Flujo de publicación<br/>carriles BPMN"]
CT --> Guides[Guías de autoría]
Guides --> Paper[Artículos: Lean + LaTeX]
Guides --> DAK[WHO SMART DAK / L2]
Guides --> IG[WHO SMART IG / L3 FHIR]
Guides --> New[Añadir un tipo de contenido]
Skills --> Ref[Referencia de esquemas de habilidades]
CT --> Ref
Ref --> API[Referencia de la API de TypeScript]
Home --> Arch[Arquitectura]
click Skills "skills.html" "Habilidades y roles"
click WF "publication-workflow.html" "Flujo de publicación (BPMN)"
click Install "installation.html" "Instalación"
click GS "getting-started.html" "Primeros pasos"
click Tut "guides/writing-a-paper.html" "Tutorial: redactar un artículo"
click CT "content-types.html" "Tipos de contenido"
click Guides "guides/" "Guías de autoría"
click Paper "guides/writing-a-paper.html" "Artículos: Lean + LaTeX"
click DAK "guides/who-smart-dak.html" "WHO SMART DAK (L2)"
click IG "guides/who-smart-ig.html" "WHO SMART IG (L3 FHIR)"
click New "guides/new-content-type.html" "Añadir un tipo de contenido"
click Ref "reference/skills/" "Referencia de esquemas de habilidades"
click API "api/" "Referencia de la API de TypeScript"
click Arch "architecture.html" "Arquitectura"
Los nodos del mapa son clicables en el sitio de documentación.