atmem 2.3.2__tar.gz → 2.3.4__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 (562) hide show
  1. {atmem-2.3.2/atmem.egg-info → atmem-2.3.4}/PKG-INFO +28 -14
  2. {atmem-2.3.2 → atmem-2.3.4}/README.md +23 -13
  3. atmem-2.3.4/atmem/benchmark/data/mem0-head-to-head-2.3.3b1-v1.json +48 -0
  4. {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/external.py +2 -0
  5. {atmem-2.3.2 → atmem-2.3.4}/atmem/cli.py +270 -10
  6. {atmem-2.3.2 → atmem-2.3.4}/atmem/contracts/models.py +13 -0
  7. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/assets/app.css +92 -20
  8. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/assets/app.html +38 -9
  9. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/assets/app.js +62 -11
  10. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/atbot_companion.py +8 -39
  11. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/compat.py +1 -0
  12. atmem-2.3.4/atmem/control/jev_service.py +165 -0
  13. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/manager.py +24 -1
  14. atmem-2.3.4/atmem/control/query_expansion.py +27 -0
  15. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/web.py +31 -0
  16. {atmem-2.3.2 → atmem-2.3.4}/atmem/evidence/service.py +30 -0
  17. {atmem-2.3.2 → atmem-2.3.4}/atmem/evidence/store.py +12 -1
  18. atmem-2.3.4/atmem/integrations/__init__.py +1 -0
  19. atmem-2.3.4/atmem/integrations/atflows.py +189 -0
  20. {atmem-2.3.2 → atmem-2.3.4}/atmem/mcp/server.py +1 -1
  21. {atmem-2.3.2 → atmem-2.3.4}/atmem/memory.py +17 -3
  22. {atmem-2.3.2 → atmem-2.3.4}/atmem/openclaw_install.py +1 -1
  23. atmem-2.3.4/atmem/retrieve/fusion.py +18 -0
  24. atmem-2.3.4/atmem/retrieve/graph.py +135 -0
  25. atmem-2.3.4/atmem/retrieve/hybrid.py +159 -0
  26. {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/rank.py +59 -1
  27. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/recall-request.json +2 -1
  28. {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/index.py +201 -41
  29. {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/providers.py +61 -0
  30. {atmem-2.3.2 → atmem-2.3.4}/atmem/store/sqlite.py +34 -0
  31. {atmem-2.3.2 → atmem-2.3.4/atmem.egg-info}/PKG-INFO +28 -14
  32. {atmem-2.3.2 → atmem-2.3.4}/atmem.egg-info/SOURCES.txt +57 -0
  33. {atmem-2.3.2 → atmem-2.3.4}/atmem.egg-info/requires.txt +6 -0
  34. {atmem-2.3.2 → atmem-2.3.4}/docs/agent-blackbox.md +19 -5
  35. {atmem-2.3.2 → atmem-2.3.4}/docs/benchmarks.md +59 -2
  36. {atmem-2.3.2 → atmem-2.3.4}/docs/control-plane.md +1 -1
  37. atmem-2.3.4/docs/current-status.md +70 -0
  38. atmem-2.3.4/docs/data-storage-and-backup.md +67 -0
  39. {atmem-2.3.2 → atmem-2.3.4}/docs/framework-adapters.md +2 -1
  40. atmem-2.3.4/docs/http-api.md +124 -0
  41. atmem-2.3.4/docs/implementation-evidence/026/20260920T094307Z-85c2ae2-atflows-b2.md +15 -0
  42. atmem-2.3.4/docs/implementation-evidence/026/20260920T105859Z-atmem-234-stable.md +12 -0
  43. atmem-2.3.4/docs/implementation-evidence/031/baseline.md +50 -0
  44. atmem-2.3.4/docs/implementation-evidence/031/consistency-audit.md +32 -0
  45. atmem-2.3.4/docs/implementation-evidence/031/core-hybrid-benchmark.md +87 -0
  46. atmem-2.3.4/docs/implementation-evidence/031/core-hybrid-calibration.json +479 -0
  47. atmem-2.3.4/docs/implementation-evidence/031/core-hybrid-review.md +85 -0
  48. atmem-2.3.4/docs/implementation-evidence/031/graph-calibration-four-profile.json +1126 -0
  49. atmem-2.3.4/docs/implementation-evidence/031/graph-calibration.json +908 -0
  50. atmem-2.3.4/docs/implementation-evidence/031/graph-nomination.md +174 -0
  51. atmem-2.3.4/docs/implementation-evidence/031/matched-v2.md +67 -0
  52. atmem-2.3.4/docs/implementation-evidence/031/numpy-benchmark.md +65 -0
  53. atmem-2.3.4/docs/implementation-evidence/031/numpy-review.md +64 -0
  54. atmem-2.3.4/docs/implementation-evidence/031/profiling.md +84 -0
  55. atmem-2.3.4/docs/implementation-evidence/031/release-2.3.3.md +104 -0
  56. {atmem-2.3.2 → atmem-2.3.4}/docs/multimodal-observations.md +7 -3
  57. atmem-2.3.4/docs/release-roadmap.md +164 -0
  58. atmem-2.3.4/docs/releases/v2.3.3.md +118 -0
  59. atmem-2.3.4/docs/releases/v2.3.4.md +50 -0
  60. atmem-2.3.4/docs/releases/v2.3.4b1.md +79 -0
  61. atmem-2.3.4/docs/releases/v2.3.4b2.md +112 -0
  62. atmem-2.3.4/docs/website/atbot.md +25 -0
  63. atmem-2.3.4/docs/website/atflows.md +36 -0
  64. atmem-2.3.4/docs/website/cli.md +66 -0
  65. atmem-2.3.4/docs/website/dashboard.md +27 -0
  66. atmem-2.3.4/docs/website/evidence.md +38 -0
  67. atmem-2.3.4/docs/website/examples.md +36 -0
  68. atmem-2.3.4/docs/website/getting-started.md +61 -0
  69. atmem-2.3.4/docs/website/index.md +29 -0
  70. atmem-2.3.4/docs/website/integrations.md +30 -0
  71. atmem-2.3.4/docs/website/manifest.json +261 -0
  72. atmem-2.3.4/docs/website/mcp.md +33 -0
  73. atmem-2.3.4/docs/website/portfolio.md +13 -0
  74. atmem-2.3.4/docs/website/python.md +28 -0
  75. atmem-2.3.4/docs/website/reference.md +28 -0
  76. atmem-2.3.4/docs/website/releases.md +25 -0
  77. atmem-2.3.4/docs/website/troubleshooting.md +30 -0
  78. atmem-2.3.4/docs/website-contributing.md +33 -0
  79. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/README.md +6 -2
  80. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/openclaw.plugin.json +1 -1
  81. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/package-lock.json +2 -2
  82. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/package.json +1 -1
  83. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/rpc-client.ts +1 -1
  84. atmem-2.3.4/integrations/openclaw/test/fixtures/hook-context/2026.9.5.json +401 -0
  85. {atmem-2.3.2 → atmem-2.3.4}/pyproject.toml +8 -1
  86. {atmem-2.3.2 → atmem-2.3.4}/tests/test_atbot_companion.py +22 -0
  87. atmem-2.3.4/tests/test_atflows_review.py +153 -0
  88. {atmem-2.3.2 → atmem-2.3.4}/tests/test_benchmark_external.py +66 -0
  89. {atmem-2.3.2 → atmem-2.3.4}/tests/test_cli_guidance.py +48 -0
  90. {atmem-2.3.2 → atmem-2.3.4}/tests/test_control_plane.py +8 -3
  91. {atmem-2.3.2 → atmem-2.3.4}/tests/test_dashboard.py +9 -0
  92. {atmem-2.3.2 → atmem-2.3.4}/tests/test_documentation.py +2 -2
  93. atmem-2.3.4/tests/test_jev_lab.py +52 -0
  94. atmem-2.3.4/tests/test_jev_service.py +48 -0
  95. atmem-2.3.4/tests/test_production_benchmarks.py +53 -0
  96. atmem-2.3.4/tests/test_release_metadata.py +64 -0
  97. atmem-2.3.4/tests/test_retrieval_candidate_union.py +226 -0
  98. atmem-2.3.4/tests/test_retrieval_graph_fusion.py +206 -0
  99. {atmem-2.3.2 → atmem-2.3.4}/tests/test_retrieval_quality.py +44 -0
  100. atmem-2.3.4/tests/test_semantic_matrix_cache.py +124 -0
  101. {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_rebuild.py +56 -0
  102. {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_search.py +89 -0
  103. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_performance.py +73 -40
  104. atmem-2.3.4/tests/test_website_docs.py +33 -0
  105. atmem-2.3.4/tools/benchmark_core_hybrid.py +93 -0
  106. atmem-2.3.4/tools/benchmark_numpy_cache.py +79 -0
  107. {atmem-2.3.2 → atmem-2.3.4}/tools/run_longmemeval_retrieval.py +226 -43
  108. atmem-2.3.4/tools/smoke_atflows_delegated.py +116 -0
  109. atmem-2.3.4/tools/smoke_atflows_handoff.py +128 -0
  110. {atmem-2.3.2 → atmem-2.3.4}/tools/smoke_installed_package.py +1 -1
  111. {atmem-2.3.2 → atmem-2.3.4}/tools/smoke_upgrade_from_2_1.py +5 -4
  112. atmem-2.3.2/docs/current-status.md +0 -54
  113. atmem-2.3.2/docs/data-storage-and-backup.md +0 -32
  114. atmem-2.3.2/docs/http-api.md +0 -21
  115. atmem-2.3.2/docs/release-roadmap.md +0 -76
  116. atmem-2.3.2/tests/test_release_metadata.py +0 -30
  117. {atmem-2.3.2 → atmem-2.3.4}/LICENSE +0 -0
  118. {atmem-2.3.2 → atmem-2.3.4}/MANIFEST.in +0 -0
  119. {atmem-2.3.2 → atmem-2.3.4}/atmem/__init__.py +0 -0
  120. {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/__init__.py +0 -0
  121. {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/base.py +0 -0
  122. {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/callbacks.py +0 -0
  123. {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/crewai.py +0 -0
  124. {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/evidence_profiles.py +0 -0
  125. {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/google_adk.py +0 -0
  126. {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/langgraph.py +0 -0
  127. {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/microsoft_agent.py +0 -0
  128. {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/openai_agents.py +0 -0
  129. {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/pydantic_ai.py +0 -0
  130. {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/smolagents.py +0 -0
  131. {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/__init__.py +0 -0
  132. {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/contracts.py +0 -0
  133. {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/data/deterministic-v1.json +0 -0
  134. {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/data/mem0-oss-v1.json +0 -0
  135. {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/data/retrieval-calibration-v1.json +0 -0
  136. {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/data/retrieval-heldout-v1.json +0 -0
  137. {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/data/task-state-v1.json +0 -0
  138. {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/data/thresholds-v1.json +0 -0
  139. {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/profiles.py +0 -0
  140. {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/retrieval.py +0 -0
  141. {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/runner.py +0 -0
  142. {atmem-2.3.2 → atmem-2.3.4}/atmem/client.py +0 -0
  143. {atmem-2.3.2 → atmem-2.3.4}/atmem/contracts/__init__.py +0 -0
  144. {atmem-2.3.2 → atmem-2.3.4}/atmem/contracts/execution.py +0 -0
  145. {atmem-2.3.2 → atmem-2.3.4}/atmem/contracts/task_state.py +0 -0
  146. {atmem-2.3.2 → atmem-2.3.4}/atmem/contracts/versions.py +0 -0
  147. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/__init__.py +0 -0
  148. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/assets/atmem.jpg +0 -0
  149. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/atbot_service.py +0 -0
  150. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/blackbox.py +0 -0
  151. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/evidence.py +0 -0
  152. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/explain.py +0 -0
  153. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/hosts.py +0 -0
  154. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/models.py +0 -0
  155. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/openclaw_native.py +0 -0
  156. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/openclaw_topology.py +0 -0
  157. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/server.py +0 -0
  158. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/state.py +0 -0
  159. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/store.py +0 -0
  160. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/topology.py +0 -0
  161. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/ui.py +0 -0
  162. {atmem-2.3.2 → atmem-2.3.4}/atmem/control/verify.py +0 -0
  163. {atmem-2.3.2 → atmem-2.3.4}/atmem/core/__init__.py +0 -0
  164. {atmem-2.3.2 → atmem-2.3.4}/atmem/core/canonical.py +0 -0
  165. {atmem-2.3.2 → atmem-2.3.4}/atmem/core/fact_keys.py +0 -0
  166. {atmem-2.3.2 → atmem-2.3.4}/atmem/core/keys.py +0 -0
  167. {atmem-2.3.2 → atmem-2.3.4}/atmem/core/policy.py +0 -0
  168. {atmem-2.3.2 → atmem-2.3.4}/atmem/core/storage.py +0 -0
  169. {atmem-2.3.2 → atmem-2.3.4}/atmem/core/time.py +0 -0
  170. {atmem-2.3.2 → atmem-2.3.4}/atmem/dashboard_daemon.py +0 -0
  171. {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/__init__.py +0 -0
  172. {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/canonical.py +0 -0
  173. {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/client.py +0 -0
  174. {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/config.py +0 -0
  175. {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/contracts.py +0 -0
  176. {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/service.py +0 -0
  177. {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/transport.py +0 -0
  178. {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/validation.py +0 -0
  179. {atmem-2.3.2 → atmem-2.3.4}/atmem/evidence/__init__.py +0 -0
  180. {atmem-2.3.2 → atmem-2.3.4}/atmem/evidence/accounts.py +0 -0
  181. {atmem-2.3.2 → atmem-2.3.4}/atmem/evidence/crypto.py +0 -0
  182. {atmem-2.3.2 → atmem-2.3.4}/atmem/evidence/models.py +0 -0
  183. {atmem-2.3.2 → atmem-2.3.4}/atmem/execution/__init__.py +0 -0
  184. {atmem-2.3.2 → atmem-2.3.4}/atmem/execution/coverage.py +0 -0
  185. {atmem-2.3.2 → atmem-2.3.4}/atmem/execution/events.py +0 -0
  186. {atmem-2.3.2 → atmem-2.3.4}/atmem/execution/projection.py +0 -0
  187. {atmem-2.3.2 → atmem-2.3.4}/atmem/execution/retention.py +0 -0
  188. {atmem-2.3.2 → atmem-2.3.4}/atmem/execution/status.py +0 -0
  189. {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/__init__.py +0 -0
  190. {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/classify.py +0 -0
  191. {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/context.py +0 -0
  192. {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/models.py +0 -0
  193. {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/review.py +0 -0
  194. {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/rules.py +0 -0
  195. {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/validation.py +0 -0
  196. {atmem-2.3.2 → atmem-2.3.4}/atmem/graph/__init__.py +0 -0
  197. {atmem-2.3.2 → atmem-2.3.4}/atmem/graph/identity.py +0 -0
  198. {atmem-2.3.2 → atmem-2.3.4}/atmem/graph/maintenance.py +0 -0
  199. {atmem-2.3.2 → atmem-2.3.4}/atmem/graph/models.py +0 -0
  200. {atmem-2.3.2 → atmem-2.3.4}/atmem/graph/store.py +0 -0
  201. {atmem-2.3.2 → atmem-2.3.4}/atmem/graph/traverse.py +0 -0
  202. {atmem-2.3.2 → atmem-2.3.4}/atmem/home/__init__.py +0 -0
  203. {atmem-2.3.2 → atmem-2.3.4}/atmem/home/artifacts.py +0 -0
  204. {atmem-2.3.2 → atmem-2.3.4}/atmem/home/layout.py +0 -0
  205. {atmem-2.3.2 → atmem-2.3.4}/atmem/home/service.py +0 -0
  206. {atmem-2.3.2 → atmem-2.3.4}/atmem/identity/__init__.py +0 -0
  207. {atmem-2.3.2 → atmem-2.3.4}/atmem/identity/models.py +0 -0
  208. {atmem-2.3.2 → atmem-2.3.4}/atmem/identity/service.py +0 -0
  209. {atmem-2.3.2 → atmem-2.3.4}/atmem/identity/store.py +0 -0
  210. {atmem-2.3.2 → atmem-2.3.4}/atmem/incidents/__init__.py +0 -0
  211. {atmem-2.3.2 → atmem-2.3.4}/atmem/incidents/detect.py +0 -0
  212. {atmem-2.3.2 → atmem-2.3.4}/atmem/interchange/__init__.py +0 -0
  213. {atmem-2.3.2 → atmem-2.3.4}/atmem/interchange/export.py +0 -0
  214. {atmem-2.3.2 → atmem-2.3.4}/atmem/interchange/importer.py +0 -0
  215. {atmem-2.3.2 → atmem-2.3.4}/atmem/interchange/mem0.py +0 -0
  216. {atmem-2.3.2 → atmem-2.3.4}/atmem/interchange/models.py +0 -0
  217. {atmem-2.3.2 → atmem-2.3.4}/atmem/interchange/plan.py +0 -0
  218. {atmem-2.3.2 → atmem-2.3.4}/atmem/invariants/__init__.py +0 -0
  219. {atmem-2.3.2 → atmem-2.3.4}/atmem/invariants/attestation.py +0 -0
  220. {atmem-2.3.2 → atmem-2.3.4}/atmem/invariants/models.py +0 -0
  221. {atmem-2.3.2 → atmem-2.3.4}/atmem/invariants/registry.py +0 -0
  222. {atmem-2.3.2 → atmem-2.3.4}/atmem/invariants/report.py +0 -0
  223. {atmem-2.3.2 → atmem-2.3.4}/atmem/invariants/verdict.py +0 -0
  224. {atmem-2.3.2 → atmem-2.3.4}/atmem/investigate.py +0 -0
  225. {atmem-2.3.2 → atmem-2.3.4}/atmem/lifecycle/__init__.py +0 -0
  226. {atmem-2.3.2 → atmem-2.3.4}/atmem/lifecycle/invalidation.py +0 -0
  227. {atmem-2.3.2 → atmem-2.3.4}/atmem/lifecycle/maintenance.py +0 -0
  228. {atmem-2.3.2 → atmem-2.3.4}/atmem/lifecycle/models.py +0 -0
  229. {atmem-2.3.2 → atmem-2.3.4}/atmem/lifecycle/policy.py +0 -0
  230. {atmem-2.3.2 → atmem-2.3.4}/atmem/lifecycle/service.py +0 -0
  231. {atmem-2.3.2 → atmem-2.3.4}/atmem/maintenance.py +0 -0
  232. {atmem-2.3.2 → atmem-2.3.4}/atmem/mcp/__init__.py +0 -0
  233. {atmem-2.3.2 → atmem-2.3.4}/atmem/media/__init__.py +0 -0
  234. {atmem-2.3.2 → atmem-2.3.4}/atmem/media/access.py +0 -0
  235. {atmem-2.3.2 → atmem-2.3.4}/atmem/media/index.py +0 -0
  236. {atmem-2.3.2 → atmem-2.3.4}/atmem/media/invalidation.py +0 -0
  237. {atmem-2.3.2 → atmem-2.3.4}/atmem/media/models.py +0 -0
  238. {atmem-2.3.2 → atmem-2.3.4}/atmem/media/processors.py +0 -0
  239. {atmem-2.3.2 → atmem-2.3.4}/atmem/media/service.py +0 -0
  240. {atmem-2.3.2 → atmem-2.3.4}/atmem/onboarding.py +0 -0
  241. {atmem-2.3.2 → atmem-2.3.4}/atmem/onboarding_verify.py +0 -0
  242. {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/__init__.py +0 -0
  243. {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/langgraph.py +0 -0
  244. {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/lifecycle.py +0 -0
  245. {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/loading.py +0 -0
  246. {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/mem0.py +0 -0
  247. {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/models.py +0 -0
  248. {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/pydantic_ai.py +0 -0
  249. {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/runtime.py +0 -0
  250. {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/server.py +0 -0
  251. {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/signing.py +0 -0
  252. {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/worker.py +0 -0
  253. {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/__init__.py +0 -0
  254. {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/cache.py +0 -0
  255. {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/calibration-v1.json +0 -0
  256. {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/calibration.py +0 -0
  257. {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/graph_signal.py +0 -0
  258. {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/models.py +0 -0
  259. {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/signals.py +0 -0
  260. {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/support.py +0 -0
  261. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/__init__.py +0 -0
  262. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/admin-audit.json +0 -0
  263. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/benchmark-cases.schema.json +0 -0
  264. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/benchmark-report.schema.json +0 -0
  265. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/capabilities.json +0 -0
  266. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/context-package.json +0 -0
  267. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/graph-path.json +0 -0
  268. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/host-task-lifecycle-request.json +0 -0
  269. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/host-task-observation-request.json +0 -0
  270. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/host-task-proposal-request.json +0 -0
  271. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/invariant-registry.json +0 -0
  272. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/media-observation.json +0 -0
  273. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/memory-archive.json +0 -0
  274. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/memory-lifecycle.json +0 -0
  275. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/memory-proposal.json +0 -0
  276. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/onboarding-state.json +0 -0
  277. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/retrieval-decision.json +0 -0
  278. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/scope.json +0 -0
  279. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/semantic-health.json +0 -0
  280. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/service-job.json +0 -0
  281. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/service-key.json +0 -0
  282. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/service-principal.json +0 -0
  283. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/source-capture.json +0 -0
  284. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-context-package.json +0 -0
  285. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-profile.json +0 -0
  286. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-session-binding.json +0 -0
  287. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-start-request.json +0 -0
  288. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-state-proposal.json +0 -0
  289. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-state.json +0 -0
  290. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-transition-decision.json +0 -0
  291. {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/unified-health.json +0 -0
  292. {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/__init__.py +0 -0
  293. {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/health.py +0 -0
  294. {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/models.json +0 -0
  295. {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/pgvector.py +0 -0
  296. {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/qdrant.py +0 -0
  297. {atmem-2.3.2 → atmem-2.3.4}/atmem/server/__init__.py +0 -0
  298. {atmem-2.3.2 → atmem-2.3.4}/atmem/server/admin_audit.py +0 -0
  299. {atmem-2.3.2 → atmem-2.3.4}/atmem/server/auth.py +0 -0
  300. {atmem-2.3.2 → atmem-2.3.4}/atmem/server/cache_policy.py +0 -0
  301. {atmem-2.3.2 → atmem-2.3.4}/atmem/server/config.py +0 -0
  302. {atmem-2.3.2 → atmem-2.3.4}/atmem/server/jobs.py +0 -0
  303. {atmem-2.3.2 → atmem-2.3.4}/atmem/server/observability.py +0 -0
  304. {atmem-2.3.2 → atmem-2.3.4}/atmem/server/recovery.py +0 -0
  305. {atmem-2.3.2 → atmem-2.3.4}/atmem/server/repositories.py +0 -0
  306. {atmem-2.3.2 → atmem-2.3.4}/atmem/service/__init__.py +0 -0
  307. {atmem-2.3.2 → atmem-2.3.4}/atmem/service/application.py +0 -0
  308. {atmem-2.3.2 → atmem-2.3.4}/atmem/service/executions.py +0 -0
  309. {atmem-2.3.2 → atmem-2.3.4}/atmem/store/__init__.py +0 -0
  310. {atmem-2.3.2 → atmem-2.3.4}/atmem/store/health.py +0 -0
  311. {atmem-2.3.2 → atmem-2.3.4}/atmem/store/postgres.py +0 -0
  312. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/__init__.py +0 -0
  313. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/binding.py +0 -0
  314. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/context.py +0 -0
  315. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/enablement.py +0 -0
  316. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/enforcement.py +0 -0
  317. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/governance.py +0 -0
  318. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/guards.py +0 -0
  319. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/host_boundary.py +0 -0
  320. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/models.py +0 -0
  321. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/observability.py +0 -0
  322. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/policy.py +0 -0
  323. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/profiles.py +0 -0
  324. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/provenance.py +0 -0
  325. {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/service.py +0 -0
  326. {atmem-2.3.2 → atmem-2.3.4}/atmem/telemetry/__init__.py +0 -0
  327. {atmem-2.3.2 → atmem-2.3.4}/atmem/telemetry/retrieval.py +0 -0
  328. {atmem-2.3.2 → atmem-2.3.4}/atmem.egg-info/dependency_links.txt +0 -0
  329. {atmem-2.3.2 → atmem-2.3.4}/atmem.egg-info/entry_points.txt +0 -0
  330. {atmem-2.3.2 → atmem-2.3.4}/atmem.egg-info/top_level.txt +0 -0
  331. {atmem-2.3.2 → atmem-2.3.4}/docs/atbot-release.md +0 -0
  332. {atmem-2.3.2 → atmem-2.3.4}/docs/audit-log-spec.md +0 -0
  333. {atmem-2.3.2 → atmem-2.3.4}/docs/audit-search.md +0 -0
  334. {atmem-2.3.2 → atmem-2.3.4}/docs/auditing-guide.md +0 -0
  335. {atmem-2.3.2 → atmem-2.3.4}/docs/capabilities.json +0 -0
  336. {atmem-2.3.2 → atmem-2.3.4}/docs/context-provider-adapters.md +0 -0
  337. {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1/inject.next-turn-same-nonce.valid.json +0 -0
  338. {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1/inject.valid.json +0 -0
  339. {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1/test-vectors.json +0 -0
  340. {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1/trust.json +0 -0
  341. {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1/withhold.valid.json +0 -0
  342. {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1.md +0 -0
  343. {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1.schema.json +0 -0
  344. {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-request-v1.schema.json +0 -0
  345. {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-request-auth-v1.json +0 -0
  346. {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-request-auth-v1.md +0 -0
  347. {atmem-2.3.2 → atmem-2.3.4}/docs/dashboard-design-language.md +0 -0
  348. {atmem-2.3.2 → atmem-2.3.4}/docs/delegated-context-provider.md +0 -0
  349. {atmem-2.3.2 → atmem-2.3.4}/docs/entity-relationship-memory.md +0 -0
  350. {atmem-2.3.2 → atmem-2.3.4}/docs/examples/benchmark-deterministic-v1.json +0 -0
  351. {atmem-2.3.2 → atmem-2.3.4}/docs/examples/longmemeval-s-retrieval-12-v1.json +0 -0
  352. {atmem-2.3.2 → atmem-2.3.4}/docs/examples/longmemeval-s-support-ranking-2026-09-02.json +0 -0
  353. {atmem-2.3.2 → atmem-2.3.4}/docs/examples/onboarding/http.md +0 -0
  354. {atmem-2.3.2 → atmem-2.3.4}/docs/examples/onboarding/langgraph.md +0 -0
  355. {atmem-2.3.2 → atmem-2.3.4}/docs/examples/onboarding/openclaw.md +0 -0
  356. {atmem-2.3.2 → atmem-2.3.4}/docs/examples/onboarding/pydantic-ai.md +0 -0
  357. {atmem-2.3.2 → atmem-2.3.4}/docs/generic-adapter.md +0 -0
  358. {atmem-2.3.2 → atmem-2.3.4}/docs/governed-task-state.md +0 -0
  359. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/003/20260909T043658Z-740c5c89d63c-host-compatibility.md +0 -0
  360. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/003/20260909T052000Z-740c5c89d63c-mem0-latest-hosts.json +0 -0
  361. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/003/20260909T052000Z-740c5c89d63c-mem0-latest-hosts.md +0 -0
  362. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/003/20260909T055300Z-04a063ce1e7b-publication.md +0 -0
  363. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/003/20260910-storizon-published-2.2.6.md +0 -0
  364. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/020/20260909-progress-card-observations.md +0 -0
  365. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/020/20260909-selective-context-and-precise-time.md +0 -0
  366. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/020/20260912-m0-investigation-preview.md +0 -0
  367. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/020/20260912-release-candidate-correctness-hardening.md +0 -0
  368. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/021/20260912-m0-findings-ui.md +0 -0
  369. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/022/20260909-dashboard-usability.md +0 -0
  370. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/028/20260913-encrypted-evidence-access.md +0 -0
  371. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/029/2026-09-13-local-user-management.md +0 -0
  372. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/030/2026-09-13-portable-home.md +0 -0
  373. {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/README.md +0 -0
  374. {atmem-2.3.2 → atmem-2.3.4}/docs/integration-guide.md +0 -0
  375. {atmem-2.3.2 → atmem-2.3.4}/docs/invariants.md +0 -0
  376. {atmem-2.3.2 → atmem-2.3.4}/docs/memory-extraction.md +0 -0
  377. {atmem-2.3.2 → atmem-2.3.4}/docs/memory-interchange.md +0 -0
  378. {atmem-2.3.2 → atmem-2.3.4}/docs/onboarding.md +0 -0
  379. {atmem-2.3.2 → atmem-2.3.4}/docs/openclaw-setup.md +0 -0
  380. {atmem-2.3.2 → atmem-2.3.4}/docs/production-service.md +0 -0
  381. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v1.0.0.md +0 -0
  382. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.0.0.md +0 -0
  383. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.0.1.md +0 -0
  384. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.1.0.md +0 -0
  385. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.0.md +0 -0
  386. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.1.md +0 -0
  387. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.2.md +0 -0
  388. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.3.md +0 -0
  389. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.4.md +0 -0
  390. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.5.md +0 -0
  391. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6.md +0 -0
  392. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b1.md +0 -0
  393. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b10.md +0 -0
  394. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b11.md +0 -0
  395. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b2.md +0 -0
  396. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b3.md +0 -0
  397. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b4.md +0 -0
  398. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b5.md +0 -0
  399. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b8.md +0 -0
  400. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b9.md +0 -0
  401. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.3.0.md +0 -0
  402. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.3.0b1.md +0 -0
  403. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.3.1.md +0 -0
  404. {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.3.2.md +0 -0
  405. {atmem-2.3.2 → atmem-2.3.4}/docs/retrieval-quality.md +0 -0
  406. {atmem-2.3.2 → atmem-2.3.4}/docs/saas-integration.md +0 -0
  407. {atmem-2.3.2 → atmem-2.3.4}/docs/security/production-threat-model.md +0 -0
  408. {atmem-2.3.2 → atmem-2.3.4}/docs/semantic-search.md +0 -0
  409. {atmem-2.3.2 → atmem-2.3.4}/docs/spec-kit.md +0 -0
  410. {atmem-2.3.2 → atmem-2.3.4}/docs/storage-performance.md +0 -0
  411. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/index.ts +0 -0
  412. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/delegated-identity.ts +0 -0
  413. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/execution-spool.ts +0 -0
  414. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/setup.ts +0 -0
  415. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/task-tools.ts +0 -0
  416. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/tool-errors.ts +0 -0
  417. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/tool-observations.ts +0 -0
  418. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/tool-result-comparison.ts +0 -0
  419. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/types.ts +0 -0
  420. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/blackbox-diagnostics.mjs +0 -0
  421. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/dashboard-live.mjs +0 -0
  422. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/delegated-context-contract.mjs +0 -0
  423. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/delegated-identity.mjs +0 -0
  424. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/delegated-journey.mjs +0 -0
  425. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/execution-spool.mjs +0 -0
  426. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/fixtures/hook-context/2026.7.1-2.json +0 -0
  427. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/fixtures/hook-context/2026.8.1.json +0 -0
  428. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/fixtures/hook-context/2026.9.2.json +0 -0
  429. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/fixtures/hook-context/2026.9.3.json +0 -0
  430. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/fixtures/hook-context/2026.9.4.json +0 -0
  431. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/hook-context-compat.mjs +0 -0
  432. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/hooks.mjs +0 -0
  433. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/lib/hook-context-shape.mjs +0 -0
  434. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/lib/record-hook-context.mjs +0 -0
  435. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/manifest.mjs +0 -0
  436. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/setup.mjs +0 -0
  437. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/smoke.mjs +0 -0
  438. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/task-journey.mjs +0 -0
  439. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/task-tools.mjs +0 -0
  440. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/tool-observations.mjs +0 -0
  441. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/tool-result-comparison.mjs +0 -0
  442. {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/tsconfig.json +0 -0
  443. {atmem-2.3.2 → atmem-2.3.4}/setup.cfg +0 -0
  444. {atmem-2.3.2 → atmem-2.3.4}/tests/test_api_contracts.py +0 -0
  445. {atmem-2.3.2 → atmem-2.3.4}/tests/test_api_idempotency.py +0 -0
  446. {atmem-2.3.2 → atmem-2.3.4}/tests/test_api_upgrade.py +0 -0
  447. {atmem-2.3.2 → atmem-2.3.4}/tests/test_atbot_service.py +0 -0
  448. {atmem-2.3.2 → atmem-2.3.4}/tests/test_auditability.py +0 -0
  449. {atmem-2.3.2 → atmem-2.3.4}/tests/test_benchmark_cli.py +0 -0
  450. {atmem-2.3.2 → atmem-2.3.4}/tests/test_benchmark_contracts.py +0 -0
  451. {atmem-2.3.2 → atmem-2.3.4}/tests/test_benchmark_runner.py +0 -0
  452. {atmem-2.3.2 → atmem-2.3.4}/tests/test_blackbox.py +0 -0
  453. {atmem-2.3.2 → atmem-2.3.4}/tests/test_cli.py +0 -0
  454. {atmem-2.3.2 → atmem-2.3.4}/tests/test_contracts_v1.py +0 -0
  455. {atmem-2.3.2 → atmem-2.3.4}/tests/test_control_evidence.py +0 -0
  456. {atmem-2.3.2 → atmem-2.3.4}/tests/test_control_verify.py +0 -0
  457. {atmem-2.3.2 → atmem-2.3.4}/tests/test_dashboard_daemon.py +0 -0
  458. {atmem-2.3.2 → atmem-2.3.4}/tests/test_delegated_context.py +0 -0
  459. {atmem-2.3.2 → atmem-2.3.4}/tests/test_delegated_control.py +0 -0
  460. {atmem-2.3.2 → atmem-2.3.4}/tests/test_delegated_transport.py +0 -0
  461. {atmem-2.3.2 → atmem-2.3.4}/tests/test_encryption.py +0 -0
  462. {atmem-2.3.2 → atmem-2.3.4}/tests/test_evidence_protection.py +0 -0
  463. {atmem-2.3.2 → atmem-2.3.4}/tests/test_execution_capture.py +0 -0
  464. {atmem-2.3.2 → atmem-2.3.4}/tests/test_execution_identity.py +0 -0
  465. {atmem-2.3.2 → atmem-2.3.4}/tests/test_extract.py +0 -0
  466. {atmem-2.3.2 → atmem-2.3.4}/tests/test_extract_contracts.py +0 -0
  467. {atmem-2.3.2 → atmem-2.3.4}/tests/test_extract_proposals.py +0 -0
  468. {atmem-2.3.2 → atmem-2.3.4}/tests/test_extract_upgrade.py +0 -0
  469. {atmem-2.3.2 → atmem-2.3.4}/tests/test_feature_surfaces.py +0 -0
  470. {atmem-2.3.2 → atmem-2.3.4}/tests/test_forget_verification.py +0 -0
  471. {atmem-2.3.2 → atmem-2.3.4}/tests/test_framework_adapter_conformance.py +0 -0
  472. {atmem-2.3.2 → atmem-2.3.4}/tests/test_framework_adapter_packaging.py +0 -0
  473. {atmem-2.3.2 → atmem-2.3.4}/tests/test_framework_adapters.py +0 -0
  474. {atmem-2.3.2 → atmem-2.3.4}/tests/test_framework_delegated_adapters.py +0 -0
  475. {atmem-2.3.2 → atmem-2.3.4}/tests/test_generic_control.py +0 -0
  476. {atmem-2.3.2 → atmem-2.3.4}/tests/test_graph.py +0 -0
  477. {atmem-2.3.2 → atmem-2.3.4}/tests/test_graph_aliases.py +0 -0
  478. {atmem-2.3.2 → atmem-2.3.4}/tests/test_graph_lifecycle.py +0 -0
  479. {atmem-2.3.2 → atmem-2.3.4}/tests/test_graph_quality.py +0 -0
  480. {atmem-2.3.2 → atmem-2.3.4}/tests/test_home.py +0 -0
  481. {atmem-2.3.2 → atmem-2.3.4}/tests/test_host_adapter.py +0 -0
  482. {atmem-2.3.2 → atmem-2.3.4}/tests/test_http_api.py +0 -0
  483. {atmem-2.3.2 → atmem-2.3.4}/tests/test_incident_resolution.py +0 -0
  484. {atmem-2.3.2 → atmem-2.3.4}/tests/test_interchange.py +0 -0
  485. {atmem-2.3.2 → atmem-2.3.4}/tests/test_langgraph_provider.py +0 -0
  486. {atmem-2.3.2 → atmem-2.3.4}/tests/test_layers.py +0 -0
  487. {atmem-2.3.2 → atmem-2.3.4}/tests/test_lifecycle.py +0 -0
  488. {atmem-2.3.2 → atmem-2.3.4}/tests/test_lifecycle_migration.py +0 -0
  489. {atmem-2.3.2 → atmem-2.3.4}/tests/test_local_identity.py +0 -0
  490. {atmem-2.3.2 → atmem-2.3.4}/tests/test_maintenance.py +0 -0
  491. {atmem-2.3.2 → atmem-2.3.4}/tests/test_mcp.py +0 -0
  492. {atmem-2.3.2 → atmem-2.3.4}/tests/test_media_governance.py +0 -0
  493. {atmem-2.3.2 → atmem-2.3.4}/tests/test_media_observations.py +0 -0
  494. {atmem-2.3.2 → atmem-2.3.4}/tests/test_media_packaging.py +0 -0
  495. {atmem-2.3.2 → atmem-2.3.4}/tests/test_mem0_provider.py +0 -0
  496. {atmem-2.3.2 → atmem-2.3.4}/tests/test_memory.py +0 -0
  497. {atmem-2.3.2 → atmem-2.3.4}/tests/test_onboarding.py +0 -0
  498. {atmem-2.3.2 → atmem-2.3.4}/tests/test_onboarding_recovery.py +0 -0
  499. {atmem-2.3.2 → atmem-2.3.4}/tests/test_openclaw_compat.py +0 -0
  500. {atmem-2.3.2 → atmem-2.3.4}/tests/test_openclaw_control.py +0 -0
  501. {atmem-2.3.2 → atmem-2.3.4}/tests/test_openclaw_install.py +0 -0
  502. {atmem-2.3.2 → atmem-2.3.4}/tests/test_openclaw_topology.py +0 -0
  503. {atmem-2.3.2 → atmem-2.3.4}/tests/test_policy.py +0 -0
  504. {atmem-2.3.2 → atmem-2.3.4}/tests/test_provider_cli.py +0 -0
  505. {atmem-2.3.2 → atmem-2.3.4}/tests/test_provider_integration.py +0 -0
  506. {atmem-2.3.2 → atmem-2.3.4}/tests/test_provider_packaging.py +0 -0
  507. {atmem-2.3.2 → atmem-2.3.4}/tests/test_provider_performance.py +0 -0
  508. {atmem-2.3.2 → atmem-2.3.4}/tests/test_provider_runtime.py +0 -0
  509. {atmem-2.3.2 → atmem-2.3.4}/tests/test_provider_server.py +0 -0
  510. {atmem-2.3.2 → atmem-2.3.4}/tests/test_pydantic_provider.py +0 -0
  511. {atmem-2.3.2 → atmem-2.3.4}/tests/test_recall_evidence.py +0 -0
  512. {atmem-2.3.2 → atmem-2.3.4}/tests/test_restore_receipt.py +0 -0
  513. {atmem-2.3.2 → atmem-2.3.4}/tests/test_retrieval_adapter_conformance.py +0 -0
  514. {atmem-2.3.2 → atmem-2.3.4}/tests/test_retrieval_benchmark.py +0 -0
  515. {atmem-2.3.2 → atmem-2.3.4}/tests/test_retrieval_cache.py +0 -0
  516. {atmem-2.3.2 → atmem-2.3.4}/tests/test_retrieval_signals_and_cache.py +0 -0
  517. {atmem-2.3.2 → atmem-2.3.4}/tests/test_retrieve.py +0 -0
  518. {atmem-2.3.2 → atmem-2.3.4}/tests/test_sdk_packaging.py +0 -0
  519. {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_health.py +0 -0
  520. {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_parity.py +0 -0
  521. {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_policy_invalidation.py +0 -0
  522. {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_profiles.py +0 -0
  523. {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_schema.py +0 -0
  524. {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_setup.py +0 -0
  525. {atmem-2.3.2 → atmem-2.3.4}/tests/test_spec_task_inventory.py +0 -0
  526. {atmem-2.3.2 → atmem-2.3.4}/tests/test_storage_packaging.py +0 -0
  527. {atmem-2.3.2 → atmem-2.3.4}/tests/test_store_transactions.py +0 -0
  528. {atmem-2.3.2 → atmem-2.3.4}/tests/test_supporting_evidence.py +0 -0
  529. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_adapters.py +0 -0
  530. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_atbot.py +0 -0
  531. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_benchmark.py +0 -0
  532. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_binding.py +0 -0
  533. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_cli.py +0 -0
  534. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_clock.py +0 -0
  535. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_context.py +0 -0
  536. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_contracts.py +0 -0
  537. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_dashboard.py +0 -0
  538. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_deletion.py +0 -0
  539. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_expiry.py +0 -0
  540. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_governance.py +0 -0
  541. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_guards.py +0 -0
  542. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_host_boundary.py +0 -0
  543. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_host_contracts.py +0 -0
  544. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_observability.py +0 -0
  545. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_policy.py +0 -0
  546. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_prerequisites.py +0 -0
  547. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_schemas.py +0 -0
  548. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_service.py +0 -0
  549. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_session_binding.py +0 -0
  550. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_store.py +0 -0
  551. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_tamper.py +0 -0
  552. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_upgrade.py +0 -0
  553. {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_walking_skeleton.py +0 -0
  554. {atmem-2.3.2 → atmem-2.3.4}/tools/benchmark_storage.py +0 -0
  555. {atmem-2.3.2 → atmem-2.3.4}/tools/check_invariants.py +0 -0
  556. {atmem-2.3.2 → atmem-2.3.4}/tools/check_spec_tasks.py +0 -0
  557. {atmem-2.3.2 → atmem-2.3.4}/tools/release_metadata.py +0 -0
  558. {atmem-2.3.2 → atmem-2.3.4}/tools/run_mem0_openclaw_live.py +0 -0
  559. {atmem-2.3.2 → atmem-2.3.4}/tools/smoke_delegated_package.py +0 -0
  560. {atmem-2.3.2 → atmem-2.3.4}/tools/smoke_delegated_transport.py +0 -0
  561. {atmem-2.3.2 → atmem-2.3.4}/tools/smoke_mem0_roleplay.py +0 -0
  562. {atmem-2.3.2 → atmem-2.3.4}/tools/verify_audit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atmem
3
- Version: 2.3.2
3
+ Version: 2.3.4
4
4
  Summary: Host-neutral Agent Black Box and reversible memory control plane.
5
5
  Author-email: Javad Taghia <taghia.javad@gmail.com>
6
6
  Maintainer-email: Aetna / AtMem <aetna000@gmail.com>
@@ -25,12 +25,16 @@ Requires-Python: >=3.10
25
25
  Description-Content-Type: text/markdown
26
26
  License-File: LICENSE
27
27
  Requires-Dist: atmem-atbot==0.1.0
28
+ Requires-Dist: atflows==0.1.1
28
29
  Requires-Dist: cryptography<49,>=42
30
+ Provides-Extra: atflows
29
31
  Provides-Extra: dev
30
32
  Requires-Dist: pytest>=8.0.0; extra == "dev"
31
33
  Requires-Dist: tomli>=2.0; python_version < "3.11" and extra == "dev"
32
34
  Provides-Extra: semantic
33
35
  Requires-Dist: sentence-transformers<6.0.0,>=5.0.0; extra == "semantic"
36
+ Provides-Extra: semantic-accelerated
37
+ Requires-Dist: numpy<3,>=1.26; extra == "semantic-accelerated"
34
38
  Provides-Extra: mem0
35
39
  Requires-Dist: mem0ai<3,>=2.0.20; extra == "mem0"
36
40
  Provides-Extra: langgraph-provider
@@ -75,12 +79,12 @@ Dynamic: license-file
75
79
 
76
80
  # AtMem
77
81
 
78
- [![Version 2.3.2](https://img.shields.io/badge/version-2.3.2-blue)](./docs/releases/v2.3.2.md)
82
+ [![Version 2.3.4](https://img.shields.io/badge/version-2.3.4-blue)](./docs/releases/v2.3.4.md)
79
83
  [![CI](https://github.com/aetna000/atmem/actions/workflows/ci.yml/badge.svg)](https://github.com/aetna000/atmem/actions/workflows/ci.yml)
80
84
 
81
85
  **AtMem is a host-neutral Agent Black Box and reversible memory control plane.**
82
86
 
83
- > **Release status:** AtMem 2.3.2 is the stable encrypted Agent Black Box release.
87
+ > **Release status:** AtMem 2.3.4 is the stable Agent Black Box and governed-memory release. It installs AtFlows 0.1.1 by default, with optional AtMem-owned login and read-only review leads.
84
88
  > It records exact host-observed text and supported multimodal boundaries by default,
85
89
  > while keeping every claim limited to what the connected agent actually supplied.
86
90
 
@@ -97,7 +101,7 @@ authorizes, stores, scopes, injects, corrects, and deletes memory.
97
101
  ### 1. Install AtMem and choose memory intelligence
98
102
 
99
103
  ```bash
100
- python -m pip install --upgrade atmem==2.3.2
104
+ python -m pip install --upgrade atmem==2.3.4
101
105
  atmem atbot setup
102
106
  atmem atbot doctor
103
107
  atmem init
@@ -130,7 +134,7 @@ package yourself.
130
134
  Already using AtMem 2.1 with OpenClaw? Upgrade in place:
131
135
 
132
136
  ```bash
133
- python -m pip install --upgrade atmem==2.3.2
137
+ python -m pip install --upgrade atmem==2.3.4
134
138
  atmem openclaw upgrade
135
139
  atmem control verify
136
140
  ```
@@ -153,7 +157,7 @@ selected by `python`, rather than an unrelated `pip` executable on `PATH`.
153
157
  #### Pydantic AI — native capability
154
158
 
155
159
  ```bash
156
- python -m pip install 'atmem[pydantic-ai]==2.3.2'
160
+ python -m pip install 'atmem[pydantic-ai]==2.3.4'
157
161
  atmem control shadow --host generic --memory-db ~/.atmem/memories.db
158
162
  ```
159
163
 
@@ -178,7 +182,7 @@ agent = Agent("openai:gpt-5-mini", capabilities=[memory])
178
182
  #### LangChain/LangGraph — native middleware
179
183
 
180
184
  ```bash
181
- python -m pip install 'atmem[langgraph]==2.3.2'
185
+ python -m pip install 'atmem[langgraph]==2.3.4'
182
186
  atmem control shadow --host generic --memory-db ~/.atmem/memories.db
183
187
  ```
184
188
 
@@ -242,7 +246,7 @@ open tasks. AtBot may propose a change, but AtMem revalidates and commits it.
242
246
 
243
247
  See the [Governed Task State guide](docs/governed-task-state.md) for lifecycle,
244
248
  correction, provenance, expiry, benchmark, and automation examples, and read
245
- the [2.3.2 release notes](docs/releases/v2.3.2.md) before upgrading.
249
+ the [2.3.4 release notes](docs/releases/v2.3.4.md) before upgrading.
246
250
 
247
251
  ### Prove memory quality locally
248
252
 
@@ -250,12 +254,17 @@ the [2.3.2 release notes](docs/releases/v2.3.2.md) before upgrading.
250
254
  atmem benchmark run --output benchmark.json
251
255
  ```
252
256
 
253
- This offline release gate runs 16 isolated extraction, contradiction, recall,
257
+ This offline release gate runs 24 isolated extraction, contradiction, recall,
254
258
  withholding, injection, privacy, poisoning and fallback cases. Safety must be
255
259
  perfect; other quality metrics cannot fall below checked-in baselines. Optional
256
260
  local/hosted profiles, LongMemEval import and fair Mem0 OSS comparison are also
257
261
  available without adding Mem0 or model SDKs to the base install. See the
258
262
  [memory benchmark guide](docs/benchmarks.md) for commands and honest limits.
263
+ The retrieval and archive improvements from [2.3.3](docs/releases/v2.3.3.md)
264
+ remain in [2.3.4](docs/releases/v2.3.4.md), which adds the optional AtFlows
265
+ observability and shared-login scope. Developer opt-in
266
+ fusion, scoped graph nomination and matrix reuse are available for evaluation;
267
+ broader performance targets remain research, not release claims.
259
268
 
260
269
  ### 3. Review, then activate
261
270
 
@@ -340,7 +349,7 @@ and restores it exactly.
340
349
  ## Installation details
341
350
 
342
351
  ```bash
343
- python -m pip install atmem==2.3.2
352
+ python -m pip install atmem==2.3.4
344
353
  atmem --version
345
354
  ```
346
355
 
@@ -350,7 +359,7 @@ embedding model, while the semantic extra adds local sentence-transformer
350
359
  choices:
351
360
 
352
361
  ```bash
353
- python -m pip install 'atmem[semantic]==2.3.2'
362
+ python -m pip install 'atmem[semantic]==2.3.4'
354
363
  ```
355
364
 
356
365
  For repository development, install both workspace packages:
@@ -538,7 +547,7 @@ atmem control restore
538
547
  Existing 2.1 installations upgrade without starting a new migration:
539
548
 
540
549
  ```bash
541
- python -m pip install --upgrade atmem==2.3.2
550
+ python -m pip install --upgrade atmem==2.3.4
542
551
  atmem openclaw upgrade
543
552
  atmem control verify
544
553
  ```
@@ -709,6 +718,11 @@ system-of-record verification.
709
718
 
710
719
  ## Documentation map
711
720
 
721
+ Official website documentation is maintained through the public
722
+ [documentation inventory](docs/website/manifest.json). See
723
+ [how to contribute and update release docs](docs/website-contributing.md).
724
+ Website publication follows a separate owner-reviewed, main-only deployment.
725
+
712
726
  - [Current implementation status](docs/current-status.md)
713
727
  - [Generic runtime adapter](docs/generic-adapter.md)
714
728
  - [Delegated context-provider contract](docs/contracts/delegated-context-provider-v1.md)
@@ -766,8 +780,8 @@ npm test
766
780
  npm run smoke
767
781
  ```
768
782
 
769
- Current repository metadata is version **2.3.2**, with the matched OpenClaw
770
- bridge **2.3.2**. Release validation requires exact Python/bridge alignment;
783
+ Current source metadata is the **2.3.4 stable target**, with matched OpenClaw
784
+ bridge source **2.3.4**. Release validation requires exact Python/bridge alignment;
771
785
  AtBot retains its independent stable compatible version **0.1.0**.
772
786
 
773
787
  ## License
@@ -1,11 +1,11 @@
1
1
  # AtMem
2
2
 
3
- [![Version 2.3.2](https://img.shields.io/badge/version-2.3.2-blue)](./docs/releases/v2.3.2.md)
3
+ [![Version 2.3.4](https://img.shields.io/badge/version-2.3.4-blue)](./docs/releases/v2.3.4.md)
4
4
  [![CI](https://github.com/aetna000/atmem/actions/workflows/ci.yml/badge.svg)](https://github.com/aetna000/atmem/actions/workflows/ci.yml)
5
5
 
6
6
  **AtMem is a host-neutral Agent Black Box and reversible memory control plane.**
7
7
 
8
- > **Release status:** AtMem 2.3.2 is the stable encrypted Agent Black Box release.
8
+ > **Release status:** AtMem 2.3.4 is the stable Agent Black Box and governed-memory release. It installs AtFlows 0.1.1 by default, with optional AtMem-owned login and read-only review leads.
9
9
  > It records exact host-observed text and supported multimodal boundaries by default,
10
10
  > while keeping every claim limited to what the connected agent actually supplied.
11
11
 
@@ -22,7 +22,7 @@ authorizes, stores, scopes, injects, corrects, and deletes memory.
22
22
  ### 1. Install AtMem and choose memory intelligence
23
23
 
24
24
  ```bash
25
- python -m pip install --upgrade atmem==2.3.2
25
+ python -m pip install --upgrade atmem==2.3.4
26
26
  atmem atbot setup
27
27
  atmem atbot doctor
28
28
  atmem init
@@ -55,7 +55,7 @@ package yourself.
55
55
  Already using AtMem 2.1 with OpenClaw? Upgrade in place:
56
56
 
57
57
  ```bash
58
- python -m pip install --upgrade atmem==2.3.2
58
+ python -m pip install --upgrade atmem==2.3.4
59
59
  atmem openclaw upgrade
60
60
  atmem control verify
61
61
  ```
@@ -78,7 +78,7 @@ selected by `python`, rather than an unrelated `pip` executable on `PATH`.
78
78
  #### Pydantic AI — native capability
79
79
 
80
80
  ```bash
81
- python -m pip install 'atmem[pydantic-ai]==2.3.2'
81
+ python -m pip install 'atmem[pydantic-ai]==2.3.4'
82
82
  atmem control shadow --host generic --memory-db ~/.atmem/memories.db
83
83
  ```
84
84
 
@@ -103,7 +103,7 @@ agent = Agent("openai:gpt-5-mini", capabilities=[memory])
103
103
  #### LangChain/LangGraph — native middleware
104
104
 
105
105
  ```bash
106
- python -m pip install 'atmem[langgraph]==2.3.2'
106
+ python -m pip install 'atmem[langgraph]==2.3.4'
107
107
  atmem control shadow --host generic --memory-db ~/.atmem/memories.db
108
108
  ```
109
109
 
@@ -167,7 +167,7 @@ open tasks. AtBot may propose a change, but AtMem revalidates and commits it.
167
167
 
168
168
  See the [Governed Task State guide](docs/governed-task-state.md) for lifecycle,
169
169
  correction, provenance, expiry, benchmark, and automation examples, and read
170
- the [2.3.2 release notes](docs/releases/v2.3.2.md) before upgrading.
170
+ the [2.3.4 release notes](docs/releases/v2.3.4.md) before upgrading.
171
171
 
172
172
  ### Prove memory quality locally
173
173
 
@@ -175,12 +175,17 @@ the [2.3.2 release notes](docs/releases/v2.3.2.md) before upgrading.
175
175
  atmem benchmark run --output benchmark.json
176
176
  ```
177
177
 
178
- This offline release gate runs 16 isolated extraction, contradiction, recall,
178
+ This offline release gate runs 24 isolated extraction, contradiction, recall,
179
179
  withholding, injection, privacy, poisoning and fallback cases. Safety must be
180
180
  perfect; other quality metrics cannot fall below checked-in baselines. Optional
181
181
  local/hosted profiles, LongMemEval import and fair Mem0 OSS comparison are also
182
182
  available without adding Mem0 or model SDKs to the base install. See the
183
183
  [memory benchmark guide](docs/benchmarks.md) for commands and honest limits.
184
+ The retrieval and archive improvements from [2.3.3](docs/releases/v2.3.3.md)
185
+ remain in [2.3.4](docs/releases/v2.3.4.md), which adds the optional AtFlows
186
+ observability and shared-login scope. Developer opt-in
187
+ fusion, scoped graph nomination and matrix reuse are available for evaluation;
188
+ broader performance targets remain research, not release claims.
184
189
 
185
190
  ### 3. Review, then activate
186
191
 
@@ -265,7 +270,7 @@ and restores it exactly.
265
270
  ## Installation details
266
271
 
267
272
  ```bash
268
- python -m pip install atmem==2.3.2
273
+ python -m pip install atmem==2.3.4
269
274
  atmem --version
270
275
  ```
271
276
 
@@ -275,7 +280,7 @@ embedding model, while the semantic extra adds local sentence-transformer
275
280
  choices:
276
281
 
277
282
  ```bash
278
- python -m pip install 'atmem[semantic]==2.3.2'
283
+ python -m pip install 'atmem[semantic]==2.3.4'
279
284
  ```
280
285
 
281
286
  For repository development, install both workspace packages:
@@ -463,7 +468,7 @@ atmem control restore
463
468
  Existing 2.1 installations upgrade without starting a new migration:
464
469
 
465
470
  ```bash
466
- python -m pip install --upgrade atmem==2.3.2
471
+ python -m pip install --upgrade atmem==2.3.4
467
472
  atmem openclaw upgrade
468
473
  atmem control verify
469
474
  ```
@@ -634,6 +639,11 @@ system-of-record verification.
634
639
 
635
640
  ## Documentation map
636
641
 
642
+ Official website documentation is maintained through the public
643
+ [documentation inventory](docs/website/manifest.json). See
644
+ [how to contribute and update release docs](docs/website-contributing.md).
645
+ Website publication follows a separate owner-reviewed, main-only deployment.
646
+
637
647
  - [Current implementation status](docs/current-status.md)
638
648
  - [Generic runtime adapter](docs/generic-adapter.md)
639
649
  - [Delegated context-provider contract](docs/contracts/delegated-context-provider-v1.md)
@@ -691,8 +701,8 @@ npm test
691
701
  npm run smoke
692
702
  ```
693
703
 
694
- Current repository metadata is version **2.3.2**, with the matched OpenClaw
695
- bridge **2.3.2**. Release validation requires exact Python/bridge alignment;
704
+ Current source metadata is the **2.3.4 stable target**, with matched OpenClaw
705
+ bridge source **2.3.4**. Release validation requires exact Python/bridge alignment;
696
706
  AtBot retains its independent stable compatible version **0.1.0**.
697
707
 
698
708
  ## License
@@ -0,0 +1,48 @@
1
+ {
2
+ "format": "atmem-mem0-head-to-head-manifest-v1",
3
+ "frozen_at": "2026-09-16",
4
+ "dataset": {
5
+ "name": "LongMemEval-S cleaned",
6
+ "upstream_commit": "98d7416c24c778c2fee6e6f3006e7a073259d48f",
7
+ "source_sha256": "d6f21ea9d60a0d56f34a05b609c79c88a451d2ae03597821ea3d5a9678c3a442"
8
+ },
9
+ "selection": {
10
+ "rule": "sha256-question-id-stratified-v1",
11
+ "calibration_case_ids": [
12
+ "07741c45", "b6019101", "720133ac", "gpt4_7fce9456",
13
+ "c4f10528", "1d4da289", "54026fce", "06878be2",
14
+ "58bf7951", "c8c3f81d", "gpt4_d31cdae3", "gpt4_4edbafa2"
15
+ ],
16
+ "heldout_case_ids": [
17
+ "6071bd76", "a2f3aa27", "09ba9854", "00ca467f",
18
+ "70b3e69b", "ceb54acb", "195a1a1b", "6b7dfb22",
19
+ "ad7109d1", "36580ce8", "bcbe585f", "gpt4_6ed717ea"
20
+ ],
21
+ "heldout_selection_sha256": "sha256:4bd9ee57ced759f74e09283da571dd0b1283c1560aa26afabde50a2dd8e050a5"
22
+ },
23
+ "raw_retrieval": {
24
+ "ingestion": "raw-infer-disabled",
25
+ "chunk_chars": 1600,
26
+ "embedding_provider": "ollama",
27
+ "embedding_model": "nomic-embed-text:latest",
28
+ "embedding_model_id": "0a109f422b47",
29
+ "retrieved_chunk_limit": 100,
30
+ "session_cutoff": 5,
31
+ "quality_metrics": ["session_recall_any_at_5", "session_recall_all_at_5", "session_mrr_at_5"],
32
+ "latency_boundary": "query embedding through returned search candidates; excludes admission/indexing"
33
+ },
34
+ "native_preparation": {
35
+ "quality_metrics": ["useful_context_precision", "answerable_recall", "no_answer_correctness", "incorrect_injection_rate"],
36
+ "latency_boundary": "native control_prepare entry through authorized prepared context return",
37
+ "final_delivery_is_separately_confirmed": true
38
+ },
39
+ "competition": {
40
+ "mem0_oss_version": "2.0.20",
41
+ "mem0_nlp_and_bm25_status": "explicitly report base and hybrid-enabled profiles separately",
42
+ "speed_ratio_target": 2.0,
43
+ "speed_ratio_stretch": 10.0,
44
+ "speed_metric": "matched warm p95 on the same declared boundary",
45
+ "quality_condition": "no lower held-out answer/source quality and zero authority violations",
46
+ "claim_policy": "no cross-profile ratio or beta publication if a required comparable 2x gate fails"
47
+ }
48
+ }
@@ -25,6 +25,8 @@ _METRIC_DIRECTIONS = {
25
25
  "fallback_completion": "higher",
26
26
  "latency_p50_ms": "lower",
27
27
  "latency_p95_ms": "lower",
28
+ "warm_latency_p50_ms": "lower",
29
+ "warm_latency_p95_ms": "lower",
28
30
  "token_usage": "lower",
29
31
  "model_cost_usd": "lower",
30
32
  }