mempalace/tests
Arnold Wender c80f6537ec test(wal): cover crash-safety, idempotent setup, and redaction edge paths
The write-ahead log gained its own module in v3.5.0 but sat at 82% coverage;
the uncovered lines were exactly the failure/guard branches that uphold its
contracts: the cache-hit early return, the restricted-FS chmod/mkdir swallow
paths, and the promise that a WAL write failure is logged and never crashes
the calling tool. Add five tests covering those branches plus the non-string
redaction marker, bringing mempalace/wal.py to 100% and locking the
crash-safety guarantees against regression. Test-only; no production change.
2026-06-24 22:58:08 +02: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
conftest.py fix(daemon): Windows-safe pid liveness probe; finalize cross-platform daemon tests 2026-06-19 09:38:34 -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: close blob seq sqlite migration connection 2026-06-14 13:12:00 -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_cli.py Merge pull request #1820 from fatkobra/fix/1814-session-end-hook 2026-06-22 12:37:19 -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: percent-encode sqlite read-only URIs so spaced/special-char paths open 2026-06-20 18:56:12 -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_convo_miner.py fix(miner): count only new work toward --limit, not already-mined skips (#1535) 2026-06-06 17:56:08 +05: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 Merge pull request #1137 from arnoldwender/fix/convo-miner-preserve-response-structure 2026-06-06 00:16:33 -03: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 feat: add mempalace_checkpoint batch save tool 2026-06-22 13:41:15 +10: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): normalize all OneOrMany inputs in EmbeddingCollection 2026-06-06 04:56:19 -03: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_entity_detector.py feat(entity): known-systems lexicon keeps multi-word product names atomic 2026-05-24 13:50:53 -07: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(miner): count only new work toward --limit, not already-mined skips (#1535) 2026-06-06 17:56:08 +05: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 fixup(hallways): drop _HALLWAY_FILE back-compat shim, migrate existing tests to resolver 2026-06-11 19:11:52 +00: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 style: ruff format test_hnsw_payload_health.py (#1461 follow-up) 2026-05-14 19:17:26 -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 Merge pull request #1820 from fatkobra/fix/1814-session-end-hook 2026-06-22 12:37:19 -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(search): add an optional source_file filter to mempalace_search (#1815) 2026-06-21 18:20:12 +05: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(kg): close sqlite connections during cleanup 2026-05-08 14:44:04 +00: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): harden HTTP transport — DNS-rebinding guard, optional token, real tests 2026-06-22 12:40:03 -03:00
test_mcp_mine.py feat(mcp): add mempalace_mine tool (#1662) 2026-06-06 17:54:38 +05:00
test_mcp_server.py Merge pull request #1729 from arnoldwender/feat/mcp-delete-by-source 2026-06-22 12:37:59 -03: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_mine_lock_lifecycle.py fix: address mine lock review feedback 2026-06-14 14:58:20 -03:00
test_miner.py Merge pull request #1368 from EVSalomon/feat/add-support-swift-kotlin 2026-06-18 12:37:40 -03:00
test_miner_fts5_validation.py test: stabilize release validation on develop 2026-06-14 12:25:53 -03: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 feat: add pgvector backend + namespace-isolation conformance contract 2026-06-05 21:41:21 -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 Merge origin/develop into feat/benchmark-multilingual 2026-05-24 13:18:08 -03:00
test_palace_locks.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_pgvector_backend.py Merge pull request #1840 from mvalentsev/fix/1830-pgvector-pagination 2026-06-22 12:34:31 -03:00
test_project_scanner.py fix: handle rootless Java subprojects 2026-06-07 16:01:57 +08:00
test_qdrant_backend.py feat: add pgvector backend + namespace-isolation conformance contract 2026-06-05 21:41:21 -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 fix: green up CI for hardened file handling 2026-06-24 01:12:24 -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 feat(search): add an optional source_file filter to mempalace_search (#1815) 2026-06-21 18:20:12 +05: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): push sqlite_exact get(limit, offset) pagination into SQL 2026-06-21 05:11:15 +05:00
test_sweeper.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_sync.py fix(daemon): address post-merge review feedback on #1826 2026-06-19 11:56:09 -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