#!/bin/sh # Post-classification pipeline on M3U96b (Phases 2–6): waits for CLASSIFY_DONE and GRAPH_V2_DONE, then runs in order. cd ~/wp44_uqo; . .venv/bin/activate; export WP44_DUCKDB_MEM=${WP44_DUCKDB_MEM:-40GB}; ulimit -n 65536; ONT=taxonomy/ontology.yaml while ! grep -q CLASSIFY_DONE logs/classify/prepare.log 2>/dev/null; do sleep 60; done while ! grep -q GRAPH_V2_DONE logs/citation_graph_v2.log 2>/dev/null; do sleep 60; done run() { name=$(echo "$1" | tr ' /' '__'); echo "[$(date +%H:%M:%S)] $1"; shift; "$@" > logs/p26_$name.log 2>&1 || echo "FAILED: $*"; } run "category flows" python knowledge_graph/02_category_flows.py --root ~/wp44_uqo --ontology $ONT run "diversity/CAGR" python bibliometrics/04_diversity_cagr.py --root ~/wp44_uqo run "structural change" python econometrics/run_structural_change.py --root ~/wp44_uqo run "validation draw" python taxonomy/validate_sample.py --root ~/wp44_uqo --draw run "rater haiku" python taxonomy/validate_sample.py --root ~/wp44_uqo --rate --model claude-haiku-5-5 run "rater sonnet" python taxonomy/validate_sample.py --root ~/wp44_uqo --rate --model claude-sonnet-5-5 run "validation metrics" python taxonomy/validate_sample.py --root ~/wp44_uqo --metrics run "citation impact" python bibliometrics/03_citation_impact.py --root ~/wp44_uqo run "landmarks" python literature_synthesis/select_landmarks.py --root ~/wp44_uqo --ontology $ONT run "emerging h12" python experiments/emerging_detection.py --root ~/wp44_uqo --horizon 12 run "emerging h24" python experiments/emerging_detection.py --root ~/wp44_uqo --horizon 24 run "known set" python experiments/known_set.py --root ~/wp44_uqo run "figures" python figures/make_figures.py --root ~/wp44_uqo echo PHASE26_DONE >> logs/p26_pipeline.log