전 저장소 리팩터링과 SSOT 정비
This commit is contained in:
parent
14ecbd4e7d
commit
3dfddcac6f
173 changed files with 19679 additions and 6952 deletions
25
apps/api/app/services/evaluation_contract.py
Normal file
25
apps/api/app/services/evaluation_contract.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
"""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,
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue