mempalace/tests
Igor Lins e Silva 68edb110a1
Merge pull request #2018 from MemPalace/agent/fix-explicit-palace-graph-scope
fix: scope derived graph state to explicit palace
2026-07-14 20:28:43 -03:00
..
benchmarks test(mcp): migrate _kg monkeypatches to _get_kg (#1136) 2026-05-03 17:43:00 +05:00
_backend_conformance.py feat: add pgvector backend + namespace-isolation conformance contract 2026-06-05 21:41:21 -03:00
_chroma_palace_helper.py fix(backends): require SQLite magic header for chroma + sqlite_exact detect() (#1893) (#1896) 2026-06-28 18:01:59 -03:00
conftest.py feat(mcp): add since/before date filter to list_drawers (#1128) (#1891) 2026-06-28 18:24:58 -03:00
test_antigravity_hooks_install.py feat: add Antigravity IDE support (plugin, MCP, skill, hooks, docs, tests) 2026-05-27 19:19:17 +10:00
test_antigravity_hooks_shell.py fix(antigravity): resolve interpreter from console-script shebang 2026-05-31 10:41:09 +10:00
test_antigravity_plugin_manifest.py feat(antigravity): add recall skill, optional rule, shared protocol 2026-06-11 13:09:40 +10:00
test_backend_conformance.py feat: add pgvector backend + namespace-isolation conformance contract 2026-06-05 21:41:21 -03:00
test_backends.py fix(backends): require SQLite magic header for chroma + sqlite_exact detect() (#1893) (#1896) 2026-06-28 18:01:59 -03:00
test_backfill_authored_at.py feat(convo): preserve authored timestamp from transcripts (#1890) 2026-06-28 18:13:06 -03:00
test_backups.py fix(backups): add max_backups retention to bound backup disk usage 2026-06-05 14:52:06 -04:00
test_chroma_collection_lock.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_claude_plugin_hook_config.py fix(claude-plugin): resolve SessionEnd merge semantics 2026-06-19 13:44:52 +00:00
test_claude_plugin_hook_wrappers.py test: normalize wrapper script path for bash on Windows 2026-04-19 10:34:11 +02:00
test_clean_lone_surrogates.py fix(backends): keep single-string documents whole in surrogate sanitiser 2026-06-01 17:19:10 -05:00
test_clean_nul_bytes.py fix: sanitize embedded NUL bytes before they reach ChromaDB 2026-07-06 09:23:35 -03:00
test_cli.py fix(repair): require clean SQLite recovery finalization 2026-07-14 19:12:56 -03:00
test_cli_hallways.py fix: scope hallway reads and deletion to selected palace 2026-07-14 19:40:29 -03:00
test_closet_llm.py style: ruff format tests/test_hooks_cli.py with CI-pinned ruff 0.4.x 2026-05-23 12:05:34 -04:00
test_closets.py test: stabilize closet boost fixture on Windows 2026-06-14 15:17:01 -03:00
test_collection_metric_invariant.py fix(test): use tmp_path for full-stack invariant test (Windows CI) 2026-04-25 00:39:37 -03:00
test_collision_scan.py fix(ids): delimit hash inputs to prevent drawer_id collisions (#80) 2026-05-30 12:44:47 -07:00
test_config.py fix: scope derived graph state to explicit palace 2026-07-14 19:22:06 -03:00
test_config_extra.py test(config): make palace_path tests portable across POSIX and Windows 2026-04-24 11:13:51 +02:00
test_config_palace_path.py fix: expand tilde in palace_path when read from config file\n\nMempalaceConfig.palace_path correctly called os.path.expanduser() for\nenv-var paths but not for paths read from config.json. If config.json\nstores palace_path as '~/.mempalace/palace' (the default written by\ninit), the tilde was returned unexpanded.\n\nDownstream callers such as cli.py cmd_mine did call expanduser when\n--palace was passed explicitly, but fell through to MempalaceConfig()\nwhen no flag was given, inheriting the unexpanded string. Python's\nos.makedirs and chromadb.PersistentClient treat a leading tilde as a\nliteral directory name rather than the home directory, so the palace\nwas silently written to a CWD-relative path such as\nmy_project/~/.mempalace/palace.\n\nThe fix is a single os.path.expanduser() call on line 343 of\nconfig.py, mirroring the existing env-var branch on line 342. Since\nDEFAULT_PALACE_PATH is already expanded at module load (line 197),\nexpanduser on an absolute path is a no-op, so the default case is\nunaffected.\n\nSymptoms: scattered {project}/~/.mempalace/palace directories, palace\nalways appears empty after mine, search returns Collection does not\nexist, launchd-driven nightly mine writes to a different location than\ninteractive mine.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>n (#1865) 2026-06-26 00:09:51 -03:00
test_convo_miner.py fix(convo_miner): treat transcripts as mutable, not immutable 2026-07-07 16:41:22 -04:00
test_convo_miner_size_cap.py Raise convo_miner MAX_FILE_SIZE cap 10 MB → 500 MB 2026-04-18 12:52:01 -03:00
test_convo_miner_unit.py style: ruff format test_convo_miner_unit.py (CI lint) 2026-07-14 16:43:05 +02:00
test_convo_scanner.py fix(llm): tighter refinement — word boundaries, JSON extraction, authoritative sources 2026-04-24 01:30:40 -03:00
test_corpus_origin.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_corpus_origin_integration.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_cursor_hooks_install.py fix(cursor): address gemini-code-assist review on PR #1632 2026-05-27 14:17:36 +10:00
test_cursor_hooks_shell.py test: update Cursor followup assertion for checkpoint tool 2026-06-22 13:54:09 +10:00
test_cursor_plugin_manifest.py feat: add mempalace-recall skill and optional Cursor recall rule 2026-06-10 15:40:35 +10:00
test_daemon.py fix: keep status from taking writer lease 2026-07-06 09:26:16 -03:00
test_dedup.py feat: add pluggable vector backends 2026-06-02 21:38:53 -03:00
test_dialect.py fix: align cmd_compress dict keys with compression_stats() return values (#569) 2026-04-11 16:16:31 -07:00
test_distance_metric.py feat(searcher): metric-aware distance→similarity conversion (RFC 001 §10, #1726) 2026-06-08 02:48:26 -03:00
test_dynamics.py Merge origin/develop into feat/benchmark-multilingual 2026-05-24 13:18:08 -03:00
test_embedder_identity.py feat(backends): shared embedder-identity sidecar + qdrant identity (RFC 001, #1730) 2026-06-08 10:20:45 -03:00
test_embedding.py fix: address PR review feedback (preserve "unknown" label; use super().model) 2026-06-20 18:05:15 -03:00
test_embedding_wrapper.py fix(backends): forward facet_counts + get_all_metadata in EmbeddingCollection 2026-06-29 02:22:10 +00:00
test_embeddinggemma.py perf(embedding): cap ORT intra-op threads so a background mine doesn't pin every core (#1068) 2026-06-20 17:47:22 -03:00
test_empty_chromadb_results.py fix(searcher): guard against empty ChromaDB query results (#195) (#865) 2026-04-15 00:26:38 -07:00
test_entities.py feat(graph): auto-populate the associative graph from mined sessions (#1895) 2026-06-28 19:44:11 -03:00
test_entity_detector.py feat: add LaTeX (.tex, .bib) to readable and prose extensions 2026-06-29 07:25:50 +00:00
test_entity_registry.py fix(entity_registry): clean up .tmp sidecar on write or rename failure (#1373) 2026-05-10 12:56:50 +02:00
test_exporter.py fix(exporter): refuse symlinks at file targets and skip tests on Windows 2026-05-07 12:51:47 -03:00
test_fact_checker.py fix(tests): run fact_checker __main__ via subprocess to clear runpy warning 2026-06-13 11:11:22 -04:00
test_format_miner.py fix: scope derived graph state to explicit palace 2026-07-14 19:22:06 -03:00
test_general_extractor.py Merge origin/develop into feat/benchmark-multilingual 2026-05-24 13:18:08 -03:00
test_hall_detection.py fix: README audit — 42 TDD tests + hall detection + 7 claim fixes (#835) 2026-04-13 17:11:11 -07:00
test_hallways.py fix: scope hallway reads and deletion to selected palace 2026-07-14 19:40:29 -03:00
test_hallways_pagination.py fixup(hallways): drop _HALLWAY_FILE back-compat shim, migrate existing tests to resolver 2026-06-11 19:11:52 +00:00
test_hallways_palace_scoped.py fixup(hallways): address gemini-code-assist review on PR #1780 2026-06-11 19:18:54 +00:00
test_hnsw_capacity.py Merge pull request #1849 from undeadindustries/fix/1843-recovery-guidance 2026-06-22 12:35:34 -03:00
test_hnsw_payload_health.py fix(chroma): stop quarantining valid all-layer-0 HNSW segments (#1716) 2026-06-26 00:27:36 -03:00
test_hook_shell.py fix(hooks): typo regression addressed 2026-06-13 06:37:26 +00:00
test_hooks_bash_compat.py feat(hooks): add a budget-safe SessionEnd save hook for clean exits (#1341) 2026-06-19 13:00:14 +00:00
test_hooks_cli.py Fix/wing slug special chars (#1852) 2026-06-25 23:59:05 -03:00
test_hooks_shell.py feat(hooks): add a budget-safe SessionEnd save hook for clean exits (#1341) 2026-06-19 13:00:14 +00:00
test_hybrid_candidate_union.py feat(search): add an optional source_file filter to mempalace_search (#1815) 2026-06-21 18:20:12 +05:00
test_hybrid_search.py feat(convo): preserve authored timestamp from transcripts (#1890) 2026-06-28 18:13:06 -03:00
test_i18n.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_i18n_lang_case.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_ids.py fix(ids): simplify v3 length-prefixed hashing 2026-06-12 07:39:57 +00:00
test_init.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_init_gitignore_protection.py fix(init): auto-add per-project files to .gitignore in git repos (#185) (#866) 2026-04-15 00:26:41 -07:00
test_instructions_cli.py fix: add explicit UTF-8 encoding to read_text() calls (#776) 2026-04-16 16:00:29 +05:00
test_kg_thread_safety.py fix: add missing self._lock to KnowledgeGraph.close() 2026-04-14 13:09:10 -07:00
test_knowledge_graph.py fix: half-open as-of interval for KG supersession 2026-07-06 09:23:46 -03:00
test_knowledge_graph_extra.py test: bring coverage to 85%, set threshold to 85, reset version to 3.0.11 2026-04-08 21:38:12 +03:00
test_known_entities_registry.py feat(graph): cross-wing tunnels by shared topics (#1180) 2026-04-24 23:06:26 -03:00
test_layers.py fix: guard None metadata/doc in tool_check_duplicate and Layer1/Layer2 2026-04-19 11:13:50 +03:00
test_legacy_shell_hooks.py fix(hooks): normalize Windows transcript paths in shell hooks 2026-06-12 15:25:36 +00:00
test_line_numbers.py Merge origin/develop into feat/benchmark-multilingual 2026-05-24 13:18:08 -03:00
test_live_pgvector_conformance.py review(gemini): marker-race stub, created-list lock, exact-order + exactly-one-ran asserts 2026-06-10 16:46:27 -07:00
test_llm_client.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_llm_refine.py feat(graph): cross-wing tunnels by shared topics (#1180) 2026-04-24 23:06:26 -03:00
test_maintenance_hooks.py feat(backends): observable maintenance hooks + pgvector indexed-build path (RFC 001, #1725) 2026-06-08 08:44:20 -03:00
test_mcp_http_transport.py fix(mcp): don't log a traceback when an HTTP client disconnects mid-response 2026-07-14 13:59:49 +05:00
test_mcp_mine.py feat(mcp): add mempalace_mine tool (#1662) 2026-06-06 17:54:38 +05:00
test_mcp_server.py style: ruff format test file 2026-07-10 17:04:33 +02:00
test_mcp_stdio_protection.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_migrate.py test(migrate): cover swap-failure rollback 2026-06-15 10:40:24 -03:00
test_migrate_wings.py feat(migrate): mempalace migrate-wings — normalize legacy wing names 2026-06-06 03:11:46 -03:00
test_milvus_backend.py fix: address Milvus backend review feedback 2026-07-01 07:10:39 +00:00
test_mine_lock_lifecycle.py fix: address mine lock review feedback 2026-06-14 14:58:20 -03:00
test_miner.py fix: scope derived graph state to explicit palace 2026-07-14 19:22:06 -03:00
test_miner_fts5_validation.py fix(mine): address review feedback on FTS5 auto-heal (#1928) 2026-07-07 13:23:59 -04:00
test_miner_jsonl_visibility.py Harden sweeper for production: verbatim tool blocks, full session_id, logged failures 2026-04-18 13:14:32 -03:00
test_normalize.py fix: green up CI for hardened file handling 2026-06-24 01:12:24 -03:00
test_onboarding.py feat(onboarding): multilingual embedder by default for new installs 2026-05-14 06:40:27 -03:00
test_palace.py fix(backends): require SQLite magic header for chroma + sqlite_exact detect() (#1893) (#1896) 2026-06-28 18:01:59 -03:00
test_palace_graph.py fix(palace_graph): skip None metadata in build_graph 2026-04-25 11:06:32 -07:00
test_palace_graph_tunnels.py fix: scope derived graph state to explicit palace 2026-07-14 19:22:06 -03:00
test_palace_locks.py fix(palace): pair the mine_palace_lock holder-set update with its release 2026-07-11 15:21:41 +05:00
test_pgvector_backend.py fix(pgvector): skip document column for metadata-only fetches (#1840 follow-up) (#1892) 2026-06-28 18:02:29 -03:00
test_project_scanner.py fix: handle rootless Java subprojects 2026-06-07 16:01:57 +08:00
test_qdrant_backend.py feat: optimize metadata counting using Qdrant server-side facets (#1868) 2026-06-28 19:43:28 -03:00
test_qdrant_bulk_metadata_scroll.py test(mcp_server): add missing _fetch_all_metadata delegation/fallback tests. 2026-06-21 11:29:25 +00:00
test_query_sanitizer.py fix: make quote trimming explicit 2026-04-12 22:19:58 -03:00
test_readme_claims.py style: ruff format tests/test_hooks_cli.py with CI-pinned ruff 0.4.x 2026-05-23 12:05:34 -04:00
test_repair.py Merge pull request #2017 from MemPalace/agent/fix-sqlite-recovery-cleanup 2026-07-14 20:28:27 -03:00
test_room_detector_local.py fix: skip unreachable reparse points in detect_rooms_from_folders (#558) 2026-04-11 16:16:06 -07:00
test_save_hook_mines.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_save_hook_verbose.py feat: add MEMPAL_VERBOSE toggle — developers see diaries in chat (#871) 2026-04-14 10:55:56 -07:00
test_searcher.py fix(searcher): preserve backend diagnostics before HNSW probe 2026-07-14 19:37:32 -03:00
test_serve.py feat(serve): turnkey secure remote MCP server (#1877) (#1900) 2026-06-29 03:28:06 -03:00
test_sources.py chore(tests): wrap sqlite3 connections in contextlib.closing 2026-05-09 20:25:47 -03:00
test_spellcheck.py style: format test files with ruff 2026-04-08 21:08:49 +03:00
test_spellcheck_extra.py test: bring coverage to 85%, set threshold to 85, reset version to 3.0.11 2026-04-08 21:38:12 +03:00
test_split_mega_files.py test: expand coverage to 70%, fix mcp_server CI crash (threshold 60%) 2026-04-08 21:07:03 +03:00
test_sqlite_exact_backend.py fix(backends): require SQLite magic header for chroma + sqlite_exact detect() (#1893) (#1896) 2026-06-28 18:01:59 -03:00
test_sweeper.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_sync.py fix(backends): require SQLite magic header for chroma + sqlite_exact detect() (#1893) (#1896) 2026-06-28 18:01:59 -03:00
test_version_consistency.py fix: unify package and MCP version reporting 2026-04-07 08:53:25 +01:00
test_wal.py test(wal): cover crash-safety, idempotent setup, and redaction edge paths 2026-06-24 22:58:08 +02:00