Desde s55, los documentos acumulativos del proyecto se mantienen en markdown como fuente de edición y se publican como HTML canónico en el servidor, generados automáticamente con un script reutilizable. Este documento explica el flujo para que toda sesión futura lo siga sin improvisar.
Si esto no existe, cada Claude inventará un flujo distinto, editará HTML a mano, romperá la coherencia visual, y el patrón "se reinventan ruedas peor" (patrón 5 de COLLABORATION_NOTES) volverá a activarse.
El markdown es la fuente de verdad. El HTML se genera, no se edita.
Consecuencias prácticas:
.md..html se regenera con un script cada vez que cambia el .md..html directamente rompe el flujo — la próxima regeneración lo sobrescribe..md y .html, gana siempre el .md.lru_md_to_html.py — script Python reutilizable. Contiene:
- El design system completo del proyecto (extraído del consolidated s53)
- Conversión markdown → HTML con todas las extensiones necesarias (tablas, código, listas, tachados, notas al pie)
- Soporte para metadatos del blockquote inicial (patrón LRU)
- Preprocesado de patrones específicos del proyecto (<del>tachado</del> → <del>)
Ubicación sugerida en el repo: raíz de public/docs-app/v1/doc/ o en un directorio tools/ separado si se prefiere.
pip install markdown --break-system-packages
Sin dependencias de Node, sin toolchains adicionales. Python 3 puro.
python3 lru_md_to_html.py LRU_MISION.md
El HTML sale al directorio actual.
python3 lru_md_to_html.py \
LRU_MISION.md \
LRU_ARCHITECTURE_MAP_s55.md \
LRU_TECH_DEBT_s55.md \
lru_docs_status_s55.md \
--output-dir public/docs-app/v1/doc/
python3 lru_md_to_html.py *.md --output-dir ./html --verbose
A 18 abril 2026 (cierre s55), los documentos con versión canónica HTML generada:
| Markdown (fuente) | HTML (servidor) | Tipo |
|---|---|---|
LRU_MISION.md |
LRU_MISION.html |
Documento vivo |
LRU_ARCHITECTURE_MAP_s55.md |
LRU_ARCHITECTURE_MAP_s55.html |
Acumulativo con sufijo de sesión |
LRU_TECH_DEBT_s55.md |
LRU_TECH_DEBT_s55.html |
Acumulativo con sufijo de sesión |
lru_docs_status_s55.md |
lru_docs_status_s55.html |
Acumulativo con sufijo de sesión |
Documentos que se quedan en markdown (no se convierten) hoy por hoy:
lru_debug1_analysis_s55.md — será reemplazado por documento arquitectural definitivo tras sesión dedicada, no tiene sentido convertir ahora.lru_docs_synthesis_s55_bloques_a_b_c.md — cumplió su función; el mapa y tech debt recogen lo esencial. Queda como referencia textual.lru_handoff_s55_s56.md — documento efímero, se consume en s56.COLLABORATION_NOTES.md — convención del proyecto mantenerlo en markdown (editable fácilmente).Se convierte a HTML canónico si cumple todos estos criterios:
Documentos efímeros (handoffs, síntesis de una sesión, memorias) se quedan en markdown.
.md con un editor (VS Code, cualquiera)bash
python3 lru_md_to_html.py LRU_TECH_DEBT_s55.md --output-dir public/docs-app/v1/doc/.md como fuente, el .html como build output)Si el consolidated futuro (v2) introduce variaciones visuales:
LRU_DESIGN_SYSTEM_CSS en lru_md_to_html.pyDe este modo, una sola edición del script actualiza toda la documentación canónica de una vez.
Al empezar sesión: si vas a tocar alguno de los documentos acumulativos:
- Edita el .md
- Regenera el .html con el script
- Nunca edites el .html directamente
Si produces nuevo documento acumulativo: aplica el mismo flujo. Actualiza la tabla "Qué documentos siguen este flujo" de este documento al final de la sesión.
Si el flujo te parece mejorable: propón mejoras aquí, no cambies el script sin razón. La estabilidad del flujo es más valiosa que su perfección.
index.html sin conversores en tiempo real| Fecha | Sesión | Cambio |
|---|---|---|
| 2026-04-18 | s55 | Flujo establecido. Generador Python creado. 4 documentos convertidos. Documento creado. |
LRU Platform · Flujo documentación canónica · documento vivo · 2026-04-18
Generado desde lru_docs_workflow.md · 2026-04-18 09:06:58 UTC · LRU Platform