Skip to content

ci(OMN-10475): wire zone-filter caller in omnimarket - #694

Merged
jonahgabriel merged 2 commits into
mainfrom
jonah/omn-10475-zone-filter-caller
May 20, 2026
Merged

jonahgabriel merged 2 commits into
mainfrom
jonah/omn-10475-zone-filter-caller

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented May 18, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Revives the OMN-10475 zone-filter caller work that was stranded in a legacy worktree.
  • Wires CI to use the reusable zone-filter/docs-only decision before heavy jobs.
  • Reduces unnecessary CI load for docs, contracts, and declarative evidence-only changes.

Verification

  • git diff --check origin/main...HEAD
  • git push --force-with-lease origin jonah/omn-10475-zone-filter-caller

Linear: OMN-10475

Summary by CodeRabbit

  • Chores
    • CI now runs a preliminary zone/check to detect documentation-only changes and skips downstream jobs when appropriate, reducing unnecessary build and test workloads for doc-only updates.
    • Overall CI summary reporting now includes the new check’s result so you can see at a glance when runs were skipped due to docs-only changes.

Review Change Stack

Evidence-Ticket: OMN-10475
Evidence-Source: OCC#1218
Deploy/runtime restart not performed.

@coderabbitai

coderabbitai Bot commented May 18, 2026 •

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Adds a new zone-filter job that detects docs-only changes and gates four expensive CI jobs (typecheck, detect-changes, e2e-workflow-runner, golden-chains) to skip when docs_only is true. Updates ci-summary to depend on and report the zone-filter result.

Changes

Documentation-only change detection and job gating

Layer / File(s) Summary
Zone-filter job definition and downstream conditional gates
.github/workflows/ci.yml
Adds a zone-filter job that calls a reusable workflow (providing python-version) and gates typecheck, detect-changes, e2e-workflow-runner, and golden-chains with needs: zone-filter plus if: checks to skip when docs_only is 'true'.
Results aggregation in ci-summary
.github/workflows/ci.yml
Adds zone-filter to ci-summary's needs and extends the per-check results loop to include zone-filter=${{ needs.zone-filter.result }}.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 A tiny filter hops into the flow,
Sniffing docs-only changes soft and slow.
Gates open or close with a gentle thump,
CI breathes lighter — less bumpity-bump.
twitch 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main change: wiring a zone-filter caller in the CI workflow for the omnimarket project, which aligns with the core objective of integrating the reusable zone-filter workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jonah/omn-10475-zone-filter-caller

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

@github-actions
github-actions Bot enabled auto-merge May 18, 2026 13:46
@github-actions

github-actions Bot commented May 18, 2026 •

Copy link
Copy Markdown

✅ Architectural Review — PASSED

Errors: 0
Warnings: 0

What this checks

Rule Description
ARCH-TOPIC-001 No hardcoded Kafka topic strings in handler code
ARCH-DI-001 No event_bus=None bypass
ARCH-DI-002 No direct Handler instantiation outside workflow_runner/adapters
ARCH-DI-003 No reinvented DI containers
ARCH-TOPIC-002 contract.yaml topics follow `onex.{cmd

No architectural violations found.

Powered by node_pr_review_bot

@github-actions

github-actions Bot commented May 18, 2026 •

Copy link
Copy Markdown

✅ PR Review Bot — CLEAN

Findings: 0
Run ID: ``

Note: Reviewer models are running as stubs (OMN-7969–OMN-7972 pending). Architectural findings from Phase 1 (arch-lint) are the authoritative signal until model handlers land.


Verdict semantics

Verdict Meaning
clean No blocking findings
risks_noted Findings noted; threads passed verification
blocking_issue MAJOR/CRITICAL findings not resolved — do not merge

Powered by node_pr_review_bot — FSM pipeline with multi-model review fan-out

@github-actions

github-actions Bot commented May 18, 2026 •

Copy link
Copy Markdown

⚠️ Hostile Reviewer — DEGRADED (informational)

Blocking findings (critical/error): 0
Total findings: 0
Models succeeded: none

Note: All reviewer models failed or were unavailable. Degraded results are informational during the pilot phase (OMN-8524) and do not block merge. Error: cli_review exited non-zero (all models failed or binary error)


Gate semantics (pilot phase)

Verdict Meaning Blocks merge?
passed No critical/error findings No
blocked CRITICAL or ERROR findings found Yes
degraded All models unavailable (infra) No (pilot)

Powered by omniintelligence.review_pairing.cli_review — node-based adversarial review via HandlerLlmCliSubprocess (OMN-8524)

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yml:
- Line 14: Replace the mutable branch ref in the reusable workflow invocation by
pinning the `uses:
OmniNode-ai/omnibase_core/.github/workflows/zone-filter.yml@main` entry to an
immutable commit SHA: locate the `uses:
OmniNode-ai/omnibase_core/.github/workflows/zone-filter.yml@main` line, fetch
the current commit SHA from omnibase_core's main branch, and update the `@main`
suffix to `@<commit-sha>` so the workflow is pinned to that exact commit.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f78a64a9-2a06-459b-8e78-0c975a80ad98

📥 Commits

Reviewing files that changed from the base of the PR and between d8fa90b and 6e160d4.

📒 Files selected for processing (1)
  • .github/workflows/ci.yml

Comment thread .github/workflows/ci.yml Outdated
@jonahgabriel
jonahgabriel force-pushed the jonah/omn-10475-zone-filter-caller branch from 6e160d4 to 36b375f Compare May 20, 2026 08:40

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.github/workflows/ci.yml (1)

11-17: ⚡ Quick win

Add explicit permissions block for defense-in-depth security.

The zone-filter job calls a reusable workflow without declaring explicit permissions. While the reusable workflow defines its own permissions, declaring minimal permissions at the caller level provides defense-in-depth and prevents privilege escalation if the reusable workflow is modified.

🔒 Proposed fix to add minimal permissions
 zone-filter:
+  permissions:
+    contents: read
   uses: OmniNode-ai/omnibase_core/.github/workflows/zone-filter.yml@7631ef3321e1a6561f4b2c70019ee57d24160620
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yml around lines 11 - 17, The zone-filter job lacks an
explicit permissions block; add a minimal permissions stanza under the
zone-filter job (the job named "zone-filter") to declare least-privilege access
for the reusable workflow call—e.g., restrict to only the scopes the job needs
such as contents: read and actions: read (and any other strictly required
scopes), placed directly beneath the zone-filter job declaration so the caller
explicitly limits permissions even if the reusable workflow changes.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.github/workflows/ci.yml:
- Around line 11-17: The zone-filter job lacks an explicit permissions block;
add a minimal permissions stanza under the zone-filter job (the job named
"zone-filter") to declare least-privilege access for the reusable workflow
call—e.g., restrict to only the scopes the job needs such as contents: read and
actions: read (and any other strictly required scopes), placed directly beneath
the zone-filter job declaration so the caller explicitly limits permissions even
if the reusable workflow changes.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c69c7ef7-8cf7-40f8-a705-255f440d5a70

📥 Commits

Reviewing files that changed from the base of the PR and between 6e160d4 and 36b375f.

📒 Files selected for processing (1)
  • .github/workflows/ci.yml

…declarative-evidence diffs

Adds a `zone-filter` job at the head of ci.yml that calls the reusable
workflow shipped in omnibase_core (OmniNode-ai/omnibase_core/.github/
workflows/zone-filter.yml@main). The four heaviest jobs gain
`needs: zone-filter` plus
`if: needs.zone-filter.outputs.docs_only != 'true'`:

  - typecheck (mypy --strict)
  - test (pytest)
  - e2e-workflow-runner (golden_chain_sweep E2E)
  - golden-chains (1000+ golden chain tests)

`lint` (ruff + topic guards), `topic-naming-lint`, `runtime-sweep`, and
`contract-compliance` continue to run on every PR. The `ci-summary`
aggregator already accepts `skipped` (line ~340 in pre-existing logic),
so docs-only PRs aggregate green even when the heavy jobs short-circuit.

DOCS zone now covers `docs/`, `standards/`, plus the declarative-evidence
trees `contracts/`, `drift/dod_receipts/`, `allowlists/`, and `.evidence/`
(per OMN-10475 — see omnibase_core PR #1023).
@jonahgabriel
jonahgabriel force-pushed the jonah/omn-10475-zone-filter-caller branch from 36b375f to c3839b5 Compare May 20, 2026 08:44
@sonarqubecloud

Copy link
Copy Markdown

@jonahgabriel
jonahgabriel added this pull request to the merge queue May 20, 2026
Merged via the queue into main with commit b3272ae May 20, 2026
41 of 42 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-10475-zone-filter-caller branch May 20, 2026 08:55
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