Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions scripts/check_contract_topic_parity.py
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,16 @@
# --- cross-repo intelligence/memory topics ---
"onex.evt.omniintelligence.pattern-refined.v1": "cross-repo topic; contract.yaml in omniintelligence repo | owner: jonah | expiry: 2026-09-01",
"onex.evt.omnimemory.document-ingested.v1": "cross-repo topic; contract.yaml in omnimemory repo | owner: jonah | expiry: 2026-09-01",
# --- git/linear relay topics (OMN-8605) — no contract.yaml; producers are future-work, not yet implemented ---
"onex.evt.git.hook.v1": "OMN-8605; no contract.yaml; producer (onex-git-hook-relay) is future-work, not yet implemented | owner: jonah | expiry: 2026-09-01",
"onex.evt.linear.snapshot.v1": "OMN-8605; no contract.yaml; producer (onex-linear-relay) is future-work, not yet implemented | owner: jonah | expiry: 2026-09-01",
# --- omniclaude injection effectiveness topics (OMN-8605) — no contract.yaml; producers not yet implemented ---
"onex.evt.omniclaude.context-utilization.v1": "OMN-8605; no contract.yaml; producer not yet implemented — topic suffix added ahead of producer work | owner: jonah | expiry: 2026-09-01",
"onex.evt.omniclaude.agent-match.v1": "OMN-8605; no contract.yaml; producer not yet implemented — topic suffix added ahead of producer work | owner: jonah | expiry: 2026-09-01",
"onex.evt.omniclaude.latency-breakdown.v1": "OMN-8605; no contract.yaml; producer not yet implemented — topic suffix added ahead of producer work | owner: jonah | expiry: 2026-09-01",
"onex.evt.omniclaude.manifest-injection-started.v1": "OMN-8605; no contract.yaml; producer not yet implemented — topic suffix added ahead of producer work | owner: jonah | expiry: 2026-09-01",
"onex.evt.omniclaude.manifest-injected.v1": "OMN-8605; no contract.yaml; producer not yet implemented — topic suffix added ahead of producer work | owner: jonah | expiry: 2026-09-01",
"onex.evt.omniclaude.manifest-injection-failed.v1": "OMN-8605; no contract.yaml; producer not yet implemented — topic suffix added ahead of producer work | owner: jonah | expiry: 2026-09-01",
}
# fmt: on

Expand Down
29 changes: 27 additions & 2 deletions src/omnibase_infra/topics/platform_topic_suffixes.py
Original file line number Diff line number Diff line change
Expand Up @@ -889,6 +889,24 @@
"cleanup.policy": "delete",
}, # 1 day — commands are short-lived
),
# Git hook relay events (3 partitions — low-throughput, OMN-8605)
ModelTopicSpec(
suffix=SUFFIX_GIT_HOOK,
partitions=3,
kafka_config={
"retention.ms": "604800000",
"cleanup.policy": "delete",
}, # 7 days
),
# Linear snapshot relay events (3 partitions — low-throughput, OMN-8605)
ModelTopicSpec(
suffix=SUFFIX_LINEAR_SNAPSHOT,
partitions=3,
kafka_config={
"retention.ms": "604800000",
"cleanup.policy": "delete",
}, # 7 days
),
)
"""Omnibase_infra domain topic specs for internal effect nodes.

Expand Down Expand Up @@ -1213,9 +1231,16 @@
SUFFIX_OMNICLAUDE_AGENT_STATUS,
SUFFIX_OMNICLAUDE_SESSION_ENDED,
SUFFIX_OMNICLAUDE_TOOL_EXECUTED,
SUFFIX_OMNICLAUDE_CONTEXT_UTILIZATION,
SUFFIX_OMNICLAUDE_AGENT_MATCH,
SUFFIX_OMNICLAUDE_LATENCY_BREAKDOWN,
SUFFIX_OMNICLAUDE_MANIFEST_INJECTION_STARTED,
SUFFIX_OMNICLAUDE_MANIFEST_INJECTED,
SUFFIX_OMNICLAUDE_MANIFEST_INJECTION_FAILED,
)
"""Agent observability topic suffixes consumed by ServiceAgentActionsConsumer and
agent learning extraction consumer (OMN-7242)."""
"""Agent observability topic suffixes consumed by ServiceAgentActionsConsumer,
injection effectiveness consumer (OMN-1889, OMN-2942), and agent learning
extraction consumer (OMN-7242)."""

# =============================================================================
# OMNICLAUDE CONTEXT AUDIT TOPIC SUFFIXES (OMN-5240)
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/test_topic_suffix_exports.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import pytest

from omnibase_infra.topics import __init__ as topics_init
import omnibase_infra.topics as topics_init
from omnibase_infra.topics import platform_topic_suffixes


Expand Down
8 changes: 7 additions & 1 deletion tests/unit/contracts/test_protocol_ownership.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,9 @@
# === [RUNTIME] Runtime-internal protocols ===
"ProtocolContractDescriptor": "runtime/protocol_contract_descriptor.py",
"ProtocolContractSource": "runtime/protocol_contract_source.py",
# ProtocolDomainPlugin moved to omnibase_spi.protocols.runtime (OMN-8550)
# [RUNTIME] OMN-8550: canonical location pending resolution. Currently present in omnibase_infra.runtime.protocol_domain_plugin.
# See OMN-8550 for SPI migration status. Follow-up tracked separately.
"ProtocolDomainPlugin": "runtime/protocol_domain_plugin.py",
"ProtocolHandlerPluginLoader": "runtime/protocol_handler_plugin_loader.py",
"ProtocolHandlerDiscovery": "runtime/protocol_handler_discovery.py",
"ProtocolPolicy": "runtime/protocol_policy.py",
Expand Down Expand Up @@ -152,6 +154,10 @@
"ProtocolIntentEffect": [
"nodes/node_contract_registry_reducer/contract_registration_event_router.py",
],
# [NODE] OMN-7484: node_baseline_capture has its own publisher protocol (legitimate internal copy)
"ProtocolPublisher": [
"nodes/node_baseline_capture/handlers/handler_baseline_capture.py",
],
}


Expand Down
13 changes: 13 additions & 0 deletions tests/unit/topics/test_platform_topic_suffixes.py
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,7 @@ def test_omniclaude_skill_topics_use_1_partition(self) -> None:
SUFFIX_OMNICLAUDE_AGENT_ACTIONS,
SUFFIX_OMNICLAUDE_AGENT_ACTIONS_DLQ,
SUFFIX_OMNICLAUDE_AGENT_EXECUTION_LOGS,
SUFFIX_OMNICLAUDE_AGENT_MATCH,
SUFFIX_OMNICLAUDE_AGENT_OBSERVABILITY_DLQ,
SUFFIX_OMNICLAUDE_AGENT_STATUS,
SUFFIX_OMNICLAUDE_AGENT_TRACE_FIX_TRANSITION,
Expand All @@ -528,7 +529,12 @@ def test_omniclaude_skill_topics_use_1_partition(self) -> None:
SUFFIX_OMNICLAUDE_AUDIT_RETURN_BOUNDED,
SUFFIX_OMNICLAUDE_AUDIT_SCOPE_VIOLATION,
SUFFIX_OMNICLAUDE_CONTEXT_AUDIT_DLQ,
SUFFIX_OMNICLAUDE_CONTEXT_UTILIZATION,
SUFFIX_OMNICLAUDE_DETECTION_FAILURE,
SUFFIX_OMNICLAUDE_LATENCY_BREAKDOWN,
SUFFIX_OMNICLAUDE_MANIFEST_INJECTED,
SUFFIX_OMNICLAUDE_MANIFEST_INJECTION_FAILED,
SUFFIX_OMNICLAUDE_MANIFEST_INJECTION_STARTED,
SUFFIX_OMNICLAUDE_PERFORMANCE_METRICS,
SUFFIX_OMNICLAUDE_ROUTING_DECISION,
SUFFIX_OMNICLAUDE_SESSION_ENDED,
Expand Down Expand Up @@ -559,6 +565,13 @@ def test_omniclaude_skill_topics_use_1_partition(self) -> None:
# Agent learning extraction topics (OMN-7242) — observability consumer throughput
SUFFIX_OMNICLAUDE_SESSION_ENDED,
SUFFIX_OMNICLAUDE_TOOL_EXECUTED,
# Injection effectiveness topics (OMN-1889, OMN-2942) — observability consumer throughput
SUFFIX_OMNICLAUDE_CONTEXT_UTILIZATION,
SUFFIX_OMNICLAUDE_AGENT_MATCH,
SUFFIX_OMNICLAUDE_LATENCY_BREAKDOWN,
SUFFIX_OMNICLAUDE_MANIFEST_INJECTION_STARTED,
SUFFIX_OMNICLAUDE_MANIFEST_INJECTED,
SUFFIX_OMNICLAUDE_MANIFEST_INJECTION_FAILED,
}
for spec in ALL_OMNICLAUDE_TOPIC_SPECS:
if spec.suffix in three_partition_suffixes:
Expand Down
Loading