{"record":{"id":"2b1fbb7a6aa7cfeb","repo":"HKUDS/DeepTutor","slug":"knowledge-base-kb-name-uses-legacy-index-forma-2b1fbb","errorCode":null,"errorMessage":"Knowledge base '{kb_name}' uses legacy index format and requires reindex before incremental add","messagePattern":"Knowledge base '(.+?)' uses legacy index format and requires reindex before incremental add","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"deeptutor/knowledge/add_documents.py","lineNumber":187,"sourceCode":"        self.legacy_rag_storage_dir = self.kb_dir / \"rag_storage\"\n        self.metadata_file = self.kb_dir / \"metadata.json\"\n\n        # Incremental adds must use the engine DeepTutor has bound to this KB. An\n        # explicit rag_provider (from the API, already matched against the KB)\n        # wins; otherwise use the shared binding resolver.\n        if rag_provider:\n            self.rag_provider = normalize_provider_name(rag_provider)\n        else:\n            self.rag_provider = self._provider_from_binding()\n\n        has_provider_index = has_ready_provider_index(self.kb_dir, self.rag_provider)\n\n        if (\n            self.rag_provider == DEFAULT_PROVIDER\n            and not has_provider_index\n            and self.legacy_rag_storage_dir.exists()\n        ):\n            raise ValueError(\n                f\"Knowledge base '{kb_name}' uses legacy index format and requires reindex before incremental add\"\n            )\n\n        if not has_provider_index:\n            raise ValueError(f\"Knowledge base not initialized ({self.rag_provider}): {kb_name}\")\n\n        self.api_key = api_key\n        self.base_url = base_url\n        self.progress_tracker = progress_tracker\n\n        self.raw_dir.mkdir(parents=True, exist_ok=True)\n\n    def _provider_from_binding(self) -> str:\n        return resolve_bound_provider(self.base_dir, self.kb_name)\n\n    def _get_file_hash(self, file_path: Path) -> str:\n        sha256_hash = hashlib.sha256()\n        with open(file_path, \"rb\") as f:","sourceCodeStart":169,"sourceCodeEnd":205,"githubUrl":"https://github.com/HKUDS/DeepTutor/blob/3e82f130422a813cdd73c10b21a44e9325f5821a/deeptutor/knowledge/add_documents.py#L169-L205","documentation":"Error \"Knowledge base '{kb_name}' uses legacy index format and requires reindex before incremental add\" thrown in HKUDS/DeepTutor.","triggerScenarios":"Thrown at deeptutor/knowledge/add_documents.py:187 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"}