strata-headquotient-q25 / source /scripts /run_strata_headquotient_q25_replication.py
nur-dev's picture
Add files using upload-large-folder tool
f32bf67 verified
Raw
History Blame Contribute Delete
2.05 kB
#!/usr/bin/env python3
"""Run one fresh HEADQUOTIENT Q25 audit, selection, and adaptation campaign."""
from __future__ import annotations
import argparse
import json
from pathlib import Path
import subprocess
import sys
ROOT = Path(__file__).resolve().parents[1]
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--config", type=Path, required=True)
parser.add_argument("--device", required=True)
parser.add_argument(
"--direct-q25",
action="store_true",
help="After a fresh audit, solve and evaluate only the registered Q25 point.",
)
return parser.parse_args()
def run(*parts: str) -> None:
command = [sys.executable, *parts]
print(json.dumps({"running": command}), flush=True)
subprocess.run(command, cwd=ROOT, check=True)
def main() -> None:
args = parse_args()
config = args.config.resolve()
run("scripts/register_strata_headquotient_v1_1.py", "--config", str(config))
run("scripts/evaluate_strata_headquotient_v1_1_hq0.py", "--config", str(config), "--device", args.device)
run("scripts/train_strata_headquotient_v1_1_scoped.py", "--config", str(config), "--device", args.device)
run("scripts/audit_strata_headquotient_v1_1_interactions.py", "--config", str(config), "--device", args.device)
frontiers = ("Q25",) if args.direct_q25 else ("Q10", "Q20", "Q25")
for frontier in frontiers:
selection = [
"scripts/select_strata_headquotient_v1_1_groups.py", frontier,
"--config", str(config),
]
if args.direct_q25:
selection.append("--allow-direct-replication")
run(*selection)
run("scripts/run_strata_headquotient_v1_1_frontier.py", frontier, "--phase", "diagnostic", "--config", str(config), "--device", args.device)
run("scripts/run_strata_headquotient_v1_1_frontier.py", frontier, "--phase", "confirmation", "--config", str(config), "--device", args.device)
if __name__ == "__main__":
main()