omninode-memory 0.6.6__tar.gz → 0.7.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (496) hide show
  1. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/pre-commit.yml +2 -2
  2. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/release-dry-run.yml +1 -1
  3. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/release.yml +1 -1
  4. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/test.yml +50 -18
  5. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.pre-commit-config.yaml +35 -3
  6. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/CHANGELOG.md +16 -0
  7. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/CLAUDE.md +13 -1
  8. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/PKG-INFO +4 -4
  9. omninode_memory-0.7.1/deployment/database/migrations/005_backfill_null_checksums.sql +38 -0
  10. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/pyproject.toml +4 -4
  11. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/check_no_hardcoded_bolt.sh +3 -0
  12. omninode_memory-0.7.1/scripts/validation/check_kafka_no_hardcoded_fallback.sh +76 -0
  13. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_naming.py +1 -1
  14. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_secrets.py +1 -1
  15. omninode_memory-0.7.1/scripts/validation/validate_spdx_headers.py +39 -0
  16. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_error_code.py +9 -3
  17. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/adapter_valkey.py +3 -1
  18. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/handler_subscription.py +2 -2
  19. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_document_indexed_event.py +2 -0
  20. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_memory_retrieval.py +8 -6
  21. omninode_memory-0.7.1/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_qdrant.py +365 -0
  22. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/models/__init__.py +2 -0
  23. omninode_memory-0.7.1/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_memory_retrieval_config.py +94 -0
  24. omninode_memory-0.7.1/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_qdrant_config.py +106 -0
  25. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/__init__.py +2 -0
  26. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/handlers/__init__.py +2 -0
  27. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/handlers/handler_navigation_history_reducer.py +2 -0
  28. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/models/__init__.py +2 -0
  29. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_history_request.py +2 -0
  30. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_history_response.py +2 -0
  31. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_session.py +2 -0
  32. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/node_navigation_history_reducer.py +2 -0
  33. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/dispatch_handlers.py +4 -4
  34. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/plugin.py +1 -1
  35. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/tools/stubs/contract_validator.py +1 -1
  36. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/observability.py +1 -1
  37. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/pii_detector.py +6 -2
  38. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/nodes/test_navigation_history_reducer_integration.py +2 -0
  39. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/test_node_agent_coordinator.py +2 -0
  40. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_memory_retrieval_effect/test_memory_retrieval_effect.py +2 -2
  41. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_navigation_history_reducer/test_navigation_history_reducer_unit.py +2 -0
  42. omninode_memory-0.7.1/tests/unit/handlers/__init__.py +2 -0
  43. omninode_memory-0.7.1/tests/unit/handlers/adapters/__init__.py +2 -0
  44. omninode_memory-0.7.1/tests/unit/nodes/__init__.py +2 -0
  45. omninode_memory-0.7.1/tests/unit/nodes/test_handler_qdrant.py +272 -0
  46. omninode_memory-0.7.1/tests/unit/nodes/test_model_handler_qdrant_config.py +86 -0
  47. omninode_memory-0.7.1/tests/unit/runtime/__init__.py +2 -0
  48. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_validate_ci_precommit_alignment.py +3 -0
  49. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/uv.lock +13 -13
  50. omninode_memory-0.6.6/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_memory_retrieval_config.py +0 -54
  51. omninode_memory-0.6.6/tests/nodes/node_navigation_history_reducer/__init__.py +0 -0
  52. omninode_memory-0.6.6/tests/unit/handlers/__init__.py +0 -0
  53. omninode_memory-0.6.6/tests/unit/handlers/adapters/__init__.py +0 -0
  54. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.claude/architecture-handshake.md +0 -0
  55. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.env.example +0 -0
  56. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.flake8 +0 -0
  57. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  58. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  59. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  60. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/dependabot.yml +0 -0
  61. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/required-checks.yaml +0 -0
  62. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/auto-tag-on-merge.yml +0 -0
  63. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/build-and-push-migrate-image.yml +0 -0
  64. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/contract-validation.yml +0 -0
  65. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.gitignore +0 -0
  66. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.secrets.baseline +0 -0
  67. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.serena/memories/project_overview.md +0 -0
  68. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.serena/memories/suggested_commands.md +0 -0
  69. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.serena/project.yml +0 -0
  70. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.yamlfmt +0 -0
  71. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/CODE_OF_CONDUCT.md +0 -0
  72. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/CONTRIBUTING.md +0 -0
  73. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/LICENSE +0 -0
  74. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/README.md +0 -0
  75. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/SECURITY.md +0 -0
  76. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/contract.yaml +0 -0
  77. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/migrations/001_create_subscription_tables.sql +0 -0
  78. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/migrations/002_create_memories_table.sql +0 -0
  79. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/migrations/003_create_crawl_state_table.sql +0 -0
  80. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/migrations/004_create_navigation_sessions_table.sql +0 -0
  81. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/migrations_pending/004_create_navigation_paths_collection.py +0 -0
  82. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/migrations_pending/004_create_navigation_sessions_table.sql +0 -0
  83. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/pending/003_create_crawl_state_table.sql +0 -0
  84. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/docker/Dockerfile.migrate +0 -0
  85. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docker-compose.prod.yml +0 -0
  86. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docker-compose.yml +0 -0
  87. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/INDEX.md +0 -0
  88. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/PERFORMANCE_TESTING.md +0 -0
  89. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/architecture/ARCH_002_KAFKA_ABSTRACTION.md +0 -0
  90. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/architecture/ONEX_FOUR_NODE_ARCHITECTURE.md +0 -0
  91. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/ci/CI_MONITORING_GUIDE.md +0 -0
  92. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/db-split/fk-audit-omn-2069.md +0 -0
  93. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/environment_variables.md +0 -0
  94. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/handler_reuse_matrix.md +0 -0
  95. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/pii_handling.md +0 -0
  96. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/runtime/RUNTIME_PLUGINS.md +0 -0
  97. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/stub_protocols.md +0 -0
  98. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/examples/__init__.py +0 -0
  99. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/examples/advanced_architecture_demo.py +0 -0
  100. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/pyrightconfig.json +0 -0
  101. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/check_migration_freeze.sh +0 -0
  102. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validate_ci_precommit_alignment.py +0 -0
  103. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validate_no_transport_imports.py +0 -0
  104. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/check_ai_slop.py +0 -0
  105. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_enum_casing.py +0 -0
  106. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_http_imports.py +0 -0
  107. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_kafka_imports.py +0 -0
  108. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_model_locations.py +0 -0
  109. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_no_backward_compatibility.py +0 -0
  110. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_pydantic_patterns.py +0 -0
  111. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_single_class_per_file.py +0 -0
  112. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/__init__.py +0 -0
  113. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/_compat_imports.py +0 -0
  114. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/audit/__init__.py +0 -0
  115. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/audit/__main__.py +0 -0
  116. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/audit/io_audit.py +0 -0
  117. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/bootstrap.py +0 -0
  118. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/__init__.py +0 -0
  119. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/crawl/__init__.py +0 -0
  120. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/crawl/enum_context_source_type.py +0 -0
  121. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/crawl/enum_crawler_type.py +0 -0
  122. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/crawl/enum_detected_doc_type.py +0 -0
  123. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_attribution_signal_type.py +0 -0
  124. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_context_item_type.py +0 -0
  125. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_data_type.py +0 -0
  126. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_entity_extraction_mode.py +0 -0
  127. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_intelligence_operation_type.py +0 -0
  128. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_lifecycle_state.py +0 -0
  129. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_memory_operation_type.py +0 -0
  130. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_memory_storage_type.py +0 -0
  131. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_migration_status.py +0 -0
  132. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_node_type.py +0 -0
  133. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_operation_status.py +0 -0
  134. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_priority_level.py +0 -0
  135. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_promotion_tier.py +0 -0
  136. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_semantic_entity_type.py +0 -0
  137. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_severity.py +0 -0
  138. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_subscription_status.py +0 -0
  139. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_trust_level.py +0 -0
  140. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/errors/__init__.py +0 -0
  141. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/errors/embedding_errors.py +0 -0
  142. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/__init__.py +0 -0
  143. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/__init__.py +0 -0
  144. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/adapter_embedding_http.py +0 -0
  145. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/adapter_graph_memory.py +0 -0
  146. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/adapter_intent_graph.py +0 -0
  147. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/adapter_rate_limiter.py +0 -0
  148. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/models/__init__.py +0 -0
  149. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/models/model_adapter_intent_graph_config.py +0 -0
  150. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/models/model_intent_domain.py +0 -0
  151. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/models/model_intent_graph_health.py +0 -0
  152. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/handler_intent.py +0 -0
  153. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/models/__init__.py +0 -0
  154. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/models/model_handler_intent_config.py +0 -0
  155. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/__init__.py +0 -0
  156. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/__init__.py +0 -0
  157. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_connections_result.py +0 -0
  158. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_filesystem_adapter_config.py +0 -0
  159. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_graph_memory_config.py +0 -0
  160. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_graph_memory_health.py +0 -0
  161. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_memory_connection.py +0 -0
  162. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_related_memory.py +0 -0
  163. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_related_memory_result.py +0 -0
  164. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/__init__.py +0 -0
  165. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_doc_source_config.py +0 -0
  166. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_embedding_config.py +0 -0
  167. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_filesystem_config.py +0 -0
  168. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_handler_semantic_compute_config.py +0 -0
  169. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_linear_scope_mapping.py +0 -0
  170. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_memory_service_config.py +0 -0
  171. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_path_scope_mapping.py +0 -0
  172. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_postgres_config.py +0 -0
  173. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_promotion_threshold_set.py +0 -0
  174. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_qdrant_config.py +0 -0
  175. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_rate_limiter_config.py +0 -0
  176. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_scope_mapping_config.py +0 -0
  177. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_semantic_compute_policy_config.py +0 -0
  178. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/container/__init__.py +0 -0
  179. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/contracts/__init__.py +0 -0
  180. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/contracts/mixin_handler_routing.py +0 -0
  181. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/contracts/model_contract_compute_extended.py +0 -0
  182. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/contracts/model_contract_effect_extended.py +0 -0
  183. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/contracts/model_contract_orchestrator_extended.py +0 -0
  184. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/contracts/model_contract_reducer_extended.py +0 -0
  185. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/__init__.py +0 -0
  186. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_memory_context.py +0 -0
  187. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_memory_metadata.py +0 -0
  188. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_memory_parameters.py +0 -0
  189. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_memory_request.py +0 -0
  190. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_memory_response.py +0 -0
  191. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_operation_metadata.py +0 -0
  192. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_processing_metrics.py +0 -0
  193. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_provenance.py +0 -0
  194. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/__init__.py +0 -0
  195. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_crawl_state_record.py +0 -0
  196. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_crawl_tick_command.py +0 -0
  197. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_document_changed_event.py +0 -0
  198. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_document_discovered_event.py +0 -0
  199. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_document_indexed_kreuzberg_event.py +0 -0
  200. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_document_parse_failed_event.py +0 -0
  201. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_document_removed_event.py +0 -0
  202. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/types.py +0 -0
  203. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/events/__init__.py +0 -0
  204. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/events/model_crawl_tick_command.py +0 -0
  205. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/events/model_intent_classified_event.py +0 -0
  206. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/__init__.py +0 -0
  207. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_audit_metadata.py +0 -0
  208. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_configuration.py +0 -0
  209. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_connection_metadata.py +0 -0
  210. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_error_details.py +0 -0
  211. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_health_metadata.py +0 -0
  212. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_health_response.py +0 -0
  213. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_memory_data.py +0 -0
  214. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_metrics_response.py +0 -0
  215. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_migration_progress.py +0 -0
  216. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_notes.py +0 -0
  217. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_priority.py +0 -0
  218. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_progress_summary.py +0 -0
  219. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_semver.py +0 -0
  220. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_success_metrics.py +0 -0
  221. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_system_health.py +0 -0
  222. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_tags.py +0 -0
  223. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_trust_score.py +0 -0
  224. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_typed_collections.py +0 -0
  225. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_user.py +0 -0
  226. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/intelligence/__init__.py +0 -0
  227. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/intelligence/model_intelligence_analysis.py +0 -0
  228. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/intelligence/model_pattern_recognition_result.py +0 -0
  229. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/intelligence/model_semantic_analysis_result.py +0 -0
  230. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/intelligence/model_semantic_entity.py +0 -0
  231. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/intelligence/model_semantic_entity_list.py +0 -0
  232. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/memory/__init__.py +0 -0
  233. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/memory/model_memory_item.py +0 -0
  234. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/memory/model_memory_query.py +0 -0
  235. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/memory/model_memory_search_result.py +0 -0
  236. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/memory/model_memory_storage_config.py +0 -0
  237. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/memory/model_similarity_result.py +0 -0
  238. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/scoring/__init__.py +0 -0
  239. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/scoring/model_context_item_stats.py +0 -0
  240. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/scoring/model_context_policy_config.py +0 -0
  241. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/scoring/model_promotion_decision.py +0 -0
  242. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/service/__init__.py +0 -0
  243. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/service/model_service_config.py +0 -0
  244. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/service/model_service_health.py +0 -0
  245. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/service/model_service_registry.py +0 -0
  246. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/subscription/__init__.py +0 -0
  247. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/subscription/constants.py +0 -0
  248. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/subscription/model_notification_event.py +0 -0
  249. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/subscription/model_notification_event_payload.py +0 -0
  250. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/subscription/model_subscription.py +0 -0
  251. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/__init__.py +0 -0
  252. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_audit.py +0 -0
  253. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_circuit_breaker_config.py +0 -0
  254. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_circuit_breaker_stats_response.py +0 -0
  255. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_concurrency.py +0 -0
  256. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_correlation_context.py +0 -0
  257. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_health_check_config.py +0 -0
  258. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_health_check_details.py +0 -0
  259. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_health_check_result.py +0 -0
  260. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_health_status.py +0 -0
  261. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_pii_detection_result.py +0 -0
  262. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_pii_detector_config.py +0 -0
  263. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_pii_match.py +0 -0
  264. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_pii_pattern_config.py +0 -0
  265. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_pii_type.py +0 -0
  266. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_resource_health_check.py +0 -0
  267. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_retry_attempt_info.py +0 -0
  268. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_retry_config.py +0 -0
  269. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_retry_statistics.py +0 -0
  270. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_structured_log_entry.py +0 -0
  271. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_system_health.py +0 -0
  272. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/__init__.py +0 -0
  273. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/base.py +0 -0
  274. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/__init__.py +0 -0
  275. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/contract.yaml +0 -0
  276. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/__init__.py +0 -0
  277. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/model_request.py +0 -0
  278. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/model_response.py +0 -0
  279. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_filesystem_crawler_effect/__init__.py +0 -0
  280. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_filesystem_crawler_effect/contract.yaml +0 -0
  281. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_filesystem_crawler_effect/handler_filesystem_crawler.py +0 -0
  282. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_filesystem_crawler_effect/models/__init__.py +0 -0
  283. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_filesystem_crawler_effect/models/model_filesystem_crawl_result.py +0 -0
  284. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_filesystem_crawler_effect/models/model_filesystem_crawler_config.py +0 -0
  285. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_event_consumer_effect/__init__.py +0 -0
  286. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_event_consumer_effect/contract.yaml +0 -0
  287. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_event_consumer_effect/handler_intent_event_consumer.py +0 -0
  288. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_event_consumer_effect/models/__init__.py +0 -0
  289. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_event_consumer_effect/models/model_consumer_config.py +0 -0
  290. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_event_consumer_effect/models/model_consumer_health.py +0 -0
  291. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_event_consumer_effect/utils/__init__.py +0 -0
  292. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_event_consumer_effect/utils/util_event_mapper.py +0 -0
  293. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/__init__.py +0 -0
  294. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/contract.yaml +0 -0
  295. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/handlers/__init__.py +0 -0
  296. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/handlers/handler_intent_query.py +0 -0
  297. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/models/__init__.py +0 -0
  298. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/models/model_handler_intent_query_config.py +0 -0
  299. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/registry/__init__.py +0 -0
  300. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/registry/registry_intent_query_effect.py +0 -0
  301. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/utils/__init__.py +0 -0
  302. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/utils/util_intent_mapping.py +0 -0
  303. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_storage_effect/__init__.py +0 -0
  304. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_storage_effect/adapters/__init__.py +0 -0
  305. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_storage_effect/adapters/adapter_intent_storage.py +0 -0
  306. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_storage_effect/contract.yaml +0 -0
  307. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_storage_effect/models/__init__.py +0 -0
  308. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_storage_effect/models/model_intent_storage_request.py +0 -0
  309. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_storage_effect/models/model_intent_storage_response.py +0 -0
  310. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/__init__.py +0 -0
  311. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/clients/__init__.py +0 -0
  312. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/clients/client_kreuzberg.py +0 -0
  313. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/contract.yaml +0 -0
  314. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/handler_kreuzberg_parse.py +0 -0
  315. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/__init__.py +0 -0
  316. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/model_kreuzberg_parse_config.py +0 -0
  317. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/model_kreuzberg_parse_result.py +0 -0
  318. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_consolidator_reducer/__init__.py +0 -0
  319. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/__init__.py +0 -0
  320. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/__init__.py +0 -0
  321. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/adapter_postgres_deactivate_memory.py +0 -0
  322. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/adapter_runtime_tick_memory.py +0 -0
  323. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/contract.yaml +0 -0
  324. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/__init__.py +0 -0
  325. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_archive.py +0 -0
  326. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_expire.py +0 -0
  327. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_tick.py +0 -0
  328. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/models/__init__.py +0 -0
  329. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/validators/__init__.py +0 -0
  330. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/validators/validator_lifecycle_transition.py +0 -0
  331. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/__init__.py +0 -0
  332. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/clients/__init__.py +0 -0
  333. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/clients/embedding_client.py +0 -0
  334. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/contract.yaml +0 -0
  335. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/__init__.py +0 -0
  336. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_db_mock.py +0 -0
  337. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_graph_mock.py +0 -0
  338. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_qdrant_mock.py +0 -0
  339. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_embedding_client_config.py +0 -0
  340. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_db_mock_config.py +0 -0
  341. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_graph_mock_config.py +0 -0
  342. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_qdrant_mock_config.py +0 -0
  343. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_memory_retrieval_request.py +0 -0
  344. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_memory_retrieval_response.py +0 -0
  345. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_storage_effect/__init__.py +0 -0
  346. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_storage_effect/adapters/__init__.py +0 -0
  347. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_storage_effect/adapters/adapter_filesystem.py +0 -0
  348. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_storage_effect/contract.yaml +0 -0
  349. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_storage_effect/models/__init__.py +0 -0
  350. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_storage_effect/models/model_memory_storage_request.py +0 -0
  351. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_storage_effect/models/model_memory_storage_response.py +0 -0
  352. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/__init__.py +0 -0
  353. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/contract.yaml +0 -0
  354. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/handlers/__init__.py +0 -0
  355. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/handlers/handler_semantic_compute.py +0 -0
  356. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/__init__.py +0 -0
  357. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/model_semantic_analyzer_compute_request.py +0 -0
  358. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/model_semantic_analyzer_compute_response.py +0 -0
  359. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/node_semantic_analyzer_compute.py +0 -0
  360. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/__init__.py +0 -0
  361. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/contract.yaml +0 -0
  362. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/handlers/__init__.py +0 -0
  363. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/handlers/handler_similarity_compute.py +0 -0
  364. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/models/__init__.py +0 -0
  365. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/models/model_handler_similarity_compute_config.py +0 -0
  366. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/models/model_similarity_compute_request.py +0 -0
  367. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/models/model_similarity_compute_response.py +0 -0
  368. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/node_similarity_compute.py +0 -0
  369. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_statistics_reducer/__init__.py +0 -0
  370. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/__init__.py +0 -0
  371. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/base_protocols.py +0 -0
  372. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/data_models.py +0 -0
  373. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/error_models.py +0 -0
  374. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/protocol_crawl_state_repository.py +0 -0
  375. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/protocol_embedding.py +0 -0
  376. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/protocol_embedding_provider.py +0 -0
  377. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/protocol_handler_intent.py +0 -0
  378. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/protocol_intent_graph_adapter.py +0 -0
  379. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/protocol_secrets_provider.py +0 -0
  380. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/__init__.py +0 -0
  381. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/adapters.py +0 -0
  382. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/contract_topics.py +0 -0
  383. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/introspection.py +0 -0
  384. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/message_type_registration.py +0 -0
  385. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/wiring.py +0 -0
  386. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/secrets.py +0 -0
  387. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/settings.py +0 -0
  388. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/tools/__init__.py +0 -0
  389. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/tools/contract_linter.py +0 -0
  390. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/tools/stubs/__init__.py +0 -0
  391. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/__init__.py +0 -0
  392. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/audit_logger.py +0 -0
  393. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/concurrency.py +0 -0
  394. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/db_url.py +0 -0
  395. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/error_sanitizer.py +0 -0
  396. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/handler_constants.py +0 -0
  397. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/health_manager.py +0 -0
  398. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/resource_manager.py +0 -0
  399. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/retry_utils.py +0 -0
  400. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/__init__.py +0 -0
  401. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/audit/io_audit_whitelist.yaml +0 -0
  402. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/audit/transport_import_whitelist.yaml +0 -0
  403. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/conftest.py +0 -0
  404. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/__init__.py +0 -0
  405. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/__init__.py +0 -0
  406. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/test_adapter_embedding_http.py +0 -0
  407. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/test_adapter_embedding_http_integration.py +0 -0
  408. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/test_adapter_graph_memory.py +0 -0
  409. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/test_adapter_graph_memory_integration.py +0 -0
  410. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/test_adapter_intent_graph.py +0 -0
  411. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/test_adapter_rate_limiter.py +0 -0
  412. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/test_handler_intent.py +0 -0
  413. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/test_handler_semantic_compute.py +0 -0
  414. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/__init__.py +0 -0
  415. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/conftest.py +0 -0
  416. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/nodes/__init__.py +0 -0
  417. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/nodes/test_kreuzberg_parse_effect.py +0 -0
  418. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/nodes/test_memory_lifecycle_orchestrator_integration.py +0 -0
  419. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/test_entry_point_discovery.py +0 -0
  420. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/test_handler_lifecycle_pattern.py +0 -0
  421. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/test_handler_subscription.py +0 -0
  422. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/models/__init__.py +0 -0
  423. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/models/contracts/__init__.py +0 -0
  424. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/models/contracts/test_extended_contracts.py +0 -0
  425. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/models/events/__init__.py +0 -0
  426. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/models/events/test_model_intent_classified_event.py +0 -0
  427. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/models/test_frozen_boundary_models.py +0 -0
  428. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/__init__.py +0 -0
  429. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_filesystem_crawler_effect/__init__.py +0 -0
  430. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_filesystem_crawler_effect/test_handler_filesystem_crawler.py +0 -0
  431. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_event_consumer_effect/__init__.py +0 -0
  432. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_event_consumer_effect/test_handler_intent_event_consumer.py +0 -0
  433. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_event_consumer_effect/test_model_consumer_health.py +0 -0
  434. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_event_consumer_effect/test_util_event_mapper.py +0 -0
  435. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_query_effect/__init__.py +0 -0
  436. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_query_effect/conftest.py +0 -0
  437. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_query_effect/test_handler_intent_query_integration.py +0 -0
  438. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_storage_effect/__init__.py +0 -0
  439. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_storage_effect/test_handler_intent_storage_adapter_integration.py +0 -0
  440. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_memory_retrieval_effect/__init__.py +0 -0
  441. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_memory_storage_effect/__init__.py +0 -0
  442. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_memory_storage_effect/test_memory_storage_effect.py +0 -0
  443. {omninode_memory-0.6.6/tests/unit/runtime → omninode_memory-0.7.1/tests/nodes/node_navigation_history_reducer}/__init__.py +0 -0
  444. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_similarity_compute/__init__.py +0 -0
  445. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_similarity_compute/test_similarity_compute.py +0 -0
  446. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_bootstrap.py +0 -0
  447. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_concurrency.py +0 -0
  448. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_config_models.py +0 -0
  449. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_contract_validation.py +0 -0
  450. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_contract_version.py +0 -0
  451. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_db_url.py +0 -0
  452. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_foundation.py +0 -0
  453. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_health_manager.py +0 -0
  454. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_migration_progress.py +0 -0
  455. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_node_enforcement.py +0 -0
  456. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_node_imports.py +0 -0
  457. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_observability_metrics.py +0 -0
  458. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_performance.py +0 -0
  459. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_resource_manager.py +0 -0
  460. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_secrets_provider.py +0 -0
  461. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_semantic_compute_policy_config.py +0 -0
  462. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_settings.py +0 -0
  463. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_validation_scripts.py +0 -0
  464. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/__init__.py +0 -0
  465. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/handlers/adapters/test_graph_adapter_typing.py +0 -0
  466. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/handlers/test_subscription_typing.py +0 -0
  467. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_kreuzberg_parse_effect/__init__.py +0 -0
  468. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_kreuzberg_parse_effect/test_handler_kreuzberg_parse.py +0 -0
  469. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_memory_lifecycle_orchestrator/__init__.py +0 -0
  470. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_adapter_postgres_deactivate_memory.py +0 -0
  471. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_adapter_runtime_tick_memory.py +0 -0
  472. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_archive.py +0 -0
  473. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_expire.py +0 -0
  474. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_tick.py +0 -0
  475. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_validator_lifecycle_transition.py +0 -0
  476. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/conftest.py +0 -0
  477. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_adapters.py +0 -0
  478. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_contract_topics.py +0 -0
  479. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_dispatch_handlers.py +0 -0
  480. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_introspection.py +0 -0
  481. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_message_type_registration.py +0 -0
  482. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_plugin.py +0 -0
  483. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_plugin_memory_validate_handshake.py +0 -0
  484. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_wiring.py +0 -0
  485. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_contract_linter.py +0 -0
  486. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_handler_subscription_notify_strict.py +0 -0
  487. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_ingestion_models.py +0 -0
  488. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_io_audit.py +0 -0
  489. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_scope_mapping_config.py +0 -0
  490. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_sql_placeholders.py +0 -0
  491. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_validate_kafka_imports.py +0 -0
  492. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_validate_no_transport_imports.py +0 -0
  493. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/validate_architecture_improvements.py +0 -0
  494. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/validate_foundation.py +0 -0
  495. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/validate_foundation_isolated.py +0 -0
  496. {omninode_memory-0.6.6 → omninode_memory-0.7.1}/validate_foundation_minimal.py +0 -0
@@ -12,9 +12,9 @@ jobs:
12
12
  pre-commit:
13
13
  runs-on: ubuntu-latest
14
14
  steps:
15
- - uses: actions/checkout@v4
15
+ - uses: actions/checkout@v6
16
16
 
17
- - uses: actions/setup-python@v5
17
+ - uses: actions/setup-python@v6
18
18
  with:
19
19
  python-version: '3.12'
20
20
 
@@ -13,7 +13,7 @@ jobs:
13
13
  dry-run:
14
14
  runs-on: ubuntu-latest
15
15
  steps:
16
- - uses: actions/checkout@v4
16
+ - uses: actions/checkout@v6
17
17
  with:
18
18
  fetch-depth: 0
19
19
  - uses: astral-sh/setup-uv@v7
@@ -22,7 +22,7 @@ jobs:
22
22
  release:
23
23
  runs-on: ubuntu-latest
24
24
  steps:
25
- - uses: actions/checkout@v4
25
+ - uses: actions/checkout@v6
26
26
  with:
27
27
  fetch-depth: 0
28
28
  ref: ${{ github.event_name == 'workflow_dispatch' && inputs.tag || github.ref }}
@@ -34,12 +34,12 @@ jobs:
34
34
  #
35
35
  # Phase 2 - Full Test Suite (after Phase 1 completes):
36
36
  # - test: Run all tests (depends on lint, pyright, onex-validation)
37
- # Note: check-handshake runs independently and is evaluated in test-summary,
37
+ # Note: check-handshake runs independently and is evaluated in ci-summary,
38
38
  # NOT in test's needs, because it may be skipped on fork PRs and GitHub Actions
39
39
  # propagates skipped status to dependent jobs.
40
40
  #
41
41
  # Phase 3 - Aggregation:
42
- # - test-summary: Aggregates all job results
42
+ # - ci-summary: Aggregates all job results
43
43
  #
44
44
  # CONFIGURATION SYNC NOTE:
45
45
  # These validations are synchronized with .pre-commit-config.yaml
@@ -84,7 +84,7 @@ jobs:
84
84
 
85
85
  steps:
86
86
  - name: Checkout code
87
- uses: actions/checkout@v4
87
+ uses: actions/checkout@v6
88
88
  with:
89
89
  fetch-depth: 0 # Needed for three-dot diff (merge-base with origin/main)
90
90
 
@@ -101,7 +101,7 @@ jobs:
101
101
 
102
102
  steps:
103
103
  - name: Checkout code
104
- uses: actions/checkout@v4
104
+ uses: actions/checkout@v6
105
105
 
106
106
  - name: Install uv
107
107
  uses: astral-sh/setup-uv@v7
@@ -132,7 +132,7 @@ jobs:
132
132
 
133
133
  steps:
134
134
  - name: Checkout code
135
- uses: actions/checkout@v4
135
+ uses: actions/checkout@v6
136
136
 
137
137
  - name: Install uv
138
138
  uses: astral-sh/setup-uv@v7
@@ -153,7 +153,7 @@ jobs:
153
153
 
154
154
  steps:
155
155
  - name: Checkout code
156
- uses: actions/checkout@v4
156
+ uses: actions/checkout@v6
157
157
 
158
158
  - name: Install uv
159
159
  uses: astral-sh/setup-uv@v7
@@ -222,10 +222,10 @@ jobs:
222
222
 
223
223
  steps:
224
224
  - name: Checkout code
225
- uses: actions/checkout@v4
225
+ uses: actions/checkout@v6
226
226
 
227
227
  - name: Set up Python
228
- uses: actions/setup-python@v5
228
+ uses: actions/setup-python@v6
229
229
  with:
230
230
  python-version: ${{ env.PYTHON_VERSION }}
231
231
 
@@ -245,7 +245,7 @@ jobs:
245
245
 
246
246
  steps:
247
247
  - name: Checkout code
248
- uses: actions/checkout@v4
248
+ uses: actions/checkout@v6
249
249
 
250
250
  - name: Install uv
251
251
  uses: astral-sh/setup-uv@v7
@@ -275,7 +275,7 @@ jobs:
275
275
 
276
276
  steps:
277
277
  - name: Checkout code
278
- uses: actions/checkout@v4
278
+ uses: actions/checkout@v6
279
279
 
280
280
  - name: Install uv
281
281
  uses: astral-sh/setup-uv@v7
@@ -295,13 +295,13 @@ jobs:
295
295
  if: github.event.pull_request.head.repo.full_name == github.repository || github.event_name != 'pull_request'
296
296
  steps:
297
297
  - name: Checkout code
298
- uses: actions/checkout@v4
298
+ uses: actions/checkout@v6
299
299
 
300
300
  # Uses default GITHUB_TOKEN which has read access to public repos in the org.
301
301
  # Same pattern as omniclaude ci-cd.yml. If omnibase_core becomes private,
302
302
  # add: token: ${{ secrets.OMNIBASE_CORE_ACCESS_TOKEN }}
303
303
  - name: Checkout omnibase_core
304
- uses: actions/checkout@v4
304
+ uses: actions/checkout@v6
305
305
  with:
306
306
  repository: OmniNode-ai/omnibase_core
307
307
  path: omnibase_core
@@ -344,7 +344,7 @@ jobs:
344
344
 
345
345
  steps:
346
346
  - name: Checkout code
347
- uses: actions/checkout@v4
347
+ uses: actions/checkout@v6
348
348
 
349
349
  - name: Install uv
350
350
  uses: astral-sh/setup-uv@v7
@@ -380,11 +380,43 @@ jobs:
380
380
  path: coverage.xml
381
381
  retention-days: 7
382
382
 
383
+ # ---------------------------------------------------------------------------
384
+ # Phase 1 - Version Pin Compliance Check (OMN-4809)
385
+ # ---------------------------------------------------------------------------
386
+ # Verifies that this repo's dependency pins are compliant with the shared
387
+ # version matrix defined in omni_home/standards/version-matrix.yaml.
388
+ # Depends on OMN-4803 (check_version_pins.py must exist in omni_home main).
389
+ version-pin-check:
390
+ name: Version Pin Compliance
391
+ runs-on: ubuntu-latest
392
+ timeout-minutes: 5
393
+
394
+ steps:
395
+ - name: Checkout code
396
+ uses: actions/checkout@v6
397
+
398
+ - name: Checkout omni_home standards
399
+ uses: actions/checkout@v6
400
+ with:
401
+ repository: OmniNode-ai/omni_home
402
+ path: omni_home
403
+ sparse-checkout: |
404
+ standards/
405
+ sparse-checkout-cone-mode: false
406
+
407
+ - name: Set up Python
408
+ uses: actions/setup-python@v6
409
+ with:
410
+ python-version: ${{ env.PYTHON_VERSION }}
411
+
412
+ - name: Check version pin compliance
413
+ run: python omni_home/standards/check_version_pins.py --repo omnimemory --root omni_home
414
+
383
415
  # Phase 3 - Aggregation
384
- test-summary:
385
- name: Test Summary
416
+ ci-summary:
417
+ name: CI Summary
386
418
  runs-on: ubuntu-latest
387
- needs: [migration-freeze, lint, pyright, onex-validation, transport-import-guard, contract-validation, io-audit, check-handshake, test]
419
+ needs: [migration-freeze, lint, pyright, onex-validation, transport-import-guard, contract-validation, io-audit, check-handshake, test, version-pin-check]
388
420
  if: always()
389
421
 
390
422
  steps:
@@ -438,11 +470,11 @@ jobs:
438
470
  name: AI-Slop Pattern Check (strict, PR diff)
439
471
  runs-on: ubuntu-latest
440
472
  steps:
441
- - uses: actions/checkout@v4
473
+ - uses: actions/checkout@v6
442
474
  with:
443
475
  fetch-depth: 0
444
476
  - name: Set up Python
445
- uses: actions/setup-python@v5
477
+ uses: actions/setup-python@v6
446
478
  with:
447
479
  python-version: '3.12'
448
480
  - name: Compute changed Python/Markdown files vs PR base
@@ -11,7 +11,7 @@
11
11
  # CONFIGURATION FILES (shared with CI):
12
12
  # ====================================
13
13
  # - pyproject.toml: ruff settings [tool.ruff], mypy settings [tool.mypy]
14
- # - Ruff version: 0.15.2 (synchronized with pre-commit repo)
14
+ # - Ruff version: 0.15.6 (synchronized with pre-commit repo)
15
15
  # - Mypy version: uses poetry env (local hook, matches CI exactly)
16
16
  # - Pyright version: 1.1.391 (synchronized with pre-commit repo)
17
17
  # - pyrightconfig.json: pyright settings (typeCheckingMode: basic, python 3.12)
@@ -76,10 +76,15 @@
76
76
  # pre-commit run --all-files --hook-stage pre-push # Run pre-push hooks
77
77
 
78
78
  repos:
79
+ # Stub implementation detection — sourced from omnibase_core (OMN-4472)
80
+ - repo: https://github.com/OmniNode-ai/omnibase_core
81
+ rev: 30a06f85bb5849902d33c8d0bdb90fc6cba0c346 # pragma: allowlist secret
82
+ hooks:
83
+ - id: check-stub-implementations
79
84
  # YAML formatting (standard across ecosystem)
80
85
  # Configuration in .yamlfmt file (ecosystem-aligned settings)
81
86
  - repo: https://github.com/google/yamlfmt
82
- rev: v0.17.2
87
+ rev: v0.21.0
83
88
  hooks:
84
89
  - id: yamlfmt
85
90
  exclude: ^\.github/
@@ -121,7 +126,7 @@ repos:
121
126
  # 5. Fix any new violations or update rule selections in pyproject.toml
122
127
  #
123
128
  - repo: https://github.com/astral-sh/ruff-pre-commit
124
- rev: v0.15.2
129
+ rev: v0.15.6
125
130
  hooks:
126
131
  # FULL CODEBASE VALIDATION: These hooks run on src/ and tests/ (not just staged files)
127
132
  # to match CI behavior and prevent "works locally, fails in CI" issues.
@@ -438,6 +443,33 @@ repos:
438
443
  types: [python]
439
444
  stages: [pre-commit]
440
445
 
446
+ # --------------------------------------------------------------------------
447
+ # Kafka Hardcoded Fallback Guard (OMN-4860, mirrors omnibase_infra OMN-3554)
448
+ # Validates: No hardcoded localhost:9092 or private-IP Kafka addresses in src/
449
+ # Purpose: Prevents reintroduction of hardcoded broker addresses after T2-M fix
450
+ # --------------------------------------------------------------------------
451
+ - id: kafka-no-hardcoded-fallback
452
+ name: Reject hardcoded Kafka broker address fallbacks
453
+ entry: bash scripts/validation/check_kafka_no_hardcoded_fallback.sh
454
+ language: system
455
+ pass_filenames: false
456
+ types: [python]
457
+ stages: [pre-commit]
458
+
459
+ # --------------------------------------------------------------------------
460
+ # SPDX Header Enforcement (ONEX canonical)
461
+ # Validates: All eligible source files carry MIT SPDX headers
462
+ # Scope: src/, tests/, scripts/, examples/ (py, sh, bash, yml, yaml, toml)
463
+ # --------------------------------------------------------------------------
464
+ - id: validate-spdx-headers
465
+ name: ONEX SPDX Header Requirement
466
+ entry: python scripts/validation/validate_spdx_headers.py
467
+ language: system
468
+ pass_filenames: true
469
+ files: ^(src|tests|scripts|examples)/.*\.py$
470
+ exclude: ^(archived/|archive/)
471
+ stages: [pre-commit]
472
+
441
473
  # Configuration
442
474
  default_install_hook_types: [pre-commit, pre-push]
443
475
  default_stages: [pre-commit]
@@ -1,3 +1,19 @@
1
+ ## v0.7.1 (2026-03-13)
2
+
3
+ ### Features
4
+ _(none)_
5
+
6
+ ### Bug Fixes
7
+ - fix(cleanup): fix hardcoded Kafka fallback port 9092 → 19092 (OMN-4847) (#152)
8
+ - fix(migrations): backfill NULL checksums and enforce NOT NULL on schema_migrations [OMN-4701] (#148)
9
+
10
+ ### Other Changes
11
+ - chore(pre-commit): add kafka-no-hardcoded-fallback hook [OMN-4860] (#153)
12
+ - chore(pre-commit): standardize ruff + yamlfmt versions [OMN-4858] (#151)
13
+ - ci(standards): add version pin compliance check [OMN-4809] (#150)
14
+ - chore(deps): bump omnibase-core/spi/infra pins to current approved versions [OMN-4799] (#149)
15
+ - chore(deps): bump omnibase_infra to 0.18.0 (#147)
16
+
1
17
  # Changelog
2
18
 
3
19
  All notable changes to this project will be documented in this file.
@@ -13,7 +13,8 @@
13
13
  5. [Forbidden Patterns](#forbidden-patterns)
14
14
  6. [Required Patterns](#required-patterns)
15
15
  7. [Model Exemption Pattern](#model-exemption-pattern)
16
- 8. [Documentation](#documentation)
16
+ 8. [SPDX Headers](#spdx-headers)
17
+ 9. [Documentation](#documentation)
17
18
 
18
19
  ---
19
20
 
@@ -216,6 +217,17 @@ All other models belong in `src/omnimemory/models/<domain>/`.
216
217
 
217
218
  ---
218
219
 
220
+ ## SPDX Headers
221
+
222
+ All source files in `src/`, `tests/`, `scripts/`, `examples/` require MIT SPDX headers.
223
+ Canonical spec: `omnibase_core/docs/conventions/FILE_HEADERS.md`
224
+
225
+ - Stamp missing headers: `onex spdx fix src tests scripts examples`
226
+ - Check without writing: `onex spdx fix --check src tests scripts examples`
227
+ - Bypass a file: add `# spdx-skip: <reason>` in the first 10 lines
228
+
229
+ ---
230
+
219
231
  ## Documentation
220
232
 
221
233
  | Topic | Document |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omninode-memory
3
- Version: 0.6.6
3
+ Version: 0.7.1
4
4
  Summary: OmniNode document ingestion and semantic retrieval
5
5
  Project-URL: Homepage, https://github.com/OmniNode-ai/omnimemory
6
6
  Project-URL: Repository, https://github.com/OmniNode-ai/omnimemory
@@ -20,9 +20,9 @@ Requires-Dist: cachetools<8.0.0,>=6.2.4
20
20
  Requires-Dist: fastapi<1.0.0,>=0.120.1
21
21
  Requires-Dist: httpx<1.0.0,>=0.28.0
22
22
  Requires-Dist: mcp<2.0.0,>=1.8.0
23
- Requires-Dist: omnibase-core<0.25.0,>=0.24.0
24
- Requires-Dist: omnibase-infra<0.17.0,>=0.16.2
25
- Requires-Dist: omnibase-spi==0.15.2
23
+ Requires-Dist: omnibase-core==0.26.0
24
+ Requires-Dist: omnibase-infra==0.19.0
25
+ Requires-Dist: omnibase-spi>=0.16.1
26
26
  Requires-Dist: pinecone-client<7.0.0,>=4.1.0
27
27
  Requires-Dist: psutil<8.0.0,>=7.0.0
28
28
  Requires-Dist: psycopg2-binary<3.0.0,>=2.9.10
@@ -0,0 +1,38 @@
1
+ -- =============================================================================
2
+ -- MIGRATION: Backfill NULL checksums and enforce NOT NULL on schema_migrations
3
+ -- =============================================================================
4
+ -- Ticket: OMN-4701 (OMN-4653 root cause fix — omnimemory DB)
5
+ -- Version: 1.0.0
6
+ --
7
+ -- PURPOSE:
8
+ -- The live omnimemory DB has 4 NULL checksum rows in schema_migrations.
9
+ -- These rows were applied before checksum tracking was implemented.
10
+ --
11
+ -- This migration:
12
+ -- 1. Backfills NULL checksums with a sentinel prefix so they are
13
+ -- identifiable as pre-checksum-era rows.
14
+ -- 2. Enforces NOT NULL on the checksum column to prevent future nulls.
15
+ --
16
+ -- SAFETY:
17
+ -- Wrapped in a transaction. Idempotent: UPDATE only touches NULL rows.
18
+ -- ALTER TABLE SET NOT NULL is safe once all rows have a non-null checksum.
19
+ -- =============================================================================
20
+
21
+ BEGIN;
22
+
23
+ -- Step 1: Backfill all NULL checksum rows with a stable sentinel value.
24
+ UPDATE schema_migrations
25
+ SET checksum = 'backfilled:pre-checksum-era:' || version
26
+ WHERE checksum IS NULL;
27
+
28
+ -- Step 2: Enforce NOT NULL now that all rows have a value.
29
+ ALTER TABLE schema_migrations
30
+ ALTER COLUMN checksum SET NOT NULL;
31
+
32
+ -- Step 3: Document the column contract with a comment.
33
+ COMMENT ON COLUMN schema_migrations.checksum IS
34
+ 'SHA-256 of migration file at apply time. '
35
+ 'Prefix "backfilled:pre-checksum-era:" = applied before checksum tracking '
36
+ '(2026-03-12 backfill, OMN-4653 / OMN-4701).';
37
+
38
+ COMMIT;
@@ -7,7 +7,7 @@ build-backend = "hatchling.build"
7
7
 
8
8
  [project]
9
9
  name = "omninode-memory"
10
- version = "0.6.6"
10
+ version = "0.7.1"
11
11
  description = "OmniNode document ingestion and semantic retrieval"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.12,<4.0"
@@ -59,9 +59,9 @@ dependencies = [
59
59
  "pyyaml>=6.0.2,<7.0.0",
60
60
 
61
61
  # ONEX dependencies - versioned releases from PyPI
62
- "omnibase-core>=0.24.0,<0.25.0",
63
- "omnibase-spi==0.15.2",
64
- "omnibase-infra>=0.16.2,<0.17.0",
62
+ "omnibase-core==0.26.0",
63
+ "omnibase-spi>=0.16.1",
64
+ "omnibase-infra==0.19.0",
65
65
 
66
66
  # Logging and monitoring
67
67
  # Version ^23.3.0 required for compatibility with omnibase-infra (requires ^23.2.0)
@@ -1,4 +1,7 @@
1
1
  #!/usr/bin/env bash
2
+ # SPDX-FileCopyrightText: 2025 OmniNode.ai Inc.
3
+ # SPDX-License-Identifier: MIT
4
+
2
5
  # Reject bolt://localhost literal strings in production Python source.
3
6
  # Docstrings (triple-quoted blocks) and test files are exempt.
4
7
  # This is the memory-pipeline equivalent of kafka-no-hardcoded-fallback.
@@ -0,0 +1,76 @@
1
+ #!/usr/bin/env bash
2
+ # SPDX-FileCopyrightText: 2025 OmniNode.ai Inc.
3
+ # SPDX-License-Identifier: MIT
4
+
5
+ # OMN-4860: Reject hardcoded Kafka broker address fallbacks in omnimemory
6
+ # Mirrors the omnibase_infra hook (OMN-3554) for ecosystem parity.
7
+ #
8
+ # Suppressions:
9
+ # # kafka-fallback-ok — intentional test fixture default
10
+ # # noqa — general suppression
11
+ # # onex-allow-internal-ip — intentional private-IP reference
12
+
13
+ set -euo pipefail
14
+
15
+ FAILED=0
16
+
17
+ # R1: os.getenv("KAFKA_*", non-empty) pattern in src/
18
+ MATCHES=$(grep -rn --include="*.py" \
19
+ --exclude-dir=".venv" \
20
+ --exclude-dir="node_modules" \
21
+ -E "os\.getenv\([[:space:]]*[\"']KAFKA_[^\"']+[\"'][[:space:]]*,[[:space:]]*[\"'][^\"']+[\"']" \
22
+ src/ 2>/dev/null | \
23
+ grep -v "# kafka-fallback-ok" | \
24
+ grep -v "# noqa" || true)
25
+
26
+ if [ -n "$MATCHES" ]; then
27
+ echo "ERROR: Hardcoded Kafka bootstrap fallback detected in src/:"
28
+ echo "$MATCHES"
29
+ echo ""
30
+ echo "FIX: Replace os.getenv(\"KAFKA_...\", \"fallback\") with:"
31
+ echo " os.environ[\"KAFKA_BOOTSTRAP_SERVERS\"] # fails loudly when unset"
32
+ echo " os.getenv(\"KAFKA_BOOTSTRAP_SERVERS\") # returns None when unset"
33
+ echo " If intentional (test fixture): add # kafka-fallback-ok"
34
+ FAILED=1
35
+ fi
36
+
37
+ # R2: Private-IP Kafka broker addresses (Kafka-specific ports only) in src/
38
+ IP_MATCHES=$(grep -rn --include="*.py" \
39
+ --exclude-dir=".venv" \
40
+ --exclude-dir="node_modules" \
41
+ -E "192\.168\.[0-9]+\.[0-9]+:(9092|19092|29092|29093)" \
42
+ src/ 2>/dev/null | \
43
+ grep -v "# kafka-fallback-ok" | \
44
+ grep -v "# noqa" | \
45
+ grep -v "# onex-allow-internal-ip" || true)
46
+
47
+ if [ -n "$IP_MATCHES" ]; then
48
+ echo "ERROR: Hardcoded private-IP Kafka broker address in src/:"
49
+ echo "$IP_MATCHES"
50
+ echo ""
51
+ echo "FIX: Use KAFKA_BOOTSTRAP_SERVERS env var."
52
+ echo " If intentional (test fixture): add # kafka-fallback-ok"
53
+ FAILED=1
54
+ fi
55
+
56
+ # R3: localhost:9092 hardcoded in src/ (the canonical bad pattern)
57
+ LOCALHOST_MATCHES=$(grep -rn --include="*.py" \
58
+ --exclude-dir=".venv" \
59
+ --exclude-dir="node_modules" \
60
+ -E "localhost:9092" \
61
+ src/ 2>/dev/null | \
62
+ grep -v "# kafka-fallback-ok" | \
63
+ grep -v "# noqa" || true)
64
+
65
+ if [ -n "$LOCALHOST_MATCHES" ]; then
66
+ echo "ERROR: Hardcoded localhost:9092 Kafka broker in src/:"
67
+ echo "$LOCALHOST_MATCHES"
68
+ echo ""
69
+ echo "FIX: Use KAFKA_BOOTSTRAP_SERVERS env var instead of localhost:9092."
70
+ echo " Docker services use redpanda:9092 (internal DNS)."
71
+ echo " Host scripts use localhost:19092 (external port)."
72
+ echo " If intentional: add # kafka-fallback-ok"
73
+ FAILED=1
74
+ fi
75
+
76
+ exit $FAILED
@@ -356,7 +356,7 @@ def detect_expected_prefix_from_bases(
356
356
  return None, None
357
357
 
358
358
 
359
- def validate_file(filepath: Path) -> list[Violation]:
359
+ def validate_file(filepath: Path) -> list[Violation]: # stub-ok: docstring uses ModelXxx/ServiceXxx as naming examples, not TODO markers
360
360
  """Validate a single Python file.
361
361
 
362
362
  Validates:
@@ -306,7 +306,7 @@ def _check_line_level_skip_patterns(
306
306
  return False, None
307
307
 
308
308
 
309
- def _check_skip_patterns(
309
+ def _check_skip_patterns( # stub-ok: docstring uses 'xxxx' as example secret string, not a FIXME marker
310
310
  line: str,
311
311
  patterns: list[tuple[re.Pattern[str], str]],
312
312
  filepath: Path,
@@ -0,0 +1,39 @@
1
+ # SPDX-License-Identifier: MIT
2
+ # Copyright (c) 2025 OmniNode Team
3
+ #
4
+ # Licensed under the MIT License. See LICENSE in the project root for details.
5
+ # ----------------------------------------------------------------------------
6
+ """Validate that Python source files contain the required SPDX MIT license header."""
7
+
8
+ import sys
9
+
10
+
11
+ REQUIRED_SPDX = "SPDX-License-Identifier: MIT"
12
+
13
+
14
+ def check_file(filepath: str) -> bool:
15
+ """Return True if the file has the required SPDX header."""
16
+ try:
17
+ with open(filepath, encoding="utf-8") as f:
18
+ content = f.read(512)
19
+ return REQUIRED_SPDX in content
20
+ except (OSError, UnicodeDecodeError):
21
+ return True # Skip unreadable files
22
+
23
+
24
+ def main() -> int:
25
+ files = sys.argv[1:]
26
+ missing = [f for f in files if not check_file(f)]
27
+ for filepath in missing:
28
+ print(f"Missing SPDX header: {filepath}")
29
+ if missing:
30
+ print(
31
+ f"\n{len(missing)} file(s) missing SPDX header."
32
+ " Add: # SPDX-License-Identifier: MIT"
33
+ )
34
+ return 1
35
+ return 0
36
+
37
+
38
+ if __name__ == "__main__":
39
+ sys.exit(main())
@@ -31,15 +31,21 @@ except ImportError:
31
31
 
32
32
  def get_component(self) -> str:
33
33
  """Get the component identifier for this error code."""
34
- raise NotImplementedError("Subclasses must implement get_component()")
34
+ raise NotImplementedError( # stub-ok: abstract-base-fallback
35
+ "Subclasses must implement get_component()"
36
+ )
35
37
 
36
38
  def get_number(self) -> int:
37
39
  """Get the numeric identifier for this error code."""
38
- raise NotImplementedError("Subclasses must implement get_number()")
40
+ raise NotImplementedError( # stub-ok: abstract-base-fallback
41
+ "Subclasses must implement get_number()"
42
+ )
39
43
 
40
44
  def get_description(self) -> str:
41
45
  """Get a human-readable description for this error code."""
42
- raise NotImplementedError("Subclasses must implement get_description()")
46
+ raise NotImplementedError( # stub-ok: abstract-base-fallback
47
+ "Subclasses must implement get_description()"
48
+ )
43
49
 
44
50
  def get_exit_code(self) -> int:
45
51
  """Get the appropriate CLI exit code for this error."""
@@ -449,7 +449,9 @@ class AdapterValkey:
449
449
  """
450
450
  return f"{self._config.key_prefix}{key}"
451
451
 
452
- async def _ensure_awaited(self, result: _T | Awaitable[_T]) -> _T:
452
+ async def _ensure_awaited( # stub-ok: redis-py-awaitable-helper-deferred
453
+ self, result: _T | Awaitable[_T]
454
+ ) -> _T:
453
455
  """Ensure a Redis result is awaited if it's an awaitable.
454
456
 
455
457
  **Why This Helper Exists**
@@ -61,7 +61,7 @@ Example::
61
61
  db_dsn=os.environ["OMNIMEMORY_DB_URL"],
62
62
  valkey_host="localhost",
63
63
  valkey_port=6379,
64
- kafka_bootstrap_servers="localhost:9092",
64
+ kafka_bootstrap_servers=os.environ["KAFKA_BOOTSTRAP_SERVERS"],
65
65
  )
66
66
  handler = HandlerSubscription(container)
67
67
  await handler.initialize(config)
@@ -299,7 +299,7 @@ class ModelHandlerSubscriptionConfig( # omnimemory-model-exempt: handler config
299
299
  description="Optional Valkey password",
300
300
  )
301
301
  kafka_bootstrap_servers: str = Field(
302
- default="localhost:9092",
302
+ ...,
303
303
  description="Event bus bootstrap servers, comma-separated (Kafka endpoint)",
304
304
  )
305
305
  cache_ttl_seconds: int = Field(
@@ -1,4 +1,6 @@
1
+ # SPDX-FileCopyrightText: 2025 OmniNode.ai Inc.
1
2
  # SPDX-License-Identifier: MIT
3
+
2
4
  # Copyright (c) 2025 OmniNode Team
3
5
  """Document indexed event model for document ingestion pipeline.
4
6
 
@@ -140,9 +140,11 @@ class HandlerMemoryRetrieval:
140
140
  if self._initialized:
141
141
  return
142
142
 
143
- if self._config.use_mock_handlers:
144
- # Initialize mock handlers
145
- self._qdrant_handler = HandlerQdrantMock(self._config.qdrant_config)
143
+ if self._config.use_stub_handlers:
144
+ # Initialize stub (mock) handlers
145
+ self._qdrant_handler = HandlerQdrantMock(
146
+ self._config.qdrant_mock_config
147
+ )
146
148
  self._db_handler = HandlerDbMock(self._config.db_config)
147
149
  self._graph_handler = HandlerGraphMock(self._config.graph_config)
148
150
 
@@ -152,11 +154,11 @@ class HandlerMemoryRetrieval:
152
154
  self._graph_handler.initialize(),
153
155
  )
154
156
 
155
- logger.info("Memory retrieval handler initialized with mock handlers")
157
+ logger.info("Memory retrieval handler initialized with stub handlers")
156
158
  else:
157
- # TODO: Initialize real handlers from omnibase_infra
159
+ # stub-ok: OMN-4475 — HandlerQdrant production wiring deferred to Task 5
158
160
  raise NotImplementedError(
159
- "Real handlers not yet implemented. Set use_mock_handlers=True"
161
+ "Production handlers not yet implemented. Set use_stub_handlers=True"
160
162
  )
161
163
 
162
164
  self._initialized = True