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.
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/pre-commit.yml +2 -2
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/release-dry-run.yml +1 -1
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/release.yml +1 -1
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/test.yml +50 -18
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.pre-commit-config.yaml +35 -3
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/CHANGELOG.md +16 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/CLAUDE.md +13 -1
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/PKG-INFO +4 -4
- omninode_memory-0.7.1/deployment/database/migrations/005_backfill_null_checksums.sql +38 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/pyproject.toml +4 -4
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/check_no_hardcoded_bolt.sh +3 -0
- omninode_memory-0.7.1/scripts/validation/check_kafka_no_hardcoded_fallback.sh +76 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_naming.py +1 -1
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_secrets.py +1 -1
- omninode_memory-0.7.1/scripts/validation/validate_spdx_headers.py +39 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_error_code.py +9 -3
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/adapter_valkey.py +3 -1
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/handler_subscription.py +2 -2
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_document_indexed_event.py +2 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_memory_retrieval.py +8 -6
- omninode_memory-0.7.1/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_qdrant.py +365 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/models/__init__.py +2 -0
- omninode_memory-0.7.1/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_memory_retrieval_config.py +94 -0
- omninode_memory-0.7.1/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_qdrant_config.py +106 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/__init__.py +2 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/handlers/__init__.py +2 -0
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/models/__init__.py +2 -0
- {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
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_session.py +2 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_navigation_history_reducer/node_navigation_history_reducer.py +2 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/dispatch_handlers.py +4 -4
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/plugin.py +1 -1
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/tools/stubs/contract_validator.py +1 -1
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/observability.py +1 -1
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/pii_detector.py +6 -2
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/nodes/test_navigation_history_reducer_integration.py +2 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/test_node_agent_coordinator.py +2 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_memory_retrieval_effect/test_memory_retrieval_effect.py +2 -2
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_navigation_history_reducer/test_navigation_history_reducer_unit.py +2 -0
- omninode_memory-0.7.1/tests/unit/handlers/__init__.py +2 -0
- omninode_memory-0.7.1/tests/unit/handlers/adapters/__init__.py +2 -0
- omninode_memory-0.7.1/tests/unit/nodes/__init__.py +2 -0
- omninode_memory-0.7.1/tests/unit/nodes/test_handler_qdrant.py +272 -0
- omninode_memory-0.7.1/tests/unit/nodes/test_model_handler_qdrant_config.py +86 -0
- omninode_memory-0.7.1/tests/unit/runtime/__init__.py +2 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_validate_ci_precommit_alignment.py +3 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/uv.lock +13 -13
- omninode_memory-0.6.6/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_memory_retrieval_config.py +0 -54
- omninode_memory-0.6.6/tests/nodes/node_navigation_history_reducer/__init__.py +0 -0
- omninode_memory-0.6.6/tests/unit/handlers/__init__.py +0 -0
- omninode_memory-0.6.6/tests/unit/handlers/adapters/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.claude/architecture-handshake.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.env.example +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.flake8 +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/dependabot.yml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/required-checks.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/auto-tag-on-merge.yml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/build-and-push-migrate-image.yml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.github/workflows/contract-validation.yml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.gitignore +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.secrets.baseline +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.serena/memories/project_overview.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.serena/memories/suggested_commands.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.serena/project.yml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/.yamlfmt +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/CODE_OF_CONDUCT.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/CONTRIBUTING.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/LICENSE +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/README.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/SECURITY.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/contract.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/migrations/001_create_subscription_tables.sql +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/migrations/002_create_memories_table.sql +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/migrations/003_create_crawl_state_table.sql +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/migrations/004_create_navigation_sessions_table.sql +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/migrations_pending/004_create_navigation_paths_collection.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/migrations_pending/004_create_navigation_sessions_table.sql +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/database/pending/003_create_crawl_state_table.sql +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/deployment/docker/Dockerfile.migrate +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docker-compose.prod.yml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docker-compose.yml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/INDEX.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/PERFORMANCE_TESTING.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/architecture/ARCH_002_KAFKA_ABSTRACTION.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/architecture/ONEX_FOUR_NODE_ARCHITECTURE.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/ci/CI_MONITORING_GUIDE.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/db-split/fk-audit-omn-2069.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/environment_variables.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/handler_reuse_matrix.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/pii_handling.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/runtime/RUNTIME_PLUGINS.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/docs/stub_protocols.md +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/examples/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/examples/advanced_architecture_demo.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/pyrightconfig.json +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/check_migration_freeze.sh +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validate_ci_precommit_alignment.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validate_no_transport_imports.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/check_ai_slop.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_enum_casing.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_http_imports.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_kafka_imports.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_model_locations.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_no_backward_compatibility.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_pydantic_patterns.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/scripts/validation/validate_single_class_per_file.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/_compat_imports.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/audit/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/audit/__main__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/audit/io_audit.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/bootstrap.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/crawl/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/crawl/enum_context_source_type.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/crawl/enum_crawler_type.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/crawl/enum_detected_doc_type.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_attribution_signal_type.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_context_item_type.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_data_type.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_entity_extraction_mode.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_intelligence_operation_type.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_lifecycle_state.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_memory_operation_type.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_memory_storage_type.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_migration_status.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_node_type.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_operation_status.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_priority_level.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_promotion_tier.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_semantic_entity_type.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_severity.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_subscription_status.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/enums/enum_trust_level.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/errors/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/errors/embedding_errors.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/adapter_embedding_http.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/adapter_graph_memory.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/adapter_intent_graph.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/adapter_rate_limiter.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/models/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/models/model_adapter_intent_graph_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/models/model_intent_domain.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/models/model_intent_graph_health.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/handler_intent.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/models/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/models/model_handler_intent_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_connections_result.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_filesystem_adapter_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_graph_memory_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_graph_memory_health.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_memory_connection.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_related_memory.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/adapters/model_related_memory_result.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_doc_source_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_embedding_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_filesystem_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_handler_semantic_compute_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_linear_scope_mapping.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_memory_service_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_path_scope_mapping.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_postgres_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_promotion_threshold_set.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_qdrant_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_rate_limiter_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_scope_mapping_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/config/model_semantic_compute_policy_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/container/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/contracts/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/contracts/mixin_handler_routing.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/contracts/model_contract_compute_extended.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/contracts/model_contract_effect_extended.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/contracts/model_contract_orchestrator_extended.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/contracts/model_contract_reducer_extended.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_memory_context.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_memory_metadata.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_memory_parameters.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_memory_request.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_memory_response.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_operation_metadata.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_processing_metrics.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/core/model_provenance.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_crawl_state_record.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_crawl_tick_command.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_document_changed_event.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_document_discovered_event.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_document_indexed_kreuzberg_event.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_document_parse_failed_event.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/model_document_removed_event.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/crawl/types.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/events/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/events/model_crawl_tick_command.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/events/model_intent_classified_event.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_audit_metadata.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_configuration.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_connection_metadata.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_error_details.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_health_metadata.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_health_response.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_memory_data.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_metrics_response.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_migration_progress.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_notes.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_priority.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_progress_summary.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_semver.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_success_metrics.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_system_health.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_tags.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_trust_score.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_typed_collections.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/foundation/model_user.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/intelligence/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/intelligence/model_intelligence_analysis.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/intelligence/model_pattern_recognition_result.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/intelligence/model_semantic_analysis_result.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/intelligence/model_semantic_entity.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/intelligence/model_semantic_entity_list.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/memory/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/memory/model_memory_item.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/memory/model_memory_query.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/memory/model_memory_search_result.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/memory/model_memory_storage_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/memory/model_similarity_result.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/scoring/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/scoring/model_context_item_stats.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/scoring/model_context_policy_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/scoring/model_promotion_decision.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/service/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/service/model_service_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/service/model_service_health.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/service/model_service_registry.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/subscription/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/subscription/constants.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/subscription/model_notification_event.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/subscription/model_notification_event_payload.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/subscription/model_subscription.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_audit.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_circuit_breaker_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_circuit_breaker_stats_response.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_concurrency.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_correlation_context.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_health_check_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_health_check_details.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_health_check_result.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_health_status.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_pii_detection_result.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_pii_detector_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_pii_match.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_pii_pattern_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_pii_type.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_resource_health_check.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_retry_attempt_info.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_retry_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_retry_statistics.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_structured_log_entry.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/models/utils/model_system_health.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/base.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/contract.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/model_request.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/model_response.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_filesystem_crawler_effect/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_filesystem_crawler_effect/contract.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_filesystem_crawler_effect/handler_filesystem_crawler.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_filesystem_crawler_effect/models/__init__.py +0 -0
- {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
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_event_consumer_effect/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_event_consumer_effect/contract.yaml +0 -0
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_event_consumer_effect/models/__init__.py +0 -0
- {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
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_event_consumer_effect/utils/__init__.py +0 -0
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/contract.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/handlers/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/handlers/handler_intent_query.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/models/__init__.py +0 -0
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/registry/__init__.py +0 -0
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/utils/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_query_effect/utils/util_intent_mapping.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_storage_effect/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_storage_effect/adapters/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_storage_effect/adapters/adapter_intent_storage.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_storage_effect/contract.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_intent_storage_effect/models/__init__.py +0 -0
- {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
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/clients/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/clients/client_kreuzberg.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/contract.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/handler_kreuzberg_parse.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/__init__.py +0 -0
- {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
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_consolidator_reducer/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/__init__.py +0 -0
- {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
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/contract.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_archive.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_expire.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_tick.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/models/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/validators/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/validators/validator_lifecycle_transition.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/clients/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/clients/embedding_client.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/contract.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_db_mock.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_graph_mock.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_qdrant_mock.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_storage_effect/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_storage_effect/adapters/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_storage_effect/adapters/adapter_filesystem.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_storage_effect/contract.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_memory_storage_effect/models/__init__.py +0 -0
- {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
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/contract.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/handlers/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/handlers/handler_semantic_compute.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/__init__.py +0 -0
- {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
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_semantic_analyzer_compute/node_semantic_analyzer_compute.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/contract.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/handlers/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/handlers/handler_similarity_compute.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/models/__init__.py +0 -0
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/models/model_similarity_compute_request.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/models/model_similarity_compute_response.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_similarity_compute/node_similarity_compute.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/nodes/node_statistics_reducer/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/base_protocols.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/data_models.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/error_models.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/protocol_crawl_state_repository.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/protocol_embedding.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/protocol_embedding_provider.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/protocol_handler_intent.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/protocol_intent_graph_adapter.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/protocols/protocol_secrets_provider.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/adapters.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/contract_topics.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/introspection.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/message_type_registration.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/runtime/wiring.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/secrets.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/settings.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/tools/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/tools/contract_linter.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/tools/stubs/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/audit_logger.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/concurrency.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/db_url.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/error_sanitizer.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/handler_constants.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/health_manager.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/resource_manager.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/utils/retry_utils.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/audit/io_audit_whitelist.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/audit/transport_import_whitelist.yaml +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/conftest.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/test_adapter_embedding_http.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/test_adapter_embedding_http_integration.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/test_adapter_graph_memory.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/test_adapter_graph_memory_integration.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/test_adapter_intent_graph.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/adapters/test_adapter_rate_limiter.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/test_handler_intent.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/handlers/test_handler_semantic_compute.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/conftest.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/nodes/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/nodes/test_kreuzberg_parse_effect.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/nodes/test_memory_lifecycle_orchestrator_integration.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/test_entry_point_discovery.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/test_handler_lifecycle_pattern.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/integration/test_handler_subscription.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/models/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/models/contracts/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/models/contracts/test_extended_contracts.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/models/events/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/models/events/test_model_intent_classified_event.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/models/test_frozen_boundary_models.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_filesystem_crawler_effect/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_filesystem_crawler_effect/test_handler_filesystem_crawler.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_event_consumer_effect/__init__.py +0 -0
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_event_consumer_effect/test_model_consumer_health.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_event_consumer_effect/test_util_event_mapper.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_query_effect/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_query_effect/conftest.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_query_effect/test_handler_intent_query_integration.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_intent_storage_effect/__init__.py +0 -0
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_memory_retrieval_effect/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_memory_storage_effect/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_memory_storage_effect/test_memory_storage_effect.py +0 -0
- {omninode_memory-0.6.6/tests/unit/runtime → omninode_memory-0.7.1/tests/nodes/node_navigation_history_reducer}/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_similarity_compute/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/nodes/node_similarity_compute/test_similarity_compute.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_bootstrap.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_concurrency.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_config_models.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_contract_validation.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_contract_version.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_db_url.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_foundation.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_health_manager.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_migration_progress.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_node_enforcement.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_node_imports.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_observability_metrics.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_performance.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_resource_manager.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_secrets_provider.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_semantic_compute_policy_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_settings.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/test_validation_scripts.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/handlers/adapters/test_graph_adapter_typing.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/handlers/test_subscription_typing.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_kreuzberg_parse_effect/__init__.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_kreuzberg_parse_effect/test_handler_kreuzberg_parse.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_memory_lifecycle_orchestrator/__init__.py +0 -0
- {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
- {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
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_archive.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_expire.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_tick.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_validator_lifecycle_transition.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/conftest.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_adapters.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_contract_topics.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_dispatch_handlers.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_introspection.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_message_type_registration.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_plugin.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_plugin_memory_validate_handshake.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/runtime/test_wiring.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_contract_linter.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_handler_subscription_notify_strict.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_ingestion_models.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_io_audit.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_scope_mapping_config.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_sql_placeholders.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_validate_kafka_imports.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/tests/unit/test_validate_no_transport_imports.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/validate_architecture_improvements.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/validate_foundation.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/validate_foundation_isolated.py +0 -0
- {omninode_memory-0.6.6 → omninode_memory-0.7.1}/validate_foundation_minimal.py +0 -0
|
@@ -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
|
|
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
|
-
# -
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
225
|
+
uses: actions/checkout@v6
|
|
226
226
|
|
|
227
227
|
- name: Set up Python
|
|
228
|
-
uses: actions/setup-python@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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
|
-
|
|
385
|
-
name:
|
|
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@
|
|
473
|
+
- uses: actions/checkout@v6
|
|
442
474
|
with:
|
|
443
475
|
fetch-depth: 0
|
|
444
476
|
- name: Set up Python
|
|
445
|
-
uses: actions/setup-python@
|
|
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.
|
|
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.
|
|
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.
|
|
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. [
|
|
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.
|
|
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
|
|
24
|
-
Requires-Dist: omnibase-infra
|
|
25
|
-
Requires-Dist: omnibase-spi
|
|
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.
|
|
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
|
|
63
|
-
"omnibase-spi
|
|
64
|
-
"omnibase-infra
|
|
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(
|
|
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(
|
|
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(
|
|
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."""
|
{omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/adapters/adapter_valkey.py
RENAMED
|
@@ -449,7 +449,9 @@ class AdapterValkey:
|
|
|
449
449
|
"""
|
|
450
450
|
return f"{self._config.key_prefix}{key}"
|
|
451
451
|
|
|
452
|
-
async def _ensure_awaited(
|
|
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**
|
{omninode_memory-0.6.6 → omninode_memory-0.7.1}/src/omnimemory/handlers/handler_subscription.py
RENAMED
|
@@ -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="
|
|
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
|
-
|
|
302
|
+
...,
|
|
303
303
|
description="Event bus bootstrap servers, comma-separated (Kafka endpoint)",
|
|
304
304
|
)
|
|
305
305
|
cache_ttl_seconds: int = Field(
|
|
@@ -140,9 +140,11 @@ class HandlerMemoryRetrieval:
|
|
|
140
140
|
if self._initialized:
|
|
141
141
|
return
|
|
142
142
|
|
|
143
|
-
if self._config.
|
|
144
|
-
# Initialize mock handlers
|
|
145
|
-
self._qdrant_handler = HandlerQdrantMock(
|
|
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
|
|
157
|
+
logger.info("Memory retrieval handler initialized with stub handlers")
|
|
156
158
|
else:
|
|
157
|
-
#
|
|
159
|
+
# stub-ok: OMN-4475 — HandlerQdrant production wiring deferred to Task 5
|
|
158
160
|
raise NotImplementedError(
|
|
159
|
-
"
|
|
161
|
+
"Production handlers not yet implemented. Set use_stub_handlers=True"
|
|
160
162
|
)
|
|
161
163
|
|
|
162
164
|
self._initialized = True
|