R2: git = source de vérité — src/nodes/ + build/extract intégrés au push

- src/nodes/*.js (6 nodes + template snapshot) = source de vérité unique.
- n8n-push.mjs reconstruit le JSON depuis src/ avant syntaxe+golden+PUT
  (src gagne toujours; n8n-extract.mjs pour resynchroniser si édition UI).
- n8n-build.mjs --check pour vérifier la synchro.
- Copies historiques déplacées dans archive/ (mortes, dérivées de la prod).
- .gitignore: backups locaux de rollback.
- AGENTS.md: règle R2 pour toutes les futures sessions (dont Qwen local).
- Validé: idempotence, mutation/restauration, pipeline push complet en réel.
This commit is contained in:
Tallagrand Thierry
2026-08-07 21:03:52 +02:00
parent b10c90c74f
commit 1ae8129658
78 changed files with 5132 additions and 0 deletions

View File

@@ -25,6 +25,20 @@
## 📂 LIRE UN WORKFLOW n8n (méthode obligatoire)
### ⭐ R2 (07/08/2026) — SOURCE DE VÉRITÉ = src/nodes/
Le code des nodes du workflow EVCS V2.6 vit dans **`src/nodes/*.js`**
(+ `HA_SNAPSHOT_TEMPLATE.json.tpl`). RÈGLES :
- Pour MODIFIER un node : éditer `src/nodes/<NODE>.js`, puis
`node tools/n8n-push.mjs workflows/evcs-surplus-controller-v2.6.json`
(build src→JSON + syntaxe + suite golden 19 scénarios + backup + PUT, tout automatique).
- Pour LIRE un node : lire `src/nodes/<NODE>.js` directement (PAS le MCP, pas le JSON).
- JAMAIS éditer le JSON du workflow ni l'UI n8n directement : le prochain push
écrase avec src/. (Si ça arrive quand même : `node tools/n8n-extract.mjs` resynchronise.)
- Tests : `node tests/golden/run.mjs` (19 scénarios figés). Toute évolution voulue
du comportement → mettre à jour `tests/golden/scenarios.mjs` dans le même commit.
- Les dossiers `archive/` (ex decoupesurplus/, WINDOWS/, BATTERY/...) sont des
copies mortes : NE PLUS UTILISER.
Le MCP `n8n-mcp_get_workflow` renvoie le workflow ENTIER (~357K, trop gros
pour le contexte). opencode l'écrit alors dans un fichier
`~/.local/share/opencode/tool-output/tool_*` et te le tronque.