Sobre el proyecto

# Skyrim Creation Kit Agent Este repositorio contiene artefactos de investigación e ingeniería para desarrollar un agente de autoría de mods asistido por IA para *The Elder Scrolls V: Skyrim Special Edition* y *Anniversary Edition*. El proyecto se centra en metodologías con prioridad en la seguridad, convirtiendo la intención de modding de alto nivel en operaciones tipadas, reversibles y respaldadas por evidencia. ## Filosofía central El sistema opera bajo cuatro principios: 1. **La IA decide QUÉ**: el LLM/planificador determina la operación deseada. 2. **El software determinista decide CÓMO**: trabajadores tipados ejecutan las acciones. 3. **Los validadores deciden SI FUNCIONÓ**: comprobaciones automatizadas garantizan la integridad. 4. **Un humano decide SI ACEPTAR**: se requiere aprobación final antes de la aplicación. El producto objetivo es un orquestador híbrido donde la ruta principal es headless y determinista. El Creation Kit se trata como una capacidad limitada en lugar del núcleo del sistema. ## Estado actual **Investigación + Prueba de concepto sintética validada.** Esto aún no es un agente de autoría de mods de propósito general, ni automatiza actualmente el Creation Kit directamente. El veredicto actual de Gate-1 es "VIABLE CON LIMITACIONES". Aunque la mayoría de las operaciones a nivel de registro pueden plausiblemente evitar el Creation Kit, varias áreas permanecen sin resolver (p. ej., FaceGen, navmeshes, semántica compleja de misiones). ### Vocabulario de estado - `VERIFICADO`: respaldado por evidencia directa o prueba reproducible. - `PASS`: experimento ejecutado y superó las puertas definidas. - `NO VERIFICADO`: plausible pero no reproducido aquí. - `HIPOTESIS`: experimento propuesto o afirmación de diseño. - `EXPERIMENTAL`: implementado solo como experimento. - `BLOQUEADO`: no se puede proceder en el entorno disponible. - `DESCARTADO`: rechazado explícitamente. - `LEGAL_REVIEW_REQUIRED`: existe una ruta técnica, pero las implicaciones de licencia/EULA no están resueltas. ## Arquitectura La forma de producto recomendada es un **orquestador híbrido + ruta principal headless-first**: ```text Intención del usuario ↓ Normalizador de intención ↓ Planificador / LLM ↓ ModPlan tipado ↓ Motor de políticas / seguridad ↓ Enrutador de capacidades ├─ Trabajador de plugin headless ├─ Trabajador de Papyrus ├─ Validador de xEdit └─ Trabajador del Creation Kit [deshabilitado hasta verificación independiente] ↓ Espacio de trabajo candidato ↓ Validador ↓ Aprobación humana ``` El planificador no debe recibir comandos de shell arbitrarios ni primitivas de automatización de GUI. Las operaciones se enrutan a trabajadores específicos según su tipo. ## Implementación validada: POC-002 `research/poc_002/` es la primera prueba de concepto ejecutable: - Utiliza únicamente fixtures sintéticos TES4. - Implementa un parser estricto con enumeraciones de operaciones cerradas. - Impone espacios de trabajo solo para candidatos con contención de rutas. - Garantiza orquestación fail-closed y recibos sin sobrescritura. - Mantiene invariantes SHA-256 para los archivos originales. - Incluye 44 pruebas automatizadas (línea base inicial: 43; +1 regresión adversarial). Para ejecutar POC-002: ```bash cd research/poc_002 python -m compileall . python -m unittest test_suite.py -v ``` Nota: esto no prueba compatibilidad con plugins reales arbitrarios de Skyrim, el comportamiento en tiempo de ejecución del Creation Kit, xEdit, PapyrusCompiler, Mutagen ni la corrección dentro del juego. ## Interfaz de investigación Discovery Desk El repositorio conserva una pequeña aplicación de investigación Next.js + Drizzle/PostgreSQL llamada "Discovery Desk". - `src/app/`, `src/db/` y `src/lib/research/` pertenecen a esta interfaz. - **No** es el runtime del futuro agente de autoría. - El desarrollo requiere una variable de entorno `DATABASE_URL` (ver `.env.example`). El proceso de compilación falla rápido si falta la variable, pero no se necesita un servidor PostgreSQL activo para CI, ya que el pool de conexiones es perezoso. ## Reglas de seguridad - Nunca modificar la única copia de un plugin del usuario. - Los originales son entradas inmutables; las escrituras van a candidatos. - Sin comandos de shell arbitrarios en planes generados por IA. - Sin automatización de GUI por clic en coordenadas como ruta principal. - La falta de evidencia de finalización es un fallo, no un éxito. - Nunca incluir en el repositorio binarios de juegos/editores de Bethesda, plugins vanilla ni fuentes Papyrus vanilla. - El aislamiento de procesos es una frontera técnica, no una conclusión automática de licencia. ## Licencias - **Código central autoría del repositorio**: Licencia MIT. - **Mutagen / Synthesis / Spriggit**: GPL-3.0-only. Las obras combinadas requieren cumplimiento de GPL. - **xEdit**: upstream MPL-2.0. Destinado a ejecución externa, nunca incluido en el repositorio. - **CKPE**: código LGPLv3 más superposición legal/EULA del Creation Kit. Estado: `LEGAL_REVIEW_REQUIRED`. - **Creation Kit, PapyrusCompiler, activos vanilla**: componentes propietarios instalados por el usuario. Nunca redistribuidos. Los paquetes npm de terceros y las fuentes OFL tienen avisos separados. Los ZIP de investigación importados tienen procedencia sin resolver. ## Relación con Sky-Claw Este es un repositorio y una línea de investigación separados. Puede integrarse más adelante con Sky-Claw mediante un protocolo documentado, pero debe permanecer verificable de forma independiente y no asumir las interioridades de Sky-Claw como su frontera de seguridad. ## Descargo de responsabilidad Sin afiliación con Bethesda Game Studios, ZeniMax Media, Valve, Nexus Mods ni autores de herramientas de terceros.