fix(semantic-scene): move describe_screen_semantic out of the tools/ layer

tools/ is a Hexagonal inner layer that must never depend on LLM
concerns (ADR 0002), but describe_screen_semantic.py imported
semantic.enricher, which pulls in the Anthropic client by default.
Relocated the wrapper to runtime/, which is where LLM-dependent code
is allowed to live; updated the tool registry and all test imports
accordingly. No behavior change.

openspec: semantic-scene capability, archived change semantic-scene-runtime
This commit is contained in:
2026-07-07 08:30:49 +08:00
parent 1bdc3784dc
commit 49ad589c2d
4 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -6,8 +6,8 @@ from core.models import Bounds, Scene, SceneElement
from device.manager import DeviceManager
from semantic.config import SemanticConfig
from semantic.llm_client import EnrichmentUnavailable
from runtime.describe_screen_semantic import describe_screen_semantic
from tools.describe_screen import describe_screen
from tools.describe_screen_semantic import describe_screen_semantic
from tests.fakes import FakeDriver