Merge system-optimization IR contracts and retire legacy engine adapter

This commit is contained in:
ljz committed 2026-09-10 01:21:53 +08:00
commit 743663e3a6
14 files changed
+3817 -161

No files matched your search

+35
View File
@@ -0,0 +1,35 @@
"""Read the archived IR schema examples without a Python numerical engine."""
from dataclasses import is_dataclass
from enum import Enum
from functools import lru_cache
import gzip
import json
from pathlib import Path
from app.simulation.ir import schema
def _decode(value):
if isinstance(value, list):
return tuple(_decode(item) for item in value)
if isinstance(value, dict):
if 'enum' in value:
cls = getattr(schema, value['enum'])
if not isinstance(cls, type) or not issubclass(cls, Enum):
raise ValueError('Invalid IR enum in fixture')
return cls(value['value'])
cls = getattr(schema, value['type'])
if not isinstance(cls, type) or not is_dataclass(cls):
raise ValueError('Invalid IR record in fixture')
return cls(**{key: _decode(item) for key, item in value['fields'].items()})
return value
@lru_cache(maxsize=1)
def _references():
path = Path(__file__).parent / 'data/system-ir-v2-reference.json.gz'
return json.loads(gzip.decompress(path.read_bytes()))['programs']
def reference_ir(name):
return _decode(_references()[name])