#!/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"