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.
- {atmem-2.3.2/atmem.egg-info → atmem-2.3.4}/PKG-INFO +28 -14
- {atmem-2.3.2 → atmem-2.3.4}/README.md +23 -13
- atmem-2.3.4/atmem/benchmark/data/mem0-head-to-head-2.3.3b1-v1.json +48 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/external.py +2 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/cli.py +270 -10
- {atmem-2.3.2 → atmem-2.3.4}/atmem/contracts/models.py +13 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/assets/app.css +92 -20
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/assets/app.html +38 -9
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/assets/app.js +62 -11
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/atbot_companion.py +8 -39
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/compat.py +1 -0
- atmem-2.3.4/atmem/control/jev_service.py +165 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/manager.py +24 -1
- atmem-2.3.4/atmem/control/query_expansion.py +27 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/web.py +31 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/evidence/service.py +30 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/evidence/store.py +12 -1
- atmem-2.3.4/atmem/integrations/__init__.py +1 -0
- atmem-2.3.4/atmem/integrations/atflows.py +189 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/mcp/server.py +1 -1
- {atmem-2.3.2 → atmem-2.3.4}/atmem/memory.py +17 -3
- {atmem-2.3.2 → atmem-2.3.4}/atmem/openclaw_install.py +1 -1
- atmem-2.3.4/atmem/retrieve/fusion.py +18 -0
- atmem-2.3.4/atmem/retrieve/graph.py +135 -0
- atmem-2.3.4/atmem/retrieve/hybrid.py +159 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/rank.py +59 -1
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/recall-request.json +2 -1
- {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/index.py +201 -41
- {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/providers.py +61 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/store/sqlite.py +34 -0
- {atmem-2.3.2 → atmem-2.3.4/atmem.egg-info}/PKG-INFO +28 -14
- {atmem-2.3.2 → atmem-2.3.4}/atmem.egg-info/SOURCES.txt +57 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem.egg-info/requires.txt +6 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/agent-blackbox.md +19 -5
- {atmem-2.3.2 → atmem-2.3.4}/docs/benchmarks.md +59 -2
- {atmem-2.3.2 → atmem-2.3.4}/docs/control-plane.md +1 -1
- atmem-2.3.4/docs/current-status.md +70 -0
- atmem-2.3.4/docs/data-storage-and-backup.md +67 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/framework-adapters.md +2 -1
- atmem-2.3.4/docs/http-api.md +124 -0
- atmem-2.3.4/docs/implementation-evidence/026/20260920T094307Z-85c2ae2-atflows-b2.md +15 -0
- atmem-2.3.4/docs/implementation-evidence/026/20260920T105859Z-atmem-234-stable.md +12 -0
- atmem-2.3.4/docs/implementation-evidence/031/baseline.md +50 -0
- atmem-2.3.4/docs/implementation-evidence/031/consistency-audit.md +32 -0
- atmem-2.3.4/docs/implementation-evidence/031/core-hybrid-benchmark.md +87 -0
- atmem-2.3.4/docs/implementation-evidence/031/core-hybrid-calibration.json +479 -0
- atmem-2.3.4/docs/implementation-evidence/031/core-hybrid-review.md +85 -0
- atmem-2.3.4/docs/implementation-evidence/031/graph-calibration-four-profile.json +1126 -0
- atmem-2.3.4/docs/implementation-evidence/031/graph-calibration.json +908 -0
- atmem-2.3.4/docs/implementation-evidence/031/graph-nomination.md +174 -0
- atmem-2.3.4/docs/implementation-evidence/031/matched-v2.md +67 -0
- atmem-2.3.4/docs/implementation-evidence/031/numpy-benchmark.md +65 -0
- atmem-2.3.4/docs/implementation-evidence/031/numpy-review.md +64 -0
- atmem-2.3.4/docs/implementation-evidence/031/profiling.md +84 -0
- atmem-2.3.4/docs/implementation-evidence/031/release-2.3.3.md +104 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/multimodal-observations.md +7 -3
- atmem-2.3.4/docs/release-roadmap.md +164 -0
- atmem-2.3.4/docs/releases/v2.3.3.md +118 -0
- atmem-2.3.4/docs/releases/v2.3.4.md +50 -0
- atmem-2.3.4/docs/releases/v2.3.4b1.md +79 -0
- atmem-2.3.4/docs/releases/v2.3.4b2.md +112 -0
- atmem-2.3.4/docs/website/atbot.md +25 -0
- atmem-2.3.4/docs/website/atflows.md +36 -0
- atmem-2.3.4/docs/website/cli.md +66 -0
- atmem-2.3.4/docs/website/dashboard.md +27 -0
- atmem-2.3.4/docs/website/evidence.md +38 -0
- atmem-2.3.4/docs/website/examples.md +36 -0
- atmem-2.3.4/docs/website/getting-started.md +61 -0
- atmem-2.3.4/docs/website/index.md +29 -0
- atmem-2.3.4/docs/website/integrations.md +30 -0
- atmem-2.3.4/docs/website/manifest.json +261 -0
- atmem-2.3.4/docs/website/mcp.md +33 -0
- atmem-2.3.4/docs/website/portfolio.md +13 -0
- atmem-2.3.4/docs/website/python.md +28 -0
- atmem-2.3.4/docs/website/reference.md +28 -0
- atmem-2.3.4/docs/website/releases.md +25 -0
- atmem-2.3.4/docs/website/troubleshooting.md +30 -0
- atmem-2.3.4/docs/website-contributing.md +33 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/README.md +6 -2
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/openclaw.plugin.json +1 -1
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/package-lock.json +2 -2
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/package.json +1 -1
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/rpc-client.ts +1 -1
- atmem-2.3.4/integrations/openclaw/test/fixtures/hook-context/2026.9.5.json +401 -0
- {atmem-2.3.2 → atmem-2.3.4}/pyproject.toml +8 -1
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_atbot_companion.py +22 -0
- atmem-2.3.4/tests/test_atflows_review.py +153 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_benchmark_external.py +66 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_cli_guidance.py +48 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_control_plane.py +8 -3
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_dashboard.py +9 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_documentation.py +2 -2
- atmem-2.3.4/tests/test_jev_lab.py +52 -0
- atmem-2.3.4/tests/test_jev_service.py +48 -0
- atmem-2.3.4/tests/test_production_benchmarks.py +53 -0
- atmem-2.3.4/tests/test_release_metadata.py +64 -0
- atmem-2.3.4/tests/test_retrieval_candidate_union.py +226 -0
- atmem-2.3.4/tests/test_retrieval_graph_fusion.py +206 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_retrieval_quality.py +44 -0
- atmem-2.3.4/tests/test_semantic_matrix_cache.py +124 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_rebuild.py +56 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_search.py +89 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_performance.py +73 -40
- atmem-2.3.4/tests/test_website_docs.py +33 -0
- atmem-2.3.4/tools/benchmark_core_hybrid.py +93 -0
- atmem-2.3.4/tools/benchmark_numpy_cache.py +79 -0
- {atmem-2.3.2 → atmem-2.3.4}/tools/run_longmemeval_retrieval.py +226 -43
- atmem-2.3.4/tools/smoke_atflows_delegated.py +116 -0
- atmem-2.3.4/tools/smoke_atflows_handoff.py +128 -0
- {atmem-2.3.2 → atmem-2.3.4}/tools/smoke_installed_package.py +1 -1
- {atmem-2.3.2 → atmem-2.3.4}/tools/smoke_upgrade_from_2_1.py +5 -4
- atmem-2.3.2/docs/current-status.md +0 -54
- atmem-2.3.2/docs/data-storage-and-backup.md +0 -32
- atmem-2.3.2/docs/http-api.md +0 -21
- atmem-2.3.2/docs/release-roadmap.md +0 -76
- atmem-2.3.2/tests/test_release_metadata.py +0 -30
- {atmem-2.3.2 → atmem-2.3.4}/LICENSE +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/MANIFEST.in +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/base.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/callbacks.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/crewai.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/evidence_profiles.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/google_adk.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/langgraph.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/microsoft_agent.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/openai_agents.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/pydantic_ai.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/adapters/smolagents.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/contracts.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/data/deterministic-v1.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/data/mem0-oss-v1.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/data/retrieval-calibration-v1.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/data/retrieval-heldout-v1.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/data/task-state-v1.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/data/thresholds-v1.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/profiles.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/retrieval.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/benchmark/runner.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/client.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/contracts/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/contracts/execution.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/contracts/task_state.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/contracts/versions.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/assets/atmem.jpg +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/atbot_service.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/blackbox.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/evidence.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/explain.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/hosts.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/models.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/openclaw_native.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/openclaw_topology.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/server.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/state.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/store.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/topology.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/ui.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/control/verify.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/core/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/core/canonical.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/core/fact_keys.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/core/keys.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/core/policy.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/core/storage.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/core/time.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/dashboard_daemon.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/canonical.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/client.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/config.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/contracts.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/service.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/transport.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/delegated/validation.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/evidence/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/evidence/accounts.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/evidence/crypto.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/evidence/models.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/execution/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/execution/coverage.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/execution/events.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/execution/projection.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/execution/retention.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/execution/status.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/classify.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/context.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/models.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/review.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/rules.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/extract/validation.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/graph/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/graph/identity.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/graph/maintenance.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/graph/models.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/graph/store.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/graph/traverse.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/home/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/home/artifacts.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/home/layout.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/home/service.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/identity/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/identity/models.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/identity/service.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/identity/store.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/incidents/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/incidents/detect.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/interchange/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/interchange/export.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/interchange/importer.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/interchange/mem0.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/interchange/models.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/interchange/plan.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/invariants/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/invariants/attestation.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/invariants/models.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/invariants/registry.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/invariants/report.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/invariants/verdict.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/investigate.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/lifecycle/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/lifecycle/invalidation.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/lifecycle/maintenance.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/lifecycle/models.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/lifecycle/policy.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/lifecycle/service.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/maintenance.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/mcp/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/media/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/media/access.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/media/index.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/media/invalidation.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/media/models.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/media/processors.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/media/service.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/onboarding.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/onboarding_verify.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/langgraph.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/lifecycle.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/loading.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/mem0.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/models.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/pydantic_ai.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/runtime.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/server.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/signing.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/provider_adapters/worker.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/cache.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/calibration-v1.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/calibration.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/graph_signal.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/models.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/signals.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/retrieve/support.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/admin-audit.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/benchmark-cases.schema.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/benchmark-report.schema.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/capabilities.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/context-package.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/graph-path.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/host-task-lifecycle-request.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/host-task-observation-request.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/host-task-proposal-request.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/invariant-registry.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/media-observation.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/memory-archive.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/memory-lifecycle.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/memory-proposal.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/onboarding-state.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/retrieval-decision.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/scope.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/semantic-health.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/service-job.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/service-key.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/service-principal.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/source-capture.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-context-package.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-profile.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-session-binding.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-start-request.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-state-proposal.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-state.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/task-transition-decision.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/schemas/v1/unified-health.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/health.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/models.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/pgvector.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/semantic/qdrant.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/server/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/server/admin_audit.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/server/auth.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/server/cache_policy.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/server/config.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/server/jobs.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/server/observability.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/server/recovery.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/server/repositories.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/service/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/service/application.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/service/executions.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/store/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/store/health.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/store/postgres.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/binding.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/context.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/enablement.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/enforcement.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/governance.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/guards.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/host_boundary.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/models.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/observability.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/policy.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/profiles.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/provenance.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/task_state/service.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/telemetry/__init__.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem/telemetry/retrieval.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem.egg-info/dependency_links.txt +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem.egg-info/entry_points.txt +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/atmem.egg-info/top_level.txt +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/atbot-release.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/audit-log-spec.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/audit-search.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/auditing-guide.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/capabilities.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/context-provider-adapters.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1/inject.next-turn-same-nonce.valid.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1/inject.valid.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1/test-vectors.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1/trust.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1/withhold.valid.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-provider-v1.schema.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-context-request-v1.schema.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-request-auth-v1.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/contracts/delegated-request-auth-v1.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/dashboard-design-language.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/delegated-context-provider.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/entity-relationship-memory.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/examples/benchmark-deterministic-v1.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/examples/longmemeval-s-retrieval-12-v1.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/examples/longmemeval-s-support-ranking-2026-09-02.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/examples/onboarding/http.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/examples/onboarding/langgraph.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/examples/onboarding/openclaw.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/examples/onboarding/pydantic-ai.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/generic-adapter.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/governed-task-state.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/003/20260909T043658Z-740c5c89d63c-host-compatibility.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/003/20260909T052000Z-740c5c89d63c-mem0-latest-hosts.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/003/20260909T052000Z-740c5c89d63c-mem0-latest-hosts.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/003/20260909T055300Z-04a063ce1e7b-publication.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/003/20260910-storizon-published-2.2.6.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/020/20260909-progress-card-observations.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/020/20260909-selective-context-and-precise-time.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/020/20260912-m0-investigation-preview.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/020/20260912-release-candidate-correctness-hardening.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/021/20260912-m0-findings-ui.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/022/20260909-dashboard-usability.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/028/20260913-encrypted-evidence-access.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/029/2026-09-13-local-user-management.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/030/2026-09-13-portable-home.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/implementation-evidence/README.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/integration-guide.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/invariants.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/memory-extraction.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/memory-interchange.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/onboarding.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/openclaw-setup.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/production-service.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v1.0.0.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.0.0.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.0.1.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.1.0.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.0.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.1.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.2.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.3.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.4.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.5.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b1.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b10.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b11.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b2.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b3.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b4.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b5.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b8.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.2.6b9.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.3.0.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.3.0b1.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.3.1.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/releases/v2.3.2.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/retrieval-quality.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/saas-integration.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/security/production-threat-model.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/semantic-search.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/spec-kit.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/docs/storage-performance.md +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/index.ts +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/delegated-identity.ts +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/execution-spool.ts +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/setup.ts +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/task-tools.ts +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/tool-errors.ts +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/tool-observations.ts +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/tool-result-comparison.ts +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/src/types.ts +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/blackbox-diagnostics.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/dashboard-live.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/delegated-context-contract.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/delegated-identity.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/delegated-journey.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/execution-spool.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/fixtures/hook-context/2026.7.1-2.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/fixtures/hook-context/2026.8.1.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/fixtures/hook-context/2026.9.2.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/fixtures/hook-context/2026.9.3.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/fixtures/hook-context/2026.9.4.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/hook-context-compat.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/hooks.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/lib/hook-context-shape.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/lib/record-hook-context.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/manifest.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/setup.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/smoke.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/task-journey.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/task-tools.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/tool-observations.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/test/tool-result-comparison.mjs +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/integrations/openclaw/tsconfig.json +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/setup.cfg +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_api_contracts.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_api_idempotency.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_api_upgrade.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_atbot_service.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_auditability.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_benchmark_cli.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_benchmark_contracts.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_benchmark_runner.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_blackbox.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_cli.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_contracts_v1.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_control_evidence.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_control_verify.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_dashboard_daemon.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_delegated_context.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_delegated_control.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_delegated_transport.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_encryption.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_evidence_protection.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_execution_capture.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_execution_identity.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_extract.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_extract_contracts.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_extract_proposals.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_extract_upgrade.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_feature_surfaces.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_forget_verification.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_framework_adapter_conformance.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_framework_adapter_packaging.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_framework_adapters.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_framework_delegated_adapters.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_generic_control.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_graph.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_graph_aliases.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_graph_lifecycle.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_graph_quality.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_home.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_host_adapter.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_http_api.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_incident_resolution.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_interchange.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_langgraph_provider.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_layers.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_lifecycle.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_lifecycle_migration.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_local_identity.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_maintenance.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_mcp.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_media_governance.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_media_observations.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_media_packaging.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_mem0_provider.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_memory.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_onboarding.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_onboarding_recovery.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_openclaw_compat.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_openclaw_control.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_openclaw_install.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_openclaw_topology.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_policy.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_provider_cli.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_provider_integration.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_provider_packaging.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_provider_performance.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_provider_runtime.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_provider_server.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_pydantic_provider.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_recall_evidence.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_restore_receipt.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_retrieval_adapter_conformance.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_retrieval_benchmark.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_retrieval_cache.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_retrieval_signals_and_cache.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_retrieve.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_sdk_packaging.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_health.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_parity.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_policy_invalidation.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_profiles.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_schema.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_semantic_setup.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_spec_task_inventory.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_storage_packaging.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_store_transactions.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_supporting_evidence.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_adapters.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_atbot.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_benchmark.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_binding.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_cli.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_clock.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_context.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_contracts.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_dashboard.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_deletion.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_expiry.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_governance.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_guards.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_host_boundary.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_host_contracts.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_observability.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_policy.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_prerequisites.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_schemas.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_service.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_session_binding.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_store.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_tamper.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_upgrade.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tests/test_task_state_walking_skeleton.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tools/benchmark_storage.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tools/check_invariants.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tools/check_spec_tasks.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tools/release_metadata.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tools/run_mem0_openclaw_live.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tools/smoke_delegated_package.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tools/smoke_delegated_transport.py +0 -0
- {atmem-2.3.2 → atmem-2.3.4}/tools/smoke_mem0_roleplay.py +0 -0
- {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.
|
|
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
|
-
[](./docs/releases/v2.3.4.md)
|
|
79
83
|
[](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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
770
|
-
bridge **2.3.
|
|
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
|
-
[](./docs/releases/v2.3.4.md)
|
|
4
4
|
[](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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
695
|
-
bridge **2.3.
|
|
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
|
+
}
|