Skip to content

feat(OMN-19399): declare worktree_reconcile_hosts ownership ahead of its node - #3078

Closed
jonahgabriel wants to merge 1 commit into
devfrom
jonah/omn-19399-declare-worktree-reconcile-ownership
Closed

jonahgabriel wants to merge 1 commit into
devfrom
jonah/omn-19399-declare-worktree-reconcile-ownership

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Declares worktree_reconcile_hosts in scripts/application-relation-ownership.yaml (db_io.db_tables) ahead of its node, the same declare-then-create split as omnimarket#3046 (demo_readiness_latest) and #2958 (claude_hook_events). Regenerates docs/evidence/OMN-15423-relation-inventory.json (source_declared_tables 87 to 88, created count unchanged because no SQL lands here) and adds tests/test_omn19399_worktree_reconcile_ownership_declared.py. No SQL, node package or exemption is added.

Why this is a dev-head fix

omnibase_infra#4266 vendored the worktree_reconcile migrations and merged, but its ownership gate passed only against omnimarket#3047's manifest through a source-ref override. On the dev push the gate reads the pinned omnimarket manifest, which has no declaration, so Application Database Domain Enforcement fails with "requires exactly one ownership declaration" for omninode_internal.worktree_reconcile_hosts. omnimarket#3047 carries the same manifest entry but is red on its own checks. Landing this declaration on omnimarket dev, then advancing the omnibase_infra pin, clears the dev head without waiting for #3047. The entry is byte-compatible with #3047's, so #3047 drops the duplicate hunk on its next merge with dev.

Validation

  • New test: 0 matches against the origin/dev manifest (fails), 1 match here (passes).
  • test_application_relation_inventory.py, the new test and the demo_readiness ownership test: 15 passed.
  • generate_application_relation_inventory.py --check exits 0.
  • omnibase_infra check_application_database_sql.py against the merged omnibase_infra migrations: the demo_readiness violations cleared by the pending pin advance (omnibase_infra#4278); the worktree_reconcile violations are the ones this manifest entry answers.

Merge order

  1. This PR. 2. Pin advance in omnibase_infra (bot refresh). 3. omnimarket#3047 later.

Refs OMN-19399, OMN-17292.

Lab: manifest and evidence only, no runtime surface, so no dev-lane pass applies. Host: launching Mac, lane none, command uv run pytest on the three test files plus the inventory generator --check. Observation: 15 passed, generator in sync.

Evidence-Ticket: OMN-19399
Evidence-Source: OCC#11772

@github-actions

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.

Static architectural lint — no model inference (OMN-14176).

@github-actions

Copy link
Copy Markdown

✅ Hostile Reviewer — PASSED

Blocking findings (critical/error): 0
Total findings: 10
Models succeeded: qwen3-review,gpt-oss-review


Gate semantics

Verdict Meaning Blocks merge?
passed >=2 models succeeded, no critical/error findings No
blocked CRITICAL or ERROR findings found Yes
degraded Fewer than 2 models succeeded (infra unavailable/timeout) Yes (OMN-15110)

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

onexbot-occ-writer Bot pushed a commit to OmniNode-ai/onex_change_control that referenced this pull request Sep 29, 2026
…9432, OMN-19454, OMN-19456, OMN-19513, OMN-19561, OMN-19566, OMN-19790, OMN-19791, OMN-19792, OMN-19813, OMN-19934, OMN-19937, OMN-19966, OMN-19968, OMN-19978, OMN-19995, OMN-19999, OMN-20010, OMN-20038, OMN-20040): author OCC companion for OmniNode-ai/omnimarket#3078

OCC companion by node_pr_lifecycle_fix_effect (OMN-13317 F1 / OMN-13990 / OMN-14285). Product PR head edd08ab7c64c16ff7ff03b4f16b8128ad701f02c.
@jonahgabriel
jonahgabriel enabled auto-merge (squash) September 29, 2026 03:51
onexbot-occ-writer Bot added a commit to OmniNode-ai/onex_change_control that referenced this pull request Sep 29, 2026
…nimarket#3078

The declared checks were executed for real in the OmniNode-ai/omnimarket checkout at the PR head by the product-repo OCC receipt runner, and the results written append-only into this companion. Producer-minted PENDING receipts are superseded by a net-new record; no existing receipt was edited.

Ticket: OMN-16859 (AC3b)
Onex-Workflow: OCC Receipt Runner
Onex-Run: https://github.com/OmniNode-ai/omnimarket/actions/runs/36518822610
@jonahgabriel

Copy link
Copy Markdown
Contributor Author

Closing as superseded. omnimarket#3047 merged to dev at 2026-09-29T08:09:55Z (e726d7d) with the identical worktree_reconcile_hosts declaration in scripts/application-relation-ownership.yaml, present exactly once, so this pull request now conflicts with dev in the manifest, the relation inventory evidence file and its inventory test. The one thing not on dev is the regression test file for the declaration, which is dropped here. The omnibase_infra ownership red is cleared by advancing the omnimarket pin there, not by this pull request.

auto-merge was automatically disabled September 29, 2026 08:16

Pull request was closed

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