..
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
fix(embedding): land openai-compat EF cleanly on develop
2026-08-11 07:08:02 -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
fix(hermes): stop second Chroma client racing the filing worker
2026-08-11 08:13:19 -03:00
test_backends.py
Merge pull request #2159 from amorphous-dreams/fix/hnsw-defaults-followup
2026-08-11 09:24:14 -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): stop a socket in the palace from aborting repair ( #2207 )
2026-08-11 12:53:53 +05: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
feat(search): add since/before date window to search surfaces ( #463 )
2026-08-11 07:55:24 -03:00
test_cli_hallways.py
fix: scope hallway reads and deletion to selected palace
2026-07-14 19:40:29 -03:00
test_cli_logstream.py
fix(logstream): read and write artifact content as bytes, never text mode
2026-08-07 08:21:57 -03:00
test_cli_source_adapters.py
test(mine): complete source adapter dispatch coverage
2026-08-10 17:19:48 +00:00
test_closet_llm.py
fix: address single-writer review feedback
2026-07-30 22:25:05 -03:00
test_closets.py
fix(mcp): resolve chunked diary entries by their entry_id ( #2185 )
2026-08-08 09:06:53 -03:00
test_codex_plugin_manifest.py
fix(codex): make marketplace plugin installable
2026-08-07 10:00:23 +07: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
feat(searcher): wire i18n stop words into BM25 tokenizer ( #973 )
2026-08-03 02:38:46 +05: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
Merge branch 'develop' into feat/hermes-provider-core
2026-08-05 11:37:54 -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
test(convo-miner): pin subagent skip against explicit single-file targets
2026-08-06 16:33:16 +05: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
test(mine): complete source adapter dispatch coverage
2026-08-10 17:19:48 +00:00
test_date_window.py
feat(search): add since/before date window to search surfaces ( #463 )
2026-08-11 07:55:24 -03:00
test_dedup.py
fix(dedup): guard dedup_palace's own count() print, not just get_source_groups
2026-07-28 17:34:49 +02: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
Merge pull request #2093 from KeilerHirsch/fix/preflight-count-divergence
2026-08-02 05:24:02 -03:00
test_embedding.py
test(backends): cover the _embed_texts fallback and empty-batch guard
2026-08-08 09:59:34 -04:00
test_embedding_api.py
fix(embedding): harden API error handling (PR #1671 review)
2026-08-11 07:07:13 -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): group documents by size before sub-batching ( #2104 )
2026-08-06 16:33:10 +05: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_encoding_hardening.py
style: format encoding migration follow-up
2026-08-09 13:50:27 +02:00
test_encoding_repair.py
fix(encoding): require local evidence before repairing the ambiguous [ÂÃ] window
2026-08-10 09:36:18 +02: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
fix(entity): defuse entity-candidate ReDoS on long ASCII runs ( #2063 )
2026-07-23 12:56:37 +05: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
fix(extractor): ignore markdown emphasis as emotion
2026-08-09 14:40:39 +02: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_hermes_integration.py
fix(hermes): stop second Chroma client racing the filing worker
2026-08-11 08:13:19 -03:00
test_hnsw_capacity.py
fix(chroma): adopt chromadb's own HNSW write defaults
2026-07-31 18:01:20 -07: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_hook_write_routing.py
feat(hooks): apply daemon write-routing policy
2026-07-17 08:23:36 +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(hooks): ingest only the active transcript
2026-08-02 19:21:35 +00: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_hub_forward.py
test(hub-forward): make registry/proxy tests Windows-portable
2026-08-05 23:50:19 -03: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
fix(tests): harden hybrid search against empty Windows Chroma reads
2026-08-11 11:20:09 -03:00
test_i18n.py
feat(searcher): wire i18n stop words into BM25 tokenizer ( #973 )
2026-08-03 02:38:46 +05: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
test: cover main hotfix regressions
2026-07-14 21:52:32 -03: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
test: cover main hotfix regressions
2026-07-14 21:52:32 -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_logstream.py
feat(logstream): phase 5 — SSE stream + lock-free hub dispatch (RFC 003)
2026-08-05 23:50:19 -03:00
test_logstream_sse.py
feat(logstream): phase 5 — SSE stream + lock-free hub dispatch (RFC 003)
2026-08-05 23:50:19 -03:00
test_logstream_sync.py
feat(3.7.0): agent logstream — scope the slice to coordination only
2026-08-06 00:25:49 -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
feat(serve): add authenticated /statusz operational endpoint
2026-08-05 23:49:23 -03:00
test_mcp_logstream.py
feat(logstream): mempalace_event_list preview mode — scan the stream cheaply
2026-08-05 23:50:19 -03:00
test_mcp_mine.py
fix: handle unavailable MCP stdout redirection
2026-08-10 15:47:48 +03:00
test_mcp_server.py
feat(search): add since/before date window to search surfaces ( #463 )
2026-08-11 07:55:24 -03:00
test_mcp_server_eof.py
fix(mcp): self-exit on stdin EOF/broken pipe so orphaned stdio sessions release locks
2026-07-24 11:49:11 +04: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
fix(backups): stop a socket in the palace from aborting repair ( #2207 )
2026-08-11 12:53:53 +05: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(encoding): extend non-ASCII console sweep to the 11 remaining modules ( #1034 )
2026-08-08 22:29:59 +02: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(normalize): parse ChatGPT export arrays, not just single conversations ( #2160 )
2026-08-06 16:48:56 +05:00
test_onboarding.py
fix(encoding): replace non-ASCII symbols in CLI output ( #1034 )
2026-08-08 22:24:29 +02:00
test_palace.py
chore(release): 3.7.0
2026-08-02 05:34:29 -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(tests): isolate lock-reap home on Windows via USERPROFILE
2026-08-11 08:25:19 -03:00
test_pgvector_backend.py
feat(pgvector): facet_counts per BaseCollection #1868 contract
2026-07-17 10:11:22 +00: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_rebuild_index_quiescence.py
fix(repair): hold writer lease across rebuild_index
2026-08-08 23:11:15 +02:00
test_repair.py
fix(encoding): extend non-ASCII console sweep to the 11 remaining modules ( #1034 )
2026-08-08 22:29:59 +02:00
test_repair_encoding_cli.py
fix(repair-encoding-cli): reconfigure stdio to UTF-8 like the other entry points
2026-08-08 23:21:55 +02:00
test_repair_lock_safety.py
fix: take mine-lock before archive in repair --mode from-sqlite
2026-07-31 23:39:42 -07: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_search_drawer_id.py
fix(search): return round-trippable drawer IDs
2026-07-28 14:37:35 +00:00
test_searcher.py
feat(search): add since/before date window to search surfaces ( #463 )
2026-08-11 07:55:24 -03:00
test_serve.py
feat(serve): turnkey secure remote MCP server ( #1877 ) ( #1900 )
2026-06-29 03:28:06 -03:00
test_service_palace_env.py
fix(service): restore MEMPALACE_PALACE_PATH after the call that stamped it
2026-08-08 13:15:12 -07: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: harden release polish for bot findings and search errors
2026-08-02 07:43:14 -03:00
test_sweeper.py
fix(sweep): collapse repeated message UUIDs before upsert
2026-08-02 17:48:22 +00: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_transport.py
feat(transport): the RFC 004 transport seam — MeshGuard integration step 1
2026-08-05 23:50:19 -03:00
test_vector_write_gate.py
fix(mcp): refuse vector writes into a diverged HNSW index instead of hanging
2026-08-05 16:03:39 +03:00
test_version_consistency.py
ci: bump the ruff pin with the dependency, and guard the drift
2026-08-07 09:27:28 -03:00
test_wal.py
test(wal): cover crash-safety, idempotent setup, and redaction edge paths
2026-06-24 22:58:08 +02:00
test_write_routing.py
feat(routing): add shared daemon write-routing policy
2026-07-15 14:38:23 +00:00