import json import unittest from pathlib import Path class KinematicsMappingContractTests(unittest.TestCase): def test_contract_records_duplicate_and_home_semantics(self): root = Path(__file__).resolve().parents[1] report = json.loads((root / "coverage/kinematics-mapping-contract.json").read_text(encoding="utf-8")) self.assertEqual(report["schema"], "kinematics-mapping-contract.v1") self.assertEqual(report["status"], "verified") duplicate = next(row for row in report["sample_mappings"] if row["coordinates"] == "XYYZ") self.assertEqual(duplicate["duplicate"]["owner"], 1) self.assertIn("home", report["semantics"]) self.assertIn("enabled_limit_violation", report["error_cases"]) if __name__ == "__main__": unittest.main()