**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
54 lines
1.9 KiB
Bash
Executable File
54 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Section 6 from commandes.md: Final paliers (D18-D21, F15, F16, extinction noyau both)
|
|
# Requires: noyau_post_D17.json from 02-run-pipeline.sh
|
|
# Uses: collatz_k_pipeline.py --extend
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
OUT="${OUT:-$PROJECT_ROOT/out}"
|
|
ROOT="${ROOT:-$PROJECT_ROOT/collatz_k_scripts}"
|
|
|
|
cd "$PROJECT_ROOT"
|
|
|
|
if [[ ! -f "$OUT/noyaux/noyau_post_D17.json" ]]; then
|
|
echo "Missing $OUT/noyaux/noyau_post_D17.json. Run 02-run-pipeline.sh first."
|
|
exit 1
|
|
fi
|
|
|
|
AUDIT60="$ROOT/audit_60_etats_B12_mod4096_horizon7.json"
|
|
if [[ ! -f "$AUDIT60" ]]; then
|
|
AUDIT60="$PROJECT_ROOT/collatz_k_scripts/audit_60_etats_B12_mod4096_horizon7.json"
|
|
fi
|
|
if [[ ! -f "$AUDIT60" ]]; then
|
|
echo "Missing audit60. Place it in $ROOT or collatz_k_scripts/"
|
|
exit 1
|
|
fi
|
|
|
|
cd collatz_k_scripts
|
|
RESUME_ARG=""
|
|
if [[ -n "${RESUME_FROM:-}" ]]; then
|
|
RESUME_ARG="--resume-from $RESUME_FROM"
|
|
fi
|
|
python3 collatz_k_pipeline.py --extend --audit60 "$AUDIT60" --out "$OUT" $RESUME_ARG
|
|
|
|
# Audit and scission for D18-D21, F15, F16 (commandes.md section 6)
|
|
mkdir -p "$OUT/audits" "$OUT/certificats"
|
|
for label in D18_palier2p30 D19_palier2p32 F15_palier2p32 D20_palier2p34 F16_palier2p35 D21_palier2p36; do
|
|
csv="$OUT/candidats/candidats_${label}.csv"
|
|
if [[ -f "$csv" ]]; then
|
|
python3 collatz_audit.py --input "$csv" --output "$OUT/audits/audit_${label}.md"
|
|
python3 collatz_scission.py --input "$csv" --output "$OUT/certificats/certificat_${label}.json"
|
|
fi
|
|
done
|
|
|
|
# Verify both extinction (commandes.md section 7)
|
|
if [[ -f "$OUT/noyaux/noyau_post_D21.json" ]]; then
|
|
python3 collatz_verify_both_extinction.py --palier=36 \
|
|
--input-noyau="$OUT/noyaux/noyau_post_D21.json" \
|
|
--output="$OUT/audits/verification_extinction_noyau_both.md"
|
|
fi
|
|
|
|
echo "Extended D18-D21 complete. Outputs in $OUT/noyaux, $OUT/candidats, $OUT/certificats"
|