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:
37
HANDOFF.md
37
HANDOFF.md
@@ -625,3 +625,40 @@ Effets quand vehicleChargeCompleted :
|
||||
3. Batterie sous cible matin (35 été) : EDF maintenu + recharge ACM jusqu'à cible
|
||||
4. 07:24 : fin de fenêtre → retour profil jour
|
||||
|
||||
## 15. Session du 07/08/2026 (soir) — R2 : Git = source de vérité du code des nodes
|
||||
|
||||
### Nouveau layout
|
||||
- **`src/nodes/`** = SOURCE DE VÉRITÉ : INPUT_PARSE.js, WINDOWS_SOURCEV2.js,
|
||||
BATTERY_CLOUD_LOCKS.js, DECISION_ENGINEV2.js, HA_SERVICE_CALLS_OUTPUT.js,
|
||||
BUILD_ACTIONS.js, HA_SNAPSHOT_TEMPLATE.json.tpl.
|
||||
- `workflows/evcs-surplus-controller-v2.6.json` = artefact déployable, reconstruit
|
||||
automatiquement depuis src/ à chaque push (src GAGNE toujours).
|
||||
- `tools/lib-node-map.mjs` (cartographie), `tools/n8n-extract.mjs` (JSON→src,
|
||||
uniquement pour resynchroniser après une édition UI n8n — à éviter),
|
||||
`tools/n8n-build.mjs [--check]` (src→JSON / vérif synchro).
|
||||
- `archive/` : toutes les copies historiques (decoupesurplus/, WINDOWS/, BATTERY/,
|
||||
DECISION/, HYSTERESIS/, EVCSV2.2.json, surplus.js...) — copies mortes, dérivées.
|
||||
- `.gitignore` : backup-workflow-*.json + modified/prepush-*.json (rollbacks locaux).
|
||||
|
||||
### WORKFLOW DE MODIFICATION DÉSORMAIS (règle inscrite dans AGENTS.md)
|
||||
```
|
||||
éditer src/nodes/<NODE>.js
|
||||
node tools/n8n-push.mjs workflows/evcs-surplus-controller-v2.6.json
|
||||
→ build src→JSON → node --check → GOLDEN 19/19 (bloquant) → backup serveur → PUT
|
||||
git commit (src + json + scénarios si évolution voulue) && git push
|
||||
```
|
||||
JAMAIS d'édition directe du JSON ou de l'UI n8n (écrasée au prochain push).
|
||||
|
||||
### Validations effectuées
|
||||
- Extract/build idempotents (extract → build → --check : zéro diff).
|
||||
- Test mutation : édition src → build injecte 1 node → restauration git+extract OK.
|
||||
- Pipeline complet de push exécuté en réel : build (no-op) → golden 19/19 → PUT OK.
|
||||
- Nota : tailles `ls` ≠ longueur de code (octets UTF-8 vs caractères, accents FR).
|
||||
|
||||
### Plan de maintenabilité : état
|
||||
- R1 ✅ déduplication moteur nuit (07/08)
|
||||
- R3 ✅ suite golden 19 scénarios bloquante (07/08)
|
||||
- R2 ✅ git source de vérité + build/push (07/08)
|
||||
- Suivant : agent IA planificateur en MODE OMBRE (jamais dans la boucle 30 s) —
|
||||
helpers advisor_*, validation bornée des sorties, kill-switch, cf. HANDOFF §13/§14.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user