File size: 911 Bytes
921d377 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | """
Progression subsystem — schemes + rewards + unlocks.
Abstracts over "level/XP" vs "mastery %" vs "CEFR tier" vs
"certification status" so one runtime handles all experience
modes without branching Python logic per mode.
Submodules:
levels.py Map (scheme, metric_value) → human-readable level
+ next-threshold calculation.
rewards.py apply_rewards(scheme, state, action) → updated
progress dict. Handles xp_award + repeat_penalty.
unlocks.py is_action_unlocked(action, state) — gate check for
catalog visibility and execution.
"""
from .levels import LevelDescription, describe_level, level_from_xp
from .rewards import RewardOutcome, apply_rewards
from .unlocks import is_action_unlocked
__all__ = [
"LevelDescription",
"describe_level",
"level_from_xp",
"RewardOutcome",
"apply_rewards",
"is_action_unlocked",
]
|