zaxy-memory 2.3.3__tar.gz → 2.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/AGENTS.md +1 -1
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/CHANGELOG.md +41 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/PKG-INFO +3 -1
- zaxy_memory-2.4.0/docs/experimental/portable-export-conformance.md +62 -0
- zaxy_memory-2.4.0/docs/experimental/portable-export-security.md +95 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/hooks.md +43 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/pyproject.toml +6 -1
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/build-site-docs.py +4 -0
- zaxy_memory-2.4.0/scripts/chunk_rag_token_compare.py +166 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/hooks.html +10 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/index.html +2 -2
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/cli/workspace.py +110 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/observation.py +27 -2
- zaxy_memory-2.4.0/src/zaxy/offload.py +108 -0
- zaxy_memory-2.4.0/src/zaxy/portable/__init__.py +44 -0
- zaxy_memory-2.4.0/src/zaxy/portable/anchor.py +48 -0
- zaxy_memory-2.4.0/src/zaxy/portable/envelope.py +109 -0
- zaxy_memory-2.4.0/src/zaxy/portable/export.py +148 -0
- zaxy_memory-2.4.0/src/zaxy/portable/merkle.py +73 -0
- zaxy_memory-2.4.0/src/zaxy/portable/rehydration.py +82 -0
- zaxy_memory-2.4.0/src/zaxy/portable/signing.py +76 -0
- zaxy_memory-2.4.0/tests/test_anchor.py +32 -0
- zaxy_memory-2.4.0/tests/test_chunk_rag_methodology.py +51 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_docs_site.py +1 -1
- zaxy_memory-2.4.0/tests/test_envelope.py +81 -0
- zaxy_memory-2.4.0/tests/test_offload.py +120 -0
- zaxy_memory-2.4.0/tests/test_portable_export.py +201 -0
- zaxy_memory-2.4.0/tests/test_rehydration.py +58 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/.gitignore +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/Dockerfile +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/LICENSE +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/README.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docker-compose.prod.yml +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docker-compose.yml +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/agent-events.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/announcements/zaxy-0.4.0.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/announcements/zaxy-coordinate.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/announcements/zaxy-v1.0-x-article.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/announcements/zaxy-v1.0.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/announcements/zaxy-v1.1-x-article.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/announcements/zaxy-v2.1.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/announcements/zaxy-v2.2-x-article.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/announcements/zaxy-v2.3-x-article.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/api-inventory.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/api.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/architecture.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/archive/benchmark-contributions.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/archive/benchmark-review.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/archive/competitive-positioning.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/archive/experimental-associative-memory.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/archive/longmembench.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/archive/memory-is-purpose-zaxy-analysis.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/archive/release-validation-checklist.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/archive/synthesis-context-research.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/archive/v09-gate-audit.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/archive/v1-roadmap.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/archive/v10-gate-audit.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/archive/zero-friction-runtime-roadmap.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/assets/zaxy-coordinate-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/assets/zaxy-v1-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/assets/zaxy-v1.1-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/assets/zaxy-v2.1-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/assets/zaxy-v2.1-hero.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/assets/zaxy-v2.2-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/assets/zaxy-v2.3-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/benchmarks.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/codebase.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/configuration.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/consolidation.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/coordinate-quickstart.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/coordinate-roadmap.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/deployment.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/embeddings.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/eventloom.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/examples/external-validation-report.example.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/examples/first-run-timing-report.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/examples/mcp-response-snapshots.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/examples/mcp-tool-contract.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/examples/memory-checkout-contract.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/examples/native-integration-contract.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/examples/v1-schema-freeze.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/external-validation.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/first-run-validation.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/getting-started.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/graph-schema.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/integrations.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/mcp-install-targets.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/mcp-quickstart.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/mcp.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/media/zaxy-2-5-3-0-latent-memory-roadmap-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/media/zaxy-codebase-review-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/media/zaxy-collaborate-demo.gif +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/media/zaxy-collaborate-demo.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/media/zaxy-collaborate-demo.mp4 +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/migration.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/operations.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/packet-analyzer.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/ann-engineering-2026-06.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/2-3-research/backend-options.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/2-3-research/external-validation.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/2-3-research/int8_bench_e_results.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/2-3-research/int8_bench_results.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/2-3-research/kuzu-usage-audit.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/2-3-research/promotion-pass.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/BASELINE.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/after-dim1536-r1.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/after-dim1536-r2.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/after-dim64-100k.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/after-dim64-r1.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/after-dim64-r2.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/after-dim64-r3.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/ann2-d64-10k-postcopy.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/ann3-d1536-10k-gauss-r1.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/ann3-d1536-10k-gauss-r2.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/ann3-d1536-10k-hash-r1.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/ann3-d1536-10k-hash-record.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/ann3-d1536-50k-gauss-crossover.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/ann3-d64-100k-r1.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/ann3-d64-100k-r2.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/ann4-d1536-50k-dimension-gated.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/ann4-d1536-50k-gauss-efs800.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/ann4-d1536-50k-gauss-r2.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/ann4-d64-100k-confirm.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/baseline-dim1536.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/baseline-dim64.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/diag-d1536-f32-ceiling.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/diag-gauss-efs-sweep.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/diag-ties-gaussian.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/experiments-e1-e4.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/artifacts/ann-2026-06/profiling-a2.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/codebase-review-2026-06-09.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/research/zaxy-memory-fabric-paper.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/retrieval.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/runbook.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/security.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/stability-commitment.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-08-codebase-file-map.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-08-domain-separated-defaults.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-08-local-first-retrieval.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-08-remote-mcp-rate-limit-audit.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-09-agent-integration-templates.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-09-retention-metadata-extraction.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-09-retrieval-feedback-events.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-10-merge-sprint.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-16-runtime-dashboard.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-17-skill-memory.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-18-pggraph-adapter.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-18-projection-backend-contract.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-20-zero-friction-embedded-graph-runtime.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-30-v0-5-public-positioning-first-run-trust.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-05-31-v1-release-docs-media.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-06-07-zaxy-2-0-alpha-1-causal-consolidation.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-06-07-zaxy-2-0-alpha-2-review-gated-consolidation.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-06-07-zaxy-2-0-beta-1-reasoning-loop-primitives.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-06-08-zaxy-2-0-beta-2-metacognitive-procedural-hardening.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-06-08-zaxy-2-0-rc-1-benchmark-freeze.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/plans/2026-06-09-codebase-review-high-value-remediation.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-05-08-codebase-file-map-design.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-05-08-domain-separated-defaults-design.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-05-08-local-first-retrieval-design.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-05-08-remote-mcp-rate-limit-audit-design.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-05-16-runtime-dashboard-design.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-05-17-skill-memory-pggraph-evaluation-design.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-05-31-v1-release-docs-media-design.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-06-07-zaxy-2-0-roadmap-design.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-06-09-zaxy-2-5-3-0-latent-memory-roadmap-design.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-06-10-zaxy-2-1-2-3-agent-experience-cognitive-memory-roadmap-design.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-06-10-zaxy-2-1-2-3-implementation-plan.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-06-11-zaxy-2-2-ann-engineering-plan.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/superpowers/specs/2026-06-11-zaxy-2-3-readiness-research.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/testing.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/why-zaxy.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/docs/workspace-genesis.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/examples/__init__.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/examples/adapters/coordinationbench_zaxy_adapter.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/examples/claude_compatible_memory.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/examples/coordinate_three_worker_project.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/examples/langgraph_memory.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/examples/openai_compatible_memory.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/examples/single_agent_memory.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/reports/archive/benchmarks/longmembench-adapter-kit/README.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/reports/archive/benchmarks/purpose-v1/holdouts/public-derived-purpose-v1/README.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/reports/benchmarks/purpose-v1/holdouts/public-derived-purpose-v1/README.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/backend-shootout.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/backup.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/benchmark-guardrails.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/beta-uat.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/build-backend-shootout-workload.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/build-dist.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/check-backend-shootout.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/check-coverage.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/check-external-validation.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/check-state-recovery-benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/generate-certs.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/generate-release-media.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/integration-check.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/live-benchmark.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/mcp_smoke_test.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/release-check.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/restore.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/rotate-logs.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/setup.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/setup_neo4j_indexes.cypher +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/validate-deployment.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/scripts/validate-docs.sh +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/README.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/assets/graph.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/assets/zaxy-coordinate-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/assets/zaxy-v1-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/assets/zaxy-v1.1-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/assets/zaxy-v2.1-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/assets/zaxy-v2.1-hero.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/assets/zaxy-v2.2-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/assets/zaxy-v2.3-header.png +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/agent-events.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/announcements/zaxy-0.4.0.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/announcements/zaxy-coordinate.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/announcements/zaxy-v1.0-x-article.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/announcements/zaxy-v1.0.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/announcements/zaxy-v1.1-x-article.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/announcements/zaxy-v2.1.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/announcements/zaxy-v2.2-x-article.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/announcements/zaxy-v2.3-x-article.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/api-inventory.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/api.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/architecture.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/archive/benchmark-contributions.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/archive/benchmark-review.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/archive/competitive-positioning.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/archive/experimental-associative-memory.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/archive/longmembench.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/archive/memory-is-purpose-zaxy-analysis.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/archive/release-validation-checklist.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/archive/synthesis-context-research.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/archive/v09-gate-audit.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/archive/v1-roadmap.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/archive/v10-gate-audit.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/archive/zero-friction-runtime-roadmap.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/benchmarks.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/codebase.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/configuration.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/consolidation.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/coordinate-quickstart.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/coordinate-roadmap.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/deployment.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/embeddings.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/eventloom.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/external-validation.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/first-run-validation.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/getting-started.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/graph-schema.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/integrations.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/mcp-install-targets.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/mcp-quickstart.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/mcp.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/media/zaxy-collaborate-demo.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/migration.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/operations.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/packet-analyzer.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/research/ann-engineering-2026-06.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/research/artifacts/2-3-research/backend-options.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/research/artifacts/2-3-research/external-validation.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/research/artifacts/2-3-research/kuzu-usage-audit.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/research/artifacts/2-3-research/promotion-pass.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/research/artifacts/ann-2026-06/BASELINE.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/research/codebase-review-2026-06-09.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/research/zaxy-memory-fabric-paper.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/retrieval.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/runbook.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/security.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/stability-commitment.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-08-codebase-file-map.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-08-domain-separated-defaults.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-08-local-first-retrieval.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-08-remote-mcp-rate-limit-audit.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-09-agent-integration-templates.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-09-retention-metadata-extraction.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-09-retrieval-feedback-events.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-10-merge-sprint.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-16-runtime-dashboard.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-17-skill-memory.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-18-pggraph-adapter.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-18-projection-backend-contract.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-20-zero-friction-embedded-graph-runtime.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-30-v0-5-public-positioning-first-run-trust.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-05-31-v1-release-docs-media.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-06-07-zaxy-2-0-alpha-1-causal-consolidation.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-06-07-zaxy-2-0-alpha-2-review-gated-consolidation.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-06-07-zaxy-2-0-beta-1-reasoning-loop-primitives.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-06-08-zaxy-2-0-beta-2-metacognitive-procedural-hardening.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-06-08-zaxy-2-0-rc-1-benchmark-freeze.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/plans/2026-06-09-codebase-review-high-value-remediation.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-05-08-codebase-file-map-design.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-05-08-domain-separated-defaults-design.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-05-08-local-first-retrieval-design.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-05-08-remote-mcp-rate-limit-audit-design.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-05-16-runtime-dashboard-design.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-05-17-skill-memory-pggraph-evaluation-design.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-05-31-v1-release-docs-media-design.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-06-07-zaxy-2-0-roadmap-design.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-06-09-zaxy-2-5-3-0-latent-memory-roadmap-design.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-06-10-zaxy-2-1-2-3-agent-experience-cognitive-memory-roadmap-design.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-06-10-zaxy-2-1-2-3-implementation-plan.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-06-11-zaxy-2-2-ann-engineering-plan.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/superpowers/specs/2026-06-11-zaxy-2-3-readiness-research.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/testing.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/why-zaxy.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/docs/workspace-genesis.html +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/site/style.css +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/__init__.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/__main__.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/adapters/__init__.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/adapters/_common.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/adapters/claude_compatible.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/adapters/coordination.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/adapters/crewai.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/adapters/langgraph.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/adapters/openai_compatible.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/associative_memory.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/capabilities.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/capture_manager.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/capture_soak.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/causal.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/checkout.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/cli/__init__.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/cli/benchmarks.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/cli/evaluation.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/cli/runtime.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/cli/serving.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/codebase.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/codex_capture.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/compaction.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/config.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/consolidation.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/consolidation_pipeline.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/context.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/context_refresh.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/coordination.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/coordination_git.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/coordination_semantic.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/coordination_templates.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/coordinationbench_adapter.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/core.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/dashboard.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/doctor.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/documents.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/domain.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/embedded_graph_store.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/embedding.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/event.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/event_context.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/evidence.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/evidence_candidates.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/evidence_program.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/external_validation.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/extract.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/extract_templates.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/feature_evidence.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/graph.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/graph_walk.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/hooks.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/inference.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/install.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/integrations.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/latticedb_store.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/lifecycle.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/local_profile.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/log.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/mcp_runtime.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/mcp_server.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/memory_persistence.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/memory_status.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/metacognition.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/metrics.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/neutral.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/onboarding.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/packet_analyzer.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/packet_guidance.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/packet_projection.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/pagination.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/pggraph_store.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/procedural_planning.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/procedure_mining.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/projection.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/projection_backends.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/purpose.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/purpose_control.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/py.typed +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/query.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/reasoning_primitives.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/recall.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/recovery.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/refs.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/release.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/remote_security.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/resources/__init__.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/resources/coordinationbench/README.md +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/resources/coordinationbench/__init__.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/resources/coordinationbench/schemas/result.schema.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/resources/coordinationbench/schemas/runner-manifest.schema.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/resources/coordinationbench/templates/activegraph.runner-manifest.template.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/resources/coordinationbench/templates/agent_memory.runner-manifest.template.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/resources/coordinationbench/templates/hybi.runner-manifest.template.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/resources/coordinationbench/templates/mem0.runner-manifest.template.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/resources/coordinationbench/templates/quarq.runner-manifest.template.json +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/resources/coordinationbench/unsupported_runner.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/retrieval_intent.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/retrieval_plan/__init__.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/retrieval_plan/bundles.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/retrieval_plan/duration_evidence.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/retrieval_plan/fact_queries.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/retrieval_plan/foundations.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/retrieval_plan/ordering.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/retrieval_plan/scalars.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/retrieval_profile.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/runtime.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/salience.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/schema.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/security.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/session.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/synthesis/__init__.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/synthesis/evidence_rows.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/synthesis/foundations.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/synthesis/labels.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/synthesis/ledgers.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/synthesis/operations.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/synthesis_artifact.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/synthesis_packet.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/token_budget.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/tool_profiles.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/trace.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/transcripts.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/verbatim.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/viewer.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/working_set.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/src/zaxy/workspace.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/conftest.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_agent_experience_lanes.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_associative_memory.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_backend_shootout.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_benchmarks.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_capabilities.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_capture_manager.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_capture_soak.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_causal.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_causal_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_causal_checkout.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_checkout.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_claude_compatible_adapter.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_cli.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_codebase.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_codex_capture.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_cognitive_lanes.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_cognitive_profile.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_compaction.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_competitive_benchmarks.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_compose.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_config.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_consolidation.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_consolidation_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_consolidation_pipeline.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_context.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_context_refresh.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_coordination.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_coordination_adapters.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_coordination_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_coordination_semantic.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_coordinationbench_adapter.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_core.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_coverage_ratchet.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_crewai_adapter.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_dashboard.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_doctor.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_documents.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_domain.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_embedded_graph_store.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_embedding.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_event.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_evidence.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_evidence_program.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_examples_v05.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_extract.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_extract_templates.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_feature_evidence.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_graph.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_graph_scale_lanes.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_graph_walk.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_harvey_lab_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_inference.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_install.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_integration_check_script.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_integrations.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_langgraph_adapter.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_latticedb_store.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_lifecycle.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_live_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_local_profile.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_longmembench.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_mcp.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_mcp_runtime.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_mcp_server.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_memory_injection.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_memory_persistence.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_memory_status.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_metacognition.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_metrics.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_neutral.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_observation.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_onboarding.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_openai_compatible_adapter.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_ops_scripts.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_packaging.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_packet_analyzer.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_packet_memory_e2e.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_packet_projection.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_pagination.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_pggraph_store.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_procedural_planning.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_procedure_mining.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_projection.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_purpose.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_purpose_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_purpose_control.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_query.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_rc_benchmark_freeze.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_reasoning_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_reasoning_primitives.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_recovery.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_refs.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_remote_security.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_retrieval_plan.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_retrieval_profiles.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_runtime.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_salience.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_schema_migrations.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_security.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_session.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_setup_script.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_statistical_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_synthesis.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_synthesis_artifact.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_synthesis_packet.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_token_budget.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_trace.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_transcripts.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_v05_positioning.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_verbatim.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_viewer.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_working_set.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/tests/test_workspace.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/__init__.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/agent_experience_lanes.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/causal_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/consolidation_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/coordination_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/fok_calibration_lane.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/forgetting_lane.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/graph_walk_lane.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/harvey_lab_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/live_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/longmembench.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/purpose_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/rc_benchmark_freeze.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/reasoning_benchmark.py +0 -0
- {zaxy_memory-2.3.3 → zaxy_memory-2.4.0}/zaxy_benchmarks/vector_scale_lane.py +0 -0
|
@@ -184,7 +184,7 @@ Run with coverage: `pytest --cov` (default in pyproject.toml)
|
|
|
184
184
|
| Neo4j upsert | <100ms | MERGE + index lookup |
|
|
185
185
|
| Hybrid query | <200ms | Parallel exact + keyword + traversal |
|
|
186
186
|
| Total context retrieval | <300ms | End-to-end |
|
|
187
|
-
| Token reduction vs. chunk RAG | 70–90% | Structured paths vs. raw text |
|
|
187
|
+
| Token reduction vs. chunk RAG | 70–90% (target; unvalidated) | Structured paths vs. raw text. Validate with `scripts/chunk_rag_token_compare.py` — quality-controlled (token reduction at *equal answer-bearing recall*, pinned chunk-RAG baseline) — driven by a gold-labeled QA dataset through the gated benchmark. |
|
|
188
188
|
|
|
189
189
|
## Current Status
|
|
190
190
|
|
|
@@ -2,6 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
All notable Zaxy release changes are recorded here.
|
|
4
4
|
|
|
5
|
+
## 2.4.0 - 2026-06-14
|
|
6
|
+
|
|
7
|
+
- **Portable signed memory export — EXPERIMENTAL / UNAUDITED, opt-in.** New
|
|
8
|
+
`zaxy.portable` module (install `zaxy-memory[export]`) for self-sovereign,
|
|
9
|
+
cryptographically-signed, verifiable memory export:
|
|
10
|
+
- Signed bundles: post-quantum **ML-DSA-65** (FIPS-204) primary, Ed25519
|
|
11
|
+
fallback; a domain-separated Merkle tree binds the entries and enables
|
|
12
|
+
**verifiable partial disclosure** (prove a subset without revealing the rest);
|
|
13
|
+
the signature binds the root and all metadata; public-key pinning.
|
|
14
|
+
- **Injection-resistant rehydration** of recalled content (data-not-instructions
|
|
15
|
+
fencing); opt-in `zaxy offload-get --fenced`.
|
|
16
|
+
- **Encryption envelope + cryptographic erasure** (per-cell AES-256-GCM, KEK
|
|
17
|
+
wrap, key-destruction erasure for GDPR Art.17) and capability-scoped sharing.
|
|
18
|
+
- Pluggable public anchor (offline stub + OpenTimestamps hook).
|
|
19
|
+
- CLI: `export-keygen`, `export`, `verify-export`.
|
|
20
|
+
> ⚠️ This is **experimental, unaudited** cryptographic code. It uses only vetted
|
|
21
|
+
> primitives (pyca/cryptography) and ships behind an opt-in extra with a loud
|
|
22
|
+
> import-time warning. **Do not rely on it for high-value secrets or compliance.**
|
|
23
|
+
> It has had an adversarial self-review (a layer, not a substitute for
|
|
24
|
+
> independent human review); see `docs/experimental/portable-export-security.md`.
|
|
25
|
+
- No changes to the default runtime, capture, recall, or existing MCP tools;
|
|
26
|
+
nothing in core imports `zaxy.portable`.
|
|
27
|
+
|
|
28
|
+
## 2.3.4 - 2026-06-14
|
|
29
|
+
|
|
30
|
+
- **Opt-in full tool-I/O provenance (offload sink).** Default capture stays lean
|
|
31
|
+
(240-char excerpts, redacted args). With `ZAXY_OFFLOAD_TOOL_IO` enabled, the
|
|
32
|
+
full command output / tool arguments are also written to a content-addressed
|
|
33
|
+
blob under `<eventloom>/refs/`, and the lean event carries a `full_io_ref`
|
|
34
|
+
(`{ref, sha256, bytes}`). The blob id *is* its sha256 and lives inside the
|
|
35
|
+
Eventloom directory, so it is self-contained and tamper-evident (unlike the
|
|
36
|
+
foreign `codex_source_ref` pointers, which the hash chain can't attest to).
|
|
37
|
+
Context and `memory_checkout` still see only the summary; drill down on demand
|
|
38
|
+
with `zaxy offload-get <sha256>`. Arguments are secret-masked before offload.
|
|
39
|
+
This closes the provenance gap on tool I/O without touching token leanness.
|
|
40
|
+
- **Chunk-RAG token-reduction methodology** (`scripts/chunk_rag_token_compare.py`):
|
|
41
|
+
a quality-controlled harness that measures token reduction at *equal
|
|
42
|
+
answer-bearing recall* against a pinned chunk-RAG baseline, so the AGENTS.md
|
|
43
|
+
"70–90% vs chunk RAG" figure can be validated (it is now labeled an unvalidated
|
|
44
|
+
target pending a gated QA-dataset run) instead of asserted.
|
|
45
|
+
|
|
5
46
|
## 2.3.3 - 2026-06-13
|
|
6
47
|
|
|
7
48
|
- Extended deterministic per-turn memory injection to **Codex**. Codex now ships
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: zaxy-memory
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.0
|
|
4
4
|
Summary: Coordinator memory for auditable multi-agent projects
|
|
5
5
|
Project-URL: Homepage, https://syndicalt.github.io/zaxy/
|
|
6
6
|
Project-URL: Documentation, https://syndicalt.github.io/zaxy/docs/getting-started.html
|
|
@@ -48,6 +48,8 @@ Requires-Dist: twine>=5.0.0; extra == 'dev'
|
|
|
48
48
|
Requires-Dist: types-pyyaml>=6.0.12; extra == 'dev'
|
|
49
49
|
Requires-Dist: types-requests>=2.32.0; extra == 'dev'
|
|
50
50
|
Provides-Extra: embedded
|
|
51
|
+
Provides-Extra: export
|
|
52
|
+
Requires-Dist: cryptography>=46.0; extra == 'export'
|
|
51
53
|
Provides-Extra: frameworks
|
|
52
54
|
Requires-Dist: autogen-agentchat>=0.7; extra == 'frameworks'
|
|
53
55
|
Requires-Dist: crewai>=0.100; extra == 'frameworks'
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Portable Export — W3C Interop Conformance Mapping (dev target #3)
|
|
2
|
+
|
|
3
|
+
Status: **reference implementation, held for independent review. Not released.**
|
|
4
|
+
|
|
5
|
+
This maps Zaxy's signed portable-export implementation to the scope of the W3C
|
|
6
|
+
"AI Agent Memory Interoperability" Community Group (proposed 2026-05-18). **Full
|
|
7
|
+
conformance is intentionally deferred until the CG spec is finalized** — you
|
|
8
|
+
cannot conform to an unfinalized standard. The pieces below are built against the
|
|
9
|
+
*announced scope* and will be reconciled to exact field names / serialization once
|
|
10
|
+
the spec stabilizes.
|
|
11
|
+
|
|
12
|
+
| W3C CG scope item | Zaxy implementation | Status |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| Identity binding (post-quantum signatures, ML-DSA-65 / FIPS-204 reference) | `portable/signing.py` — ML-DSA-65 primary, Ed25519 classical fallback (vetted pyca) | ✅ built |
|
|
15
|
+
| Tamper-evident provenance | `portable/merkle.py` + `export.py` — domain-separated Merkle root, signed; verifiable subset disclosure | ✅ built |
|
|
16
|
+
| Memory cell shape (encrypted unit + metadata) | `portable/envelope.py` — per-cell AES-256-GCM | ⚠️ primitive built; canonical cell schema pending spec |
|
|
17
|
+
| Encryption envelope (per-cell DEK; KEK wrap; rotation) | `portable/envelope.py` — DEK + KEK wrap (local KEK; wallet-derived KEK deferred) | ⚠️ partial |
|
|
18
|
+
| Cryptographic erasure (DEK destroy + tombstone + content-address blacklist; GDPR Art.17) | `portable/envelope.py::ErasureVault` | ✅ built |
|
|
19
|
+
| Sharing contracts (temporary / permanent / syndicate + revocation) | `portable/envelope.py::Capability` | ✅ built (policy layer) |
|
|
20
|
+
| Audit anchor (public-chain receipts; operator-independent verifiability) | `portable/anchor.py` — pluggable; deterministic stub + OpenTimestamps hook | ⚠️ interface built; real public-chain anchor not wired |
|
|
21
|
+
| Serialization (JSON-first, optional CBOR) | JSON bundle implemented | ⚠️ CBOR deferred |
|
|
22
|
+
|
|
23
|
+
## Trust model (no external authority required)
|
|
24
|
+
Self-sovereign: the exporter holds its own keypair; the public key (or a DID) is
|
|
25
|
+
the identity. No CA. Verifiers pin the key / trust-on-first-use. Operator-
|
|
26
|
+
independent verification is provided by the public-chain anchor (OpenTimestamps),
|
|
27
|
+
not a private signing authority. A managed "notary" service is a future product
|
|
28
|
+
layer, never a dependency.
|
|
29
|
+
|
|
30
|
+
## Adversarial self-review (2026-06-14)
|
|
31
|
+
|
|
32
|
+
A structured red-team of the protocol logic (not a credentialed human audit).
|
|
33
|
+
Held: domain-separated Merkle blocks the duplicate-leaf forgery class
|
|
34
|
+
(CVE-2012-2459); the signature binds the root **and** all metadata; `verify_*`
|
|
35
|
+
fails closed on exceptions; per-cell DEKs avoid AES-GCM nonce reuse; the fence
|
|
36
|
+
escape prevents literal delimiter forgery.
|
|
37
|
+
|
|
38
|
+
**Fixed by this pass:**
|
|
39
|
+
- *Crypto-erasure invariant* — made explicit (see `ErasureVault` docstring): key
|
|
40
|
+
material must NEVER enter the immutable Eventloom, or erasure is a false claim.
|
|
41
|
+
- *`temporary` capability without expiry* now fails **closed** (was grant-forever).
|
|
42
|
+
- *`verify_*` now version-allow-lists* the bundle (rejects unknown versions).
|
|
43
|
+
|
|
44
|
+
**Residual caveats (documented, not yet addressed — for human review / later phases):**
|
|
45
|
+
- *Canonicalization*: signing uses sorted-key compact JSON; adopt JCS (RFC 8785)
|
|
46
|
+
and forbid floats/NaN to remove canonicalization ambiguity before production.
|
|
47
|
+
- *KEK nonce volume*: random 96-bit nonces are safe per-DEK (used once) but a KEK
|
|
48
|
+
wrapping many DEKs should rotate or use counter nonces beyond ~2^32 wraps.
|
|
49
|
+
- *Anchor stub*: `verify_anchor` on a `type: "stub"` anchor proves internal
|
|
50
|
+
consistency only — NOT external timestamping. Real assurance needs the
|
|
51
|
+
OpenTimestamps/public-chain hook.
|
|
52
|
+
- *Subset proof length* leaks an approximate total entry count (tree depth).
|
|
53
|
+
- *Rehydration (P2)* is defense-in-depth (semantic guard), explicitly NOT a
|
|
54
|
+
guarantee against indirect prompt injection.
|
|
55
|
+
|
|
56
|
+
## Review gate
|
|
57
|
+
This is security-critical reference code using vetted primitives only. The
|
|
58
|
+
adversarial self-review above is a layer, **not** a substitute for independent
|
|
59
|
+
human review. For a resource-constrained project the proportionate path is:
|
|
60
|
+
ship clearly labeled `experimental / unaudited`, open it for community + W3C-CG
|
|
61
|
+
scrutiny, and pursue a formal audit only when usage/stakes warrant. Until then,
|
|
62
|
+
make no "audited/secure" claims. Nothing here has been published.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Portable Export — Security Status & Review Requests
|
|
2
|
+
|
|
3
|
+
> ## ⚠️ EXPERIMENTAL · UNAUDITED
|
|
4
|
+
> The portable signed-export / rehydration / envelope code (`src/zaxy/portable/`)
|
|
5
|
+
> is a **reference implementation**. It has **not** had independent cryptographic
|
|
6
|
+
> review. **Do not rely on it to protect high-value secrets or for compliance
|
|
7
|
+
> guarantees.** No "audited" or "secure" claim is made. It lives on a feature
|
|
8
|
+
> branch and has not been released.
|
|
9
|
+
|
|
10
|
+
## What is and isn't assured
|
|
11
|
+
|
|
12
|
+
**Assured by design / tests:**
|
|
13
|
+
- Only **vetted primitives** (pyca/cryptography): ML-DSA-65, Ed25519, AES-256-GCM,
|
|
14
|
+
SHA-256. No homegrown cryptographic primitives.
|
|
15
|
+
- Adversarial test suite (forge, tamper, drop, swapped-key, metadata-binding,
|
|
16
|
+
subset non-leakage, forged-proof, GCM auth-fail, key-destruction erasure,
|
|
17
|
+
capability expiry/revocation, anchor tamper-detection).
|
|
18
|
+
- An **adversarial self-review** of the protocol/composition logic
|
|
19
|
+
(see `portable-export-conformance.md`). This is a *layer*, **not** a substitute
|
|
20
|
+
for independent human review.
|
|
21
|
+
|
|
22
|
+
**Not assured (needs human review and/or later phases):**
|
|
23
|
+
- Protocol composition beyond the tested cases.
|
|
24
|
+
- Canonicalization is sorted-key compact JSON — not yet JCS (RFC 8785); floats
|
|
25
|
+
are a known canonicalization hazard.
|
|
26
|
+
- KEK nonce management at high volume; wallet-derived KEK not implemented.
|
|
27
|
+
- The public anchor ships as an offline **stub**; real OpenTimestamps/public-chain
|
|
28
|
+
anchoring is a hook, not wired. A stub anchor proves *consistency only*, not
|
|
29
|
+
external timestamping.
|
|
30
|
+
- W3C interop conformance is deferred until the spec (CG proposed 2026-05-18)
|
|
31
|
+
finalizes.
|
|
32
|
+
|
|
33
|
+
## What it provides (threat model summary)
|
|
34
|
+
- **Authenticity + integrity** of an exported memory bundle (signature binds the
|
|
35
|
+
Merkle root and all metadata), with **self-sovereign** keys (no CA; pin the key
|
|
36
|
+
or use a DID; trust-on-first-use).
|
|
37
|
+
- **Verifiable partial disclosure**: prove a subset of entries belongs to the
|
|
38
|
+
signed set without revealing the rest.
|
|
39
|
+
- **Confidentiality + cryptographic erasure** of memory cells (per-cell DEK;
|
|
40
|
+
destroy-the-key erasure). **Invariant:** key material must never enter the
|
|
41
|
+
immutable Eventloom log, or erasure is void.
|
|
42
|
+
- **Injection-resistant rehydration**: defense-in-depth fencing of recalled
|
|
43
|
+
untrusted content — explicitly **not** a guarantee against prompt injection.
|
|
44
|
+
|
|
45
|
+
**Non-goals (v1):** CA/PKI federation, threshold/multi-party signing, confidential
|
|
46
|
+
compute, replay/rollback prevention beyond per-bundle nonce + timestamp.
|
|
47
|
+
|
|
48
|
+
## Reporting issues
|
|
49
|
+
Found a flaw? Please open a private report (security contact / GitHub security
|
|
50
|
+
advisory) rather than a public issue, and allow reasonable time to fix. Since this
|
|
51
|
+
is pre-release experimental code, coordinated disclosure is appreciated but there
|
|
52
|
+
is no production deployment at risk.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Review request — W3C AI Agent Memory Interoperability CG
|
|
57
|
+
|
|
58
|
+
> **Subject: Reference impl + review request — self-sovereign signed memory export (ML-DSA-65 + Merkle subset proofs)**
|
|
59
|
+
>
|
|
60
|
+
> Hi all — I've built an open, experimental reference implementation aligned with
|
|
61
|
+
> the CG's announced scope (identity binding via ML-DSA-65/FIPS-204, Merkle
|
|
62
|
+
> provenance with verifiable partial disclosure, per-cell encryption envelope,
|
|
63
|
+
> cryptographic erasure for GDPR Art.17, capability-scoped sharing). It's
|
|
64
|
+
> self-sovereign (no CA) with a public-chain anchor hook.
|
|
65
|
+
>
|
|
66
|
+
> It is **experimental and unaudited** — I'm a resource-constrained project and
|
|
67
|
+
> can't commission a formal audit, so I'd hugely value eyes on the *protocol/
|
|
68
|
+
> composition logic*: how the signature binds the Merkle root + metadata, the
|
|
69
|
+
> subset-disclosure proofs, and the crypto-erasure model in an append-only store.
|
|
70
|
+
> Vetted primitives only (pyca/cryptography); adversarial tests included.
|
|
71
|
+
>
|
|
72
|
+
> Repo + threat model: <link>. Happy to align field names/serialization to the
|
|
73
|
+
> spec as it stabilizes, and to contribute findings back. What have I gotten wrong?
|
|
74
|
+
|
|
75
|
+
## Review request — crypto.stackexchange
|
|
76
|
+
|
|
77
|
+
> **Title: Is this composition sound? Signed Merkle-root memory bundle with verifiable subset disclosure + crypto-erasure**
|
|
78
|
+
>
|
|
79
|
+
> I have an experimental protocol for portable, signed agent-memory bundles and
|
|
80
|
+
> want to sanity-check the *composition* (primitives are pyca: ML-DSA-65/Ed25519,
|
|
81
|
+
> AES-256-GCM, SHA-256 — I'm not rolling my own).
|
|
82
|
+
>
|
|
83
|
+
> 1. A bundle's signature is computed over a canonical header that includes the
|
|
84
|
+
> Merkle root of the entries **plus** all metadata (version, alg, pubkey,
|
|
85
|
+
> session id, created-at, nonce). Is binding metadata-with-root this way
|
|
86
|
+
> sufficient to prevent metadata-swap / cross-bundle attacks?
|
|
87
|
+
> 2. Subset disclosure reveals chosen entries + Merkle inclusion proofs (leaf
|
|
88
|
+
> prefix `0x00`, node prefix `0x01`, unpaired nodes promoted not duplicated).
|
|
89
|
+
> Any forgery/second-preimage concern, given the proofs aren't position-bound?
|
|
90
|
+
> 3. "Cryptographic erasure" = destroy the (wrapped) DEK + tombstone + blacklist;
|
|
91
|
+
> ciphertext is otherwise immutable. Are there pitfalls beyond "ensure no other
|
|
92
|
+
> copy of the key survives"?
|
|
93
|
+
>
|
|
94
|
+
> Canonicalization is sorted-key compact JSON (I know JCS/RFC 8785 is the better
|
|
95
|
+
> answer). Threat model + code: <link>. Where does this break?
|
|
@@ -138,6 +138,32 @@ session, long tool run, or roadmap/status question, Zaxy appends
|
|
|
138
138
|
the agent: call `memory_bootstrap` if awareness is unclear, then call
|
|
139
139
|
`memory_checkout` and trust only cited current checkout facts.
|
|
140
140
|
|
|
141
|
+
## Per-Turn Memory Injection (`UserPromptSubmit`)
|
|
142
|
+
|
|
143
|
+
Capture is deterministic, but recall used to be advisory: nothing re-injected the
|
|
144
|
+
memory contract into the model's context, so long sessions drifted. The
|
|
145
|
+
`UserPromptSubmit` hook closes that recall gap. On every turn it re-checks memory
|
|
146
|
+
freshness and, when memory is stale, injects a single terse declarative line that
|
|
147
|
+
names the session, how many events have passed since the last memory use, and the
|
|
148
|
+
recommended `memory_checkout`. When memory is fresh it stays silent and adds no
|
|
149
|
+
context noise. Wire it via:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
zaxy hooks claude-code --eventloom-path .eventloom --domain my-project
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Codex ships Claude-parity hooks, so the same `UserPromptSubmit` /
|
|
156
|
+
`additionalContext` injection works there too. `render_hook_config("codex")`
|
|
157
|
+
emits a `.codex/hooks.json` with the same per-turn recall behavior:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
zaxy hooks codex --eventloom-path .eventloom --domain my-project
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
The injected line is plain prose rather than JSON or glyphs, and it is assembled
|
|
164
|
+
read-only from Eventloom-backed state, so it stays small enough to prepend to the
|
|
165
|
+
prompt verbatim without risking stale context after a checkout.
|
|
166
|
+
|
|
141
167
|
Checkpoint hooks can include retrieval-useful metadata:
|
|
142
168
|
|
|
143
169
|
```bash
|
|
@@ -241,6 +267,23 @@ persist argument keys but not raw argument values. Transcript-turn observations
|
|
|
241
267
|
sanitize content before append so they can serve as source-recall material
|
|
242
268
|
without storing obvious secrets.
|
|
243
269
|
|
|
270
|
+
### Tool-I/O Offload Provenance (`ZAXY_OFFLOAD_TOOL_IO`)
|
|
271
|
+
|
|
272
|
+
Default capture stays lean, so it truncates command output and keeps only tool
|
|
273
|
+
argument keys. When you need full, replayable provenance for tool I/O, set
|
|
274
|
+
`ZAXY_OFFLOAD_TOOL_IO`. The full command output or tool arguments are then written
|
|
275
|
+
to a content-addressed, tamper-evident blob under `<eventloom>/refs/` (the blob id
|
|
276
|
+
is its own sha256), and the lean event carries a `full_io_ref` pointer. Context
|
|
277
|
+
assembly and `memory_checkout` still see only the summary; drill down to the full
|
|
278
|
+
text on demand:
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
zaxy offload-get <sha256>
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Offload is opt-in, and secret-looking argument values are still masked before the
|
|
285
|
+
blob is written, so the lean default and the privacy guarantees are preserved.
|
|
286
|
+
|
|
244
287
|
## Payload
|
|
245
288
|
|
|
246
289
|
Hook events use actor `zaxy-hook` and append to the selected session log. The
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "zaxy-memory"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.4.0"
|
|
4
4
|
description = "Coordinator memory for auditable multi-agent projects"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.11"
|
|
@@ -76,6 +76,11 @@ embedded = [
|
|
|
76
76
|
latticedb = [
|
|
77
77
|
"latticedb>=0.9.6",
|
|
78
78
|
]
|
|
79
|
+
export = [
|
|
80
|
+
# Portable signed export. Ed25519 works with the cryptography that PyJWT[crypto]
|
|
81
|
+
# already pulls in; ML-DSA-65 (post-quantum) requires cryptography >= 46.
|
|
82
|
+
"cryptography>=46.0",
|
|
83
|
+
]
|
|
79
84
|
frameworks = [
|
|
80
85
|
"langgraph>=0.6",
|
|
81
86
|
"crewai>=0.100",
|
|
@@ -52,6 +52,10 @@ def main() -> int:
|
|
|
52
52
|
|
|
53
53
|
def build_pages() -> list[RenderedPage]:
|
|
54
54
|
sources = [ROOT / "README.md", *sorted(DOCS_ROOT.rglob("*.md"))]
|
|
55
|
+
# docs/experimental/ is contributor-only (e.g. unreleased/experimental crypto)
|
|
56
|
+
# and must never be rendered into the public site.
|
|
57
|
+
experimental = DOCS_ROOT / "experimental"
|
|
58
|
+
sources = [s for s in sources if not is_relative_to(s, experimental)]
|
|
55
59
|
return [render_page(source) for source in sources]
|
|
56
60
|
|
|
57
61
|
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"""Quality-controlled token-reduction methodology: structured cited memory vs chunk-RAG.
|
|
2
|
+
|
|
3
|
+
Dev target #2: the AGENTS.md Performance-Targets table states "Token reduction vs
|
|
4
|
+
chunk RAG: 70-90% (structured paths vs raw text)". That is an *unvalidated target*.
|
|
5
|
+
This module is the reproducible methodology to validate (or correct) it.
|
|
6
|
+
|
|
7
|
+
The trap this avoids: a raw token ratio is meaningless, because you can always
|
|
8
|
+
"save tokens" by retrieving less and answering worse. So every comparison is
|
|
9
|
+
**quality-controlled** — measured at EQUAL ANSWER-BEARING RECALL: both arms must
|
|
10
|
+
surface the gold answer span, and we count the tokens each needs to get there.
|
|
11
|
+
|
|
12
|
+
reduction = 1 - structured_tokens / chunkrag_tokens (over cases where BOTH reach gold)
|
|
13
|
+
|
|
14
|
+
The chunk-RAG baseline is pinned and reported (chunk size, ranking) so the ratio
|
|
15
|
+
is not gameable by quietly weakening the baseline.
|
|
16
|
+
|
|
17
|
+
Run `python3 scripts/chunk_rag_token_compare.py` for a self-test on a worked
|
|
18
|
+
example. To produce a *publishable* number, drive `compare_corpus()` with a real
|
|
19
|
+
QA dataset (e.g. LongMemEval) through the gated benchmark apparatus; the headline
|
|
20
|
+
number depends on workload and must be reported with both.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
from __future__ import annotations
|
|
24
|
+
|
|
25
|
+
import re
|
|
26
|
+
from collections.abc import Callable
|
|
27
|
+
from dataclasses import dataclass
|
|
28
|
+
|
|
29
|
+
# Prefer a real BPE tokenizer when available (benchmark runs), but stay
|
|
30
|
+
# dependency-free otherwise: the methodology only needs a *consistent* tokenizer,
|
|
31
|
+
# since it compares token counts at equal recall between two arms.
|
|
32
|
+
_encode: Callable[[str], list]
|
|
33
|
+
_decode: Callable[[list], str]
|
|
34
|
+
try: # pragma: no cover - depends on optional install
|
|
35
|
+
import tiktoken
|
|
36
|
+
|
|
37
|
+
_ENC = tiktoken.get_encoding("cl100k_base")
|
|
38
|
+
_encode = _ENC.encode
|
|
39
|
+
_decode = _ENC.decode
|
|
40
|
+
TOKENIZER = "tiktoken/cl100k_base"
|
|
41
|
+
except Exception: # noqa: BLE001 - any import/runtime failure -> fallback
|
|
42
|
+
_encode = lambda s: s.split() # noqa: E731 - whitespace tokens
|
|
43
|
+
_decode = lambda t: " ".join(t) # noqa: E731
|
|
44
|
+
TOKENIZER = "whitespace-fallback"
|
|
45
|
+
|
|
46
|
+
DEFAULT_CHUNK_TOKENS = 512
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def tokens(text: str) -> int:
|
|
50
|
+
return len(_encode(text))
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def chunk_text(text: str, chunk_tokens: int = DEFAULT_CHUNK_TOKENS) -> list[str]:
|
|
54
|
+
toks = _encode(text)
|
|
55
|
+
return [_decode(toks[i : i + chunk_tokens]) for i in range(0, len(toks), chunk_tokens)]
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def _kw(text: str) -> list[str]:
|
|
59
|
+
return re.findall(r"\w+", text.lower())
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def _score(passage: str, query: str) -> int:
|
|
63
|
+
q = set(_kw(query))
|
|
64
|
+
return sum(1 for w in _kw(passage) if w in q)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def _tokens_to_gold(passages: list[str], query: str, gold: str) -> tuple[int, bool]:
|
|
68
|
+
"""Greedily accumulate the highest-scoring passages until gold appears.
|
|
69
|
+
|
|
70
|
+
Returns (tokens_used, reached_gold). Pure keyword ranking — a standard,
|
|
71
|
+
embedding-free chunk-RAG baseline (note: vector-RAG could differ).
|
|
72
|
+
"""
|
|
73
|
+
ranked = sorted(passages, key=lambda p: -_score(p, query))
|
|
74
|
+
used: list[str] = []
|
|
75
|
+
total = 0
|
|
76
|
+
gold_l = gold.lower()
|
|
77
|
+
for p in ranked:
|
|
78
|
+
used.append(p)
|
|
79
|
+
total += tokens(p)
|
|
80
|
+
if gold_l in " ".join(used).lower():
|
|
81
|
+
return total, True
|
|
82
|
+
return total, False
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
@dataclass
|
|
86
|
+
class CaseResult:
|
|
87
|
+
query: str
|
|
88
|
+
structured_tokens: int
|
|
89
|
+
chunkrag_tokens: int
|
|
90
|
+
both_reached: bool
|
|
91
|
+
|
|
92
|
+
@property
|
|
93
|
+
def reduction(self) -> float | None:
|
|
94
|
+
if not self.both_reached or self.chunkrag_tokens == 0:
|
|
95
|
+
return None
|
|
96
|
+
return 1 - self.structured_tokens / self.chunkrag_tokens
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def compare_case(
|
|
100
|
+
*, query: str, gold: str, facts: list[str], raw_text: str, chunk_tokens: int = DEFAULT_CHUNK_TOKENS
|
|
101
|
+
) -> CaseResult:
|
|
102
|
+
"""One query: structured-cited retrieval vs chunk-RAG over raw_text, at equal recall."""
|
|
103
|
+
s_tok, s_ok = _tokens_to_gold(facts, query, gold)
|
|
104
|
+
c_tok, c_ok = _tokens_to_gold(chunk_text(raw_text, chunk_tokens), query, gold)
|
|
105
|
+
return CaseResult(query, s_tok, c_tok, s_ok and c_ok)
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def compare_corpus(cases: list[dict], *, chunk_tokens: int = DEFAULT_CHUNK_TOKENS) -> dict:
|
|
109
|
+
"""Run a corpus of {query, gold, facts, raw_text} cases. Returns aggregate stats.
|
|
110
|
+
|
|
111
|
+
Only cases where BOTH arms reach gold count toward the reduction (equal recall).
|
|
112
|
+
"""
|
|
113
|
+
results = [compare_case(chunk_tokens=chunk_tokens, **c) for c in cases]
|
|
114
|
+
scored = [r for r in results if r.reduction is not None]
|
|
115
|
+
reductions = [r.reduction for r in scored]
|
|
116
|
+
return {
|
|
117
|
+
"baseline": {
|
|
118
|
+
"chunk_tokens": chunk_tokens,
|
|
119
|
+
"ranking": "keyword-overlap (embedding-free)",
|
|
120
|
+
"tokenizer": TOKENIZER,
|
|
121
|
+
},
|
|
122
|
+
"cases_total": len(results),
|
|
123
|
+
"cases_equal_recall": len(scored),
|
|
124
|
+
"median_reduction": (sorted(reductions)[len(reductions) // 2] if reductions else None),
|
|
125
|
+
"mean_reduction": (sum(reductions) / len(reductions) if reductions else None),
|
|
126
|
+
"per_case": [
|
|
127
|
+
{"query": r.query, "structured_tok": r.structured_tokens,
|
|
128
|
+
"chunkrag_tok": r.chunkrag_tokens, "reduction": r.reduction}
|
|
129
|
+
for r in results
|
|
130
|
+
],
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
def _self_test_corpus() -> list[dict]:
|
|
135
|
+
"""A worked example: a fact buried in verbose tool/dialogue text vs a compact card.
|
|
136
|
+
|
|
137
|
+
Illustrative only — the magnitude depends on raw verbosity, which is exactly why
|
|
138
|
+
a real run needs a QA dataset + the gated apparatus.
|
|
139
|
+
"""
|
|
140
|
+
noise = ("INFO build step ok; cache warm; 0 warnings; retrying; " * 60)
|
|
141
|
+
raw = (
|
|
142
|
+
noise
|
|
143
|
+
+ " The team decided the canonical session id is zaxy-default and froze the legacy zaxy session. "
|
|
144
|
+
+ noise
|
|
145
|
+
+ " Unrelated: the default graph backend for beta is Neo4j. "
|
|
146
|
+
+ noise
|
|
147
|
+
)
|
|
148
|
+
facts = [
|
|
149
|
+
"[decision] canonical session id = zaxy-default; legacy 'zaxy' frozen. (eventloom://zaxy-default/events/77848)",
|
|
150
|
+
"[decision] default graph backend (beta) = Neo4j. (eventloom://zaxy-default/events/1200)",
|
|
151
|
+
"[goal] ship per-turn memory injection. (eventloom://zaxy-default/events/77889)",
|
|
152
|
+
]
|
|
153
|
+
return [
|
|
154
|
+
{"query": "which session id is canonical", "gold": "zaxy-default", "facts": facts, "raw_text": raw},
|
|
155
|
+
{"query": "default graph backend for beta", "gold": "Neo4j", "facts": facts, "raw_text": raw},
|
|
156
|
+
]
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
if __name__ == "__main__":
|
|
160
|
+
import json
|
|
161
|
+
|
|
162
|
+
out = compare_corpus(_self_test_corpus())
|
|
163
|
+
print(json.dumps(out, indent=2))
|
|
164
|
+
print("\nNOTE: self-test is illustrative. A publishable 'X% vs chunk-RAG' number "
|
|
165
|
+
"requires driving compare_corpus() with a real QA dataset (gold-labeled) "
|
|
166
|
+
"through the freeze/gate/audit apparatus, reported with workload + baseline.")
|
|
@@ -139,6 +139,12 @@ zaxy hook-event heartbeat --eventloom-path .eventloom --session-id my-project-de
|
|
|
139
139
|
</table>
|
|
140
140
|
<p>Unknown triggers are rejected before writing.</p>
|
|
141
141
|
<p>Lifecycle hooks also run the memory persistence policy. If Zaxy has not been used recently, or the hook marks a session start, resume, compaction, long session, long tool run, or roadmap/status question, Zaxy appends <code>memory.reminder.suggested</code>. That event is intentionally read-only guidance for the agent: call <code>memory_bootstrap</code> if awareness is unclear, then call <code>memory_checkout</code> and trust only cited current checkout facts.</p>
|
|
142
|
+
<h2 id="per-turn-memory-injection-userpromptsubmit">Per-Turn Memory Injection (<code>UserPromptSubmit</code>)</h2>
|
|
143
|
+
<p>Capture is deterministic, but recall used to be advisory: nothing re-injected the memory contract into the model's context, so long sessions drifted. The <code>UserPromptSubmit</code> hook closes that recall gap. On every turn it re-checks memory freshness and, when memory is stale, injects a single terse declarative line that names the session, how many events have passed since the last memory use, and the recommended <code>memory_checkout</code>. When memory is fresh it stays silent and adds no context noise. Wire it via:</p>
|
|
144
|
+
<pre><code class="language-bash">zaxy hooks claude-code --eventloom-path .eventloom --domain my-project</code></pre>
|
|
145
|
+
<p>Codex ships Claude-parity hooks, so the same <code>UserPromptSubmit</code> / <code>additionalContext</code> injection works there too. <code>render_hook_config("codex")</code> emits a <code>.codex/hooks.json</code> with the same per-turn recall behavior:</p>
|
|
146
|
+
<pre><code class="language-bash">zaxy hooks codex --eventloom-path .eventloom --domain my-project</code></pre>
|
|
147
|
+
<p>The injected line is plain prose rather than JSON or glyphs, and it is assembled read-only from Eventloom-backed state, so it stays small enough to prepend to the prompt verbatim without risking stale context after a checkout.</p>
|
|
142
148
|
<p>Checkpoint hooks can include retrieval-useful metadata:</p>
|
|
143
149
|
<pre><code class="language-bash">zaxy hook-event checkpoint \
|
|
144
150
|
--eventloom-path .eventloom \
|
|
@@ -204,6 +210,10 @@ zaxy hook-event transcript-turn \
|
|
|
204
210
|
}</code></pre>
|
|
205
211
|
<p>Any harness with a post-compaction or resume hook can use the same command; the packet is plain text bracketed by <code>=== ZAXY RECOVERY PACKET ... ===</code> markers. <code>zaxy doctor</code> complements the loop with hash-chain, projection freshness, embedding-dimension, and vector-cache headroom checks so a resumed session can trust what it recovers.</p>
|
|
206
212
|
<p>Command observations redact common secret-bearing arguments and bound stdout and stderr excerpts. File-edit observations persist path, operation, summary, and line count metadata; they do not persist source content. Tool-call observations persist argument keys but not raw argument values. Transcript-turn observations sanitize content before append so they can serve as source-recall material without storing obvious secrets.</p>
|
|
213
|
+
<h3 id="tool-io-offload-provenance-zaxyoffloadtoolio">Tool-I/O Offload Provenance (<code>ZAXY_OFFLOAD_TOOL_IO</code>)</h3>
|
|
214
|
+
<p>Default capture stays lean, so it truncates command output and keeps only tool argument keys. When you need full, replayable provenance for tool I/O, set <code>ZAXY_OFFLOAD_TOOL_IO</code>. The full command output or tool arguments are then written to a content-addressed, tamper-evident blob under <code><eventloom>/refs/</code> (the blob id is its own sha256), and the lean event carries a <code>full_io_ref</code> pointer. Context assembly and <code>memory_checkout</code> still see only the summary; drill down to the full text on demand:</p>
|
|
215
|
+
<pre><code class="language-bash">zaxy offload-get <sha256></code></pre>
|
|
216
|
+
<p>Offload is opt-in, and secret-looking argument values are still masked before the blob is written, so the lean default and the privacy guarantees are preserved.</p>
|
|
207
217
|
<h2 id="payload">Payload</h2>
|
|
208
218
|
<p>Hook events use actor <code>zaxy-hook</code> and append to the selected session log. The payload is intentionally small:</p>
|
|
209
219
|
<pre><code class="language-json">{
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
</section>
|
|
63
63
|
|
|
64
64
|
<section class="proof-strip" aria-label="Project status">
|
|
65
|
-
<span>PyPI 2.
|
|
65
|
+
<span>PyPI 2.4.0</span>
|
|
66
66
|
<span>47 MCP tools, 8-tool core profile</span>
|
|
67
67
|
<span>cognitive ranking default</span>
|
|
68
68
|
<span>embedded local runtime</span>
|
|
@@ -334,7 +334,7 @@ zaxy coordinate checkout --mission auth-main</code></pre>
|
|
|
334
334
|
</main>
|
|
335
335
|
|
|
336
336
|
<footer>
|
|
337
|
-
<span>Zaxy v2.
|
|
337
|
+
<span>Zaxy v2.4.0 - MIT</span>
|
|
338
338
|
<span><a href="README.html">README</a> <a href="docs/runbook.html">Runbook</a></span>
|
|
339
339
|
</footer>
|
|
340
340
|
</body>
|