MOM (MetsuOS Methodology) 🟡③
- El Proyecto
- Especificación e Implementación Técnica MOM (MetsuOS Methodology) 🔴②
- Tratado Técnico Estratégico sobre Soberanía Digital, Autonomía Crítica y Contetención Metodológica 🟡③
Capa: Sistema de Especificación y Metodología de Desarrollo
Propósito: Garantizar el control férreo, trazabilidad y contención de IA mediante especificación atómica bajo la norma ESA PSS-05.
Herramientas Core: Python 3.11+, Poetry, Pydantic, JSON atómicos, Jinja2 CLI.
1. Filosofía MOM: Desarrollo A Prueba de IA
La inteligencia artificial falla en proyectos de software cuando dispone de demasiada libertad de código y escaso contexto de las reglas/límites.
MOM resuelve esto aplicando la metodología ESA (European Space Agency Software Engineering Standards) llevada a la atomización extrema:
- Ningún código o componente se escribe sin una trazabilidad previa e inmutable.
- Cada requerimiento o arquitectura está troceado en unidades mínimas independientes (ficheros JSON atómicos).
- La IA no "decide" la estructura global: solo ejecuta o refactoriza dentro de los límites estrictos marcados por los esquemas JSON.
2. Flujo de Trazabilidad ESA (PSS-05)
MOM implementa una cascada estricta de documentos spec mediante el patrón de parentesco id / parent_ids / child_ids:
flowchart TD
URD["URD - User Requirements Document"] --> SRD["SRD - Software Requirements Document"]
SRD --> ADD["ADD - Architectural Design Document"]
ADD --> DDD["DDD - Detailed Design Document"]Reglas de Trazabilidad
- Todo elemento
SRDdebe apuntar como mínimo a unURDpadre. - Todo elemento
ADDdefine componentes de arquitectura trazados hacia unSRD. - Todo elemento
DDDdefine funciones/clases específicas trazadas hacia unADD. - Si la IA sugiere un cambio en el código (
DDD), MOM verifica automáticamente que no rompa el contrato de los padres (ADD,SRD,URD).
3. Estructura de Proyecto, Persistencia Atómica y Entregables
MOM organiza las especificaciones en doc/src/ mediante un archivo JSON por cada ítem. El compilador de MOM genera dos formas complementarias de navegación:
- Documentación Consolidada (
doc/*.md): Lectura lineal y formal por fases ESA. - Vault Navegable (
vault/): Estructura hipervinculada interactiva para Obsidian.
| Nivel 1 (Raíz) | Nivel 2 (Directorio) | Nivel 3 (Ficheros / Contenido) | Descripción del Elemento |
|---|---|---|---|
doc/ | src/ | urd/*.json, srd/*.json, ... | Fuente de la verdad atómica en formato JSON. |
src/ | templates/ | Plantillas Jinja2 para renderizado de especificaciones. | |
(raíz doc) | URD.md, SRD.md, ADD.md, DDD.md | Archivos Markdown consolidados por fase ESA. | |
vault/ | URD/ | URD-XXX.md | Notas individuales con Wikilinks <a class='internal' href='../publicbrain/srd-xxx.html'>SRD XXX</a>. |
SRD/ | SRD-XXX.md | Notas con Wikilinks <a class='internal' href='../publicbrain/urd-xxx.html'>URD XXX</a> y <a class='internal' href='../publicbrain/add-xxx.html'>ADD XXX</a>. | |
ADD/ | ADD-XXX.md | Notas de diseño arquitectónico entrelazadas. | |
DDD/ | DDD-XXX.md | Hojas finales de diseño detallado. | |
mom/ | (código) | cli.py, crud.py, compiler.py | Motor en Python para gestión CRUD y compilación. |
pyproject.toml | - | - | Configuración de entorno y dependencias Poetry. |
4. Esquema Atómico Estándar (JSON)
Cualquier especificación en MOM sigue la siguiente estructura validada por Pydantic:
{
"id": "SRD-001",
"phase": "srd",
"title": "Mecanismo de Tres Colas por Comando en MIS",
"description": "Todo comando invocado en MIS debe depositarse en una cola RT, Normal o Low, bloqueando la ejecución del script invocador hasta que un daemon devuelva el control.",
"parent_ids": ["URD-001"],
"child_ids": ["ADD-SCHEDULER"],
"attributes": {
"priority": "CRITICAL",
"verification_method": "UNIT_TEST",
"status": "APPROVED"
},
"metadata": {
"author": "Metsuke",
"ai_guardrails": "Prohibido ejecutar subprocesos directos del SO anfitrión fuera del gestor de colas."
}
}
5. El Compilador MOM y Generación de Entregables
El motor compilador en Python realiza dos tareas fundamentales:
- Compilación Lineal (
doc/*.md): Lee todos los JSONs de cada fase endoc/src/{fase}/, verifica su integridad y compila un documento único por fase directamente en la raíz de/doc. - Generación del Vault (
vault/): Crea una nota individual.mdpor cada ítem JSON dentro de la carpetavault/, convirtiendo las relacionesparent_idsychild_idsen enlaces nativos tipo Wikilink (<a class='internal' href='../publicbrain/id.html'>ID</a>) y añadiendo metadatos Frontmatter en YAML para visualización y análisis de grafo en Obsidian.
6. Bibliografía y Referencias
- ESA Board for Software Standardisation and Control (BSSC) (1991): ESA Software Engineering Standards (PSS-05-0 Issue 2). European Space Agency. 🟡③🌐 .- Estándar normativo para el desarrollo de software y trazabilidad formal de requisitos. Documento PSS-05-0 Issue 2 (febrero 1991) que define el ciclo de vida, prácticas obligatorias, requisitos, diseño y aseguramiento de calidad para software entregable de la ESA.
- Metsuke (2026): Novedades MOS / Definición de MOM (MetsuOS Methodology). 🟡③🌐 .- Formulación del marco metodológico de atomización estricta y trazabilidad para contención de agentes de IA. Anuncio conceptual de MOM (MetsuOS Methodology) inspirado en estándares ESA para desarrollo trazable de MetsuOS y sistemas relacionados.
- Martin, R. C. (2017): Clean Architecture: A Craftsman's Guide to Software Structure and Design. Prentice Hall. 🟡③🌐 .- Principios de diseño de fronteras e inmutabilidad de componentes. Libro que presenta reglas de arquitectura de software, principios SOLID, capas, fronteras y prácticas para diseños mantenibles y profesionales.
- Pydantic Documentation: Data validation using Python type hints. 🟡③🌐 .- Referencia técnica para la validación del esquema atómico JSON en MOM. Documentación oficial de la biblioteca Pydantic para validación de datos basada en type hints de Python, incluyendo modelos, modos estricto/lax y generación de JSON Schema.
- Información IA: Generado asistido por IA (Gemini para articular documento en torno a conversaciones e investigacion previas.). Supervisado por Humano.
- Ultima Modificación: 2026-10-14 18:26:41.785000+00:00
- Versión Documento: 0.2.6
