from __future__ import annotations from typing import Any from uuid import UUID from graph.runtime import GraphRuntime class LangGraphRuntime(GraphRuntime): """Initial LangGraph adapter placeholder. M1 keeps this deterministic. M2 will wire the autonomous task loop here while preserving this boundary. """ async def start(self, project_id: UUID) -> str: return f"project-{project_id}" async def pause(self, run_id: str) -> None: return None async def resume(self, run_id: str) -> None: return None async def cancel(self, run_id: str) -> None: return None async def signal(self, run_id: str, event: dict[str, Any]) -> None: return None