{"record":{"id":"24177a6c2ab0abb8","repo":"HKUDS/DeepTutor","slug":"path-is-not-a-directory-folder","errorCode":null,"errorMessage":"Path is not a directory: {folder}","messagePattern":"Path is not a directory: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"deeptutor/knowledge/manager.py","lineNumber":1641,"sourceCode":"            kb_name: Knowledge base name\n            folder_path: Path to local folder (supports ~, relative paths)\n\n        Returns:\n            Dict with folder info including id, path, and file count\n\n        Raises:\n            ValueError: If KB not found or folder doesn't exist\n        \"\"\"\n        if kb_name not in self.list_knowledge_bases():\n            raise ValueError(f\"Knowledge base not found: {kb_name}\")\n\n        # Normalize path (cross-platform: handles ~, relative paths, etc.)\n        folder = Path(folder_path).expanduser().resolve()\n\n        if not folder.exists():\n            raise ValueError(f\"Folder does not exist: {folder}\")\n        if not folder.is_dir():\n            raise ValueError(f\"Path is not a directory: {folder}\")\n\n        files = FileTypeRouter.collect_supported_files(folder, recursive=True)\n\n        # Generate folder ID\n\n        folder_id = hashlib.md5(  # noqa: S324\n            str(folder).encode(), usedforsecurity=False\n        ).hexdigest()[:8]\n\n        # Load existing linked folders from metadata\n        kb_dir = self.base_dir / kb_name\n        metadata_file = kb_dir / \"metadata.json\"\n        metadata: dict = {}\n\n        if metadata_file.exists():\n            try:\n                with open(metadata_file, encoding=\"utf-8\") as fp:\n                    metadata = json.load(fp)","sourceCodeStart":1623,"sourceCodeEnd":1659,"githubUrl":"https://github.com/HKUDS/DeepTutor/blob/3e82f130422a813cdd73c10b21a44e9325f5821a/deeptutor/knowledge/manager.py#L1623-L1659","documentation":"Error \"Path is not a directory: {folder}\" thrown in HKUDS/DeepTutor.","triggerScenarios":"Thrown at deeptutor/knowledge/manager.py:1641 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"}