"""Classical evaluation backend protocol (L3 FEN cache / prefill).""" from __future__ import annotations from typing import Protocol, runtime_checkable from chess_tutor.classical_eval import PositionAnalysis DEFAULT_BACKEND_ID = "python" @runtime_checkable class ClassicalEvalBackend(Protocol): """Analyze a FEN with the classical component model.""" @property def backend_id(self) -> str: """Stable id included in FEN cache version strings.""" def analyze_fen(self, fen: str) -> PositionAnalysis: ...