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",
]