scripts/run_direct_capacity_optimization.py
"""Execute a frozen state plan; context and privileged oracle phases stay separate."""
import argparse
import hashlib
import json
from dataclasses import replace
from pathlib import Path
import torch
from mcss.geometry import transform_cameras
from mcss.mechanism_pilot.direct_capacity_contracts import (
ContextOnlyLoader,
ExplicitQueryOracleLoader,
)
from mcss.mechanism_pilot.direct_capacity_optimization import (
DirectOptimizationConfig,
optimize_state,
)
from mcss.mechanism_pilot.small_training import sha, write_json
def run(root, phase, device):
root = Path(root)
config = json.loads((root / "config.json").read_text())
plan = json.loads((root / "state_plan.json").read_text())
manifest = json.loads((root / "scene_manifest.json").read_text())
records = {s["scene_id"]: s for s in manifest["scenes"]}
ids, held = tuple(records), tuple(manifest["FINAL_HOLDOUT_PROHIBITED"])
if set(ids) & set(held) or len(ids) != 17:
raise PermissionError("Only fixed17 capacity-exposed scenes permitted")
if phase == "oracle":
marker = root / "raw/context_evaluation_integrity.json"
if not marker.exists() or json.loads(marker.read_text())["status"] != "PASS":
raise PermissionError("Privileged oracle must follow sealed context-only evaluation")
specs = [s for s in plan["states"] if s["phase"] == phase]
locked = {
str(root / p): sha(root / p)
for p in [
"config.json",
"state_plan.json",
"scene_manifest.json",
"predeclared_geometry_bounds.json",
"preregistration.json",
]
}
for p, h in config["source_sha256"].items():
if sha(Path(p)) != h:
raise PermissionError("Frozen optimizer/loader implementation changed")
settings = DirectOptimizationConfig(**config["optimization"])
for i, spec in enumerate(specs):
dest = root / spec["optimization_path"]
# Fail closed on partial work; completed frozen states may be resumed only by hash.
if dest.exists():
summary_path = dest / "summary.json"
if not summary_path.exists() or not (dest / "completion.json").exists():
raise PermissionError(f"Partial optimization retained; investigate {dest}")
completed = json.loads((dest / "completion.json").read_text())
assert completed["plan_sha256"] == sha(root / "state_plan.json")
assert completed["state_file_sha256"] == sha(dest / "state.pt")
continue
scene = records[spec["scene_id"]]
access = []
kwargs = {"capacity_scene_ids": ids, "holdout_scene_ids": held, "access_log": access}
if phase == "context":
loader = ContextOnlyLoader(
scene, manifest["image_size"], root, device, track=spec["track"], **kwargs
)
batch = loader.context(spec["role"])
anchor = batch.cameras.c2w[0, 0]
else:
loader = ExplicitQueryOracleLoader(
scene,
manifest["image_size"],
root,
device,
scope="QUERY_SUPERVISED_ORACLE",
**kwargs,
)
# Anchor is arrived-context camera, not inferred from query geometry.
arrived = ContextOnlyLoader(
scene, manifest["image_size"], root, device, track="RGB_ONLY", **kwargs
).context("anchor")
anchor = arrived.cameras.c2w[0, 0]
batch = loader.diagnostic_query_supervision()
batch = replace(batch, cameras=transform_cameras(batch.cameras, torch.linalg.inv(anchor)))
bounds = torch.tensor(spec["bounds"], dtype=torch.float32, device=device)
seed = 20260927 + int(
hashlib.sha256(
f"{spec['scene_id']}|{spec['role']}|{spec['track']}".encode()
).hexdigest()[:8],
16,
)
state, summary = optimize_state(
batch, bounds, spec["grid"], spec["samples"], dest, seed=seed, config=settings
)
write_json(dest / "access.json", access)
write_json(
dest / "completion.json",
{
"plan_sha256": sha(root / "state_plan.json"),
"state_file_sha256": sha(dest / "state.pt"),
"spec": spec,
"phase": phase,
"source_hashes": config["source_sha256"],
},
)
print(
f"{phase} {i + 1}/{len(specs)} {spec['key']} "
f"best={summary['selected_step']} "
f"objective={summary['selected']['context_objective']:.6f} "
f"seconds={summary['seconds']:.2f}",
flush=True,
)
del state, batch, loader
assert all(sha(Path(p)) == h for p, h in locked.items())
assert all(sha(Path(p)) == h for p, h in config["source_sha256"].items())
write_json(
root / f"{phase}_optimization_complete.json",
{
"status": "PASS",
"states": len(specs),
"phase": phase,
"input_hashes": locked,
"final_holdout_touched": False,
"new_carrier_trained": False,
"dynamic_ttt_run": False,
},
)
if __name__ == "__main__":
p = argparse.ArgumentParser(description=__doc__)
p.add_argument("--root", required=True)
p.add_argument("--phase", choices=["context", "oracle"], required=True)
p.add_argument("--device", default="cuda", choices=["cpu", "cuda"])
a = p.parse_args()
run(a.root, a.phase, a.device)