algo/applications/collatz/scripts/10-documents-academiques.sh
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

30 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# Section 8 from commandes.md: Academic document generation
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
OUT="${OUT:-$PROJECT_ROOT/out}"
cd "$PROJECT_ROOT/collatz_k_scripts"
mkdir -p "$OUT/rapports" "$OUT/preuves"
NSTAR=$(grep "N\* =" "$OUT/certificats/seuil_global_Nstar.md" 2>/dev/null | awk '{print $3}' || echo "0")
CERT="$OUT/certificats/certificat_complet_depth21.json"
BASE="$OUT/preuves/validation_base.md"
python3 collatz_generate_audit_report.py --audits-dir "$OUT/audits" --output "$OUT/rapports/rapport_audit_final.md"
python3 collatz_generate_coverage_proof.py --certificat "$CERT" --output "$OUT/preuves/preuve_couverture.md"
python3 collatz_generate_threshold_audit.py --certificat "$CERT" --output "$OUT/preuves/audit_seuils.md"
if [[ -n "$NSTAR" && "$NSTAR" != "0" ]]; then
python3 collatz_generate_base_validation.py --Nstar "$NSTAR" --output "$BASE"
fi
[[ -f "$BASE" ]] || echo "# Validation de base (N* non disponible)" > "$BASE"
python3 collatz_generate_full_proof.py \
--coverage "$OUT/preuves/preuve_couverture.md" \
--threshold "$OUT/preuves/audit_seuils.md" \
--base "$BASE" \
--certificat "$CERT" \
--output "$OUT/demonstration_collatz_complete.md"