| from __future__ import annotations | |
| import os | |
| from dataclasses import dataclass | |
| from pathlib import Path | |
| from time_machine.adapters.model_registry import YamlModelRegistry | |
| from time_machine.domain.models import ModelBudget | |
| REPO_ROOT = Path(__file__).resolve().parents[3] | |
| class BlankExperienceServices: | |
| adapter_profile: str | |
| model_budget: ModelBudget | |
| def create_blank_services(adapter_profile: str | None = None) -> BlankExperienceServices: | |
| """Infrastructure-only service root for the rebuilt experience.""" | |
| profile = adapter_profile or os.getenv("TIME_MACHINE_ADAPTER_PROFILE", "fixture") | |
| model_budget = YamlModelRegistry(REPO_ROOT / "config" / "models.yaml").load_budget() | |
| return BlankExperienceServices( | |
| adapter_profile=profile, | |
| model_budget=model_budget, | |
| ) | |