# Simple tests for the ServiceGenome manifest and registry support from catopt_studio import LocalProblem, ServiceGenome from catopt_studio.registry import InMemoryRegistry def test_service_genome_dataclass_and_registry(): sg = ServiceGenome( runtime_role="local-solver", capability_vector={"cpu": 2, "mem_mb": 256}, resource_envelope={"cpu_cycles_per_iter": 1000000}, safety_invariants={"max_actuation_rate": 5}, compliance_hook="https://example.com/check", version="v0.1", ) # ensure fields exist and are accessible assert sg.runtime_role == "local-solver" assert sg.capability_vector["cpu"] == 2 # registry roundtrip reg = InMemoryRegistry() reg.register_contract("svc1", "local-solver", {"schema": "sg-v1"}) reg.register_service_genome("svc1", sg.__dict__) got = reg.get_service_genome("svc1") assert got is not None assert got["genome"]["version"] == "v0.1"