"""Static configuration of the laboratory. Everything measurable at run time is recorded in the store, not here.""" from __future__ import annotations import os REPO = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..")) ORACLE_ROOT = os.path.expanduser("~/wp42-oracles") # hidden; never inside REPO, never on a node SECRETS_ENV = os.path.expanduser("~/Desktop/Cluster/secrets/wp42/.env") DB_PATH = os.path.join(REPO, "data", "raw", "wp42.sqlite") RAW_RUNS = os.path.join(REPO, "data", "raw", "runs") # immutable raw streams (git-ignored) VALIDATED = os.path.join(REPO, "data", "validated") NODE_HOME = "/Users/simon-pierreboucher/wp42" # absolute: ssh does not expand ~ inside quoted args (WP29 gotcha) NODE_ENV_FILE = f"{NODE_HOME}/.env" NODE_PYTHON = f"{NODE_HOME}/venv/bin/python" NODE_SOFFICE = "/Applications/LibreOffice.app/Contents/MacOS/soffice" # Executor nodes measured in Phase 0 (docs/PHASE_0_DISCOVERY.md). `system_events` = osascript reaches System Events over SSH. NODES = { "M3U96a": {"slots": 3, "system_events": True}, "M3U96b": {"slots": 3, "system_events": False}, "M4M64a": {"slots": 3, "system_events": True}, "M4M64b": {"slots": 3, "system_events": False}, } PRIMARY_MODEL = "claude-opus-5-5" SENSITIVITY_MODELS = ["claude-sonnet-5-5", "claude-fable-5-1"] JUDGE_MODELS = ["claude-opus-5-5", "claude-sonnet-5-5", "claude-sonnet-5-5"] # three blind judges (two independent Sonnet draws) # Per-session caps (amendment A-001) MAX_BUDGET_USD = 4.00 WALL_SECONDS = 1800 MAX_TURNS = 150 STUDY_ENVELOPE_USD = 800.0 QUALITY_THRESHOLD = 70.0 # q in the preregistration ALL_ARMS = ["A0", "A1", "A2", "A3", "A4"]