omninode-memory 0.18.5__tar.gz → 0.18.7__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.18.5 → omninode_memory-0.18.7}/.github/required-checks.yaml +17 -17
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/auto-tag-on-merge.yml +3 -9
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/ban-hardcoded-runner-ip.yml +1 -1
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/call-reject-skip.yml +1 -1
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/call-repo-evidence-gate.yml +18 -16
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/check-handshake.yml +2 -2
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/ci.yml +149 -92
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/contract-validation.yml +3 -8
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/dep-provenance-gate.yml +3 -5
- omninode_memory-0.18.7/.github/workflows/dev-merge-tag.yml +113 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/docs-validate.yml +1 -1
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/hardcoded-model-config.yml +1 -1
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/kb-doc-gate.yml +1 -1
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/main-target-guard.yml +1 -6
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/omni-standards-compliance.yml +2 -7
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/pin-resolvability-gate.yml +3 -12
- omninode_memory-0.18.7/.github/workflows/pr-title-check.yml +27 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/secrets-baseline-wiring.yml +1 -1
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/stale-todo-gate.yml +1 -6
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/validate-validator-requirements.yml +2 -8
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/validator-runtime-profiles.yml +2 -7
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.kb-doc-gate.yaml +4 -6
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.onex_ratchets/canonical_file_shape_baseline.txt +0 -1
- omninode_memory-0.18.7/.onex_ratchets/node_home_baseline.txt +18 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.pre-commit-config.yaml +16 -12
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.pre-commit-hooks/reject-deploy-gate-skip-token.sh +1 -1
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.public-repo-hygiene.yaml +0 -1
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/CHANGELOG.md +18 -18
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/CLAUDE.md +1 -1
- omninode_memory-0.18.7/PKG-INFO +48 -0
- omninode_memory-0.18.7/README.md +4 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/architecture-handshakes/validator-requirements.yaml +2 -5
- omninode_memory-0.18.7/contracts/OMN-17390.yaml +44 -0
- omninode_memory-0.18.7/contracts/OMN-17427.yaml +149 -0
- omninode_memory-0.18.7/contracts/OMN-18595.yaml +54 -0
- omninode_memory-0.18.7/contracts/OMN-19998.yaml +62 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/contracts/OMN-20074.yaml +69 -8
- omninode_memory-0.18.7/contracts/OMN-20702.yaml +65 -0
- omninode_memory-0.18.7/contracts/OMN-20868.yaml +39 -0
- omninode_memory-0.18.7/contracts/OMN-20945.yaml +74 -0
- omninode_memory-0.18.7/contracts/OMN-21331.yaml +64 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/pyproject.toml +4 -5
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/check_dep_provenance.py +0 -4
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/ci/test_selection_adjacency.yaml +15 -3
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validate_ci_precommit_alignment.py +28 -7
- omninode_memory-0.18.7/tests/ci/test_canonical_file_shape_core_tag_omn21331.py +43 -0
- omninode_memory-0.18.7/tests/ci/test_contract_compliance_own_contracts_omn20074.py +167 -0
- omninode_memory-0.18.7/tests/ci/test_contracts_no_duplicate_keys_omn20945.py +50 -0
- omninode_memory-0.18.7/tests/ci/test_dev_merge_tag_workflow_omn19998.py +248 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/ci/test_imperative_contract_guard_caller_omn20943.py +1 -6
- omninode_memory-0.18.7/tests/ci/test_migrated_contracts_omn17427.py +38 -0
- omninode_memory-0.18.7/tests/ci/test_no_change_control_refs_omn20074.py +66 -0
- omninode_memory-0.18.7/tests/ci/test_no_occ_callers_omn20074.py +226 -0
- omninode_memory-0.18.7/tests/ci/test_node_home_activation_omn20702.py +83 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/ci/test_pr_title_check_omnimarket_node.py +25 -31
- omninode_memory-0.18.7/tests/ci/test_public_runner_placement_omn19998.py +152 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/ci/test_repo_evidence_caller_omn20074.py +20 -16
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/scripts/test_check_dep_provenance.py +4 -4
- omninode_memory-0.18.7/tests/test_documentation_inventory_omn17427.py +99 -0
- omninode_memory-0.18.7/tests/test_release_metadata_omn18595.py +41 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_validate_ci_precommit_alignment.py +62 -3
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_workflow_sibling_pins.py +1 -1
- omninode_memory-0.18.7/uv.lock +3460 -0
- omninode_memory-0.18.5/.github/CODE_OF_CONDUCT.md +0 -5
- omninode_memory-0.18.5/.github/CONTRIBUTING.md +0 -43
- omninode_memory-0.18.5/.github/workflows/call-occ-autobind.yml +0 -196
- omninode_memory-0.18.5/.github/workflows/call-occ-companion-effect.yml +0 -267
- omninode_memory-0.18.5/.github/workflows/pr-title-check.yml +0 -62
- omninode_memory-0.18.5/PKG-INFO +0 -146
- omninode_memory-0.18.5/README.md +0 -102
- omninode_memory-0.18.5/SECURITY.md +0 -12
- omninode_memory-0.18.5/scripts/ci/occ_manual_replay_precheck.py +0 -165
- omninode_memory-0.18.5/tests/scripts/test_occ_eligibility_enforcement.py +0 -165
- omninode_memory-0.18.5/tests/unit/scripts/test_occ_manual_replay_precheck.py +0 -160
- omninode_memory-0.18.5/tests/unit/test_occ_companion_effect_edited_trigger_omn_18334.py +0 -71
- omninode_memory-0.18.5/uv.lock +0 -3426
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.claude/architecture-handshake.md +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.env.example +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.flake8 +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/dependabot.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/auto-merge.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/build-and-push-migrate-image.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/imperative-contract-guard.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/pre-commit.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/public-repo-hygiene.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/release-dry-run.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/release.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/security-scan.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/sibling-lock-refresh.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/todo-audit-on-merge.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/url-authority-gate.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.gitignore +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.markdown-link-check.json +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.onex_ratchets/noncanonical_class_allowlist.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.secrets.baseline +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.serena/project.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/.yamlfmt +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/LICENSE +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/architecture-handshakes/validator-requirements-baseline.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/config/hardcoded_model_config_baseline.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/contracts/OMN-12245.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/contracts/OMN-20032.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/contracts/OMN-20936.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/contracts/OMN-20940.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/contracts/OMN-20943.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/contracts/OMN-20997.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/deployment/database/migrations/001_create_subscription_tables.sql +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/deployment/database/migrations/002_create_memories_table.sql +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/deployment/database/migrations/003_create_crawl_state_table.sql +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/deployment/database/migrations/004_create_navigation_sessions_table.sql +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/deployment/database/migrations/005_backfill_null_checksums.sql +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/deployment/database/migrations_pending/004_create_navigation_paths_collection.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/deployment/database/migrations_pending/004_create_navigation_sessions_table.sql +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/deployment/database/pending/003_create_crawl_state_table.sql +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/deployment/docker/Dockerfile.migrate +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docker-compose.prod.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docker-compose.yml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docs/assets/brand/omninode-icon-black.png +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docs/assets/brand/omninode-icon-full-color.svg +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docs/assets/brand/omninode-icon-white.png +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docs/assets/brand/omninode-inline-black.png +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docs/assets/brand/omninode-inline-full-color.svg +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docs/assets/brand/omninode-inline-white.png +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docs/assets/brand/omninode-stacked-black.png +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docs/assets/brand/omninode-stacked-full-color.svg +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docs/assets/brand/omninode-stacked-white.png +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docs/assets/brand/omninode-wordmark-black.svg +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docs/assets/brand/omninode-wordmark-grey.svg +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/docs/assets/brand/omninode-wordmark-white.svg +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/examples/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/examples/advanced_architecture_demo.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/imperative-contract-allowlist.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/pyrightconfig.json +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/check_migration_freeze.sh +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/check_no_hardcoded_bolt.sh +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/ci/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/ci/collect_changed_files.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/ci/detect_test_paths.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/ci/run_runtime_profiles_validator.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/ci/test_selection_loader.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/ci/test_selection_models.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/ci/verify_pypi_pin_resolvability.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/graphify_to_memgraph.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/graphify_to_qdrant.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/check_ai_slop.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/check_kafka_no_hardcoded_fallback.sh +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/check_no_internal_ips.sh +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/check_precommit_additional_dependencies.sh +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/foundation_validation_common.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/validate_enum_casing.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/validate_http_imports.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/validate_kafka_imports.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/validate_model_locations.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/validate_naming.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/validate_no_backward_compatibility.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/validate_no_env_fallbacks.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/validate_pydantic_patterns.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/validate_secrets.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/validate_single_class_per_file.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/scripts/validation/validate_spdx_headers.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/_compat_imports.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/adapters/adapter_concurrency.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/adapters/adapter_correlation_context.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/adapters/adapter_db_url.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/adapters/adapter_error_sanitizer.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/adapters/adapter_handler_constants.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/adapters/adapter_health_manager.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/adapters/adapter_metrics_counter.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/adapters/adapter_observability_wrapper.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/adapters/adapter_pii_detector.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/adapters/adapter_resource_manager.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/adapters/adapter_retry_utils.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/bootstrap.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/crawl/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/crawl/enum_context_source_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/crawl/enum_crawler_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/crawl/enum_detected_doc_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_attribution_signal_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_context_item_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_data_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_entity_extraction_mode.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_error_code.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_intelligence_operation_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_lifecycle_state.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_memory_operation_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_memory_storage_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_memory_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_migration_status.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_node_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_operation_status.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_preferred_tone.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_priority_level.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_promotion_tier.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_semantic_entity_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_severity.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_subscription_status.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_technical_level.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/enums/enum_trust_level.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/errors/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/errors/embedding_errors.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/adapters/adapter_embedding_http.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/adapters/adapter_graph_memory.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/adapters/adapter_intent_graph.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/adapters/adapter_intent_graph_contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/adapters/adapter_rate_limiter.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/adapters/adapter_valkey.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/adapters/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/adapters/models/model_adapter_intent_graph_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/adapters/models/model_intent_domain.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/adapters/models/model_intent_graph_health.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/handler_intent.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/handler_subscription.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/handler_subscription_contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/handlers/models/model_handler_intent_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/adapters/model_connections_result.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/adapters/model_filesystem_adapter_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/adapters/model_graph_memory_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/adapters/model_graph_memory_health.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/adapters/model_memory_connection.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/adapters/model_related_memory.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/adapters/model_related_memory_result.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_doc_source_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_embedding_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_filesystem_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_handler_semantic_compute_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_linear_scope_mapping.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_memory_service_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_path_scope_mapping.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_postgres_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_promotion_threshold_set.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_qdrant_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_rate_limiter_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_scope_mapping_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/config/model_semantic_compute_policy_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/container/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/contracts/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/contracts/mixin_handler_routing.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/contracts/model_contract_compute_extended.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/contracts/model_contract_effect_extended.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/contracts/model_contract_orchestrator_extended.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/contracts/model_contract_reducer_extended.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/core/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/core/model_memory_context.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/core/model_memory_metadata.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/core/model_memory_parameters.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/core/model_memory_request.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/core/model_memory_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/core/model_operation_metadata.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/core/model_processing_metrics.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/core/model_provenance.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/crawl/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/crawl/model_crawl_tick_command.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/crawl/model_document_changed_event.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/crawl/model_document_discovered_event.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/crawl/model_document_indexed_event.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/crawl/model_document_indexed_kreuzberg_event.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/crawl/model_document_parse_failed_event.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/crawl/model_document_removed_event.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/crawl/types.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/events/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/events/model_crawl_tick_command.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/events/model_intent_classified_event.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/events/model_lifecycle_transition_failed_event.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_audit_metadata.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_configuration.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_connection_metadata.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_error_details.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_health_metadata.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_health_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_memory_data.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_metrics_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_migration_progress.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_notes.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_priority.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_progress_summary.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_semver.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_success_metrics.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_system_health.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_tags.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_trust_score.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_typed_collections.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/foundation/model_user.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/intelligence/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/intelligence/model_intelligence_analysis.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/intelligence/model_pattern_recognition_result.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/intelligence/model_semantic_analysis_result.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/intelligence/model_semantic_entity.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/intelligence/model_semantic_entity_list.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/memory/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/memory/model_memory_item.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/memory/model_memory_query.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/memory/model_memory_search_result.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/memory/model_memory_storage_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/memory/model_similarity_result.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/persona/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/persona/model_persona_signal.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/persona/model_user_persona_v1.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/scoring/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/scoring/model_context_item_stats.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/scoring/model_context_policy_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/scoring/model_promotion_decision.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/service/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/service/model_service_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/service/model_service_health.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/service/model_service_registry.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/subscription/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/subscription/constants.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/subscription/model_notification_event.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/subscription/model_notification_event_payload.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/subscription/model_subscription.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_audit.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_circuit_breaker_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_circuit_breaker_stats_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_concurrency.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_correlation_context.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_health_check_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_health_check_details.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_health_check_result.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_health_status.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_pii_detection_result.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_pii_detector_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_pii_match.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_pii_pattern_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_pii_type.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_resource_health_check.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_retry_attempt_info.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_retry_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_retry_statistics.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_structured_log_entry.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/models/utils/model_system_health.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/base.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/model_request.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/model_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_learning_retrieval_effect/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_learning_retrieval_effect/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_learning_retrieval_effect/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_learning_retrieval_effect/handlers/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_learning_retrieval_effect/handlers/handler_agent_learning_retrieval.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_learning_retrieval_effect/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_learning_retrieval_effect/models/model_request.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_agent_learning_retrieval_effect/models/model_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_query_effect/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_query_effect/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_query_effect/handlers/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_query_effect/handlers/handler_intent_query.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_query_effect/mappers/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_query_effect/mappers/util_intent_mapping.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_query_effect/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_query_effect/models/model_handler_intent_query_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_query_effect/registry/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_query_effect/registry/registry_intent_query_effect.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_storage_effect/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_storage_effect/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_storage_effect/adapters/adapter_intent_storage.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_storage_effect/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_storage_effect/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_storage_effect/models/model_intent_storage_request.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_intent_storage_effect/models/model_intent_storage_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_kreuzberg_parse_effect/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_kreuzberg_parse_effect/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_kreuzberg_parse_effect/adapters/adapter_kreuzberg_client.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_kreuzberg_parse_effect/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_kreuzberg_parse_effect/handler_kreuzberg_parse.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/model_kreuzberg_parse_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/model_kreuzberg_parse_result.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_consolidator_reducer/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/adapter_postgres_deactivate_memory.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/adapter_runtime_tick_memory.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_archive.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_expire.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_tick.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/validators/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/validators/validator_lifecycle_transition.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/adapters/adapter_embedding_client.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/contract_descriptor.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_db_mock.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_decay.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_fusion.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_graph_mock.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_memory_retrieval.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_qdrant.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_qdrant_mock.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_embedding_client_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_db_mock_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_graph_mock_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_memory_retrieval_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_qdrant_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_qdrant_mock_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_memory_retrieval_request.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_memory_retrieval_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_storage_effect/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_storage_effect/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_storage_effect/adapters/adapter_filesystem.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_storage_effect/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_storage_effect/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_storage_effect/models/model_memory_storage_request.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_memory_storage_effect/models/model_memory_storage_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_navigation_history_reducer/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_navigation_history_reducer/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_navigation_history_reducer/handlers/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_navigation_history_reducer/handlers/handler_navigation_history_reducer.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_navigation_history_reducer/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_history_request.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_history_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_session.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_navigation_history_reducer/node_navigation_history_reducer.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_builder_compute/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_builder_compute/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_builder_compute/handlers/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_builder_compute/handlers/handler_persona_classify.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_builder_compute/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_builder_compute/models/model_classify_request.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_builder_compute/models/model_classify_result.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_storage_effect/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_storage_effect/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_storage_effect/adapters/adapter_postgres_persona.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_storage_effect/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_storage_effect/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_storage_effect/models/model_persona_storage_request.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_persona_storage_effect/models/model_persona_storage_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_semantic_analyzer_compute/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_semantic_analyzer_compute/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_semantic_analyzer_compute/handlers/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_semantic_analyzer_compute/handlers/handler_semantic_compute.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/model_semantic_analyzer_compute_request.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/model_semantic_analyzer_compute_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_semantic_analyzer_compute/node_semantic_analyzer_compute.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_similarity_compute/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_similarity_compute/contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_similarity_compute/handlers/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_similarity_compute/handlers/handler_similarity_compute.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_similarity_compute/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_similarity_compute/models/model_handler_similarity_compute_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_similarity_compute/models/model_similarity_compute_request.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_similarity_compute/models/model_similarity_compute_response.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/nodes/node_similarity_compute/node_similarity_compute.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/protocols/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/protocols/base_protocols.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/protocols/data_models.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/protocols/error_models.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/protocols/protocol_embedding.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/protocols/protocol_embedding_provider.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/protocols/protocol_handler_intent.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/protocols/protocol_intent_graph_adapter.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/protocols/protocol_secrets_provider.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/runtime/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/runtime/adapters.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/runtime/contract_topics.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/runtime/dispatch_handlers.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/runtime/handler_lifecycle.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/runtime/handler_lifecycle_contract.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/runtime/introspection.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/runtime/message_type_registration.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/runtime/plugin.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/runtime/wiring.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/secrets.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/settings.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/tools/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/tools/contract_linter.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/tools/validators/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/tools/validators/validator_contract.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/src/omnimemory/topics.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/ci/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/ci/test_codeql_from_core_omn20074.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/ci/test_contract_validation_core_validator_omn20074.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/ci/test_deployment_config_context_omn20940.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/ci/test_precommit_hooks_core_omn20074.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/ci/test_reject_skip_token_hook_omn20074.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/ci/test_repo_evidence_caller_verifier_floor_omn20032.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/conftest.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/fixtures/omn19666/pre-commit-git-dependency.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/fixtures/omn19666/pre-commit-pypi-dependency.yaml +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/gates/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/gates/test_ban_hardcoded_runner_ip_scope.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/gates/test_consumer_group_name_authorization.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/handlers/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/handlers/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/handlers/adapters/test_adapter_embedding_http.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/handlers/adapters/test_adapter_embedding_http_integration.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/handlers/adapters/test_adapter_graph_memory.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/handlers/adapters/test_adapter_graph_memory_integration.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/handlers/adapters/test_adapter_intent_graph.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/handlers/adapters/test_adapter_rate_limiter.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/handlers/test_handler_intent.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/handlers/test_handler_semantic_compute.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/conftest.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/nodes/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/nodes/test_kreuzberg_parse_effect.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/nodes/test_memory_lifecycle_orchestrator_integration.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/nodes/test_navigation_history_reducer_integration.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/test_entry_point_discovery.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/test_golden_chain_memgraph_ingestion.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/test_golden_chain_qdrant_ingestion.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/test_handler_lifecycle_pattern.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/test_handler_subscription.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/test_node_agent_coordinator.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/integration/test_persona_round_trip.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/models/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/models/contracts/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/models/contracts/test_extended_contracts.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/models/events/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/models/events/test_model_intent_classified_event.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/models/test_frozen_boundary_models.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_intent_query_effect/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_intent_query_effect/conftest.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_intent_query_effect/test_handler_intent_query_integration.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_intent_storage_effect/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_intent_storage_effect/test_handler_intent_storage_adapter_integration.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_memory_retrieval_effect/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_memory_retrieval_effect/test_contract_descriptor.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_memory_retrieval_effect/test_dispatch_entrypoint_contract.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_memory_retrieval_effect/test_memory_retrieval_effect.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_memory_storage_effect/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_memory_storage_effect/test_memory_storage_effect.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_navigation_history_reducer/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_navigation_history_reducer/test_navigation_history_reducer_unit.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_similarity_compute/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/nodes/node_similarity_compute/test_similarity_compute.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/scripts/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/scripts/test_pin_resolvability_conflict_report.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/scripts/test_pin_resolvability_gate_workflow.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_bootstrap.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_concurrency.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_config_models.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_contract_validation.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_contract_version.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_db_url.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_foundation.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_health_manager.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_migration_progress.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_node_enforcement.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_node_imports.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_observability_manager.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_observability_metrics.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_performance.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_precommit_additional_dependencies_omn19666.sh +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_precommit_staged_scope_omn19612.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_resource_manager.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_secrets_provider.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_semantic_compute_policy_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_settings.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/test_validation_scripts.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/adapters/test_adapter_pii_detector.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/adapters/test_pii_live_call_paths.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/handlers/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/handlers/adapters/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/handlers/adapters/test_graph_adapter_typing.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/handlers/test_subscription_typing.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/fixtures/omn16765/hybrid_retrieval_corpus.json +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_activation_decay.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_decay_ranking.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_handler_agent_learning_retrieval.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_handler_qdrant.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_handler_routing_boot_resolvable.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_hybrid_retrieval_fusion.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_kreuzberg_parse_effect/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_kreuzberg_parse_effect/test_handler_kreuzberg_parse.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_memory_lifecycle_orchestrator/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_adapter_postgres_deactivate_memory.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_adapter_runtime_tick_memory.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_archive.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_expire.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_tick.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_validator_lifecycle_transition.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_model_handler_qdrant_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_navigation_history_reducer_contract.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_node_agent_learning_retrieval_models.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_persona_builder.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/nodes/test_persona_storage_retrieval.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/conftest.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_adapters.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_contract_handler_completeness.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_contract_topics.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_dispatch_handlers.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_expire_memory_dispatch.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_introspection.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_memory_subscription_group_is_authorized.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_message_type_registration.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_navigation_embedding_url_omn20936.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_plugin.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_plugin_graph_memory_wiring.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_plugin_integration_wiring.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_plugin_memory_validate_handshake.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_standalone_handler_contracts.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/runtime/test_wiring.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/scripts/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/scripts/test_check_ai_slop.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/scripts/test_collect_changed_files.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_auto_tag_app_token_push_omn18662.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_ci_workflow_shape.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_contract_linter.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_detect_test_paths.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_dispatch_retrieval_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_entry_points.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_graphify_to_memgraph.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_graphify_to_qdrant.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_handler_subscription_notify_strict.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_ingestion_models.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_model_user_persona_v1.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_no_duplicate_node_uuids.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_persona_enums.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_scope_mapping_config.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_sql_placeholders.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/unit/test_validate_kafka_imports.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/workflows/__init__.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/workflows/test_auto_merge_ready_for_review_omn19216.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/tests/workflows/test_auto_merge_workflow.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/validate_architecture_improvements.py +0 -0
- {omninode_memory-0.18.5 → omninode_memory-0.18.7}/validation/runtime_profiles_allowlist.yaml +0 -0
|
@@ -20,25 +20,13 @@ required_checks:
|
|
|
20
20
|
- name: "pr-title / check-title"
|
|
21
21
|
workflow: pr-title-check.yml
|
|
22
22
|
job_id: pr-title
|
|
23
|
-
producer_kind:
|
|
23
|
+
producer_kind: cross_repo
|
|
24
|
+
cross_repo_ref: "OmniNode-ai/omnibase_core/.github/workflows/pr-title-check.yml@6d562b13401684270453f1dedd22f8737110f2f2"
|
|
24
25
|
conditional: false
|
|
25
26
|
rationale: >-
|
|
26
|
-
PR title ticket-reference check:
|
|
27
|
-
node_pr_title_check_compute from a pinned omnimarket release (OMN-20997)
|
|
28
|
-
|
|
29
|
-
# OMN-18854: this is an umbrella member, not a separate protection context.
|
|
30
|
-
- name: "occ-preflight / eligibility"
|
|
31
|
-
workflow: ci.yml
|
|
32
|
-
job_id: occ-preflight
|
|
33
|
-
conditional: true
|
|
34
|
-
condition: "Required on pull_request and merge_group; not applicable on push or workflow_dispatch"
|
|
35
|
-
rationale: >-
|
|
36
|
-
OMN-18854. The shared eligibility validator feeds the required CI Summary
|
|
37
|
-
through the OCC Eligibility Admission job. On pull_request and
|
|
38
|
-
merge_group, only successful preflight passes admission; CI Summary
|
|
39
|
-
requires a successful admission verdict on every event. Failed,
|
|
40
|
-
cancelled, skipped and absent results block. The caller and validator
|
|
41
|
-
source use the same immutable omnibase_core revision.
|
|
27
|
+
PR title ticket-reference check: omnibase_core's reusable runs omnimarket's
|
|
28
|
+
node_pr_title_check_compute from a pinned omnimarket release (OMN-20997);
|
|
29
|
+
the job pr-title calls it with only the omnimarket version (OMN-17427).
|
|
42
30
|
|
|
43
31
|
# -- Phase 1: Quick Validation (parallel, ~2-5 min) -------------------------
|
|
44
32
|
|
|
@@ -133,6 +121,18 @@ required_checks:
|
|
|
133
121
|
the required CI Summary context, which needs: this job and accepts only a
|
|
134
122
|
success result.
|
|
135
123
|
|
|
124
|
+
- name: "Public Runner Placement (OMN-19998)"
|
|
125
|
+
workflow: ci.yml
|
|
126
|
+
job_id: public-runner-placement
|
|
127
|
+
conditional: false
|
|
128
|
+
rationale: >-
|
|
129
|
+
OMN-19998. Operator ruling 2026-10-16T07:07:09Z: CI runners are for
|
|
130
|
+
private repositories only. Refuses a job whose runs-on is, or can resolve
|
|
131
|
+
to, a self-hosted label, using omnibase_core's check at the release the
|
|
132
|
+
pre-commit hook pins. Unconditional (no needs, no if); gates merges
|
|
133
|
+
through the required CI Summary context, which needs: this job and
|
|
134
|
+
accepts only a success result.
|
|
135
|
+
|
|
136
136
|
# -- Phase 2: Full Test Suite ------------------------------------------------
|
|
137
137
|
|
|
138
138
|
- name: "Tests"
|
|
@@ -45,14 +45,8 @@ jobs:
|
|
|
45
45
|
startsWith(github.event.pull_request.title, 'release:') ||
|
|
46
46
|
startsWith(github.event.pull_request.title, 'chore: release') ||
|
|
47
47
|
startsWith(github.event.pull_request.title, 'chore(release)'))
|
|
48
|
-
#
|
|
49
|
-
runs-on:
|
|
50
|
-
${{
|
|
51
|
-
(github.event_name == 'pull_request' &&
|
|
52
|
-
github.event.pull_request.head.repo.full_name != github.repository)
|
|
53
|
-
&& fromJSON(vars.OMNI_PUBLIC_PR_RUNS_ON_JSON || '["ubuntu-latest"]')
|
|
54
|
-
|| fromJSON(vars.OMNI_TRUSTED_CI_RUNS_ON_JSON || '["self-hosted","omnibase-ci"]')
|
|
55
|
-
}}
|
|
48
|
+
# OMN-19998: public repository, GitHub-hosted runner only (RULING 2026-10-16T07:07:09Z)
|
|
49
|
+
runs-on: ubuntu-latest
|
|
56
50
|
permissions:
|
|
57
51
|
contents: read
|
|
58
52
|
steps:
|
|
@@ -61,7 +55,7 @@ jobs:
|
|
|
61
55
|
# separate credential file and includes it through `includeIf.gitdir`, so
|
|
62
56
|
# it overrides the App credential in the push URL below and the push
|
|
63
57
|
# authenticates as github-actions[bot] again.
|
|
64
|
-
- uses: actions/checkout@
|
|
58
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
65
59
|
with:
|
|
66
60
|
persist-credentials: false
|
|
67
61
|
|
{omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/ban-hardcoded-runner-ip.yml
RENAMED
|
@@ -31,7 +31,7 @@ jobs:
|
|
|
31
31
|
# OMN-17993: pinned to an exact SHA, not @main. omniclaude main lags dev by
|
|
32
32
|
# design (release-synced), so @main still resolves to the pre-widening scanner
|
|
33
33
|
# body that scans workflow files only and exits 0 on a tests-only diff.
|
|
34
|
-
uses: OmniNode-ai/omniclaude/.github/workflows/ban-hardcoded-runner-ip.yml@
|
|
34
|
+
uses: OmniNode-ai/omniclaude/.github/workflows/ban-hardcoded-runner-ip.yml@a45ba68f053e9979c6edef21103c0e674e5f7630 # OMN-20074: omniclaude#2656 squash, the reusable scans without the nested change-control preflight
|
|
35
35
|
permissions:
|
|
36
36
|
contents: read
|
|
37
37
|
pull-requests: read
|
|
@@ -28,5 +28,5 @@ permissions:
|
|
|
28
28
|
|
|
29
29
|
jobs:
|
|
30
30
|
call-reject-skip-token:
|
|
31
|
-
uses: OmniNode-ai/omniclaude/.github/workflows/reject-deploy-gate-skip.yml@
|
|
31
|
+
uses: OmniNode-ai/omniclaude/.github/workflows/reject-deploy-gate-skip.yml@b6ca3729f2a9b70ae6518a8c46d08f3c1ebb8c60
|
|
32
32
|
secrets: inherit
|
{omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/call-repo-evidence-gate.yml
RENAMED
|
@@ -24,16 +24,16 @@
|
|
|
24
24
|
# repo-evidence / verify job in this mode as a success no-op (the OCC path,
|
|
25
25
|
# switched off by the input); only repo-evidence / dod-verify carries a verdict.
|
|
26
26
|
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
#
|
|
31
|
-
#
|
|
32
|
-
#
|
|
33
|
-
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
27
|
+
# S6 cut-over (OMN-20074): the caller enforces repo-owned evidence with
|
|
28
|
+
# shadow: "false" and compare-with-occ: "false". Admission no longer compares
|
|
29
|
+
# against OCC. The comparison was switched off on dev first, because this caller
|
|
30
|
+
# runs from dev under pull_request_target and the retiring pull request cannot
|
|
31
|
+
# change the input that judges it. No OCC caller remains in this repository, so
|
|
32
|
+
# the difference step would otherwise wait for a verdict nobody reports.
|
|
33
|
+
# repo-evidence / dod-verify carries the verdict; a repository ruleset on dev is
|
|
34
|
+
# to require that context once the OCC contexts have left the ruleset.
|
|
35
|
+
# Rollback is setting shadow back to "true", which makes every repo-evidence
|
|
36
|
+
# job conclude success again while the cause is found.
|
|
37
37
|
#
|
|
38
38
|
# The reusable is pinned by full SHA to the squash commit of omnibase_core#1932
|
|
39
39
|
# on dev, a descendant of #1914; it carries the `shadow` input. omnimemory does
|
|
@@ -41,9 +41,11 @@
|
|
|
41
41
|
#
|
|
42
42
|
# The pinned reusable refuses a verifier-version below 0.4.303 before installing
|
|
43
43
|
# it (VERIFIER_FLOOR, omnibase_core#1932; OMN-20032), the first release that
|
|
44
|
-
# refuses a contract leaving a criterion unbound.
|
|
45
|
-
# install step
|
|
46
|
-
#
|
|
44
|
+
# refuses a contract leaving a criterion unbound. With shadow "false" that
|
|
45
|
+
# install step blocks. verifier-version 0.4.310 is the first omnimarket release
|
|
46
|
+
# that ships the writer-app and plugin-manifest diff classifiers
|
|
47
|
+
# (omnimarket#3694) and refuses a contract that repeats a mapping key
|
|
48
|
+
# (omnimarket#3751), the version omniclaude and omnidash run.
|
|
47
49
|
|
|
48
50
|
name: Repo Evidence Gate
|
|
49
51
|
|
|
@@ -65,6 +67,6 @@ jobs:
|
|
|
65
67
|
uses: OmniNode-ai/omnibase_core/.github/workflows/receipt-gate.yml@4e4f5e0404d364e296c5d37db6aa3ab9e07f8ffa # OMN-20032: immutable full-SHA pin, the squash commit of omnibase_core#1932 on that repo's dev branch; descends from #1914 (carries the shadow input) and adds the VERIFIER_FLOOR 0.4.303 refusal to the verifier install step
|
|
66
68
|
with:
|
|
67
69
|
evidence-source: caller
|
|
68
|
-
verifier-version: 0.4.
|
|
69
|
-
compare-with-occ: "
|
|
70
|
-
shadow: "
|
|
70
|
+
verifier-version: 0.4.310
|
|
71
|
+
compare-with-occ: "false"
|
|
72
|
+
shadow: "false"
|
|
@@ -28,8 +28,8 @@ jobs:
|
|
|
28
28
|
uses: actions/checkout@v7
|
|
29
29
|
with:
|
|
30
30
|
repository: OmniNode-ai/omnibase_core
|
|
31
|
-
# Auto-bumped by omnibase_core publish-downstream-pin-bump.yml to
|
|
32
|
-
ref:
|
|
31
|
+
# Auto-bumped by omnibase_core publish-downstream-pin-bump.yml to 9b083ad32228.
|
|
32
|
+
ref: 9b083ad32228f078aecfc47f9c71155656b47fae
|
|
33
33
|
path: omnibase_core
|
|
34
34
|
|
|
35
35
|
- name: Verify omnibase_core checkout
|
|
@@ -23,37 +23,6 @@ env:
|
|
|
23
23
|
CACHE_VERSION: "0.1.0"
|
|
24
24
|
|
|
25
25
|
jobs:
|
|
26
|
-
# OMN-18854: the existing eligibility validator must feed the required
|
|
27
|
-
# CI Summary. Other validations remain independent of this evidence gate.
|
|
28
|
-
occ-preflight:
|
|
29
|
-
if: github.event_name == 'pull_request' || github.event_name == 'merge_group'
|
|
30
|
-
permissions:
|
|
31
|
-
contents: read
|
|
32
|
-
pull-requests: read
|
|
33
|
-
uses: OmniNode-ai/omnibase_core/.github/workflows/occ-preflight.yml@13ceae69c246a33c9fc8fc4b33f83fb66b89edc6
|
|
34
|
-
with:
|
|
35
|
-
core-ref: 13ceae69c246a33c9fc8fc4b33f83fb66b89edc6
|
|
36
|
-
contracts-dir: contracts
|
|
37
|
-
receipts-dir: drift/dod_receipts
|
|
38
|
-
|
|
39
|
-
# OMN-18854: evidence admission has its own verdict; shape detectors and
|
|
40
|
-
# their result aggregation do not branch directly on the evidence preflight.
|
|
41
|
-
occ-eligibility:
|
|
42
|
-
name: OCC Eligibility Admission
|
|
43
|
-
runs-on: ubuntu-latest
|
|
44
|
-
needs: occ-preflight
|
|
45
|
-
if: always()
|
|
46
|
-
steps:
|
|
47
|
-
- name: Require eligible evidence on admission events
|
|
48
|
-
run: |
|
|
49
|
-
event="${{ github.event_name }}"
|
|
50
|
-
if [[ "$event" == "pull_request" || "$event" == "merge_group" ]]; then
|
|
51
|
-
if [[ "${{ needs.occ-preflight.result }}" != "success" ]]; then
|
|
52
|
-
echo "::error::occ-preflight did not pass (result: ${{ needs.occ-preflight.result }})"
|
|
53
|
-
exit 1
|
|
54
|
-
fi
|
|
55
|
-
fi
|
|
56
|
-
|
|
57
26
|
# =============================================================================
|
|
58
27
|
# JOB ORDERING RATIONALE (Fail-Fast Optimization)
|
|
59
28
|
# =============================================================================
|
|
@@ -258,10 +227,6 @@ jobs:
|
|
|
258
227
|
- name: Pre-commit dependencies come from package indexes (OMN-19666)
|
|
259
228
|
run: bash tests/test_precommit_additional_dependencies_omn19666.sh
|
|
260
229
|
|
|
261
|
-
# OMN-18854: the same focused regression runs before commit and in CI.
|
|
262
|
-
- name: Verify OCC eligibility enforcement (OMN-18854)
|
|
263
|
-
run: uv run pytest tests/scripts/test_occ_eligibility_enforcement.py -q
|
|
264
|
-
|
|
265
230
|
# SYNC: Pre-commit hook 'validate-gitignore-baseline' at pre-commit stage (OMN-18033)
|
|
266
231
|
# This step and the hook both pin released omnibase-core==0.47.23,
|
|
267
232
|
# matching uv.lock and carrying the packaged baseline spec; move them together.
|
|
@@ -629,65 +594,52 @@ jobs:
|
|
|
629
594
|
|
|
630
595
|
contract-compliance:
|
|
631
596
|
name: Contract Compliance Check
|
|
632
|
-
#
|
|
633
|
-
#
|
|
634
|
-
|
|
635
|
-
# onex-allow-internal-ip OMN-16437 reason="doc comment naming the host this fix routes around; not runnable"
|
|
636
|
-
# `ubuntu-latest` is GitHub-hosted, non-tailnet, and cannot resolve that hostname.
|
|
637
|
-
# Same defect class as OMN-16413 (omnibase_core#1579), OMN-16427
|
|
638
|
-
# (omninode_infra#969), OMN-16428 (omnimarket), and OMN-16431 (omniclaude#2023,
|
|
639
|
-
# same job name/shape) -- adopts the identical fork-aware selector: only an
|
|
640
|
-
# ACTUAL fork PR (head repo != base repo) routes to the public ubuntu-latest
|
|
641
|
-
# runner; every same-repo pull_request, push, and merge_group gets the
|
|
642
|
-
# tailnet-connected self-hosted omnibase-ci fleet, which CAN reach the .201
|
|
643
|
-
# mirror. This does NOT widen the trust boundary: untrusted fork code still
|
|
644
|
-
# never reaches the self-hosted fleet.
|
|
645
|
-
runs-on: >-
|
|
646
|
-
${{
|
|
647
|
-
(github.event_name == 'pull_request' &&
|
|
648
|
-
github.event.pull_request.head.repo.full_name != github.repository)
|
|
649
|
-
&& fromJSON(vars.OMNI_PUBLIC_PR_RUNS_ON_JSON || '["ubuntu-latest"]')
|
|
650
|
-
|| fromJSON(vars.OMNI_TRUSTED_CI_RUNS_ON_JSON || '["self-hosted","omnibase-ci"]')
|
|
651
|
-
}}
|
|
597
|
+
# OMN-19998: public repository, GitHub-hosted runner only (RULING 2026-10-16T07:07:09Z).
|
|
598
|
+
# OMN-20074 S6: validate this repository's contracts with locked core.
|
|
599
|
+
runs-on: ubuntu-latest
|
|
652
600
|
if: github.event_name == 'pull_request' || github.event_name == 'merge_group' || github.event_name == 'push'
|
|
653
601
|
steps:
|
|
654
602
|
- uses: actions/checkout@v7
|
|
655
|
-
# OMN-20001: read the onex_change_control rev pinned in pyproject.toml,
|
|
656
|
-
# never OCC's live default branch.
|
|
657
|
-
- name: Resolve pinned onex_change_control rev
|
|
658
|
-
id: occ-pin
|
|
659
|
-
run: |
|
|
660
|
-
rev="$(grep -oE 'onex_change_control\.git@[0-9a-f]{40}' pyproject.toml | head -1 | cut -d@ -f2)"
|
|
661
|
-
[[ "$rev" =~ ^[0-9a-f]{40}$ ]] || { echo "::error::no pinned onex_change_control rev in pyproject.toml"; exit 1; }
|
|
662
|
-
echo "rev=$rev" >> "$GITHUB_OUTPUT"
|
|
663
|
-
|
|
664
|
-
- name: Checkout onex_change_control
|
|
665
|
-
uses: actions/checkout@v7
|
|
666
|
-
with:
|
|
667
|
-
repository: OmniNode-ai/onex_change_control
|
|
668
|
-
ref: ${{ steps.occ-pin.outputs.rev }}
|
|
669
|
-
path: onex_change_control
|
|
670
|
-
|
|
671
603
|
- uses: astral-sh/setup-uv@v7
|
|
672
604
|
with:
|
|
673
605
|
enable-cache: true
|
|
674
|
-
cache-dependency-glob:
|
|
606
|
+
cache-dependency-glob: uv.lock
|
|
675
607
|
|
|
676
|
-
- name: Install
|
|
677
|
-
|
|
678
|
-
run: uv sync --locked --all-extras
|
|
608
|
+
- name: Install dependencies
|
|
609
|
+
run: uv sync --frozen
|
|
679
610
|
|
|
680
611
|
- name: Validate contract YAML files
|
|
681
|
-
working-directory: onex_change_control
|
|
682
612
|
run: |
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
613
|
+
set -euo pipefail
|
|
614
|
+
# Top-level ticket contracts only: contracts/v1 holds a different shape.
|
|
615
|
+
mapfile -t CONTRACTS < <(find contracts -maxdepth 1 -type f -name "OMN-*.yaml")
|
|
616
|
+
uv run python3 - "${CONTRACTS[@]}" <<'PY'
|
|
617
|
+
import sys
|
|
618
|
+
from pathlib import Path
|
|
619
|
+
|
|
620
|
+
from omnibase_core.models.errors.model_onex_error import ModelOnexError
|
|
621
|
+
from omnibase_core.models.ticket.model_ticket_contract import ModelTicketContract
|
|
622
|
+
|
|
623
|
+
# Named contracts, or every contracts/OMN-*.yaml when none are named.
|
|
624
|
+
paths = [Path(arg) for arg in sys.argv[1:]] or sorted(Path("contracts").glob("OMN-*.yaml"))
|
|
625
|
+
if not paths:
|
|
626
|
+
print("::error::contracts/ holds no OMN-*.yaml ticket contract")
|
|
627
|
+
sys.exit(1)
|
|
628
|
+
|
|
629
|
+
broken = []
|
|
630
|
+
for path in paths:
|
|
631
|
+
try:
|
|
632
|
+
ModelTicketContract.from_yaml(path.read_text(encoding="utf-8"))
|
|
633
|
+
except (OSError, ModelOnexError) as exc:
|
|
634
|
+
broken.append((path, " ".join(str(exc).split())))
|
|
635
|
+
|
|
636
|
+
for path, reason in broken:
|
|
637
|
+
print(f"::error file={path.as_posix()}::{path.as_posix()}: {reason}")
|
|
638
|
+
if broken:
|
|
639
|
+
print(f"ERROR: {len(broken)} of {len(paths)} ticket contract(s) fail omnibase_core's ModelTicketContract.")
|
|
640
|
+
sys.exit(1)
|
|
641
|
+
print(f"OK: {len(paths)} ticket contract(s) pass omnibase_core's ModelTicketContract.")
|
|
642
|
+
PY
|
|
691
643
|
|
|
692
644
|
no-noncanonical-lifecycle-classes:
|
|
693
645
|
name: no-noncanonical-lifecycle-classes
|
|
@@ -831,7 +783,7 @@ jobs:
|
|
|
831
783
|
runs-on: ubuntu-latest
|
|
832
784
|
timeout-minutes: 15
|
|
833
785
|
env:
|
|
834
|
-
CANONICAL_FILE_SHAPE_CORE: "omnibase-core @ git+https://github.com/OmniNode-ai/omnibase_core@
|
|
786
|
+
CANONICAL_FILE_SHAPE_CORE: "omnibase-core @ git+https://github.com/OmniNode-ai/omnibase_core@dev-20261023085853-9d65b648bff5"
|
|
835
787
|
steps:
|
|
836
788
|
- name: Checkout code
|
|
837
789
|
uses: actions/checkout@v7
|
|
@@ -899,21 +851,120 @@ jobs:
|
|
|
899
851
|
python -m omnibase_core.validators.canonical_file_shape --head HEAD
|
|
900
852
|
fi
|
|
901
853
|
|
|
854
|
+
- name: Node-home positive control (planted node refused, clean tree accepted)
|
|
855
|
+
run: |
|
|
856
|
+
set -u
|
|
857
|
+
node_home() {
|
|
858
|
+
uv run --no-project --with "$CANONICAL_FILE_SHAPE_CORE" \
|
|
859
|
+
python -m omnibase_core.nodes.node_node_home_check_compute.runtime_node_home_check "$@"
|
|
860
|
+
}
|
|
861
|
+
planted=src/omnimemory/nodes/node_zz_canary_planted_compute
|
|
862
|
+
mkdir -p "$planted"
|
|
863
|
+
printf 'name: node_zz_canary_planted_compute\n' > "$planted/contract.yaml"
|
|
864
|
+
printf 'class NodeZzCanaryPlantedCompute:\n pass\n' > "$planted/handler.py"
|
|
865
|
+
git add "$planted"
|
|
866
|
+
if node_home; then
|
|
867
|
+
echo "POSITIVE CONTROL FAILED: planted $planted was accepted"
|
|
868
|
+
exit 1
|
|
869
|
+
fi
|
|
870
|
+
echo "positive control: planted node refused"
|
|
871
|
+
git rm -q -r --cached "$planted"
|
|
872
|
+
rm -r "$planted"
|
|
873
|
+
node_home
|
|
874
|
+
echo "positive control: clean tree accepted"
|
|
875
|
+
|
|
876
|
+
- name: Refuse new ONEX nodes outside omnimarket (OMN-20702)
|
|
877
|
+
env:
|
|
878
|
+
EVENT_NAME: ${{ github.event_name }}
|
|
879
|
+
PR_BASE: ${{ github.event.pull_request.base.sha }}
|
|
880
|
+
MQ_BASE: ${{ github.event.merge_group.base_sha }}
|
|
881
|
+
PUSH_BEFORE: ${{ github.event.before }}
|
|
882
|
+
run: |
|
|
883
|
+
set -u
|
|
884
|
+
node_home() {
|
|
885
|
+
uv run --no-project --with "$CANONICAL_FILE_SHAPE_CORE" \
|
|
886
|
+
python -m omnibase_core.nodes.node_node_home_check_compute.runtime_node_home_check "$@"
|
|
887
|
+
}
|
|
888
|
+
base="${PR_BASE:-${MQ_BASE:-${PUSH_BEFORE:-}}}"
|
|
889
|
+
if [ -n "$base" ] && git cat-file -e "${base}^{commit}" 2>/dev/null; then
|
|
890
|
+
base="$(git merge-base "$base" HEAD)"
|
|
891
|
+
node_home --base "$base"
|
|
892
|
+
elif [ "$EVENT_NAME" = "pull_request" ] || [ "$EVENT_NAME" = "merge_group" ]; then
|
|
893
|
+
echo "node-home ratchet: no resolvable base revision on $EVENT_NAME; refusing"
|
|
894
|
+
exit 1
|
|
895
|
+
else
|
|
896
|
+
echo "no base revision on this event; checking the tree against HEAD"
|
|
897
|
+
node_home --base HEAD
|
|
898
|
+
fi
|
|
899
|
+
|
|
900
|
+
# OMN-19998: public-repository runner placement (RULING 2026-10-16T07:07:09Z,
|
|
901
|
+
# "Ci runners should be for private repos only"). omnibase_core's check refuses
|
|
902
|
+
# a job whose runs-on is, or can resolve to, a self-hosted label unless core's
|
|
903
|
+
# shrink-only baseline (shipped in the package, not editable here) records it,
|
|
904
|
+
# and refuses a baselined job that is new or newly self-hosted against the base.
|
|
905
|
+
# Same core release as the check-public-runner-placement pre-commit hook.
|
|
906
|
+
# Unconditional: no `if:`, no `needs:`; a CI Summary member below.
|
|
907
|
+
public-runner-placement:
|
|
908
|
+
name: Public Runner Placement (OMN-19998)
|
|
909
|
+
runs-on: ubuntu-latest
|
|
910
|
+
timeout-minutes: 10
|
|
911
|
+
env:
|
|
912
|
+
# The published release whose tag v0.47.46 is the pre-commit hook's rev.
|
|
913
|
+
RUNNER_PLACEMENT_CORE: "omnibase-core==0.47.46"
|
|
914
|
+
steps:
|
|
915
|
+
- name: Checkout code
|
|
916
|
+
uses: actions/checkout@v7
|
|
917
|
+
with:
|
|
918
|
+
fetch-depth: 0
|
|
919
|
+
- name: Set up Python
|
|
920
|
+
uses: actions/setup-python@v7
|
|
921
|
+
with:
|
|
922
|
+
python-version: "3.12"
|
|
923
|
+
- name: Install uv
|
|
924
|
+
uses: astral-sh/setup-uv@v7
|
|
925
|
+
with:
|
|
926
|
+
version: "0.8.3"
|
|
927
|
+
- name: Positive control (planted self-hosted job refused)
|
|
928
|
+
run: |
|
|
929
|
+
set -u
|
|
930
|
+
printf 'on: push\njobs:\n planted:\n runs-on: [self-hosted, omnibase-ci]\n steps:\n - run: "true"\n' \
|
|
931
|
+
> .github/workflows/zz-canary-planted.yml
|
|
932
|
+
git add .github/workflows/zz-canary-planted.yml
|
|
933
|
+
if uv run --no-project --with "$RUNNER_PLACEMENT_CORE" \
|
|
934
|
+
python -m omnibase_core.handlers.handler_public_runner_placement_cli --repo omnimemory \
|
|
935
|
+
.github/workflows/zz-canary-planted.yml; then
|
|
936
|
+
echo "POSITIVE CONTROL FAILED: planted self-hosted job was accepted"
|
|
937
|
+
exit 1
|
|
938
|
+
fi
|
|
939
|
+
echo "positive control: planted self-hosted job refused"
|
|
940
|
+
git rm -q --cached .github/workflows/zz-canary-planted.yml
|
|
941
|
+
rm .github/workflows/zz-canary-planted.yml
|
|
942
|
+
- name: Refuse new self-hosted jobs in this public repository
|
|
943
|
+
env:
|
|
944
|
+
PR_BASE: ${{ github.event.pull_request.base.sha }}
|
|
945
|
+
MQ_BASE: ${{ github.event.merge_group.base_sha }}
|
|
946
|
+
PUSH_BEFORE: ${{ github.event.before }}
|
|
947
|
+
run: |
|
|
948
|
+
set -u
|
|
949
|
+
base="${PR_BASE:-${MQ_BASE:-${PUSH_BEFORE:-}}}"
|
|
950
|
+
args=(--repo omnimemory --visibility public)
|
|
951
|
+
if [ -n "$base" ] && git cat-file -e "${base}^{commit}" 2>/dev/null; then
|
|
952
|
+
args+=(--base-ref "$(git merge-base "$base" HEAD)")
|
|
953
|
+
else
|
|
954
|
+
echo "no base revision on this event; checking the tree against the baseline only"
|
|
955
|
+
fi
|
|
956
|
+
uv run --no-project --with "$RUNNER_PLACEMENT_CORE" \
|
|
957
|
+
python -m omnibase_core.handlers.handler_public_runner_placement_cli "${args[@]}"
|
|
958
|
+
|
|
902
959
|
ci-summary:
|
|
903
960
|
name: CI Summary
|
|
904
961
|
runs-on: ubuntu-latest
|
|
905
|
-
needs: [migration-freeze, lint, pyright, onex-validation, transport-import-guard, contract-validation, io-audit, check-handshake, test-select, tests-gate, compliance, contract-compliance, no-noncanonical-lifecycle-classes, detect-secrets, shape-gate-independence, canonical-file-shape,
|
|
962
|
+
needs: [migration-freeze, lint, pyright, onex-validation, transport-import-guard, contract-validation, io-audit, check-handshake, test-select, tests-gate, compliance, contract-compliance, no-noncanonical-lifecycle-classes, detect-secrets, shape-gate-independence, canonical-file-shape, public-runner-placement]
|
|
906
963
|
if: always()
|
|
907
964
|
|
|
908
965
|
steps:
|
|
909
966
|
- name: Check test results
|
|
910
967
|
run: |
|
|
911
|
-
# OMN-18854: require the admission verdict on every event. That job
|
|
912
|
-
# judges eligibility on PR/queue events and passes non-admission events.
|
|
913
|
-
if [[ "${{ needs.occ-eligibility.result }}" != "success" ]]; then
|
|
914
|
-
echo "::error::occ-eligibility did not pass (result: ${{ needs.occ-eligibility.result }})"
|
|
915
|
-
exit 1
|
|
916
|
-
fi
|
|
917
968
|
# OMN-14350: strict fail-closed gate on the non-canonical lifecycle-class
|
|
918
969
|
# ratchet - only 'success' passes; skipped/cancelled/failure ALL block. It is
|
|
919
970
|
# in needs: so this job WAITS for it (no race).
|
|
@@ -940,6 +991,12 @@ jobs:
|
|
|
940
991
|
echo "::error::canonical-file-shape ratchet did not pass (result: ${{ needs.canonical-file-shape.result }}) - fail-closed (OMN-20304)"
|
|
941
992
|
exit 1
|
|
942
993
|
fi
|
|
994
|
+
# OMN-19998: strict fail-closed gate on public-repository runner
|
|
995
|
+
# placement - only 'success' passes; skipped/cancelled/failure ALL block.
|
|
996
|
+
if [[ "${{ needs.public-runner-placement.result }}" != "success" ]]; then
|
|
997
|
+
echo "::error::public-runner-placement did not pass (result: ${{ needs.public-runner-placement.result }}) - fail-closed (OMN-19998)"
|
|
998
|
+
exit 1
|
|
999
|
+
fi
|
|
943
1000
|
migration_freeze="${{ needs.migration-freeze.result }}"
|
|
944
1001
|
lint="${{ needs.lint.result }}"
|
|
945
1002
|
pyright="${{ needs.pyright.result }}"
|
|
@@ -41,13 +41,8 @@ concurrency:
|
|
|
41
41
|
jobs:
|
|
42
42
|
contract-validation:
|
|
43
43
|
name: contract-validation
|
|
44
|
-
#
|
|
45
|
-
runs-on:
|
|
46
|
-
${{
|
|
47
|
-
github.event_name != 'pull_request'
|
|
48
|
-
&& fromJSON(vars.OMNI_TRUSTED_CI_RUNS_ON_JSON || '["self-hosted","omnibase-ci"]')
|
|
49
|
-
|| fromJSON(vars.OMNI_PUBLIC_PR_RUNS_ON_JSON || '["ubuntu-latest"]')
|
|
50
|
-
}}
|
|
44
|
+
# OMN-19998: public repository, GitHub-hosted runner only (RULING 2026-10-16T07:07:09Z)
|
|
45
|
+
runs-on: ubuntu-latest
|
|
51
46
|
timeout-minutes: 10
|
|
52
47
|
|
|
53
48
|
steps:
|
|
@@ -83,7 +78,7 @@ jobs:
|
|
|
83
78
|
|
|
84
79
|
- name: Check out calling repository
|
|
85
80
|
if: steps.resolve-branch.outputs.skip_validation != 'true'
|
|
86
|
-
uses: actions/checkout@
|
|
81
|
+
uses: actions/checkout@v7
|
|
87
82
|
with:
|
|
88
83
|
ref: ${{ github.sha }}
|
|
89
84
|
persist-credentials: false
|
|
@@ -12,10 +12,8 @@
|
|
|
12
12
|
# This gate is a pure static provenance check (no network calls). It FAILS if
|
|
13
13
|
# any of omnibase-core / omnibase-spi / omnibase-compat (hyphen or underscore
|
|
14
14
|
# spelling) has a git / rev / branch / tag source override in pyproject.toml's
|
|
15
|
-
# [tool.uv.sources] block.
|
|
16
|
-
#
|
|
17
|
-
# with an inline '# raw-override-ok: <ticket>' comment carrying a non-empty
|
|
18
|
-
# token.
|
|
15
|
+
# [tool.uv.sources] block. A single line may be exempted with an inline
|
|
16
|
+
# '# raw-override-ok: <ticket>' comment carrying a non-empty token.
|
|
19
17
|
#
|
|
20
18
|
# Scoping: the whole-file gate runs only when a PR actually modifies
|
|
21
19
|
# pyproject.toml (a forbidden override cannot be introduced without editing
|
|
@@ -55,7 +53,7 @@ jobs:
|
|
|
55
53
|
|
|
56
54
|
- name: Checkout
|
|
57
55
|
if: ${{ github.event_name == 'pull_request' }}
|
|
58
|
-
uses: actions/checkout@
|
|
56
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
59
57
|
with:
|
|
60
58
|
fetch-depth: 0
|
|
61
59
|
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 OmniNode.ai Inc.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
#
|
|
4
|
+
# dev-merge-tag.yml (OMN-19998)
|
|
5
|
+
#
|
|
6
|
+
# Every push to dev gets a lightweight tag dev-<UTC YYYYMMDDHHMMSS>-<sha12> on
|
|
7
|
+
# the pushed commit. omnimemory is a sibling consumed by omnimarket: a
|
|
8
|
+
# consumer can read it through a uv git source pinned to one of these tags
|
|
9
|
+
# instead of waiting for a PyPI release, and a release is cut only when an
|
|
10
|
+
# outside user needs one (RULING 2026-10-16T09:35:49Z). The tag is made here
|
|
11
|
+
# so that it exists for every dev merge without anyone remembering to cut it.
|
|
12
|
+
# Same mechanism as omnimarket's and omnibase_infra's dev-merge-tag.yml.
|
|
13
|
+
#
|
|
14
|
+
# The timestamp is the commit's committer time in UTC, not the run's clock, so
|
|
15
|
+
# a rerun for the same commit computes the same name. The step is idempotent on
|
|
16
|
+
# the sha: when any dev-*-<sha12> tag already exists on the remote it pushes
|
|
17
|
+
# nothing. Names sort by time, so the newest tag is the last in a plain sort.
|
|
18
|
+
#
|
|
19
|
+
# No tag on main, on a pull request branch or on any other ref: the trigger is
|
|
20
|
+
# `push` to `dev` only and the job repeats that check.
|
|
21
|
+
#
|
|
22
|
+
# The push uses the job's workflow token on purpose. A tag pushed with that
|
|
23
|
+
# token starts no workflow, and nothing should start from a dev-* tag:
|
|
24
|
+
# consumers read the tags by polling, and `release.yml` only listens for v*
|
|
25
|
+
# tags. A dev merge therefore cannot fan out into extra runs.
|
|
26
|
+
#
|
|
27
|
+
# tests/ci/test_dev_merge_tag_workflow_omn19998.py runs the tag step below
|
|
28
|
+
# against a throwaway repository and pins the name, idempotency and dry run.
|
|
29
|
+
name: Dev Merge Tag
|
|
30
|
+
|
|
31
|
+
on:
|
|
32
|
+
push:
|
|
33
|
+
branches: [dev]
|
|
34
|
+
|
|
35
|
+
concurrency:
|
|
36
|
+
group: ${{ github.workflow }}-${{ github.sha }}
|
|
37
|
+
cancel-in-progress: false
|
|
38
|
+
|
|
39
|
+
jobs:
|
|
40
|
+
dev-merge-tag:
|
|
41
|
+
if: github.ref == 'refs/heads/dev'
|
|
42
|
+
# GitHub-hosted by literal: this is a public repository and CI runners are
|
|
43
|
+
# for private repositories only (RULING 2026-10-16T07:07:09Z, OMN-19998).
|
|
44
|
+
runs-on: ubuntu-latest
|
|
45
|
+
timeout-minutes: 5
|
|
46
|
+
permissions:
|
|
47
|
+
contents: write
|
|
48
|
+
steps:
|
|
49
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
50
|
+
with:
|
|
51
|
+
fetch-depth: 1
|
|
52
|
+
|
|
53
|
+
- name: Create the dev merge tag
|
|
54
|
+
id: tag
|
|
55
|
+
env:
|
|
56
|
+
SHA: ${{ github.sha }}
|
|
57
|
+
DRY_RUN: 'false'
|
|
58
|
+
run: |
|
|
59
|
+
set -euo pipefail
|
|
60
|
+
|
|
61
|
+
if ! [[ "${SHA}" =~ ^[0-9a-f]{40}$ ]]; then
|
|
62
|
+
echo "::error::not a full commit sha: '${SHA}'"
|
|
63
|
+
exit 1
|
|
64
|
+
fi
|
|
65
|
+
SHA12="${SHA:0:12}"
|
|
66
|
+
|
|
67
|
+
STAMP=$(TZ=UTC0 git log -1 --format=%cd --date=format-local:%Y%m%d%H%M%S "${SHA}")
|
|
68
|
+
TAG="dev-${STAMP}-${SHA12}"
|
|
69
|
+
|
|
70
|
+
emit() {
|
|
71
|
+
if [ -n "${GITHUB_OUTPUT:-}" ]; then
|
|
72
|
+
printf 'tag=%s\ncreated=%s\n' "$1" "$2" >> "${GITHUB_OUTPUT}"
|
|
73
|
+
fi
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
EXISTING=$(git ls-remote --tags origin 'refs/tags/dev-*' |
|
|
77
|
+
awk -v suffix="-${SHA12}" '
|
|
78
|
+
length($2) > length(suffix) &&
|
|
79
|
+
substr($2, length($2) - length(suffix) + 1) == suffix {
|
|
80
|
+
sub(/^refs\/tags\//, "", $2); print $2
|
|
81
|
+
}' | LC_ALL=C sort | head -n 1)
|
|
82
|
+
if [ -n "${EXISTING}" ]; then
|
|
83
|
+
echo "dev tag ${EXISTING} already names ${SHA}; nothing to push"
|
|
84
|
+
emit "${EXISTING}" false
|
|
85
|
+
exit 0
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
if [ "${DRY_RUN}" = "true" ]; then
|
|
89
|
+
echo "dry run: would push lightweight tag ${TAG} -> ${SHA}"
|
|
90
|
+
emit "${TAG}" false
|
|
91
|
+
exit 0
|
|
92
|
+
fi
|
|
93
|
+
|
|
94
|
+
git tag "${TAG}" "${SHA}"
|
|
95
|
+
PUSH_STATUS=0
|
|
96
|
+
git push origin "refs/tags/${TAG}" || PUSH_STATUS=$?
|
|
97
|
+
if [ "${PUSH_STATUS}" -ne 0 ]; then
|
|
98
|
+
# A concurrent run for the same commit may have pushed the same name.
|
|
99
|
+
REMOTE_SHA=$(git ls-remote --tags origin "refs/tags/${TAG}" | awk '{print $1}')
|
|
100
|
+
if [ "${REMOTE_SHA}" != "${SHA}" ]; then
|
|
101
|
+
echo "::error::push of ${TAG} failed (exit ${PUSH_STATUS}) and the remote does not hold it at ${SHA}"
|
|
102
|
+
exit 1
|
|
103
|
+
fi
|
|
104
|
+
echo "${TAG} was pushed by a concurrent run; nothing to do"
|
|
105
|
+
emit "${TAG}" false
|
|
106
|
+
exit 0
|
|
107
|
+
fi
|
|
108
|
+
|
|
109
|
+
echo "pushed lightweight tag ${TAG} -> ${SHA}"
|
|
110
|
+
emit "${TAG}" true
|
|
111
|
+
if [ -n "${GITHUB_STEP_SUMMARY:-}" ]; then
|
|
112
|
+
echo "Dev merge tag: \`${TAG}\`" >> "${GITHUB_STEP_SUMMARY}"
|
|
113
|
+
fi
|
{omninode_memory-0.18.5 → omninode_memory-0.18.7}/.github/workflows/hardcoded-model-config.yml
RENAMED
|
@@ -19,6 +19,6 @@ concurrency:
|
|
|
19
19
|
|
|
20
20
|
jobs:
|
|
21
21
|
hardcoded-model-config:
|
|
22
|
-
uses: OmniNode-ai/omniclaude/.github/workflows/hardcoded-model-config-reusable.yml@
|
|
22
|
+
uses: OmniNode-ai/omniclaude/.github/workflows/hardcoded-model-config-reusable.yml@b6ca3729f2a9b70ae6518a8c46d08f3c1ebb8c60
|
|
23
23
|
with:
|
|
24
24
|
core_ref: f873d2c30201c05d4be020fa0b281b5edbfb8307
|
|
@@ -41,6 +41,6 @@ concurrency:
|
|
|
41
41
|
|
|
42
42
|
jobs:
|
|
43
43
|
kb-doc-gate:
|
|
44
|
-
uses: OmniNode-ai/omniclaude/.github/workflows/kb-doc-gate-reusable.yml@
|
|
44
|
+
uses: OmniNode-ai/omniclaude/.github/workflows/kb-doc-gate-reusable.yml@b6ca3729f2a9b70ae6518a8c46d08f3c1ebb8c60
|
|
45
45
|
with:
|
|
46
46
|
mode: strict
|