#!/usr/bin/env bash # Fail-fast finalization for the two publication-facing claims. This command # intentionally fails until every strict figure cell has clean seeds 0..4. set -eu cd "$(dirname "$0")/.." TRAIN_PY=/home/yurenh2/miniconda3/envs/ep_pascal/bin/python3 PLOT_PY=/home/yurenh2/miniconda3/bin/python OUTDIR=results/figs SUMMARY=results/audited_tables.md MANIFEST="$OUTDIR/main_figure_manifest.json" mkdir -p "$OUTDIR" # Run the strongest gate first. It validates exact seed sets, provenance, # protocols, finite metrics, and only then writes figures + hash manifest. "$PLOT_PY" experiments/plot_main_figures.py \ --results results --outdir "$OUTDIR" # These claim boundaries were frozen before the missing d5/d10/d20 cells were # generated. They turn "Pareto endpoint" and "scales" into falsifiable gates # rather than captions selected after looking at the completed trajectories. # Depth grows 12x from d5 to d60; the 15x wall allowance is a 25% systems-noise # margin. Accuracy retention permits at most one percentage point of loss. jq -e ' .strict == true and (.missing_cells | length) == 0 and .statistics.sdil_is_high_accuracy_frontier_endpoint == true and .statistics.depth5_to_depth60.SDIL.d60_minus_d5_accuracy_points_mean >= -1.0 and .statistics.depth5_to_depth60.SDIL.d60_over_d5_wall_geomean <= 15.0 and .statistics.cifar_scaling.SDIL_d60.accuracy_percent_mean > .statistics.cifar_scaling.FA_d60.accuracy_percent_mean and .statistics.cifar_scaling.SDIL_d60.accuracy_percent_mean > .statistics.cifar_scaling.DFA_d60.accuracy_percent_mean and .statistics.cifar_scaling.SDIL_d60.early_alignment_mean > .statistics.cifar_scaling.DFA_d60.early_alignment_mean and .statistics.paired_gap_to_bp.BP_minus_SDIL_d60.accuracy_point_gap_mean <= 1.5 ' "$MANIFEST" >/dev/null echo "predeclared Pareto/scaling claim gates passed" "$TRAIN_PY" experiments/baseline_smoke.py "$TRAIN_PY" experiments/synthetic_smoke.py "$TRAIN_PY" experiments/protocol_smoke.py "$TRAIN_PY" experiments/smoke.py "$TRAIN_PY" experiments/verify_theory.py summary_tmp=$(mktemp /tmp/sdil_audited_tables.XXXXXX) trap 'rm -f "$summary_tmp"' EXIT "$TRAIN_PY" experiments/analyze_verified.py --results results > "$summary_tmp" mv "$summary_tmp" "$SUMMARY" trap - EXIT git diff --check echo "finalized audited claims -> $OUTDIR and $SUMMARY"