github-actions[bot]
deploy prod from 06dbd16a01ddcfe02b2d936c681e3e4eaa9b141f
8e756fd
Raw
History Blame Contribute Delete
581 Bytes
"""Bridge policy-inversion results into analysis aggregation types."""
from __future__ import annotations
from chess_tutor.analysis.types import MoveHeuristicVectors
def vectors_from_chained(chained: object) -> MoveHeuristicVectors:
"""Build ``MoveHeuristicVectors`` from ``ChainedMoveConceptResult``."""
h = chained.heuristics # type: ignore[attr-defined]
return MoveHeuristicVectors(
heuristic_names=tuple(str(n) for n in h.heuristic_names),
reference_0_100=h.heuristics_reference_0_100,
inverted_0_100=h.heuristics_inverted_0_100,
)