**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
130 lines
4.2 KiB
Markdown
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`
|