25 lines
776 B
Python
25 lines
776 B
Python
"""Shared fast-loop evaluation labels and explicit score projections."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Literal
|
|
|
|
Appropriateness = Literal["pos", "warn", "neutral"]
|
|
APPROPRIATENESS_VALUES: tuple[Appropriateness, ...] = ("pos", "warn", "neutral")
|
|
|
|
# Persistence uses the rubric's 1..5 scale. Keep this projection distinct from
|
|
# the learner-growth 0..1 normalization below.
|
|
PERSISTED_APPROPRIATENESS_SCORE_5PT: dict[Appropriateness, float] = {
|
|
"warn": 1.0,
|
|
"neutral": 3.0,
|
|
"pos": 5.0,
|
|
}
|
|
|
|
# ``neg`` is retained only for legacy stored evaluations; current evaluator
|
|
# output is restricted to APPROPRIATENESS_VALUES.
|
|
GROWTH_APPROPRIATENESS_SCORE_01: dict[str, float] = {
|
|
"neg": 0.0,
|
|
"warn": 0.25,
|
|
"neutral": 0.5,
|
|
"pos": 1.0,
|
|
}
|