À propos du projet
# Skyrim Creation Kit Agent
Ce dépôt contient des artefacts de recherche et d'ingénierie pour le développement d'un agent d'écriture de mods assisté par IA pour *The Elder Scrolls V: Skyrim Special Edition* et *Anniversary Edition*. Le projet se concentre sur des méthodologies axées sur la sécurité, convertissant une intention de modding de haut niveau en opérations typées, réversibles et étayées par des preuves.
## Philosophie centrale
Le système fonctionne selon quatre principes :
1. **L'IA décide QUOI** : le LLM/planificateur détermine l'opération souhaitée.
2. **Un logiciel déterministe décide COMMENT** : des workers typés exécutent les actions.
3. **Les validateurs décident SI CELA A FONCTIONNÉ** : des contrôles automatisés garantissent l'intégrité.
4. **Un humain décide SI CELA DOIT ÊTRE ACCEPTÉ** : une approbation finale est requise avant application.
Le produit cible est un orchestrateur hybride dont le chemin principal est headless et déterministe. Le Creation Kit est traité comme une capacité étroite plutôt que comme le cœur du système.
## Statut actuel
**Recherche + preuve de concept synthétique validée.**
Ce n'est pas encore un agent généraliste d'écriture de mods, et il n'automatise pas non plus directement le Creation Kit actuellement. Le verdict actuel de la Gate-1 est « VIABLE WITH LIMITATIONS ». Bien que la plupart des opérations au niveau des enregistrements puissent plausiblement éviter le Creation Kit, plusieurs domaines restent non résolus (par exemple, FaceGen, navmeshes, sémantique complexe des quêtes).
### Vocabulaire de statut
- `VERIFICADO` : soutenu par une preuve directe ou un test reproductible.
- `PASS` : expérience exécutée et réussie selon les gates définies.
- `NO VERIFICADO` : plausible mais non reproduit ici.
- `HIPOTESIS` : expérience ou affirmation de conception proposée.
- `EXPERIMENTAL` : implémenté uniquement comme expérience.
- `BLOQUEADO` : impossible de poursuivre dans l'environnement disponible.
- `DESCARTADO` : explicitement rejeté.
- `LEGAL_REVIEW_REQUIRED` : le chemin technique existe, mais les implications de licence/EULA ne sont pas résolues.
## Architecture
La forme de produit recommandée est un **orchestrateur hybride + chemin principal headless-first** :
```text
Intention utilisateur
↓
Normaliseur d'intention
↓
Planificateur / LLM
↓
ModPlan typé
↓
Moteur de politique / sécurité
↓
Routeur de capacités
├─ Worker de plugin headless
├─ Worker Papyrus
├─ Validateur xEdit
└─ Worker Creation Kit [désactivé jusqu'à vérification indépendante]
↓
Espace de travail candidat
↓
Validateur
↓
Approbation humaine
```
Le planificateur ne doit pas recevoir de commandes shell arbitraires ni de primitives d'automatisation GUI. Les opérations sont routées vers des workers spécifiques selon leur type.
## Implémentation validée : POC-002
`research/poc_002/` est la première preuve de concept exécutable :
- Utilise uniquement des fixtures TES4 synthétiques.
- Implémente un parseur strict avec des enums d'opérations fermés.
- Impose des espaces de travail candidats uniquement avec confinement des chemins.
- Garantit une orchestration fail-closed et des reçus sans écrasement.
- Maintient des invariants SHA-256 pour les fichiers originaux.
- Inclut 44 tests automatisés (base initiale : 43 ; +1 régression adversariale).
Pour exécuter POC-002 :
```bash
cd research/poc_002
python -m compileall .
python -m unittest test_suite.py -v
```
Remarque : cela ne prouve pas la compatibilité avec des plugins Skyrim réels arbitraires, le comportement d'exécution du Creation Kit, xEdit, PapyrusCompiler, Mutagen, ni la correction en jeu.
## Interface de recherche Discovery Desk
Le dépôt conserve une petite application de recherche Next.js + Drizzle/PostgreSQL appelée « Discovery Desk ».
- `src/app/`, `src/db/` et `src/lib/research/` appartiennent à cette interface.
- Ce n'est **pas** le runtime du futur agent d'écriture de mods.
- Le développement nécessite une variable d'environnement `DATABASE_URL` (voir `.env.example`). Le processus de build échoue rapidement si la variable est absente, mais aucun serveur PostgreSQL actif n'est nécessaire pour la CI car le pool de connexions est paresseux.
## Règles de sécurité
- Ne jamais modifier la seule copie d'un plugin d'un utilisateur.
- Les originaux sont des entrées immuables ; les écritures vont vers des candidats.
- Aucune commande shell arbitraire dans les plans générés par l'IA.
- Aucune automatisation GUI par clic de coordonnées comme chemin principal.
- L'absence de preuve d'achèvement est un échec, pas un succès.
- Ne jamais committer les binaires de jeu/éditeur Bethesda, les plugins vanilla ou les sources Papyrus vanilla.
- L'isolation des processus est une frontière technique, pas une conclusion automatique en matière de licence.
## Licences
- **Code principal rédigé dans le dépôt** : licence MIT.
- **Mutagen / Synthesis / Spriggit** : GPL-3.0-only. Les œuvres combinées nécessitent la conformité GPL.
- **xEdit** : amont MPL-2.0. Destiné à une exécution externe, jamais vendu avec le dépôt.
- **CKPE** : code LGPLv3 plus superposition EULA/legal du Creation Kit. Statut : `LEGAL_REVIEW_REQUIRED`.
- **Creation Kit, PapyrusCompiler, assets vanilla** : composants propriétaires installés par l'utilisateur. Jamais redistribués.
Les paquets npm tiers et les polices OFL ont des notices séparées. Les ZIP de recherche importés ont une provenance non résolue.
## Relation avec Sky-Claw
Il s'agit d'un dépôt et d'une piste de recherche séparés. Il pourra plus tard s'intégrer à Sky-Claw via un protocole documenté, mais doit rester testable indépendamment et ne pas présumer des internes de Sky-Claw comme frontière de sécurité.
## Avertissement
Sans affiliation avec Bethesda Game Studios, ZeniMax Media, Valve, Nexus Mods ou les auteurs d'outils tiers.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.