Levels and tiers
A tier describes one question’s depth. A level sets the range of tiers available in a project.
Tiers: how hard one question is
| Tier | Label | What you need to explain |
|---|---|---|
| 1 | Recall | What the concept is. |
| 2 | Mechanism | How it works. |
| 3 | Judgement | Why this choice fits here. |
| 4 | Failure modes | What breaks and how to detect it. |
| 5 | Design | When to choose a different approach. |
The status line shows your level. The dashboard records the exact tier of each answered question.
Levels: the band of tiers a project is allowed to use
| Level | Tiers | Emphasis |
|---|---|---|
easy | 1–2 | Recognise ideas and explain their mechanisms. |
medium | 2–4 | Explain choices and failure modes. |
hard | 3–5 | Evaluate trade-offs and design alternatives. |
Every project starts at easy with difficulty: auto. The planner still chooses a tier for each concept, constrained to the project’s band.
How a project is promoted
All three conditions must hold at the current level in that project:
- 100 passing answers, each grade 3 or higher (
level_up_after). A miss at this level that you correct from its explainer page counts as one, and a correction can complete the promotion on its own. - 70% accuracy across answered questions (
level_up_accuracy). Declines are excluded. A corrected miss from this level counts as right here too, so its accuracy recovers as you fix those mistakes; the correction does not add an answer. - 15 distinct concepts among those passes, counting only answers passed when asked, not corrections.
Changing level_up_after also scales the distinct-concept minimum to max(1, min(15, ceil(level_up_after / 3))). Promotion starts a new answer count for the next band. Eklavya never demotes you automatically.
Why it is per project
A new codebase starts easy even if another is already hard. Worktrees contribute to the main checkout’s level, settings and progress. Two separate clones are separate projects because they have different paths.
Concept mastery is shared across projects; the level measures your readiness to handle harder questions in this particular codebase.
Pinning a level
/eklavya:level/eklavya:level medium/eklavya:level autoeklavya config set difficulty easy --projectA pin selects the band and stops promotion. auto resumes from the project’s existing earned level. /eklavya:level shows your standing, the remaining promotion conditions, or the file responsible for a pin.