52 lines
2.0 KiB
Python
52 lines
2.0 KiB
Python
#!/usr/bin/env python3
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
"""Tracked guardrails for Phase-1.0AU."""
|
|
|
|
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 Phase10AUGuardrails(unittest.TestCase):
|
|
@classmethod
|
|
def setUpClass(cls) -> None:
|
|
path = ROOT / "manifests/retroarch/phase-1.0au-live-channel-feasibility.json"
|
|
cls.data = json.loads(path.read_text(encoding="utf-8"))
|
|
|
|
def test_declarations_do_not_become_runtime_proof(self) -> None:
|
|
contracts = self.data["public_source_contracts"]
|
|
self.assertTrue(contracts["source_level_design_inputs_complete"])
|
|
limits = self.data["evidence_limits"]
|
|
self.assertFalse(limits["headers_prove_firmware_960_runtime"])
|
|
self.assertFalse(limits["phase10at_fake_model_proves_live_cleanup"])
|
|
self.assertFalse(limits["launch_context_fix_proven"])
|
|
self.assertFalse(limits["visible_flip_proven"])
|
|
|
|
def test_current_shsrv_composition_is_rejected(self) -> None:
|
|
audit = self.data["official_composition_audit"]
|
|
self.assertFalse(audit["worker_uses_rffdg"])
|
|
self.assertTrue(audit["worker_uses_rfcfdg_close_all"])
|
|
self.assertFalse(audit["bounded_kill_and_reap_present"])
|
|
self.assertTrue(audit["service_has_unbounded_restart_loop"])
|
|
self.assertFalse(audit["direct_shsrv_reuse_allowed"])
|
|
|
|
def test_only_offline_canary_design_opens(self) -> None:
|
|
decision = self.data["decision"]
|
|
self.assertFalse(any(self.data["authorizations"].values()))
|
|
self.assertFalse(decision["live_result_channel_implementation_allowed"])
|
|
self.assertFalse(decision["target_implementation_allowed"])
|
|
self.assertFalse(decision["device_action_allowed"])
|
|
self.assertTrue(decision["offline_canary_contract_design_allowed"])
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main(argv=[__file__])
|