{"record":{"id":"b8816fd8a04b479f","repo":"HKUDS/DeepTutor","slug":"unknown-objective-kp-id-r-refresh-mastery-statu","errorCode":null,"errorMessage":"Unknown objective {kp_id!r}; refresh mastery_status","messagePattern":"Unknown objective (.+?); refresh mastery_status","errorType":"exception","errorClass":"MasteryInteractionError","httpStatus":null,"severity":"error","filePath":"deeptutor/learning/service.py","lineNumber":784,"sourceCode":"        self.save(progress)\n\n    def record_qualitative_for_path(\n        self,\n        book_id: str,\n        kp_id: str,\n        *,\n        passed: bool,\n        evidence: str = \"\",\n        scheduler: SpacedRepetitionScheduler | None = None,\n        session_id: str = \"\",\n        turn_id: str = \"\",\n    ) -> LearningProgress:\n        def record(tx):\n            from deeptutor.learning.policy import QUALITATIVE_TYPES, find_knowledge_point\n\n            kp, _, _ = find_knowledge_point(tx.progress, kp_id)\n            if kp is None:\n                raise MasteryInteractionError(\n                    f\"Unknown objective {kp_id!r}; refresh mastery_status\"\n                )\n            if kp.type not in QUALITATIVE_TYPES:\n                raise MasteryInteractionError(\n                    f\"Objective {kp.name!r} must be graded with mastery_quiz + mastery_grade\"\n                )\n            self.record_qualitative_in_memory(\n                tx.progress,\n                kp_id,\n                passed=passed,\n                evidence=evidence,\n                scheduler=scheduler,\n            )\n            tx.touch()\n            tx.emit(\n                \"mastery.assessed\",\n                {\n                    \"knowledge_point_id\": kp_id,","sourceCodeStart":766,"sourceCodeEnd":802,"githubUrl":"https://github.com/HKUDS/DeepTutor/blob/3e82f130422a813cdd73c10b21a44e9325f5821a/deeptutor/learning/service.py#L766-L802","documentation":"Error \"Unknown objective {kp_id!r}; refresh mastery_status\" thrown in HKUDS/DeepTutor.","triggerScenarios":"Thrown at deeptutor/learning/service.py:784 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3e82f130422a813cdd73c10b21a44e9325f5821a","analyzedAt":"2026-08-27T06:57:25.364Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}