Skip to content

Implement Puzzle Difficulty Auto-Calibration #71

Description

@Mkalbani

Description

Build an analytics-driven difficulty calibration system that adjusts a puzzle's effective difficulty rating based on real player performance data. A puzzle tagged as "Easy" that 80% of players abandon should be reclassified. The system runs as a scheduled background job, analyses session outcomes, and proposes or automatically applies difficulty adjustments.

Acceptance Criteria

  • A scheduled job runs daily and evaluates all published puzzles
  • Calibration factors include: solve rate, average time, average hint usage, and abandon rate
  • A DifficultyCalibration entity logs the computed score and recommended difficulty per puzzle
  • If the recommended difficulty diverges from the tagged difficulty, a notification is sent to admins
  • GET /admin/calibration returns all puzzles with their current vs recommended difficulty
  • PATCH /admin/calibration/:puzzleId/apply applies the recommendation
  • Auto-apply mode can be enabled via config to skip manual approval
  • Unit tests cover calibration scoring formula and threshold comparisons

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions