Nicolas Cantu 14ed1de36b Pipeline Collatz aligné sur commandes.md et reprise après interruption
**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
2026-03-02 02:49:23 +01:00

130 lines
4.2 KiB
Markdown

# Scripts Collatz
Scripts dédiés au projet `applications/collatz`, dérivés de `commandes.md`.
## Structure
| Script | Section commandes.md | Statut |
|--------|----------------------|--------|
| `00-run-all.sh` | 1+2 | Exécute setup + pipeline |
| `01-setup.sh` | 1 | Préparation environnement |
| `02-run-pipeline.sh` | 2 | Pipeline principal (reproduce_all_audits) |
| `03-run-direct-pipeline.sh` | - | Pipeline avec chemins explicites |
| `04-paliers-initials.sh` | 2 | Paliers D10/D11 (partiel) |
| `05-paliers-intermediaires.sh` | 3 | D12-D14 (intégré au pipeline) |
| `06-fusion-pipeline.sh` | 4 | Fusion F11/F12/F14 (intégré) |
| `07-paliers-avances.sh` | 5 | D16/D17 (intégré au pipeline) |
| `08-paliers-finale.sh` | 6 | D18-D21, F15, F16, extinction noyau both |
| `09-validation-certificat.sh` | 7 | Validation certificat |
| `10-documents-academiques.sh` | 8 | Documents académiques (MD) |
| `11-verification-independante.sh` | 9 | Vérificateurs externes |
| `12-suivi-documentation.sh` | 10 | Journal, docs |
| `run-full-workflow.sh` | 1-10 | Workflow complet aligné sur commandes.md |
## Utilisation
### Environnement Python
Utiliser un venv si l'environnement système est géré :
```bash
python3 -m venv .venv && source .venv/bin/activate
pip install -r collatz_k_scripts/requirements.txt
```
### Prérequis
Fichiers d'entrée dans `collatz_k_scripts/` (ou `ROOT`) :
- `audit_60_etats_B12_mod4096_horizon7.json` (format: `residue_to_state`, `state_table`)
- `complétion_minorée_m15_vers_m16.md`
- `candidats_D10_palier2p17.md`
### Exécution rapide
```bash
./scripts/00-run-all.sh
```
### Workflow complet
```bash
./scripts/run-full-workflow.sh
```
### Exécution par étapes
```bash
./scripts/01-setup.sh
./scripts/02-run-pipeline.sh
./scripts/08-paliers-finale.sh # D18-D21, F15, F16 (nécessite noyau_post_D17)
./scripts/09-validation-certificat.sh
./scripts/10-documents-academiques.sh
./scripts/11-verification-independante.sh
./scripts/12-suivi-documentation.sh
```
### Reprise après interruption (D20)
Si `08-paliers-finale` a été interrompu après l'écriture de `candidats_D20` mais avant `noyau_post_D20.json` :
```bash
./scripts/08-paliers-finale.sh
```
Le pipeline détecte automatiquement le CSV existant et recrée `noyau_post_D20.json` via `collatz_recover_noyau.py`, puis poursuit F16 et D21.
Reprise explicite à partir de D20 (sans recalculer D18, D19, F15) :
```bash
RESUME_FROM=D20 ./scripts/08-paliers-finale.sh
```
### Chemins personnalisés
```bash
ROOT=/chemin/vers/sources OUT=/chemin/vers/sorties ./scripts/02-run-pipeline.sh
```
```bash
AUDIT60=... M15M16=... D10=... OUT=... ./scripts/03-run-direct-pipeline.sh
```
## Variables d'environnement
- `ROOT` : répertoire des fichiers source (défaut: `collatz_k_scripts`)
- `OUT` : répertoire de sortie (défaut: `out`)
- `DATA_ROOT` : racine des données (défaut: `data`)
- `OUT_ROOT` : racine des sorties (défaut: `out`)
## Modules Python implémentés
- `collatz_k_core.py` : noyau arithmétique
- `collatz_k_utils.py` : utilitaires
- `collatz_k_fusion.py` : clauses de fusion
- `collatz_k_pipeline.py` : pipeline D11-D17 après fusion
- `reproduce_all_audits.py` : orchestrateur
## Modules implémentés (complets)
- `md_to_audit_json.py` : conversion audit MD → JSON
- `collatz_base_projective.py`
- `collatz_audit.py`
- `collatz_scission.py`
- `collatz_fusion_pipeline.py`, `collatz_update_noyau.py`
- `collatz_verify_both_extinction.py`
- `collatz_calculate_Nstar.py`, `collatz_generate_full_certificate.py`
- `collatz_verify_coverage.py`, `collatz_verify_Nstar_range.py`
- `collatz_verifier_minimal.py`, `collatz_verifier_alternative.py`, `collatz_compare_verifiers.py`
- `collatz_generate_progress_log.py`, `collatz_document_base_states.py`, `collatz_generate_readme.py`
## Modules supplémentaires implémentés
- `collatz_k_pipeline.py` : mode `--horizon --palier --valeur --input-noyau --output` (palier isolé)
- `collatz_compute_survival_rate.py`
- `collatz_fusion_pipeline.py` : options `--cible`, `--modulo`
- `collatz_generate_audit_report.py`, `collatz_generate_coverage_proof.py`
- `collatz_generate_threshold_audit.py`, `collatz_generate_base_validation.py`
- `collatz_generate_full_proof.py`
- `collatz_build_initial_noyau.py`