feat(learn): tighten atomic-stage mastery to 5/5, keep composites at 4/5 (#12) - #31
Merged
Conversation
…4/5 (#12) The atomic recall/single-procedure stages can be cleared in a quick burst, so the old 3/4 (mod7, months) and 4/5 (leap, century, year) let a learner advance with a foundational sub-skill that isn't reliable — and those atoms feed every later answer. Require a no-slip 5-of-5 on the atoms; the composite stages (thisyear, full) keep the lenient 4/5 since they chain all the atoms and one slip already fails the whole item. - curriculum.ts: mod7/months 3/4 → 5/5; leap/century/year add 5/5; thisyear/full keep DEFAULT 4/5. STAGE_RULES derives from these, so the dot tracker and the "N more good answers" copy adapt automatically. - learnMastery.ts: doc-comment updated to the new split (no logic change). - tests: STAGE_RULES + isStageDone updated (5/5 no-slip, slip-slides-out), and the mod7-based useLessonDrill cases bumped from 3/4 to 5/5. (The timed speed stage was removed in #17 — dropped from the original proposal.) Gates: typecheck, lint, 297 tests, build — all green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Cleanup from /simplify + /code-review on the mastery-threshold PR: - migration.ts: drop the now-wrong "live 4-of-5 predicate" wording; the atomic stages are 5-of-5 now, and the latch point is ratio-agnostic anyway. - learnMastery.ts: STAGE_RULES comment said composites "chain all the atoms", but thisyear precedes century/year; describe them as multi-step instead. - useLessonDrill.test.ts: trim the redundant remaining-gap parenthetical (K and M gaps are identical once K==M). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #12. Roadmap item 5/7.
The atomic recall/single-procedure stages could be cleared in a quick burst —
mod7/monthsat 3/4 andleap/century/yearat the default 4/5 — letting a learner advance with a foundational sub-skill that isn't reliable. Since those atoms feed every later answer, require a no-slip 5-of-5 on them. The composite stages keep the lenient 4/5 (they chain all the atoms, so one slip already fails the whole item).Thresholds (your decision: all five atoms at 5/5)
Changes
curriculum.ts— setk/mper stage.STAGE_RULESderives from these, so the lesson dot tracker (now 5 dots for the atoms) and the "N more good answers" copy adapt automatically — no UI code change.learnMastery.ts— doc-comment rewritten to the new atomic-vs-composite split (no logic change).STAGE_RULES+isStageDonerewritten for 5/5 (done only on 5-correct-in-5; a slip in the window blocks; a slip slides out after 5 more); themod7-baseduseLessonDrillflow tests bumped 3/4 → 5/5.Notes
speedstage 8 and a5/6tier forthisyear/year— both dropped: PR fix(learn): drop the timed Stage 8 speed gate — accuracy unlocks Practice #17 removed the speed stage, and you chose a clean 5/5-atoms / 4/5-composites split.K=M=5is a local 100% bar, stricter than the ~90% the evidence cites; durable retention ultimately needs spaced cross-session probes (a fair follow-up).typecheck ✓ · lint ✓ · 297 tests ✓ · build ✓.
🤖 Generated with Claude Code