Commit Graph

830 Commits

Author SHA1 Message Date
Tal Muskal abd52534bb test: bring coverage to 85%, set threshold to 85, reset version to 3.0.11
- Add tests for config, convo_miner, spellcheck, knowledge_graph
- Fix Windows PermissionError in test cleanup (chromadb file locks)
- Add UTF-8 encoding to split_mega_files, entity_registry, hooks_cli
- Fix mcp_server parse_known_args logging for unknown args
- Set coverage threshold to 85 in pyproject.toml and CI
- Reset all version files to 3.0.11

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 21:38:12 +03:00
github-actions[bot] f47ca8a122 chore: bump version to 3.0.15 2026-04-08 18:23:32 +00:00
Tal Muskal 43c5a47172 ci: add separate jobs for Windows and macOS testing 2026-04-08 21:23:20 +03:00
Igor Lins e Silva edf8f36099 fix: use parse_known_args to allow importing mcp_server during pytest collection 2026-04-08 15:18:40 -03:00
Igor Lins e Silva a0bcd0c836 fix: ruff format test_hooks_cli.py and test_knowledge_graph.py 2026-04-08 15:12:12 -03:00
Igor Lins e Silva af42a850f6 fix: split semicolon statements onto two lines for ruff E702 2026-04-08 15:11:55 -03:00
Igor Lins e Silva bf88daa649 fix: address review — re-mine modified files, idempotent add_drawer, cleanup ChromaDB handles 2026-04-08 15:11:55 -03:00
Igor Lins e Silva a4149ab248 fix: use upsert and deterministic IDs to prevent data stagnation
MCP tool_add_drawer:
- Make drawer_id content-based: hash full content instead of
  content[:100] + timestamp. Same content → same ID, eliminating
  TOCTOU race conditions
- Switch from col.add() to col.upsert() so re-filing with updated
  content updates the existing drawer

miner.add_drawer:
- Switch from collection.add() to collection.upsert() so re-mining
  a modified file updates instead of silently failing
- Remove the try/except catching 'already exists' — upsert handles
  this naturally

Findings: #11 (HIGH — add ignores updates), #6 (MEDIUM — TOCTOU),
          #13 (MEDIUM — non-deterministic IDs)

Includes test infrastructure from PR #131.
92 tests pass.
2026-04-08 15:11:55 -03:00
github-actions[bot] 5cee307e7c chore: bump version to 3.0.14 2026-04-08 18:09:18 +00:00
Tal Muskal 9ca70264f3 style: format test files with ruff
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 21:08:49 +03:00
github-actions[bot] 65ac8ad977 chore: bump version to 3.0.13 2026-04-08 18:07:33 +00:00
Tal Muskal e24d8ca733 test: expand coverage to 70%, fix mcp_server CI crash (threshold 60%)
Add/expand tests for normalize (39%→97%), searcher (39%→100%),
layers (28%→97%), split_mega_files (34%→72%).

Fix mcp_server.py parse_args→parse_known_args to prevent SystemExit
when imported during pytest (CI was crashing on all test jobs).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 21:07:03 +03:00
github-actions[bot] ab66c0e945 chore: bump version to 3.0.12 2026-04-08 17:55:26 +00:00
Tal Muskal 03e9b57108 test: add comprehensive test coverage (35% → 58%, threshold 50%)
Add 180+ new tests across 10 test files covering previously untested modules:
- instructions_cli (0% → 100%), hooks_cli (73% → 96%), spellcheck (28% → 84%)
- palace_graph (9% → 91%), general_extractor (0% → 92%), entity_detector (0% → 69%)
- entity_registry (0% → 70%), room_detector_local (0% → 55%), layers (0% → 28%)
- onboarding (0% → 36%)

Also fixes Windows encoding bug in onboarding.py (write_text without encoding="utf-8").

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 20:54:56 +03:00
github-actions[bot] fcc9ce84f2 chore: bump version to 3.0.11 2026-04-08 17:46:56 +00:00
Ben Sigman c3ea596855 Merge pull request #264 from showaykerker/fix/palace-flag-ignored
fix: honour --palace flag in mcp_server
2026-04-08 10:46:46 -07:00
Ben Sigman ede3ad10c2 Merge pull request #236 from marerem/fix/silence-chromadb-telemetry-warnings
fix: silence ChromaDB telemetry warnings and CoreML segfault on Apple Silicon
2026-04-08 10:46:43 -07:00
Ben Sigman f40aed820f Merge pull request #238 from neoneye/main
Fixed broken link reference for AAAK Dialect in README
2026-04-08 10:46:41 -07:00
github-actions[bot] 2eb4d43a59 chore: bump version to 3.0.10 2026-04-08 17:41:55 +00:00
Ben Sigman 59d011a23b Merge pull request #270 from tmuskal/main
Package MemPalace as standard Claude and Codex plugins with easy installation
2026-04-08 10:41:45 -07:00
github-actions[bot] 43cf87315e chore: bump version to 3.0.9 2026-04-08 17:40:17 +00:00
Tal Muskal 9de302f881 feat: update README and CI configuration, add tests for hooks functionality 2026-04-08 20:40:03 +03:00
github-actions[bot] 67e21c582c chore: bump version to 3.0.8 2026-04-08 17:17:36 +00:00
Tal Muskal e47fa1b5bf refactor: consolidate hook scripts and fixed issue from review 2026-04-08 20:17:23 +03:00
Hsu Hsiuwei c7896d3bb0 fix: preserve default KG path when --palace not passed
When --palace is not explicitly provided, fall back to KnowledgeGraph()
which uses DEFAULT_KG_PATH (~/.mempalace/knowledge_graph.sqlite3),
preserving backward compatibility for existing users.
2026-04-09 01:15:20 +08:00
Ben Sigman 3489a09581 Merge pull request #135 from igorls/fix/chromadb-singleton
perf: cache ChromaDB PersistentClient instead of re-instantiating per call
2026-04-08 10:11:58 -07:00
github-actions[bot] 4f1434720c chore: bump version to 3.0.7 2026-04-08 17:04:25 +00:00
Tal Muskal 350ce0ba42 Merge branch 'main' of https://github.com/tmuskal/mempalace 2026-04-08 20:04:12 +03:00
Tal Muskal 0975b1d23f fix: add syncing of pyproject.toml version during bump process 2026-04-08 20:04:10 +03:00
github-actions[bot] 019d852707 chore: bump version to 3.0.6 2026-04-08 17:00:30 +00:00
Tal Muskal b3399253b6 Merge branch 'main' of https://github.com/tmuskal/mempalace 2026-04-08 20:00:18 +03:00
Tal Muskal 1888b56883 chore: bump version to 3.0.4 in pyproject.toml 2026-04-08 20:00:16 +03:00
github-actions[bot] 1e251cbf36 chore: bump version to 3.0.5 2026-04-08 16:33:29 +00:00
Tal Muskal 34c8f8c1b8 fix: update README for marketplace installation and improve hooks_cli file encoding 2026-04-08 19:33:16 +03:00
github-actions[bot] 4de5229f10 chore: bump version to 3.0.4 2026-04-08 16:15:37 +00:00
Tal Muskal 8ac0026d24 fix: update command descriptions to specify 'generic mempalace skill' 2026-04-08 19:15:25 +03:00
github-actions[bot] b232108314 chore: bump version to 3.0.3 2026-04-08 16:10:56 +00:00
Tal Muskal 50c3db383a feat: add Codex plugin support with hooks, commands, and documentation 2026-04-08 19:10:44 +03:00
Hsu Hsiuwei 3d68c4127d fix: honour --palace flag in mcp_server
Parse --palace before initialising module-level singletons so that
both ChromaDB and KnowledgeGraph use the correct palace directory.

When --palace is provided the user is requesting an isolated palace;
KG must co-locate with ChromaDB under that path, not fall back to the
global default (~/.mempalace/knowledge_graph.sqlite3).
2026-04-08 23:58:45 +08:00
github-actions[bot] 61924ea018 chore: bump version to 3.0.2 2026-04-08 15:56:25 +00:00
Tal Muskal aaa6f59446 refactor: remove unused skills section from plugin.json 2026-04-08 18:56:00 +03:00
github-actions[bot] d4d328a545 chore: bump version to 3.0.1 2026-04-08 15:50:39 +00:00
Tal Muskal a788af8919 feat: add command documentation for help, init, mine, search, and status 2026-04-08 18:49:45 +03:00
Tal Muskal 94b39cbfe9 refactor: rename workflow and improve version bumping process 2026-04-08 18:43:53 +03:00
Tal Muskal c9d3955859 refactor: update skill names to include 'mempalace:' prefix for consistency 2026-04-08 18:41:22 +03:00
Tal Muskal 2f83518415 refactor: simplify plugin.json by removing unused hooks and commands 2026-04-08 18:37:46 +03:00
Igor Lins e Silva 37e15767f0 ci: remove benchmark job from CI workflow
Too heavy for CI (~2h per run). Benchmarks can be run locally with:
  pytest -m benchmark --bench-scale=small --bench-report=results.json
2026-04-08 11:11:15 -03:00
Igor Lins e Silva ebc26f3960 fix: resolve formatting, regression logic, and pytest defaults
- Run ruff format on all benchmark files (fixes CI lint job)
- Fix check_regression() substring ambiguity: ordered keyword matching
  so "latency_improvement_pct" is correctly classified as higher-is-better
- Update stale comments in conftest.py referencing wrong fixture
- Add pytest addopts to skip benchmark/slow/stress markers by default
2026-04-08 10:56:39 -03:00
Tal Muskal 94a41913a3 fix: update plugin source path in marketplace.json 2026-04-08 15:37:57 +03:00
github-actions[bot] 6b5e869dd5 chore: sync plugin version to 3.0.0 2026-04-08 11:56:13 +00:00