From d7bec423e0d43ac7df6123d85001c4dbcc936740 Mon Sep 17 00:00:00 2001 From: Thomas Hallock Date: Mon, 10 Nov 2025 14:21:13 -0600 Subject: [PATCH] fix: remove all scaffolding from final mastery skills MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The final mastery skills (5d-mastery, 5d-sub-mastery) now have ZERO scaffolding for students who have fully mastered multi-digit operations: **Changes to recommendedScaffolding:** - placeValueColors: 'when3PlusDigits' → 'never' (no color hints) - borrowNotation: 'whenRegrouping' → 'never' (no scratch boxes for subtraction) **Final state for both skills:** - carryBoxes: 'never' (no carry indicators) - answerBoxes: 'never' (no answer boxes) - placeValueColors: 'never' (no color coding) - tenFrames: 'never' (no visual aids) - borrowNotation: 'never' (no scratch notation for borrowing) - borrowingHints: 'never' (no hints) Only structural elements remain: - problemNumbers: 'always' (numbering 1, 2, 3...) - cellBorders: 'always' (grid structure) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../app/create/worksheets/addition/skills.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/apps/web/src/app/create/worksheets/addition/skills.ts b/apps/web/src/app/create/worksheets/addition/skills.ts index 7b35b7f5..27b98af0 100644 --- a/apps/web/src/app/create/worksheets/addition/skills.ts +++ b/apps/web/src/app/create/worksheets/addition/skills.ts @@ -6,7 +6,7 @@ import type { DisplayRules } from './displayRules' /** * Skill IDs follow naming convention: * - Prefix: sd (single-digit), td (two-digit), 3d/4d/5d (multi-digit) - * - Operation: addition skills have descriptive names, subtraction uses "sub" prefix + * - Operation: addition skills have descriptive names, subtraction uses "sub" prefix, mixed uses "mixed" prefix * - Complexity: no-regroup, simple-regroup, ones-regroup, mixed-regroup, full-regroup */ export type SkillId = @@ -329,7 +329,7 @@ export const SKILL_DEFINITIONS: SkillDefinition[] = [ recommendedScaffolding: { carryBoxes: 'never', answerBoxes: 'never', - placeValueColors: 'when3PlusDigits', + placeValueColors: 'never', tenFrames: 'never', problemNumbers: 'always', cellBorders: 'always', @@ -577,11 +577,11 @@ export const SKILL_DEFINITIONS: SkillDefinition[] = [ recommendedScaffolding: { carryBoxes: 'never', answerBoxes: 'never', - placeValueColors: 'when3PlusDigits', + placeValueColors: 'never', tenFrames: 'never', problemNumbers: 'always', cellBorders: 'always', - borrowNotation: 'whenRegrouping', + borrowNotation: 'never', borrowingHints: 'never', }, recommendedProblemCount: 10, @@ -649,7 +649,7 @@ export function findPreviousSkill( } /** - * Helper: Get the first umastered skill with prerequisites met + * Helper: Get the first unmastered skill with prerequisites met */ export function findCurrentSkill( masteryStates: Map, @@ -672,3 +672,10 @@ export function findCurrentSkill( // All skills mastered! Return the last skill return skills[skills.length - 1] } + +/** + * Helper: Extract digit complexity from a skill (1-5) + */ +export function getDigitComplexity(skill: SkillDefinition): number { + return skill.digitRange.max +}