Skip to content

feat(OMN-14816): regenerate node_broker_disk_watermark_compute to canonical def-B - #2354

Merged
jonahgabriel merged 3 commits into
devfrom
jonah/omn-14816-node_broker_disk_watermark_compute-defb
Jul 20, 2026
Merged

jonahgabriel merged 3 commits into
devfrom
jonah/omn-14816-node_broker_disk_watermark_compute-defb

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Jul 20, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Flips node_broker_disk_watermark_compute (HandlerBrokerDiskWatermark, omnibase_infra) to canonical definition B as part of the Class-B Tier-1 fan-out under the canonical-shape ratchet-gate (parent OMN-14355). Proof path = HAND-FLIP (OMN-14781), mirroring canary omnibase_infra#2349: a pure behavior-preserving rename of the op-method probe_disk_watermark(inp) to the canonical handle(inp) dispatch entrypoint, with the probe body and every business-logic helper preserved byte-identically.

  • Ticket: OMN-14816 (parent epic OMN-14355; hand-flip proof path OMN-14781; seam gate OMN-14809).
  • Repo: omnibase_infra (auto-merge disabled → non-draft; do not merge/arm).

Local RSD path unavailable → hand-flip (documented escape)

The mandated local RSD / onex delegate path is genuinely unavailable in this environment: the local model fleet (192.168.86.201:19092) is unreachable (off-LAN) and node_delegate_skill_orchestrator is not registered in omnibase_infra (it is an omnimarket-provided node). This is also a pure behavior-preserving rename where git-verbatim-preservation of the business-logic helpers is a strictly stronger equivalence proof than an LLM regen — matching the #2349 canary explicitly cited as the template for this node class.

What changed

  • handler: rename probe_disk_watermark(self, inp) → the canonical def-B handle(self, inp: ModelBrokerDiskWatermarkInput) -> ModelBrokerDiskWatermarkOutput dispatch entrypoint that auto-wiring's _make_dispatch_callback binds. Body byte-identical; helpers (_classify / _probe_path / _real_docker_info / _real_disk_usage / _resolve_volume_mountpoint) untouched. No envelope import, no Plugin* base.
  • baselines (shrink-only): removed from scripts/ci/canonical_handler_shape_baseline.py NON_CANONICAL (91→90) and config/validation/handler_dispatch_entrypoint_baseline.yaml known_entrypointless (37→36).
  • flip proof (scripts/ci/adequacy_receipts/): adequacy receipt + hand-flip proof, bound to one 5-input corpus.
  • exemption: sync def-B handle added to validation_exemptions.yaml (mirrors handler_release_identity).
  • tests: existing unit suite repointed probe_disk_watermark → handle (behavior-equivalence parity); new dispatch-entrypoint test drives the REAL _make_dispatch_callback.

dod_evidence

tests-as-proof RED → GREEN

RED (pre-flip tree, real _make_dispatch_callback): all 3 dispatch tests fail with ModelOnexError: Auto-wired handler HandlerBrokerDiskWatermark does not expose a callable handle() or handle_async() dispatch entrypoint. (bound _missing_handle).
GREEN (post-flip): 3 dispatch tests + 18 repointed equivalence tests = 21 passed.

LOCAL SEAM GATE — verify_flip_bundle (OMN-14809) PASS

verify_flip_bundle OK — omnibase_infra.nodes.node_broker_disk_watermark_compute: all six flip-bundle assertions hold
verify_flip_bundle OK (omnibase_infra) — 1 flip bundle(s) coherent across all six assertions.

Assertions: typed-adequacy, real-gate-verdict (reviewed-waiver+handflip-verbatim-preserved(5 symbol(s))), full-node-canonical, twin-baseline-shrink, ordering-seam, independent-author (hand-flip exempt).

Canonical-shape ratchet --full — green with exactly this 1 proven flip

Canonical handler-shape ratchet OK (full) — checked 115 node(s); new=0 unproven_flips=0 warn=90.
1 node(s) flipped canonical WITH a valid adequacy + equivalence proof.

Dispatch-entrypoint validator — green

[handler-dispatch-entrypoint] OK: 154 distinct contract-declared handlers, 36 entrypointless (all baselined), 0 new violations.

Gates

  • ruff format --check + ruff check: clean
  • mypy (node package): Success: no issues found
  • ONEX Pattern Validation: pass (sync-handle exemption)
  • pre-commit (changed files): all Passed, 0 Failed
  • pre-push: mypy + arch-layers + governed full unit suite (21683+ passed; only @pytest.mark.slow/@pytest.mark.performance load-sensitive benchmarks flaked under concurrent fan-out saturation, each passing in isolation and unrelated to this change) + deploy-scope-dod (NOTICE_COMPANION_UNMERGED)

generated-vs-handflip

Hand-flip (OMN-14781 path), not RSD-generated: the local RSD path is unavailable here (see above), and for a behavior-preserving rename git-verbatim-preservation is the stronger equivalence proof.

OCC companion / deploy-gate

This flip touches a deploy-scoped runtime node handler, so the required deploy-gate + Receipt-Gate need the OCC companion for OMN-14816 (net-new file in onex_change_control, authored separately per the no-self-authored-evidence rule). Central OCC evidence is merged in onex_change_control#4480; hosted occ-preflight / receipt-gate / deploy-gate should resolve from Evidence-Source: OCC#4480. Do not use bypass tokens. No live deploy, .201 mutation, docker exec, or rpk topic produce is authorized by this PR.

Evidence-Ticket: OMN-14816
Evidence-Source: OCC#4480

Summary by CodeRabbit

  • Bug Fixes

    • Fixed automatic dispatch for broker disk watermark checks by exposing the standard handle() entrypoint.
    • Preserved existing disk watermark classification and output behavior.
  • Tests

    • Added end-to-end coverage for clean and critical disk watermark scenarios.
    • Updated existing tests to validate the standardized dispatch method.
    • Added adequacy and coverage verification records.

@coderabbitai

coderabbitai Bot commented Jul 20, 2026 •

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 35 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 4a902581-5cf1-4f41-8877-0a0f6c5140af

📥 Commits

Reviewing files that changed from the base of the PR and between f6aa9ce and 6a0cc8d.

📒 Files selected for processing (5)
  • config/validation/handler_dispatch_entrypoint_baseline.yaml
  • scripts/ci/canonical_handler_shape_baseline.py
  • src/omnibase_infra/nodes/node_broker_disk_watermark_compute/contract.yaml
  • src/omnibase_infra/nodes/node_broker_disk_watermark_compute/handlers/handler_broker_disk_watermark.py
  • tests/unit/nodes/test_broker_disk_watermark_dispatch_entrypoint_omn14816.py
📝 Walkthrough

Walkthrough

The broker disk watermark handler now uses handle() as its canonical auto-wired dispatch entrypoint. Contract metadata, validation exemptions, baselines, adequacy receipts, and unit tests are updated to reflect and verify the renamed method.

Changes

Broker disk watermark dispatch

Layer / File(s) Summary
Canonical handler entrypoint
src/omnibase_infra/nodes/node_broker_disk_watermark_compute/contract.yaml, src/omnibase_infra/nodes/node_broker_disk_watermark_compute/handlers/handler_broker_disk_watermark.py, src/omnibase_infra/validation/validation_exemptions.yaml
Renames probe_disk_watermark() to handle(), increments the contract patch version, documents the canonical entrypoint, and adds the corresponding validation exemption.
Auto-wired dispatch validation
tests/unit/nodes/test_broker_disk_watermark_dispatch_entrypoint_omn14816.py, tests/unit/nodes/test_handler_broker_disk_watermark.py
Adds real dispatch tests for P0 and CLEAN outputs and updates existing handler tests to call handle().
Baseline and adequacy records
config/validation/handler_dispatch_entrypoint_baseline.yaml, scripts/ci/canonical_handler_shape_baseline.py, scripts/ci/adequacy_receipts/*node_broker_disk_watermark_compute*
Removes the node from entrypointless and non-canonical baselines and adds Handflip and coverage adequacy receipts.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant ModelEventEnvelope
  participant _make_dispatch_callback
  participant HandlerBrokerDiskWatermark
  participant ModelDispatchResult
  ModelEventEnvelope->>_make_dispatch_callback: dispatch coerced ModelBrokerDiskWatermarkInput
  _make_dispatch_callback->>HandlerBrokerDiskWatermark: call handle(input)
  HandlerBrokerDiskWatermark-->>_make_dispatch_callback: ModelBrokerDiskWatermarkOutput
  _make_dispatch_callback-->>ModelDispatchResult: return successful dispatch result
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 62.50% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
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.
Title check ✅ Passed The title clearly and accurately summarizes the main change: regenerating the node to canonical def-B.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jonah/omn-14816-node_broker_disk_watermark_compute-defb

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

…onical def-B

Behavior-preserving hand-flip (OMN-14781) of HandlerBrokerDiskWatermark: the
op-method probe_disk_watermark(inp) is renamed to the canonical def-B
handle(inp) dispatch entrypoint that auto-wiring's _make_dispatch_callback
binds. The probe body and every business-logic helper (_classify / _probe_path
/ _real_docker_info / _real_disk_usage / _resolve_volume_mountpoint) are
preserved byte-identically; no envelope import, no Plugin* base.

- Removes the node from BOTH baselines (shrink-only): canonical-shape
  NON_CANONICAL (91->90) and handler-dispatch-entrypoint known_entrypointless
  (37->36).
- Adds the adequacy receipt + hand-flip proof under scripts/ci/adequacy_receipts/
  bound to one selected-input corpus; verify_flip_bundle (OMN-14809) passes all
  six assertions.
- Adds the sync-handle generic-name exemption (mirrors handler_release_identity).
- Repoints the existing unit suite to handle() (behavior-equivalence parity) and
  adds a new dispatch-entrypoint test driving the REAL _make_dispatch_callback
  (RED->GREEN: pre-flip binds _missing_handle and raises ModelOnexError).

Class-B Tier-1 flip under epic OMN-14355 (hand-flip path, canary #2349 template).

Evidence-Ticket: OMN-14816
Evidence-Source: OMN-14816
@jonahgabriel
jonahgabriel force-pushed the jonah/omn-14816-node_broker_disk_watermark_compute-defb branch from 564d4fc to f6aa9ce Compare July 20, 2026 08:41

@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
`@src/omnibase_infra/nodes/node_broker_disk_watermark_compute/handlers/handler_broker_disk_watermark.py`:
- Around line 6-15: Update the dispatch path around handle() and
_make_dispatch_callback so the synchronous docker info, docker volume inspect,
and shutil.disk_usage operations execute off the event loop via a worker thread
or async entrypoint. Preserve handle()’s typed
ModelBrokerDiskWatermarkInput-to-ModelBrokerDiskWatermarkOutput contract and
existing classification/helper behavior while ensuring dispatch no longer
invokes the blocking implementation inline.
🪄 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: 76c06fe8-9742-4e95-ad5f-935e219815ff

📥 Commits

Reviewing files that changed from the base of the PR and between 52cee37 and f6aa9ce.

📒 Files selected for processing (9)
  • config/validation/handler_dispatch_entrypoint_baseline.yaml
  • scripts/ci/adequacy_receipts/omnibase_infra.nodes.node_broker_disk_watermark_compute.handflip.json
  • scripts/ci/adequacy_receipts/omnibase_infra.nodes.node_broker_disk_watermark_compute.json
  • scripts/ci/canonical_handler_shape_baseline.py
  • src/omnibase_infra/nodes/node_broker_disk_watermark_compute/contract.yaml
  • src/omnibase_infra/nodes/node_broker_disk_watermark_compute/handlers/handler_broker_disk_watermark.py
  • src/omnibase_infra/validation/validation_exemptions.yaml
  • tests/unit/nodes/test_broker_disk_watermark_dispatch_entrypoint_omn14816.py
  • tests/unit/nodes/test_handler_broker_disk_watermark.py
💤 Files with no reviewable changes (2)
  • config/validation/handler_dispatch_entrypoint_baseline.yaml
  • scripts/ci/canonical_handler_shape_baseline.py

Jonah Gray added 2 commits July 20, 2026 04:53
…roker_disk_watermark_compute-defb

# Conflicts:
#	scripts/ci/canonical_handler_shape_baseline.py
@jonahgabriel
jonahgabriel merged commit 23a3dfc into dev Jul 20, 2026
143 of 145 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-14816-node_broker_disk_watermark_compute-defb branch July 20, 2026 12:34
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