**Motivations:**
- Make certificates reproducible when CSV columns do not encode the palier
- Avoid FileNotFoundError when writing certificates into new folders
- Reuse scission in the local H6 generator to avoid duplicated certificate logic
**Root causes:**
- palier inference relied on max residue value when the class column was generic
- scission assumed output directories already exist
- empty CSV fields were coerced to 0
**Correctifs:**
- Infer palier from explicit columns (palier/m) or filename, keep heuristic fallback
- Create parent directory for output JSON
- Skip empty class/sister values instead of adding residue 0
**Evolutions:**
- Use collatz_scission for certificate generation in local H6 artefacts generator
**Pages affectées:**
- applications/collatz/collatz_k_scripts/collatz_scission.py
- applications/collatz/collatz_k_scripts/collatz_generate_local_h6_artefacts.py
- docs/fixKnowledge/collatz_scission_palier_inference_and_output_dirs.md
**Motivations:**
- Implémenter le workflow complet de démonstration Collatz (commandes.md)
- Permettre la reprise après interruption au palier D20
**Evolutions:**
- Scripts 01-12 et run-full-workflow alignés sur commandes.md sections 1-10
- collatz_recover_noyau.py : recréation de noyau_post_D20 à partir du CSV candidats
- Option --resume-from D20 dans collatz_k_pipeline pour reprendre sans recalculer D18-D19-F15
- Détection automatique : si candidats_D20 existe sans noyau_post_D20, récupération puis poursuite
- Filtres --cible=critique et --modulo dans collatz_fusion_pipeline
- ROOT par défaut = collatz_k_scripts (plus data/source vide)
**Pages affectées:**
- .gitignore (__pycache__, out/)
- applications/collatz/collatz_k_scripts/*.py
- applications/collatz/scripts/*.sh
- applications/collatz/scripts/README.md