Fix prefix pilot warmup validation

This commit is contained in:
2026-07-14 12:58:01 +08:00
parent 8eeba597b3
commit 93daf291f6
2 changed files with 82 additions and 6 deletions

View File

@@ -233,8 +233,37 @@ def run_client(
f"client failed: cell={entry['cell']} role={role} rc={process.returncode}"
)
result = json.loads((output / "result.json").read_text(encoding="utf-8"))
validate_result_selection(
result=result,
selection=selection,
cell=entry["cell"],
role=role,
warmup=warmup,
)
entry["results"].append(
{"anchor": float(selection["anchor"]), "dir": str(output), "kind": result["kind"]}
)
return result
def validate_result_selection(
*,
result: dict[str, Any],
selection: dict[str, Any],
cell: str,
role: str,
warmup: bool,
) -> None:
if warmup:
if result["kind"] != "warmup" or int(result["selection"]["count"]) != 16:
raise RuntimeError(f"invalid warmup selection: {cell} {role}")
for key in ("warmup_16", "warmup_exact_16", "warmup_long"):
if not result["invariants"].get(key, False):
raise RuntimeError(f"warmup invariant {key} failed: {cell} {role}")
return
if int(result["selection"]["count"]) != int(selection["selected_count"]):
raise RuntimeError(f"selection count mismatch: {entry['cell']} {role}")
raise RuntimeError(f"selection count mismatch: {cell} {role}")
for key in (
"request_id_order_sha256",
"arrival_order_sha256",
@@ -244,11 +273,7 @@ def run_client(
"input_length_order_sha256" if key == "raw_length_order_sha256" else key
)
if result["selection"][key] != selection[manifest_key]:
raise RuntimeError(f"selection hash mismatch {key}: {entry['cell']} {role}")
entry["results"].append(
{"anchor": float(selection["anchor"]), "dir": str(output), "kind": result["kind"]}
)
return result
raise RuntimeError(f"selection hash mismatch {key}: {cell} {role}")
def execute_cell(

View File

@@ -78,6 +78,57 @@ def main() -> None:
) + controller.SAFETY_H20_HOURS,
3.0,
)
selection = {
"selected_count": 122,
"request_id_order_sha256": "request-hash",
"arrival_order_sha256": "arrival-hash",
"input_length_order_sha256": "length-hash",
}
warmup = {
"kind": "warmup",
"selection": {"count": 16},
"invariants": {
"warmup_16": True,
"warmup_exact_16": True,
"warmup_long": True,
},
}
controller.validate_result_selection(
result=warmup,
selection=selection,
cell="tp1_mns8",
role="burnin",
warmup=True,
)
measured = {
"kind": "anchor",
"selection": {
"count": 122,
"request_id_order_sha256": "request-hash",
"arrival_order_sha256": "arrival-hash",
"raw_length_order_sha256": "length-hash",
},
"invariants": {},
}
controller.validate_result_selection(
result=measured,
selection=selection,
cell="tp1_mns8",
role="low1",
warmup=False,
)
try:
controller.validate_result_selection(
result=warmup,
selection=selection,
cell="tp1_mns8",
role="low1",
warmup=False,
)
except RuntimeError as error:
assert "selection count mismatch" in str(error)
else:
raise AssertionError("measured selection accepted a warmup subset")
print("fidelity pilot tools: PASS")