#!/usr/bin/env python3 # SPDX-License-Identifier: GPL-3.0-or-later """Tracked manifest guardrails for Phase-1.0AX.""" from __future__ import annotations import argparse import json from pathlib import Path import unittest PARSER = argparse.ArgumentParser() PARSER.add_argument("--root", type=Path, required=True) ROOT = PARSER.parse_args().root class Phase10AXGuardrails(unittest.TestCase): @classmethod def setUpClass(cls) -> None: path = ROOT / "manifests/retroarch/phase-1.0ax-canary-protocol-model.json" cls.data = json.loads(path.read_text(encoding="utf-8")) def test_only_d14_can_complete(self) -> None: frame = self.data["frame_contract"] self.assertEqual(frame["magic"], "CHD10AV1") self.assertTrue(frame["only_d14_terminal"]) self.assertTrue(frame["d12_terminal_forbidden"]) self.assertEqual(frame["d14_stage_value"], 30) def test_cleanup_predicate_is_complete(self) -> None: cleanup = self.data["cleanup_terminal_contract"] for key in ("rarch_main_returned_required", "d04_emitted_required", "s15_complete_required", "initialized_mask_zero_required", "cleanup_order_errors_zero_required", "cleanup_failure_count_zero_required"): self.assertTrue(cleanup[key]) def test_model_does_not_become_target_or_firmware_evidence(self) -> None: boundary = self.data["model_boundary"] self.assertTrue(boundary["python_bytes_only"]) self.assertFalse(boundary["target_source_present"]) self.assertFalse(boundary["target_artifact_present"]) self.assertFalse(self.data["trace_contract"]["host_trace_means_firmware_behavior"]) self.assertFalse(any(self.data["authorizations"].values())) self.assertFalse(self.data["decision"]["target_artifact_build_allowed"]) if __name__ == "__main__": unittest.main(argv=[__file__])