# spec.empower.sh > Moteur de spécifications de processus métier. Un corpus de fichiers YAML décrit un > processus ; le moteur le valide, en dérive les schémas, le processus détaillé et les > tests. Cette page EST le moteur : elle l'exécute dans le navigateur, sur des fichiers > qui restent sur le disque de l'utilisateur. Rien n'est téléversé, il n'y a pas de > serveur applicatif ni d'API. ## Si tu es un agent qui doit modifier un corpus Tu n'appelles pas ce site. Tu **modifies les fichiers `.yaml` sur le disque**, et tu lis le verdict dans un fichier local. 1. L'utilisateur ouvre dans Chrome ou Edge et y charge son dossier une fois (bouton « Ouvrir un dossier… »). L'onglet reste ouvert. 2. L'onglet relit le dossier toutes les 2,5 secondes. À chaque changement il revalide tout, puis écrit dans ce même dossier : - `.spec-rapport.json` — le verdict complet, c'est CE FICHIER que tu lis ; - les `.svg`, `PROCESSUS-DETAILLE.html`, les récits de test et le Gherkin, régénérés. 3. Ta boucle : modifier un `.yaml` → attendre deux secondes → relire `.spec-rapport.json` → recommencer tant que `"sain"` n'est pas `true`. Si `.spec-rapport.json` n'existe pas ou ne change plus, l'onglet est fermé : demande à l'utilisateur de le rouvrir et d'y recharger le dossier. **Les consignes complètes — types de documents, règles que le gate impose, comment écrire un test, ce que tu ne dois pas faire — sont ici :** ## Forme du rapport ```json { "moteur": "f930058b8caa", "sain": false, "nombre_de_violations": 1, "violations": [{"fichier": "AT-X.yaml", "message": "…"}], "fichiers": [{"fichier": "PU-X.yaml", "type": "parcours", "sain": true, "violations": []}], "bifurcations_non_couvertes": ["…"], "fichiers_generes": ["…"] } ``` `type` vaut `parcours`, `flux`, `regles`, `acceptation` ou `comportements`. ## Ce que sert ce domaine - `/AGENTS.md` — les consignes destinées à un agent. **À lire en premier.** - `/index.html` — l'éditeur, qui est aussi le moteur (Pyodide, exécution locale). - `/manifest.json` — la version publiée et le sha256 de chaque module. - `/spec.py` — le même moteur en ligne de commande, pour un poste ou une CI disposant de Python et de `pyyaml` + `pydantic`. Un agent n'en a pas besoin. - `/contract.py`, `/resolver.py` — le modèle et la validation ; le reste sont des rendus. ## Ce que ce site n'est pas Il n'y a **pas d'API** : aucun POST n'est accepté, rien ne s'exécute côté serveur. C'est un hébergement statique. Toute la validation a lieu dans le navigateur de l'utilisateur ou dans `spec.py`. Les fichiers de spécification ne quittent jamais son poste.