memorymaster 3.11.0__tar.gz → 3.13.0__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 (363) hide show
  1. {memorymaster-3.11.0/memorymaster.egg-info → memorymaster-3.13.0}/PKG-INFO +232 -231
  2. {memorymaster-3.11.0 → memorymaster-3.13.0}/README.md +188 -187
  3. {memorymaster-3.11.0 → memorymaster-3.13.0}/artifacts/bm25-per-field-eval-harness.py +309 -309
  4. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/__init__.py +5 -5
  5. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/_storage_lifecycle.py +552 -552
  6. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/_storage_read.py +654 -654
  7. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/_storage_schema.py +797 -652
  8. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/_storage_shared.py +41 -41
  9. memorymaster-3.13.0/memorymaster/_storage_sources.py +979 -0
  10. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/_storage_write_claims.py +353 -353
  11. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/access_control.py +126 -126
  12. memorymaster-3.13.0/memorymaster/action_exporters.py +91 -0
  13. memorymaster-3.13.0/memorymaster/action_extractor.py +212 -0
  14. memorymaster-3.13.0/memorymaster/atlas_claim_extractor.py +162 -0
  15. memorymaster-3.13.0/memorymaster/atlas_contract.py +381 -0
  16. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/auto_extractor.py +139 -139
  17. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/auto_resolver.py +220 -220
  18. memorymaster-3.13.0/memorymaster/candidate_dedupe.py +288 -0
  19. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/claim_edges.py +278 -278
  20. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/cli.py +526 -442
  21. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/cli_handlers_basic.py +1184 -716
  22. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/cli_handlers_curation.py +925 -893
  23. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/cli_helpers.py +151 -138
  24. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/closets.py +253 -253
  25. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/config_templates/hooks/memorymaster-auto-ingest.py +239 -222
  26. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/config_templates/hooks/memorymaster-classify.py +304 -304
  27. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/config_templates/hooks/memorymaster-dream-sync.py +27 -27
  28. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/config_templates/hooks/memorymaster-precompact.py +105 -76
  29. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/config_templates/hooks/memorymaster-recall.py +32 -32
  30. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/config_templates/hooks/memorymaster-session-start.py +272 -272
  31. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/config_templates/hooks/memorymaster-steward-cycle.py +67 -60
  32. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/config_templates/hooks/memorymaster-validate-wiki.py +1 -1
  33. memorymaster-3.13.0/memorymaster/connectors/__init__.py +2 -0
  34. memorymaster-3.13.0/memorymaster/connectors/whatsapp.py +235 -0
  35. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/context_hook.py +2004 -1869
  36. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/context_optimizer.py +253 -253
  37. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/dashboard.py +1101 -1059
  38. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/db_merge.py +156 -156
  39. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/dream_bridge.py +697 -697
  40. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/embeddings.py +199 -199
  41. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/entity_extractor.py +767 -767
  42. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/entity_graph.py +313 -313
  43. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/entity_registry.py +456 -456
  44. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/federated_graphify.py +154 -154
  45. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/feedback.py +247 -247
  46. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/graph_store.py +570 -570
  47. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/hook_log.py +65 -65
  48. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/jobs/__init__.py +5 -5
  49. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/jobs/compactor.py +9 -1
  50. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/jobs/decay.py +70 -50
  51. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/jobs/deterministic.py +376 -376
  52. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/jobs/validator.py +233 -233
  53. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/key_rotator.py +176 -176
  54. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/llm_provider.py +525 -512
  55. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/llm_steward.py +939 -847
  56. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/mcp_server.py +1095 -962
  57. memorymaster-3.13.0/memorymaster/media_processing.py +199 -0
  58. memorymaster-3.13.0/memorymaster/media_providers.py +256 -0
  59. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/metrics_exporter.py +1 -1
  60. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/models.py +442 -336
  61. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/operator.py +1453 -1453
  62. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/policy.py +133 -133
  63. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/postgres_store.py +2561 -1665
  64. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/qdrant_backend.py +327 -327
  65. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/qdrant_recall_fallback.py +305 -305
  66. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/query_expansion.py +184 -184
  67. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/recall_fusion.py +79 -79
  68. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/recall_tokenizer.py +305 -305
  69. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/retrieval.py +237 -237
  70. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/scheduler.py +98 -98
  71. memorymaster-3.13.0/memorymaster/schema.sql +230 -0
  72. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/schema_postgres.sql +108 -0
  73. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/scope_utils.py +109 -109
  74. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/security.py +363 -363
  75. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/service.py +1030 -792
  76. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/session_tracker.py +129 -129
  77. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/setup_hooks.py +404 -404
  78. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/skill_evolver.py +161 -161
  79. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/steward.py +1627 -1627
  80. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/steward_classifier.py +152 -149
  81. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/steward_features.py +344 -345
  82. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/storage.py +103 -101
  83. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/vault_linter.py +301 -301
  84. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/verbatim_recall.py +296 -296
  85. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/verbatim_store.py +50 -11
  86. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/webhook.py +58 -58
  87. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/wiki_engine.py +90 -3
  88. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/wiki_freshness.py +228 -228
  89. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/wiki_similarity.py +621 -621
  90. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/wiki_validate.py +299 -299
  91. {memorymaster-3.11.0 → memorymaster-3.13.0/memorymaster.egg-info}/PKG-INFO +232 -231
  92. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster.egg-info/SOURCES.txt +24 -45
  93. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster.egg-info/top_level.txt +0 -4
  94. {memorymaster-3.11.0 → memorymaster-3.13.0}/pyproject.toml +72 -72
  95. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/agg_recall_latency.py +184 -184
  96. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/alert_operator_metrics.py +1 -1
  97. memorymaster-3.13.0/scripts/audit_dedupe_precision.py +121 -0
  98. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/backfill_entity_extraction.py +327 -327
  99. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/backfill_graph_store.py +264 -264
  100. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/backfill_stop_hook_citations.py +137 -137
  101. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/backtest_steward_classifier.py +757 -757
  102. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/build_steward_training_set.py +119 -119
  103. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/check_hook_template_drift.py +143 -143
  104. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/eval_bm25_sweep.py +432 -432
  105. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/eval_classify_f1.py +226 -226
  106. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/eval_recall_precision_at_5.py +468 -468
  107. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/eval_recall_quality.py +132 -132
  108. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/eval_steward_pareto.py +273 -273
  109. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/eval_verbatim_recall.py +216 -216
  110. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/expand_recall_eval.py +404 -404
  111. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/gitnexus_to_claims.py +180 -180
  112. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/grid_recall_weights.py +191 -191
  113. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/index_claims_to_qdrant.py +315 -315
  114. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/ingest_planning_docs.py +170 -170
  115. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/label_prompts_with_judge.py +211 -211
  116. memorymaster-3.13.0/scripts/measure_dedupe_thresholds.py +114 -0
  117. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/merge_scope_variants.py +216 -216
  118. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/precompute_candidates.py +94 -94
  119. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/run_longmemeval.py +997 -997
  120. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/scheduled_ingest.py +595 -595
  121. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/setup-hooks.py +10 -10
  122. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/sync_hook_templates.py +117 -117
  123. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/train_steward_classifier.py +457 -457
  124. {memorymaster-3.11.0 → memorymaster-3.13.0}/setup.cfg +4 -4
  125. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/conftest.py +37 -37
  126. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/integration/test_extract_llm_ollama_live.py +49 -49
  127. memorymaster-3.13.0/tests/test_action_exporters.py +68 -0
  128. memorymaster-3.13.0/tests/test_action_extractor.py +77 -0
  129. memorymaster-3.13.0/tests/test_atlas_claim_extractor.py +61 -0
  130. memorymaster-3.13.0/tests/test_atlas_contract.py +1010 -0
  131. memorymaster-3.13.0/tests/test_atlas_source_schema.py +181 -0
  132. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_auto_ingest_hook_citations.py +147 -147
  133. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_auto_validate.py +197 -197
  134. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_bm25_per_field.py +222 -222
  135. memorymaster-3.13.0/tests/test_candidate_dedupe.py +296 -0
  136. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_claim_edges.py +167 -167
  137. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_claim_links.py +288 -288
  138. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_claim_type_ranking.py +84 -84
  139. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_classify_hook_f1.py +85 -85
  140. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_classify_hook_latency.py +91 -91
  141. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_cli_review_queue.py +1 -1
  142. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_closets.py +143 -143
  143. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_closets_recall_integration.py +50 -50
  144. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_compaction_trace.py +1 -1
  145. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_connectors.py +473 -473
  146. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_context_hook.py +260 -260
  147. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_dashboard.py +46 -1
  148. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_deterministic_predicates.py +1 -1
  149. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_entity_extractor.py +150 -150
  150. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_entity_extractor_llm.py +296 -296
  151. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_entity_new_kinds.py +241 -241
  152. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_entity_regex_v3.py +71 -71
  153. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_entity_registry.py +406 -406
  154. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_eval_harness.py +291 -291
  155. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_events_schema.py +1 -1
  156. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_extract_llm_ollama.py +140 -140
  157. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_federated_graphify_mcp.py +136 -136
  158. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_fts5_search.py +169 -169
  159. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_graph_distance.py +233 -233
  160. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_graph_store.py +322 -321
  161. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_hook_env_isolation.py +79 -79
  162. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_integration_workflows.py +534 -534
  163. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_key_rotator.py +159 -159
  164. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_llm_fallback.py +219 -219
  165. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_llm_provider_claude_cli.py +186 -186
  166. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_mcp_helpers.py +412 -412
  167. memorymaster-3.13.0/tests/test_media_processing.py +86 -0
  168. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_metrics_exporter.py +1 -1
  169. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_operator.py +379 -379
  170. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_policy_mode_env.py +91 -91
  171. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_postgres_parity.py +625 -625
  172. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_query_expansion.py +264 -264
  173. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_recall_entity_fanout.py +459 -459
  174. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_recall_fusion.py +94 -94
  175. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_recall_latency.py +275 -275
  176. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_recall_precision_at_5.py +261 -261
  177. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_recall_tokenizer.py +234 -234
  178. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_recall_vector_fallback.py +306 -306
  179. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_reliability_hardening.py +1 -1
  180. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_rl_trainer.py +232 -232
  181. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_rrf_auto_gate.py +223 -223
  182. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_scope_boost.py +298 -298
  183. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_scope_utils.py +112 -112
  184. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_security_patterns.py +249 -249
  185. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_sensitivity_filter_adversarial.py +93 -93
  186. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_sensitivity_filter_adversarial_v2.py +153 -153
  187. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_sqlite_core.py +255 -255
  188. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_steward.py +348 -348
  189. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_steward_classifier.py +262 -261
  190. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_steward_features.py +174 -174
  191. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_steward_features_v3.py +255 -254
  192. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_steward_resolution_parity.py +219 -219
  193. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_two_pass_recall.py +86 -86
  194. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_v311_fixes.py +172 -172
  195. memorymaster-3.13.0/tests/test_v313_e2e.py +265 -0
  196. memorymaster-3.13.0/tests/test_v313_run_cycle_dedupe.py +176 -0
  197. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_v390_e2e.py +151 -151
  198. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_v391_strict_warnings.py +73 -73
  199. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_vault_exporter.py +381 -381
  200. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_vector_search.py +367 -367
  201. memorymaster-3.13.0/tests/test_verbatim_dedup.py +144 -0
  202. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_verbatim_recall.py +321 -321
  203. memorymaster-3.13.0/tests/test_whatsapp_importer.py +106 -0
  204. memorymaster-3.13.0/tests/test_wiki_explored_and_contradictions.py +229 -0
  205. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_wiki_freshness.py +281 -281
  206. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_wiki_similarity_multiscope.py +272 -270
  207. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_wiki_validate_cli.py +193 -193
  208. memorymaster-3.11.0/artifacts/l2-haiku-batches/extract.py +0 -66
  209. memorymaster-3.11.0/cloned/MetaClaw/examples/run_conversation_opd.py +0 -64
  210. memorymaster-3.11.0/cloned/MetaClaw/examples/run_conversation_replay.py +0 -242
  211. memorymaster-3.11.0/cloned/MetaClaw/examples/run_conversation_rl.py +0 -118
  212. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/__init__.py +0 -39
  213. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/__main__.py +0 -5
  214. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/api_server.py +0 -1782
  215. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/bedrock_client.py +0 -195
  216. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/calendar_client.py +0 -290
  217. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/claw_adapter.py +0 -597
  218. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/cli.py +0 -559
  219. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/config.py +0 -200
  220. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/config_store.py +0 -283
  221. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/data_formatter.py +0 -242
  222. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/idle_detector.py +0 -122
  223. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/launcher.py +0 -273
  224. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/log_color.py +0 -150
  225. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/openclaw_env_rollout.py +0 -384
  226. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/prm_scorer.py +0 -244
  227. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/rollout.py +0 -189
  228. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/runtime_state.py +0 -131
  229. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/scheduler.py +0 -254
  230. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/sdk_backend.py +0 -166
  231. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/setup_wizard.py +0 -420
  232. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/skill_evolver.py +0 -463
  233. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/skill_manager.py +0 -487
  234. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/trainer.py +0 -560
  235. memorymaster-3.11.0/cloned/MetaClaw/metaclaw/utils.py +0 -161
  236. memorymaster-3.11.0/cloned/MetaClaw/scripts/run_v03_benchmark.py +0 -310
  237. memorymaster-3.11.0/cloned/MetaClaw/tests/conftest.py +0 -7
  238. memorymaster-3.11.0/cloned/MetaClaw/tests/test_cli.py +0 -352
  239. memorymaster-3.11.0/cloned/MetaClaw/tests/test_launcher.py +0 -98
  240. memorymaster-3.11.0/cloned/MetaClaw/tests/test_openclaw_env_rollout.py +0 -153
  241. memorymaster-3.11.0/cloned/MetaClaw/tests/test_runtime_state.py +0 -62
  242. memorymaster-3.11.0/cloned/MetaClaw/tests/test_sdk_backend.py +0 -144
  243. memorymaster-3.11.0/cloned/MetaClaw/tests/test_setup_wizard.py +0 -130
  244. memorymaster-3.11.0/cloned/MetaClaw/tests/test_utils.py +0 -211
  245. memorymaster-3.11.0/cloned/MetaClaw/tests/test_v03_live_tinker.py +0 -743
  246. memorymaster-3.11.0/cloned/agent-skill-creator/references/examples/stock-analyzer/scripts/main.py +0 -397
  247. memorymaster-3.11.0/cloned/agent-skill-creator/scripts/export_utils.py +0 -845
  248. memorymaster-3.11.0/cloned/agent-skill-creator/scripts/security_scan.py +0 -423
  249. memorymaster-3.11.0/cloned/agent-skill-creator/scripts/skill_registry.py +0 -823
  250. memorymaster-3.11.0/cloned/agent-skill-creator/scripts/staleness_check.py +0 -796
  251. memorymaster-3.11.0/cloned/agent-skill-creator/scripts/validate.py +0 -461
  252. memorymaster-3.11.0/memorymaster/config_templates/hooks/memorymaster-observe.py +0 -39
  253. memorymaster-3.11.0/memorymaster/schema.sql +0 -123
  254. {memorymaster-3.11.0 → memorymaster-3.13.0}/LICENSE +0 -0
  255. {memorymaster-3.11.0 → memorymaster-3.13.0}/benchmarks/longmemeval_runner.py +0 -0
  256. {memorymaster-3.11.0 → memorymaster-3.13.0}/benchmarks/longmemeval_vector_runner.py +0 -0
  257. {memorymaster-3.11.0 → memorymaster-3.13.0}/benchmarks/perf_smoke.py +0 -0
  258. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/__main__.py +0 -0
  259. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/claim_verifier.py +0 -0
  260. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/config.py +0 -0
  261. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/config_templates/claude-md-append.md +0 -0
  262. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/config_templates/codex-agents-md-append.md +0 -0
  263. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/conflict_resolver.py +0 -0
  264. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/daily_notes.py +0 -0
  265. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/jobs/compact_summaries.py +0 -0
  266. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/jobs/dedup.py +0 -0
  267. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/jobs/extractor.py +0 -0
  268. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/jobs/staleness.py +0 -0
  269. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/lifecycle.py +0 -0
  270. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/operator_queue.py +0 -0
  271. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/plugins.py +0 -0
  272. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/qmd_bridge.py +0 -0
  273. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/query_classifier.py +0 -0
  274. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/retry.py +0 -0
  275. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/review.py +0 -0
  276. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/rl_trainer.py +0 -0
  277. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/schema.py +0 -0
  278. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/snapshot.py +0 -0
  279. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/store_factory.py +0 -0
  280. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/transcript_miner.py +0 -0
  281. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/turn_schema.py +0 -0
  282. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/vault_bases.py +0 -0
  283. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/vault_curator.py +0 -0
  284. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/vault_exporter.py +0 -0
  285. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/vault_log.py +0 -0
  286. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/vault_query_capture.py +0 -0
  287. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster/vault_synthesis.py +0 -0
  288. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster.egg-info/dependency_links.txt +0 -0
  289. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster.egg-info/entry_points.txt +0 -0
  290. {memorymaster-3.11.0 → memorymaster-3.13.0}/memorymaster.egg-info/requires.txt +0 -0
  291. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/autoresearch_daemon.py +0 -0
  292. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/claude_to_turns.py +0 -0
  293. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/codex_live_to_turns.py +0 -0
  294. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/compaction_edge_cases.py +0 -0
  295. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/compaction_trace_report.py +0 -0
  296. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/compaction_trace_validate.py +0 -0
  297. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/confusion_matrix_eval.py +0 -0
  298. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/conversation_importer.py +0 -0
  299. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/conversation_to_turns.py +0 -0
  300. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/e2e_operator.py +0 -0
  301. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/email_live_to_turns.py +0 -0
  302. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/eval_memorymaster.py +0 -0
  303. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/generate_drill_signoff.py +0 -0
  304. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/git_to_turns.py +0 -0
  305. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/github_live_to_turns.py +0 -0
  306. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/jira_live_to_turns.py +0 -0
  307. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/llm_benchmark.py +0 -0
  308. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/messages_to_turns.py +0 -0
  309. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/operator_metrics.py +0 -0
  310. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/recurring_incident_drill.py +0 -0
  311. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/release_readiness.py +0 -0
  312. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/run_codex_autologger.py +0 -0
  313. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/run_incident_drill.py +0 -0
  314. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/slack_live_to_turns.py +0 -0
  315. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/tickets_to_turns.py +0 -0
  316. {memorymaster-3.11.0 → memorymaster-3.13.0}/scripts/webhook_to_turns.py +0 -0
  317. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_access_control.py +0 -0
  318. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_auto_extractor.py +0 -0
  319. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_auto_ingest_hook_schema.py +0 -0
  320. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_auto_resolver.py +0 -0
  321. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_claude_to_turns.py +0 -0
  322. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_cli_json_flag.py +0 -0
  323. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_cli_ready.py +0 -0
  324. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_cli_subcommands.py +0 -0
  325. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_compact_summaries.py +0 -0
  326. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_config.py +0 -0
  327. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_conflict_resolver.py +0 -0
  328. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_confusion_matrix_eval.py +0 -0
  329. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_connection_retry.py +0 -0
  330. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_context_optimizer.py +0 -0
  331. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_conversation_to_turns.py +0 -0
  332. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_dedup.py +0 -0
  333. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_embeddings_coverage.py +0 -0
  334. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_entity_graph.py +0 -0
  335. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_feedback.py +0 -0
  336. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_handler_regressions.py +0 -0
  337. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_human_id.py +0 -0
  338. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_incident_drill_runner.py +0 -0
  339. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_lifecycle.py +0 -0
  340. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_llm_steward_coverage.py +0 -0
  341. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_llm_steward_key_rotation.py +0 -0
  342. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_obsidian_mind_patterns.py +0 -0
  343. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_operator_queue.py +0 -0
  344. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_perf_smoke_config.py +0 -0
  345. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_plugins.py +0 -0
  346. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_policy_coverage.py +0 -0
  347. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_qdrant_backend.py +0 -0
  348. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_qmd_bridge.py +0 -0
  349. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_query_classifier.py +0 -0
  350. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_review.py +0 -0
  351. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_scheduler.py +0 -0
  352. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_schema.py +0 -0
  353. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_security_access.py +0 -0
  354. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_service_coverage.py +0 -0
  355. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_session_tracker.py +0 -0
  356. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_snapshot.py +0 -0
  357. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_staleness.py +0 -0
  358. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_stealth_mode.py +0 -0
  359. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_store_factory.py +0 -0
  360. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_tenant_isolation.py +0 -0
  361. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_turn_schema.py +0 -0
  362. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_webhook.py +0 -0
  363. {memorymaster-3.11.0 → memorymaster-3.13.0}/tests/test_wiki_binding.py +0 -0
@@ -1,231 +1,232 @@
1
- Metadata-Version: 2.4
2
- Name: memorymaster
3
- Version: 3.11.0
4
- Summary: Production-grade memory reliability system for AI coding agents. Lifecycle-managed claims with citations, conflict detection, steward governance, and MCP integration.
5
- Author: wolverin0
6
- License: MIT
7
- Keywords: memory,ai-agents,claims,lifecycle,mcp,sqlite,postgres,coding-agents
8
- Classifier: Development Status :: 5 - Production/Stable
9
- Classifier: Intended Audience :: Developers
10
- Classifier: License :: OSI Approved :: MIT License
11
- Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.10
13
- Classifier: Programming Language :: Python :: 3.11
14
- Classifier: Programming Language :: Python :: 3.12
15
- Classifier: Topic :: Software Development :: Libraries
16
- Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
17
- Requires-Python: >=3.10
18
- Description-Content-Type: text/markdown
19
- License-File: LICENSE
20
- Provides-Extra: postgres
21
- Requires-Dist: psycopg[binary]>=3.2; extra == "postgres"
22
- Provides-Extra: security
23
- Requires-Dist: cryptography>=42; extra == "security"
24
- Provides-Extra: embeddings
25
- Requires-Dist: sentence-transformers>=3.0; extra == "embeddings"
26
- Provides-Extra: gemini
27
- Requires-Dist: google-genai>=1.0; extra == "gemini"
28
- Provides-Extra: qdrant
29
- Requires-Dist: httpx>=0.27; extra == "qdrant"
30
- Provides-Extra: vector
31
- Requires-Dist: sentence-transformers>=3.0; extra == "vector"
32
- Requires-Dist: qdrant-client>=1.9; extra == "vector"
33
- Provides-Extra: graph
34
- Requires-Dist: kuzu>=0.4; extra == "graph"
35
- Provides-Extra: dev
36
- Requires-Dist: pytest>=8.2; extra == "dev"
37
- Requires-Dist: pytest-cov>=6.0; extra == "dev"
38
- Provides-Extra: mcp
39
- Requires-Dist: mcp>=1.2; extra == "mcp"
40
- Provides-Extra: ml
41
- Requires-Dist: scikit-learn>=1.3; extra == "ml"
42
- Requires-Dist: joblib>=1.3; extra == "ml"
43
- Dynamic: license-file
44
-
45
- # MemoryMaster
46
-
47
- **Production-grade memory reliability system for AI coding agents.**
48
-
49
- Lifecycle-managed claims with citations, conflict detection, steward governance, hybrid retrieval, and MCP integration. Give your AI agents persistent, trustworthy memory.
50
-
51
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
52
- [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
53
- [![Tests](https://img.shields.io/badge/tests-1029-green.svg)]()
54
- [![MCP Tools](https://img.shields.io/badge/MCP%20tools-22-purple.svg)]()
55
- [![CLI Commands](https://img.shields.io/badge/CLI%20commands-64-orange.svg)]()
56
- [![PyPI](https://img.shields.io/pypi/v/memorymaster.svg)](https://pypi.org/project/memorymaster/)
57
-
58
- MemoryMaster prevents the #1 problem with agent memory: **drift, stale assumptions, and unsafe disclosure**. It gives Claude Code, Codex, and any MCP-compatible agent persistent, verifiable memory with a full claim lifecycle, citation tracking, conflict detection, and human-in-the-loop governance.
59
-
60
- ---
61
-
62
- ## Architecture
63
-
64
- ```
65
- ┌─────────────────────────────────────────────────────────────────┐
66
- │ Agent Runtime │
67
- │ (Claude Code / Codex / any MCP-compatible agent) │
68
- └────────────┬────────────────────────────────┬───────────────────┘
69
- │ MCP (22 tools) │ CLI (64 commands)
70
- v v
71
- ┌─────────────────────────────────────────────────────────────────┐
72
- │ MemoryMaster Core │
73
- │ ┌──────────┐ ┌───────────┐ ┌──────────┐ ┌───────────────┐ │
74
- │ │ Ingestor │ │ Extractor │ │ Validator │ │ State Engine │ │
75
- │ │ (events) │->│ (claims) │->│ (probes) │->│ (6-state FSM) │ │
76
- │ └──────────┘ └───────────┘ └──────────┘ └───────────────┘ │
77
- │ ┌──────────┐ ┌───────────┐ ┌──────────┐ ┌───────────────┐ │
78
- │ │ Retrieval│ │ Compactor │ │ Steward │ │ Dashboard │ │
79
- │ │ (hybrid) │ │ (archive) │ │ (govern) │ │ (HTML+SSE) │ │
80
- │ └──────────┘ └───────────┘ └──────────┘ └───────────────┘ │
81
- └────────┬──────────────┬──────────────┬──────────┬───────────────┘
82
- v v v v
83
- SQLite/Postgres Qdrant Ollama/CLI Claude Code
84
- (vectors) (LLM stack) Auto Dream + Vault
85
- ```
86
-
87
- ## Key features
88
-
89
- - **6-state lifecycle**: `candidate` → `confirmed` → `stale` → `superseded` → `conflicted` → `archived`
90
- - **Citation tracking** with provenance for every claim
91
- - **Hybrid retrieval**: vector (sentence-transformers / Gemini) + FTS5 + freshness + confidence
92
- - **Context optimizer**: `query_for_context(budget=4000)` returns auto-curated memory that fits your token budget
93
- - **Entity graph** with typed relationships and alias resolution
94
- - **Steward governance**: multi-probe validators (filesystem, format, citation, semantic, tool) with proposal review
95
- - **Conflict resolution**: 5-tier auto (confidence > freshness > citations > LLM > manual)
96
- - **Auto-redaction** at ingest: JWT, GitHub tokens, Bearer, AWS keys, SSH keys, custom patterns
97
- - **LLM Wiki**: compiled-truth + append-only timeline articles with progressive-disclosure frontmatter
98
- - **Dual backend**: SQLite (zero-config) and Postgres (full feature parity with pgvector)
99
- - **Dream Bridge** for bidirectional sync with Claude Code's Auto Dream
100
- - **7-hook stack**: recall, classify, validate-wiki, session-start, auto-ingest, precompact, steward-cron
101
-
102
- Full feature index lives in [`docs/handbook.md`](docs/handbook.md).
103
-
104
- ## Prerequisites
105
-
106
- **Required**
107
-
108
- - Python **3.10+** with `pip`
109
- - Claude Code, Codex, or any MCP-compatible agent
110
-
111
- **Optional**
112
-
113
- - **Already a Claude Code subscriber?** No API key needed — set `MEMORYMASTER_LLM_PROVIDER=claude_cli` and the steward + auto-ingest hooks will use your existing OAuth via the local `claude --print` binary
114
- - A free Gemini API key from [aistudio.google.com](https://aistudio.google.com) powers the auto-ingest hook at ~zero cost
115
- - **Node.js 18+** for graphify and GitNexus
116
- - **Obsidian 1.6+** with the Bases core plugin (for visual wiki browsing)
117
- - **Docker** for Qdrant (SQLite FTS5 is the default and works out of the box)
118
-
119
- ## Quick start
120
-
121
- ```bash
122
- pip install "memorymaster[mcp]"
123
- memorymaster --db memorymaster.db init-db
124
- memorymaster-setup # interactive: hooks, MCP, steward cron, CLAUDE.md / AGENTS.md
125
- ```
126
-
127
- That's enough to use the CLI, the MCP server, and the auto-ingest Stop hook.
128
-
129
- ```bash
130
- # Ingest a claim with citation
131
- memorymaster --db memorymaster.db ingest \
132
- --text "Server uses PostgreSQL 16" \
133
- --source "session://chat|turn-3|user confirmed"
134
-
135
- # Query memory (hybrid retrieval)
136
- memorymaster --db memorymaster.db query "database version" --retrieval-mode hybrid
137
-
138
- # Context optimizer — the killer feature for agents
139
- memorymaster --db memorymaster.db context "auth patterns" --budget 4000 --format xml
140
-
141
- # Run validation cycle
142
- memorymaster --db memorymaster.db run-cycle
143
- ```
144
-
145
- For the one-prompt agent install (paste into any agent with shell access), see [`docs/handbook.md#one-prompt-agent-install`](docs/handbook.md#one-prompt-agent-install).
146
-
147
- ## Pick your LLM provider
148
-
149
- | Provider | Env vars | Default model | Cost |
150
- |----------|----------|---------------|------|
151
- | **Claude Code OAuth** (recommended for subscribers) | `MEMORYMASTER_LLM_PROVIDER=claude_cli` (requires `claude` CLI on PATH) | `claude-haiku-4-5-20251001` | included in Claude Code plan |
152
- | Google Gemini (default) | `MEMORYMASTER_LLM_PROVIDER=google` + `GEMINI_API_KEY=...` | `gemini-3.1-flash-lite-preview` | ~free |
153
- | OpenAI | `MEMORYMASTER_LLM_PROVIDER=openai` + `OPENAI_API_KEY=...` | `gpt-4o-mini` | ~$0.001/call |
154
- | Anthropic API | `MEMORYMASTER_LLM_PROVIDER=anthropic` + `ANTHROPIC_API_KEY=...` | `claude-haiku-4-5-20251001` | ~$0.001/call |
155
- | Ollama (local) | `MEMORYMASTER_LLM_PROVIDER=ollama` + `OLLAMA_URL=http://localhost:11434` | `llama3.2:3b` | free |
156
-
157
- The `claude_cli` provider shells out to your local `claude --print` binary, so it inherits the OAuth session you're already logged into in Claude Code — no API key, no rotator, no quota juggling. **Caveat**: cold-start adds 3-15s per call (subprocess spawn), so it's ideal for batched/cron paths (steward, wiki-absorb) and not for latency-sensitive recall. Override with `MEMORYMASTER_CLAUDE_CLI_BIN` and `MEMORYMASTER_CLAUDE_CLI_TIMEOUT`. On VM installs the OAuth token expires ~24h, so pair with `MEMORYMASTER_LLM_FALLBACK_PROVIDER=ollama`; desktop tokens don't expire.
158
-
159
- For zero-cost offline use, install [Ollama](https://ollama.com), `ollama pull llama3.2:3b`, and set `MEMORYMASTER_LLM_PROVIDER=ollama`.
160
-
161
- ## MCP server
162
-
163
- ```json
164
- {
165
- "mcpServers": {
166
- "memorymaster": {
167
- "command": "memorymaster-mcp",
168
- "env": {
169
- "MEMORYMASTER_DEFAULT_DB": "/path/to/memorymaster.db",
170
- "MEMORYMASTER_WORKSPACE": "/path/to/your/project"
171
- }
172
- }
173
- }
174
- }
175
- ```
176
-
177
- 22 MCP tools: `init_db`, `ingest_claim`, `run_cycle`, `run_steward`, `classify_query`, `query_memory`, `query_for_context`, `list_claims`, `redact_claim_payload`, `pin_claim`, `compact_memory`, `list_events`, `search_verbatim`, `open_dashboard`, `list_steward_proposals`, `resolve_steward_proposal`, `extract_entities`, `entity_stats`, `find_related_claims`, `quality_scores`, `recompute_tiers`, `federated_query`.
178
-
179
- See [`.mcp.json.example`](.mcp.json.example) for the full template.
180
-
181
- ## Backends
182
-
183
- | Backend | Install | Use case |
184
- |---------|---------|----------|
185
- | **SQLite** | Built-in | Local development, single-agent, zero-config |
186
- | **Postgres** | `pip install "memorymaster[postgres]"` | Team deployment, multi-agent, pgvector search |
187
-
188
- ## Docker Compose
189
-
190
- Run the full stack (MemoryMaster + Qdrant + Ollama) with one command:
191
-
192
- ```bash
193
- docker compose up -d
194
- ```
195
-
196
- See [INSTALLATION.md](INSTALLATION.md) for Kubernetes / Helm.
197
-
198
- ## Development
199
-
200
- ```bash
201
- # Install with dev dependencies
202
- pip install -e ".[dev,mcp,security,embeddings,qdrant]"
203
-
204
- # Run tests
205
- pytest tests/ -q
206
-
207
- # Lint and format
208
- ruff check memorymaster/ && ruff format memorymaster/
209
-
210
- # Performance benchmarks
211
- python benchmarks/perf_smoke.py
212
- ```
213
-
214
- See [CONTRIBUTING.md](CONTRIBUTING.md) for the full workflow.
215
-
216
- ## Documentation
217
-
218
- | Document | Description |
219
- |----------|-------------|
220
- | [docs/handbook.md](docs/handbook.md) | Full operator handbook — hooks, dashboard, steward, dream bridge, troubleshooting, one-prompt install |
221
- | [INSTALLATION.md](INSTALLATION.md) | Setup guide: pip, Docker, Helm, MCP config |
222
- | [CONTRIBUTING.md](CONTRIBUTING.md) | Dev setup, testing, PR workflow |
223
- | [ARCHITECTURE.md](ARCHITECTURE.md) | System design and subsystem details |
224
- | [USER_GUIDE.md](USER_GUIDE.md) | Usage, MCP integration, troubleshooting |
225
- | [CHANGELOG.md](CHANGELOG.md) | Version history and release notes |
226
- | [ROADMAP.md](ROADMAP.md) | Release plan and future tracks |
227
- | [docs/enabling-v2-systems.md](docs/enabling-v2-systems.md) | v3 statistical classifier + cadence policy opt-in |
228
-
229
- ## License
230
-
231
- [MIT](LICENSE) — Built by [wolverin0](https://github.com/wolverin0)
1
+ Metadata-Version: 2.4
2
+ Name: memorymaster
3
+ Version: 3.13.0
4
+ Summary: Production-grade memory reliability system for AI coding agents. Lifecycle-managed claims with citations, conflict detection, steward governance, and MCP integration.
5
+ Author: wolverin0
6
+ License: MIT
7
+ Keywords: memory,ai-agents,claims,lifecycle,mcp,sqlite,postgres,coding-agents
8
+ Classifier: Development Status :: 5 - Production/Stable
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Topic :: Software Development :: Libraries
16
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
17
+ Requires-Python: >=3.10
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Provides-Extra: postgres
21
+ Requires-Dist: psycopg[binary]>=3.2; extra == "postgres"
22
+ Provides-Extra: security
23
+ Requires-Dist: cryptography>=42; extra == "security"
24
+ Provides-Extra: embeddings
25
+ Requires-Dist: sentence-transformers>=3.0; extra == "embeddings"
26
+ Provides-Extra: gemini
27
+ Requires-Dist: google-genai>=1.0; extra == "gemini"
28
+ Provides-Extra: qdrant
29
+ Requires-Dist: httpx>=0.27; extra == "qdrant"
30
+ Provides-Extra: vector
31
+ Requires-Dist: sentence-transformers>=3.0; extra == "vector"
32
+ Requires-Dist: qdrant-client>=1.9; extra == "vector"
33
+ Provides-Extra: graph
34
+ Requires-Dist: kuzu>=0.4; extra == "graph"
35
+ Provides-Extra: dev
36
+ Requires-Dist: pytest>=8.2; extra == "dev"
37
+ Requires-Dist: pytest-cov>=6.0; extra == "dev"
38
+ Provides-Extra: mcp
39
+ Requires-Dist: mcp>=1.2; extra == "mcp"
40
+ Provides-Extra: ml
41
+ Requires-Dist: scikit-learn>=1.3; extra == "ml"
42
+ Requires-Dist: joblib>=1.3; extra == "ml"
43
+ Dynamic: license-file
44
+
45
+ # MemoryMaster
46
+
47
+ **Production-grade memory reliability system for AI coding agents.**
48
+
49
+ Lifecycle-managed claims with citations, conflict detection, steward governance, hybrid retrieval, and MCP integration. Give your AI agents persistent, trustworthy memory.
50
+
51
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
52
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
53
+ [![Tests](https://img.shields.io/badge/tests-1953-green.svg)]()
54
+ [![MCP Tools](https://img.shields.io/badge/MCP%20tools-24-purple.svg)]()
55
+ [![CLI Commands](https://img.shields.io/badge/CLI%20commands-86-orange.svg)]()
56
+ [![PyPI](https://img.shields.io/pypi/v/memorymaster.svg)](https://pypi.org/project/memorymaster/)
57
+
58
+ MemoryMaster prevents the #1 problem with agent memory: **drift, stale assumptions, and unsafe disclosure**. It gives Claude Code, Codex, and any MCP-compatible agent persistent, verifiable memory with a full claim lifecycle, citation tracking, conflict detection, and human-in-the-loop governance.
59
+
60
+ ---
61
+
62
+ ## Architecture
63
+
64
+ ```
65
+ ┌─────────────────────────────────────────────────────────────────┐
66
+ │ Agent Runtime │
67
+ │ (Claude Code / Codex / any MCP-compatible agent) │
68
+ └────────────┬────────────────────────────────┬───────────────────┘
69
+ │ MCP (24 tools) │ CLI (86 commands)
70
+ v v
71
+ ┌─────────────────────────────────────────────────────────────────┐
72
+ │ MemoryMaster Core │
73
+ │ ┌──────────┐ ┌───────────┐ ┌──────────┐ ┌───────────────┐ │
74
+ │ │ Ingestor │ │ Extractor │ │ Validator │ │ State Engine │ │
75
+ │ │ (events) │->│ (claims) │->│ (probes) │->│ (6-state FSM) │ │
76
+ │ └──────────┘ └───────────┘ └──────────┘ └───────────────┘ │
77
+ │ ┌──────────┐ ┌───────────┐ ┌──────────┐ ┌───────────────┐ │
78
+ │ │ Retrieval│ │ Compactor │ │ Steward │ │ Dashboard │ │
79
+ │ │ (hybrid) │ │ (archive) │ │ (govern) │ │ (HTML+SSE) │ │
80
+ │ └──────────┘ └───────────┘ └──────────┘ └───────────────┘ │
81
+ └────────┬──────────────┬──────────────┬──────────┬───────────────┘
82
+ v v v v
83
+ SQLite/Postgres Qdrant Ollama/CLI Claude Code
84
+ (vectors) (LLM stack) Auto Dream + Vault
85
+ ```
86
+
87
+ ## Key features
88
+
89
+ - **6-state lifecycle**: `candidate` → `confirmed` → `stale` → `superseded` → `conflicted` → `archived`
90
+ - **Citation tracking** with provenance for every claim
91
+ - **Hybrid retrieval**: vector (sentence-transformers / Gemini) + FTS5 + freshness + confidence
92
+ - **Context optimizer**: `query_for_context(budget=4000)` returns auto-curated memory that fits your token budget
93
+ - **Entity graph** with typed relationships and alias resolution
94
+ - **Steward governance**: multi-probe validators (filesystem, format, citation, semantic, tool) with proposal review
95
+ - **Conflict resolution**: 5-tier auto (confidence > freshness > citations > LLM > manual)
96
+ - **Auto-redaction** at ingest: JWT, GitHub tokens, Bearer, AWS keys, SSH keys, custom patterns
97
+ - **LLM Wiki**: compiled-truth + append-only timeline articles with progressive-disclosure frontmatter, `explored: true|false` operator-review marker, and inline `> [!contradiction]` Obsidian callouts
98
+ - **Atlas Inbox V1** (new in v3.13.0): WhatsApp ingestion → source/evidence/action proposal lifecycle → Super-Productivity export. Versioned API/CLI contract for downstream consumers (LifeAgent, etc.) see [`docs/atlas-api-contract-v1.md`](docs/atlas-api-contract-v1.md). Real provider adapters (`OpenAIWhisperTranscriptionProvider`, `TesseractOcrProvider`) behind `Protocol`s; mock providers stay default.
99
+ - **Dual backend**: SQLite (zero-config) and Postgres (full feature parity with pgvector)
100
+ - **Dream Bridge** for bidirectional sync with Claude Code's Auto Dream
101
+ - **7-hook stack**: recall, classify, validate-wiki, session-start, auto-ingest, precompact, steward-cron
102
+
103
+ Full feature index lives in [`docs/handbook.md`](docs/handbook.md).
104
+
105
+ ## Prerequisites
106
+
107
+ **Required**
108
+
109
+ - Python **3.10+** with `pip`
110
+ - Claude Code, Codex, or any MCP-compatible agent
111
+
112
+ **Optional**
113
+
114
+ - **Already a Claude Code subscriber?** No API key neededset `MEMORYMASTER_LLM_PROVIDER=claude_cli` and the steward + auto-ingest hooks will use your existing OAuth via the local `claude --print` binary
115
+ - A free Gemini API key from [aistudio.google.com](https://aistudio.google.com) powers the auto-ingest hook at ~zero cost
116
+ - **Node.js 18+** for graphify and GitNexus
117
+ - **Obsidian 1.6+** with the Bases core plugin (for visual wiki browsing)
118
+ - **Docker** for Qdrant (SQLite FTS5 is the default and works out of the box)
119
+
120
+ ## Quick start
121
+
122
+ ```bash
123
+ pip install "memorymaster[mcp]"
124
+ memorymaster --db memorymaster.db init-db
125
+ memorymaster-setup # interactive: hooks, MCP, steward cron, CLAUDE.md / AGENTS.md
126
+ ```
127
+
128
+ That's enough to use the CLI, the MCP server, and the auto-ingest Stop hook.
129
+
130
+ ```bash
131
+ # Ingest a claim with citation
132
+ memorymaster --db memorymaster.db ingest \
133
+ --text "Server uses PostgreSQL 16" \
134
+ --source "session://chat|turn-3|user confirmed"
135
+
136
+ # Query memory (hybrid retrieval)
137
+ memorymaster --db memorymaster.db query "database version" --retrieval-mode hybrid
138
+
139
+ # Context optimizer the killer feature for agents
140
+ memorymaster --db memorymaster.db context "auth patterns" --budget 4000 --format xml
141
+
142
+ # Run validation cycle
143
+ memorymaster --db memorymaster.db run-cycle
144
+ ```
145
+
146
+ For the one-prompt agent install (paste into any agent with shell access), see [`docs/handbook.md#one-prompt-agent-install`](docs/handbook.md#one-prompt-agent-install).
147
+
148
+ ## Pick your LLM provider
149
+
150
+ | Provider | Env vars | Default model | Cost |
151
+ |----------|----------|---------------|------|
152
+ | **Claude Code OAuth** (recommended for subscribers) | `MEMORYMASTER_LLM_PROVIDER=claude_cli` (requires `claude` CLI on PATH) | `claude-haiku-4-5-20251001` | included in Claude Code plan |
153
+ | Google Gemini (default) | `MEMORYMASTER_LLM_PROVIDER=google` + `GEMINI_API_KEY=...` | `gemini-3.1-flash-lite-preview` | ~free |
154
+ | OpenAI | `MEMORYMASTER_LLM_PROVIDER=openai` + `OPENAI_API_KEY=...` | `gpt-4o-mini` | ~$0.001/call |
155
+ | Anthropic API | `MEMORYMASTER_LLM_PROVIDER=anthropic` + `ANTHROPIC_API_KEY=...` | `claude-haiku-4-5-20251001` | ~$0.001/call |
156
+ | Ollama (local) | `MEMORYMASTER_LLM_PROVIDER=ollama` + `OLLAMA_URL=http://localhost:11434` | `llama3.2:3b` | free |
157
+
158
+ The `claude_cli` provider shells out to your local `claude --print` binary, so it inherits the OAuth session you're already logged into in Claude Code — no API key, no rotator, no quota juggling. **Caveat**: cold-start adds 3-15s per call (subprocess spawn), so it's ideal for batched/cron paths (steward, wiki-absorb) and not for latency-sensitive recall. Override with `MEMORYMASTER_CLAUDE_CLI_BIN` and `MEMORYMASTER_CLAUDE_CLI_TIMEOUT`. On VM installs the OAuth token expires ~24h, so pair with `MEMORYMASTER_LLM_FALLBACK_PROVIDER=ollama`; desktop tokens don't expire.
159
+
160
+ For zero-cost offline use, install [Ollama](https://ollama.com), `ollama pull llama3.2:3b`, and set `MEMORYMASTER_LLM_PROVIDER=ollama`.
161
+
162
+ ## MCP server
163
+
164
+ ```json
165
+ {
166
+ "mcpServers": {
167
+ "memorymaster": {
168
+ "command": "memorymaster-mcp",
169
+ "env": {
170
+ "MEMORYMASTER_DEFAULT_DB": "/path/to/memorymaster.db",
171
+ "MEMORYMASTER_WORKSPACE": "/path/to/your/project"
172
+ }
173
+ }
174
+ }
175
+ }
176
+ ```
177
+
178
+ 22 MCP tools: `init_db`, `ingest_claim`, `run_cycle`, `run_steward`, `classify_query`, `query_memory`, `query_for_context`, `list_claims`, `redact_claim_payload`, `pin_claim`, `compact_memory`, `list_events`, `search_verbatim`, `open_dashboard`, `list_steward_proposals`, `resolve_steward_proposal`, `extract_entities`, `entity_stats`, `find_related_claims`, `quality_scores`, `recompute_tiers`, `federated_query`.
179
+
180
+ See [`.mcp.json.example`](.mcp.json.example) for the full template.
181
+
182
+ ## Backends
183
+
184
+ | Backend | Install | Use case |
185
+ |---------|---------|----------|
186
+ | **SQLite** | Built-in | Local development, single-agent, zero-config |
187
+ | **Postgres** | `pip install "memorymaster[postgres]"` | Team deployment, multi-agent, pgvector search |
188
+
189
+ ## Docker Compose
190
+
191
+ Run the full stack (MemoryMaster + Qdrant + Ollama) with one command:
192
+
193
+ ```bash
194
+ docker compose up -d
195
+ ```
196
+
197
+ See [INSTALLATION.md](INSTALLATION.md) for Kubernetes / Helm.
198
+
199
+ ## Development
200
+
201
+ ```bash
202
+ # Install with dev dependencies
203
+ pip install -e ".[dev,mcp,security,embeddings,qdrant]"
204
+
205
+ # Run tests
206
+ pytest tests/ -q
207
+
208
+ # Lint and format
209
+ ruff check memorymaster/ && ruff format memorymaster/
210
+
211
+ # Performance benchmarks
212
+ python benchmarks/perf_smoke.py
213
+ ```
214
+
215
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for the full workflow.
216
+
217
+ ## Documentation
218
+
219
+ | Document | Description |
220
+ |----------|-------------|
221
+ | [docs/handbook.md](docs/handbook.md) | Full operator handbook — hooks, dashboard, steward, dream bridge, troubleshooting, one-prompt install |
222
+ | [INSTALLATION.md](INSTALLATION.md) | Setup guide: pip, Docker, Helm, MCP config |
223
+ | [CONTRIBUTING.md](CONTRIBUTING.md) | Dev setup, testing, PR workflow |
224
+ | [ARCHITECTURE.md](ARCHITECTURE.md) | System design and subsystem details |
225
+ | [USER_GUIDE.md](USER_GUIDE.md) | Usage, MCP integration, troubleshooting |
226
+ | [CHANGELOG.md](CHANGELOG.md) | Version history and release notes |
227
+ | [ROADMAP.md](ROADMAP.md) | Release plan and future tracks |
228
+ | [docs/enabling-v2-systems.md](docs/enabling-v2-systems.md) | v3 statistical classifier + cadence policy opt-in |
229
+
230
+ ## License
231
+
232
+ [MIT](LICENSE) — Built by [wolverin0](https://github.com/wolverin0)