memgit 0.6.0__tar.gz → 0.6.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. {memgit-0.6.0 → memgit-0.6.1}/PKG-INFO +1 -1
  2. {memgit-0.6.0 → memgit-0.6.1}/memgit/__init__.py +1 -1
  3. {memgit-0.6.0 → memgit-0.6.1}/memgit/hooks.py +6 -1
  4. {memgit-0.6.0 → memgit-0.6.1}/memgit.egg-info/PKG-INFO +1 -1
  5. {memgit-0.6.0 → memgit-0.6.1}/pyproject.toml +1 -1
  6. {memgit-0.6.0 → memgit-0.6.1}/tests/test_v060.py +11 -0
  7. {memgit-0.6.0 → memgit-0.6.1}/LICENSE +0 -0
  8. {memgit-0.6.0 → memgit-0.6.1}/README.md +0 -0
  9. {memgit-0.6.0 → memgit-0.6.1}/memgit/cli.py +0 -0
  10. {memgit-0.6.0 → memgit-0.6.1}/memgit/cloud/__init__.py +0 -0
  11. {memgit-0.6.0 → memgit-0.6.1}/memgit/cloud/client.py +0 -0
  12. {memgit-0.6.0 → memgit-0.6.1}/memgit/cloud/commands.py +0 -0
  13. {memgit-0.6.0 → memgit-0.6.1}/memgit/cloud/crypto.py +0 -0
  14. {memgit-0.6.0 → memgit-0.6.1}/memgit/cloud/state.py +0 -0
  15. {memgit-0.6.0 → memgit-0.6.1}/memgit/cloud/sync.py +0 -0
  16. {memgit-0.6.0 → memgit-0.6.1}/memgit/delivery.py +0 -0
  17. {memgit-0.6.0 → memgit-0.6.1}/memgit/gitdigest.py +0 -0
  18. {memgit-0.6.0 → memgit-0.6.1}/memgit/graph.py +0 -0
  19. {memgit-0.6.0 → memgit-0.6.1}/memgit/http_server.py +0 -0
  20. {memgit-0.6.0 → memgit-0.6.1}/memgit/importer.py +0 -0
  21. {memgit-0.6.0 → memgit-0.6.1}/memgit/links.py +0 -0
  22. {memgit-0.6.0 → memgit-0.6.1}/memgit/mcp_server.py +0 -0
  23. {memgit-0.6.0 → memgit-0.6.1}/memgit/models.py +0 -0
  24. {memgit-0.6.0 → memgit-0.6.1}/memgit/project.py +0 -0
  25. {memgit-0.6.0 → memgit-0.6.1}/memgit/repo.py +0 -0
  26. {memgit-0.6.0 → memgit-0.6.1}/memgit/scorer.py +0 -0
  27. {memgit-0.6.0 → memgit-0.6.1}/memgit/store.py +0 -0
  28. {memgit-0.6.0 → memgit-0.6.1}/memgit/tokens.py +0 -0
  29. {memgit-0.6.0 → memgit-0.6.1}/memgit/toon.py +0 -0
  30. {memgit-0.6.0 → memgit-0.6.1}/memgit/usage.py +0 -0
  31. {memgit-0.6.0 → memgit-0.6.1}/memgit.egg-info/SOURCES.txt +0 -0
  32. {memgit-0.6.0 → memgit-0.6.1}/memgit.egg-info/dependency_links.txt +0 -0
  33. {memgit-0.6.0 → memgit-0.6.1}/memgit.egg-info/entry_points.txt +0 -0
  34. {memgit-0.6.0 → memgit-0.6.1}/memgit.egg-info/requires.txt +0 -0
  35. {memgit-0.6.0 → memgit-0.6.1}/memgit.egg-info/top_level.txt +0 -0
  36. {memgit-0.6.0 → memgit-0.6.1}/setup.cfg +0 -0
  37. {memgit-0.6.0 → memgit-0.6.1}/tests/test_accrue.py +0 -0
  38. {memgit-0.6.0 → memgit-0.6.1}/tests/test_advanced.py +0 -0
  39. {memgit-0.6.0 → memgit-0.6.1}/tests/test_aliases.py +0 -0
  40. {memgit-0.6.0 → memgit-0.6.1}/tests/test_core.py +0 -0
  41. {memgit-0.6.0 → memgit-0.6.1}/tests/test_delivery.py +0 -0
  42. {memgit-0.6.0 → memgit-0.6.1}/tests/test_setup.py +0 -0
  43. {memgit-0.6.0 → memgit-0.6.1}/tests/test_store_repo.py +0 -0
  44. {memgit-0.6.0 → memgit-0.6.1}/tests/test_toon.py +0 -0
  45. {memgit-0.6.0 → memgit-0.6.1}/tests/test_v020.py +0 -0
  46. {memgit-0.6.0 → memgit-0.6.1}/tests/test_v030.py +0 -0
  47. {memgit-0.6.0 → memgit-0.6.1}/tests/test_v040.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: memgit
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: Git for AI memory — version-controlled context persistence across Claude, GPT, Gemini, Cursor, Windsurf, and more
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://memgit.dev
@@ -1,3 +1,3 @@
1
1
  """memgit — git for AI memory."""
2
2
 
3
- __version__ = "0.6.0"
3
+ __version__ = "0.6.1"
@@ -261,10 +261,15 @@ def context_recall() -> int:
261
261
  if not tokens:
262
262
  return 0
263
263
  # Tag matches a path token exactly, case-insensitive. (Substring matching
264
- # would fire 'api' against half the filesystem.)
264
+ # would fire 'api' against half the filesystem.) The project label and its
265
+ # components are excluded — every path under the workspace contains them,
266
+ # and importer-derived label tags ('personal', 'business') are not topics.
267
+ label_parts = set((project or '').lower().split('-')) - {''}
265
268
  lower_tags = {t.lower(): t for t in tagmap}
266
269
  candidates = []
267
270
  for tok in tokens:
271
+ if tok in label_parts or tok == (project or '').lower():
272
+ continue
268
273
  tag = lower_tags.get(tok)
269
274
  if not tag:
270
275
  continue
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: memgit
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: Git for AI memory — version-controlled context persistence across Claude, GPT, Gemini, Cursor, Windsurf, and more
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://memgit.dev
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "memgit"
7
- version = "0.6.0"
7
+ version = "0.6.1"
8
8
  description = "Git for AI memory — version-controlled context persistence across Claude, GPT, Gemini, Cursor, Windsurf, and more"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -451,6 +451,17 @@ class TestContextRecall:
451
451
  payload("delta", "cap1"), repo)
452
452
  assert out4 == "" # hard cap 3/session
453
453
 
454
+ def test_project_label_component_tags_never_hinted(self, repo, monkeypatch, capsys):
455
+ """Every path under the workspace contains the label's words —
456
+ importer-derived label tags ('personal', 'business') are not topics.
457
+ Found live: 77 'business'-tagged memories hinted on MEMORY.md."""
458
+ from memgit.hooks import context_recall
459
+ self._seed(repo, n=5, tag="business")
460
+ rc, out = _run_hook(monkeypatch, capsys, context_recall, {
461
+ "tool_input": {"file_path": "/Users/x/Personal business/notes.md"},
462
+ "cwd": "/Users/x/Personal business", "session_id": "ctx6"}, repo)
463
+ assert out == ""
464
+
454
465
  def test_skips_tag_already_hinted_by_prompt_recall(self, repo, monkeypatch, capsys):
455
466
  from memgit.hooks import context_recall
456
467
  self._seed(repo, n=3, tag="zebpay")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes