All files / web/src/lib/curriculum/config index.ts

100% Statements 91/91
100% Branches 0/0
100% Functions 0/0
100% Lines 91/91

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 922x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x  
/**
 * Curriculum Configuration
 *
 * Centralized tuning parameters for the daily practice system.
 * Adjust these values to tune difficulty, pacing, and progression.
 *
 * This directory contains:
 *
 * - session-timing.ts - Session duration, timing, review intervals
 * - slot-distribution.ts - Problem distribution across purposes and parts
 * - complexity-budgets.ts - Cognitive load budget system
 * - skill-costs.ts - Base skill complexity and rotation multipliers
 * - bkt-integration.ts - Bayesian Knowledge Tracing integration
 */
 
// Session Timing
export {
  DEFAULT_SECONDS_PER_PROBLEM,
  MIN_SECONDS_PER_PROBLEM,
  REVIEW_INTERVAL_DAYS,
  SESSION_TIMEOUT_HOURS,
  type ReviewIntervalDays,
} from './session-timing'
 
// Slot Distribution
export {
  CHALLENGE_RATIO_BY_PART_TYPE,
  getTermCountRange,
  PART_TIME_WEIGHTS,
  PURPOSE_WEIGHTS,
  TERM_COUNT_RANGES,
  type PartTimeWeights,
  type PurposeWeights,
} from './slot-distribution'
 
// Complexity Budgets
export {
  DEFAULT_COMPLEXITY_BUDGETS,
  getComplexityBounds,
  PURPOSE_COMPLEXITY_BOUNDS,
  type PurposeComplexityBounds,
} from './complexity-budgets'
 
// Skill Costs
export {
  BASE_SKILL_COMPLEXITY,
  DEFAULT_BASE_COMPLEXITY,
  getBaseComplexity,
  ROTATION_MULTIPLIERS,
} from './skill-costs'
 
// BKT Integration
export {
  // Unified thresholds (preferred)
  BKT_THRESHOLDS,
  classifySkill,
  shouldTargetSkill,
  type BktThresholds,
  type SkillClassification,
  // Legacy exports (use unified thresholds internally)
  BKT_INTEGRATION_CONFIG,
  calculateBktMultiplier,
  DEFAULT_PROBLEM_GENERATION_MODE,
  isBktConfident,
  WEAK_SKILL_THRESHOLDS,
  type BktIntegrationConfig,
  type ProblemGenerationMode,
  type WeakSkillThresholds,
} from './bkt-integration'
 
// Readiness Thresholds
export { READINESS_THRESHOLDS, type ReadinessThresholds } from './readiness-thresholds'
 
// Term Count Scaling (dynamic comfort-based scaling)
export {
  computeTermCountRange,
  DEFAULT_TERM_COUNT_SCALING,
  parseTermCountScaling,
  TERM_COUNT_SCALING,
  validateTermCountScaling,
  type ModeScalingConfig,
  type TermCountExplanation,
  type TermCountScalingConfig,
} from './term-count-scaling'
 
// Comfort Level (mastery-derived comfort computation)
export {
  computeComfortLevel,
  applyTermCountOverride,
  type ComfortLevelResult,
} from '../comfort-level'