Skip to content

fix(test): repair 3 cascading main regressions [OMN-8605, OMN-8550] - #1267

Merged
jonahgabriel merged 3 commits into
mainfrom
jonah/fix-cascading-omn8605-omn8550-2026-04-13
Apr 13, 2026
Merged

jonahgabriel merged 3 commits into
mainfrom
jonah/fix-cascading-omn8605-omn8550-2026-04-13

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Apr 13, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

These are main-branch test regressions that landed from PRs #1264 (OMN-8605) and #1262 (OMN-8550) without test verification. They block PR #1266 from going green. No new tickets filed per standing rule — OMN-8605 and OMN-8550 are the parent tickets.

  • Fix 1 (test_topic_suffix_exports.py): from omnibase_infra.topics import __init__ as topics_init resolved to a method-wrapper, not the module. Replaced with import omnibase_infra.topics as topics_init.
  • Fix 2 (test_protocol_ownership.py): KNOWN_DUPLICATE_LOCATIONS["ProtocolPublisher"] was missing node_baseline_capture/handlers/handler_baseline_capture.py (added by OMN-7484). Also adds ProtocolDomainPlugin to the main allowlist — the infra copy is still present as a backward-compat shim post OMN-8550 SPI migration.
  • Fix 3 (test_topic_parity.py + check_contract_topic_parity.py): 8 SUFFIX_* constants added in fix(omnibase_infra): eliminate HARDCODED_TOPIC + UNDECLARED_TRANSPORT violations [OMN-8605] #1264 had no spec group entries. Added 6 omniclaude injection-effectiveness topics (OMN-1889, OMN-2942) to _OMNICLAUDE_AGENT_OBSERVABILITY_TOPIC_SUFFIXES. Added SUFFIX_GIT_HOOK and SUFFIX_LINEAR_SNAPSHOT to ALL_OMNIBASE_INFRA_TOPIC_SPECS. All 8 also added to _LEGACY_ALLOWLIST (cross-repo producers, no node contract in this repo).

Test plan

  • tests/integration/test_topic_suffix_exports.py — 2/2 pass
  • tests/ci/test_topic_parity.py — 2/2 pass
  • tests/unit/contracts/test_protocol_ownership.py — 6/6 pass
  • pre-commit run --all-files — all hooks pass

Summary by CodeRabbit

  • Chores

    • Added new infrastructure topics for Git/linear relays and OmniClaude observability (injection effectiveness and lifecycle).
    • Increased topic retention/partitioning defaults for consistency.
    • Expanded legacy allowlists to recognize the new topic suffixes and known protocol locations.
    • Clarified which consumers process the new observability topics.
  • Tests

    • Updated integration/unit tests and test allowlists to cover the new topics and import surface.

Fallout from PRs #1264 (OMN-8605) and #1262 (OMN-8550) which landed on
main without test verification, blocking PR #1266 from going green.

Fix 1 — test_topic_suffix_exports.py:
  `from omnibase_infra.topics import __init__ as topics_init` resolved to
  a method-wrapper, not the module. Replace with a standard module import.

Fix 2 — test_protocol_ownership.py:
  KNOWN_DUPLICATE_LOCATIONS["ProtocolPublisher"] was missing the
  node_baseline_capture entry added by OMN-7484. Also allowlists
  ProtocolDomainPlugin (still present in runtime/ as a backward-compat
  shim post OMN-8550 SPI migration).

Fix 3 — test_topic_parity.py / check_contract_topic_parity.py:
  8 SUFFIX_* constants added in #1264 had no spec group entries:
    - 6 omniclaude injection-effectiveness topics (OMN-1889, OMN-2942)
      added to _OMNICLAUDE_AGENT_OBSERVABILITY_TOPIC_SUFFIXES in
      platform_topic_suffixes.py, and to _LEGACY_ALLOWLIST (cross-repo,
      contract.yaml lives in omniclaude).
    - onex.evt.git.hook.v1 and onex.evt.linear.snapshot.v1 added to
      ALL_OMNIBASE_INFRA_TOPIC_SPECS (3 partitions, 7-day retention),
      and to _LEGACY_ALLOWLIST (CLI relay producers, no node contract).

No new tickets filed per standing rule — OMN-8605 and OMN-8550 are
the parent tickets for these regressions.
@github-actions
github-actions Bot enabled auto-merge April 13, 2026 12:14
@coderabbitai

coderabbitai Bot commented Apr 13, 2026 •

Copy link
Copy Markdown

Warning

Rate limit exceeded

@jonahgabriel has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 3 minutes and 19 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 3 minutes and 19 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 66786cbd-1683-4ab5-8599-b0c264cb9838

📥 Commits

Reviewing files that changed from the base of the PR and between 63ce3d5 and ca87056.

📒 Files selected for processing (1)
  • tests/unit/topics/test_platform_topic_suffixes.py
📝 Walkthrough

Walkthrough

Adds eight new topic suffix entries (two relay topics, six OmniClaude observability topics), registers corresponding topic specs, updates a module docstring about consumers, adjusts a legacy allowlist, and makes small test import and test-allowlist updates.

Changes

Cohort / File(s) Summary
Topic allowlist script
scripts/check_contract_topic_parity.py
Extended the module-level _LEGACY_ALLOWLIST with 8 new topic suffix entries (reasons/owners/expiry metadata), marking them as lacking contract.yaml coverage. No logic changes.
OmniBase infra topic specs
src/omnibase_infra/topics/platform_topic_suffixes.py
Added two relay topic ModelTopicSpec entries (SUFFIX_GIT_HOOK, SUFFIX_LINEAR_SNAPSHOT) and six OmniClaude observability topic specs (context-utilization, agent-match, latency-breakdown, manifest-injection-started/injected/failed); updated docstring to list additional consumers.
Tests — exports & contracts
tests/integration/test_topic_suffix_exports.py, tests/unit/contracts/test_protocol_ownership.py
Adjusted test import to import omnibase_infra.topics as topics_init; updated test allowlists: added ProtocolDomainPlugin mapping and added an additional legitimate duplicate location for ProtocolPublisher.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 In fields of topics, new sprouts peep and play,
Eight little suffixes hopped out to stay.
Contracts checked, tests nudged with gentle cheer,
OmniClaude listens — the garden’s clear! 🥕✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main intent: fixing three cascading test regressions from upstream PRs (OMN-8605, OMN-8550). It directly relates to the changeset's primary purpose and includes relevant ticket references.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jonah/fix-cascading-omn8605-omn8550-2026-04-13

Comment @coderabbitai help to get the list of available commands and usage tips.

…stifications [OMN-8550, OMN-8605]

Address hostile review REQUEST_CHANGES on PR #1267:

MAJOR: ProtocolDomainPlugin comment was misleading ("backward compat shim"
implies migration is done). Updated to accurately state: canonical location
pending resolution of OMN-8550; currently present in
omnibase_infra.runtime.protocol_domain_plugin; follow-up tracked separately.

MODERATE: _LEGACY_ALLOWLIST justifications for 8 topics falsely claimed
"contract.yaml in omniclaude repo" and named CLIs that don't exist yet.
Updated all 8 entries to accurately state: no contract.yaml; producer is
future-work, not yet implemented. Ticket reference changed from OMN-1889/
OMN-2942 to OMN-8605 (the ticket that introduced these suffix constants).
…t [OMN-8605, OMN-8550]

PR #1267 added 6 injection-effectiveness topic suffixes to
_OMNICLAUDE_AGENT_OBSERVABILITY_TOPIC_SUFFIXES (3 partitions each) but
did not update the test_omniclaude_skill_topics_use_1_partition whitelist
in test_platform_topic_suffixes.py, causing split 14/15 to fail.

Added SUFFIX_OMNICLAUDE_CONTEXT_UTILIZATION, SUFFIX_OMNICLAUDE_AGENT_MATCH,
SUFFIX_OMNICLAUDE_LATENCY_BREAKDOWN, SUFFIX_OMNICLAUDE_MANIFEST_INJECTION_STARTED,
SUFFIX_OMNICLAUDE_MANIFEST_INJECTED, and SUFFIX_OMNICLAUDE_MANIFEST_INJECTION_FAILED
to both the import list and the three_partition_suffixes set.
@github-actions
github-actions Bot added this pull request to the merge queue Apr 13, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to no response for status checks Apr 13, 2026
@jonahgabriel
jonahgabriel merged commit 1a07cd4 into main Apr 13, 2026
50 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/fix-cascading-omn8605-omn8550-2026-04-13 branch April 13, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant