"""Metric Refinement schemas (Component F09). Phase 1 shim — hot-path types `AlignmentResult`, `ChunkAlignmentResult`, `Sim3Transform` live in `gps_denied.hot_types.alignment_result`. `LiteSAMConfig` (config) stays here as a Pydantic boundary type. """ from pydantic import BaseModel from gps_denied.hot_types.alignment_result import ( # noqa: F401 AlignmentResult, ChunkAlignmentResult, Sim3Transform, ) class LiteSAMConfig(BaseModel): """Configuration for LiteSAM alignment.""" model_path: str = "mock_path" confidence_threshold: float = 0.7 min_inliers: int = 15 max_reprojection_error: float = 2.0 # pixels multi_scale_levels: int = 3 chunk_min_inliers: int = 30 __all__ = [ "AlignmentResult", "ChunkAlignmentResult", "LiteSAMConfig", "Sim3Transform", ]