{"record":{"id":"8928ce381ef4eeaf","repo":"MemPalace/mempalace","slug":"no-palace-found-at-palace-path","errorCode":null,"errorMessage":"No palace found at {palace_path}","messagePattern":"No palace found at (.+?)","errorType":"exception","errorClass":"SearchError","httpStatus":null,"severity":"error","filePath":"mempalace/searcher.py","lineNumber":662,"sourceCode":"        # less-helpful backend validation path.\n        backend_name = None\n\n    if backend_name == \"chroma\" and _hnsw_capacity_diverged(palace_path):\n        return _print_search_results_bm25_only(\n            query,\n            palace_path,\n            wing,\n            room,\n            n_results,\n            stop_words=stop_words,\n            since_dt=since_dt,\n            before_dt=before_dt,\n        )\n\n    col = _open_collection_or_explain(palace_path, opener=get_collection)\n    if col is None:\n        if not os.path.isdir(palace_path):\n            raise SearchError(f\"No palace found at {palace_path}\")\n        raise SearchError(f\"No palace database at {palace_path}\")\n\n    # Alert the user if this palace predates hnsw:space=cosine being set on\n    # creation — their similarity scores will be junk until they run repair.\n    _warn_if_legacy_metric(col)\n\n    where = build_where_filter(wing, room)\n\n    try:\n        kwargs = {\n            \"query_texts\": [query],\n            # The window is a post-filter (ChromaDB can't range-compare\n            # string metadata), so widen the fetch the same way the\n            # programmatic path does and trim back after filtering.\n            \"n_results\": _candidate_pool_size(n_results, date_window_active)\n            if date_window_active\n            else n_results,\n            \"include\": [\"documents\", \"metadatas\", \"distances\"],","sourceCodeStart":644,"sourceCodeEnd":680,"githubUrl":"https://github.com/MemPalace/mempalace/blob/06cb6987f02610784fefbad4b2bd5d026d164ba6/mempalace/searcher.py#L644-L680","documentation":"Error \"No palace found at {palace_path}\" thrown in MemPalace/mempalace.","triggerScenarios":"Thrown at mempalace/searcher.py:662 when the library encounters an invalid state.","commonSituations":"Search was run against a palace path that does not exist.","solutions":["Run mempalace init or check the palace path configuration"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"06cb6987f02610784fefbad4b2bd5d026d164ba6","analyzedAt":"2026-08-15T03:03:36.213Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}