Skip to content

ci(OMN-18638): advance the runtime-rebuild reusable pin to 5ecdeef2 - #2629

Merged
jonahgabriel merged 3 commits into
devfrom
jonah/omn-18638-bump-runtime-rebuild-reusable-pin
Sep 18, 2026
Merged

jonahgabriel merged 3 commits into
devfrom
jonah/omn-18638-bump-runtime-rebuild-reusable-pin

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor

Closes part of OMN-18638.

What this changes

One line: the pin of OmniNode-ai/omnibase_infra/.github/workflows/runtime-rebuild-trigger-reusable.yml, from 43bd2754 to 5ecdeef2, plus the comment recording why.

Why

The pin selects the reusable workflow and, through infra_ref's default of github.job_workflow_sha, the revision of the SCRIPTS the job runs. At 43bd2754 this repository's lab-pass receipts were produced by lab_pass_receipt.py and check_dev_lane_staleness.py as they stood on 2026-09-16, so two changes had not reached the sibling path:

  • da329b6a8 (OMN-18436) — the settle budget stops being "job ceiling minus elapsed minus tail" and becomes a per-lane declaration in config/lab_pass_settle_budget.yaml, with the job ceiling derived from it. Under the old derivation any convergence slower than about 20 minutes produced a receipt that failed on timing alone, on a healthy lane running the merged sha.
  • 5ecdeef24 (OMN-18602) — the lab-receipt guards move to a three-member verify class.

What this does NOT fix, stated because it was expected to

It does not populate agent_command_id on the sibling receipt. The OMN-18573 wiring (0c7586ec) touched omnibase_infra's own caller workflow, scripts/ci/lab_pass_receipt.py and its test — it never touched the reusable, whose emit step passes no --agent-command-id at its current dev tip or at either pin. Verified by reading the emit invocation in both files at both revisions. That half is a change to the reusable and stays open on OMN-18638.

Verification

  • git merge-base --is-ancestor 5ecdeef241139b5385e12f285f2dd82b8b1dd267 origin/dev in omnibase_infra → exit 0.
  • 0c7586ec (OMN-18573) is an ancestor of the new pin, so the newer lab_pass_receipt.py travels with it even though the flag does not.
  • Governed pre-push hooks ran and passed; no test selection was made locally, per the retirement recorded for this repository at omnimarket#2463.

Evidence lane: deploy-agent-http-hang-diag-2105.

Second pass, 2026-09-18: what the pin bump alone did not reach

The first push was BLOCKED on Tests. Run 35304476288 job 105507851923 reported
8 failed / 22194 passed, in two classes, neither caused by the pin bump.

Class 1, fixed here. One failure in the OMN-18626 two-repo guard landed by
#2630: this repository's base contract says Qwen3.8-27B (moved there by #2627)
while the INSTALLED omnibase-infra 0.38.30 binding table still says
Qwen3.6-35B-A3B. That table ships inside the distribution, so which release is
installed decides what the guard compares against. The sibling half is
0ee5bb023 (omnibase_infra#3721) and 0.38.31 is the first published release
carrying it, so this pass raises the floor 0.38.30 -> 0.38.31 in pyproject.toml
and relocks. 0.38.31 declares omnibase-core==0.47.16 and
omnibase-spi==0.23.3, both admitted by the floors already in this file, so
nothing cascades. The guard is red on every open PR in this repository at
0.38.30, so this unblocks more than this one.

Class 2, not mine. Seven failures in
tests/test_omn18565_ordering_independent_verdict_terminal_rls.py, all
psycopg2.errors.InvalidTextRepresentation: invalid input syntax for type uuid: "omninode", raised from
handler_projection_delegation._publish_aggregate_snapshots passing the wrong
value as the aggregate read's tenant filter. That is already owned by open
#2633, whose subject is exactly binding the aggregate read to the returned
tenant. I have not competed with it and have written nothing in that file.

The settle budget, adopted onto this ticket

Before omnibase_infra da329b6a8 (OMN-18436) the lab-pass settle budget was not
declared anywhere: it was job ceiling - elapsed - reserved tail, which gave
this repository about 161 seconds where omnibase_infra's own caller allowed 900.
A lane that needs 512 seconds to answer its readiness endpoints then emits a
FAIL receipt while healthy, and under rule 24(b) that receipt refuses the sha
for staging delivery. da329b6a8 moved the number into
config/lab_pass_settle_budget.yaml, read at infra_ref, which defaults to the
SHA this repository pins -- so equalising the budget is exactly pinning at or
after da329b6a8, which the first commit already does.

tests/ci/test_lab_pass_settle_budget_pin_omn18638.py keeps it there. It
refuses the three pins this repository has actually run that predate the
declaration, and requires the current pin to be recorded as verified.
omnibase_infra's wheel packages only src/omnibase_infra, so that config does
not reach an installed distribution, and cross-repo git ancestry is not
resolvable from a unit test -- the docstring states that limit rather than
implying it, and the failure message names the git merge-base --is-ancestor
command a future bumper must run. A second test refuses any caller-side input
naming a budget, a ceiling or a timeout.

Verification, second pass

  • uv run pytest tests/unit/delegation/test_base_contract_agrees_with_installed_lab_bindings_omn18626.py tests/ci/test_lab_pass_settle_budget_pin_omn18638.py tests/ci/test_rebuild_trigger_pin_omn18387.py -q -> 6 passed, against installed omnibase-infra 0.38.31.
  • Positive control: reverting the pin to the OMN-17057 one turns
    test_the_pin_carries_the_declared_settle_budget red with the measured
    reason, then the file was restored byte-identical to HEAD.
  • Governed pre-push hooks ran and passed.

Evidence lane: omn18638-pr2629-fix-0800.

Evidence-Source: OCC#10132
Evidence-Ticket: OMN-18638

@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).

@jonahgabriel
jonahgabriel enabled auto-merge (squash) September 17, 2026 21:43
@onexbot-occ-writer

Copy link
Copy Markdown
Contributor

OCC autobind did not mint a companion for this PR: no changed-file candidate could be proven RED against the merge base, and emitting a PR-existence probe instead would be non-falsifiable evidence (OMN-15247). Hand-authored evidence is required.

@github-actions

github-actions Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

✅ Hostile Reviewer — PASSED

Blocking findings (critical/error): 0
Total findings: 11
Models succeeded: qwen3-review,qwen3-review-b


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)

The pin selects the reusable workflow AND, through infra_ref's default of
github.job_workflow_sha, the revision of the scripts the job runs. At
43bd2754 this repository's lab-pass receipts were emitted by
lab_pass_receipt.py and check_dev_lane_staleness.py as they stood on
2026-09-16, so neither OMN-18436's declared settle budget nor OMN-18602's
three-member verify class had reached the sibling path.

The bump does not populate agent_command_id on the sibling receipt. The
OMN-18573 wiring touched omnibase_infra's own caller workflow and
lab_pass_receipt.py only; the reusable's emit step passes no
--agent-command-id at any revision. That half stays open on OMN-18638.
The autobind publisher job failed on a full runner disk earlier, so no
Evidence-Source line was ever written to this PR body. The OCC Companion Merged
Gate has been failing closed on "body has no Evidence-Source: line yet
(occ-autobind mint may still be in flight)" after its 1500s poll deadline.

A rerun replays the pinned reusable ref and does not republish the mint command;
a fresh push does. No file content changes.
…point, and pin the settle budget

Two halves of OMN-18638 that the reusable-workflow pin in the previous commit
does not reach.

1. omnibase-infra floor 0.38.30 -> 0.38.31.

The OMN-18626 guard landed by #2630 compares this repo's base contract against
`_AUTHORIZED_BINDINGS`, which ships inside the INSTALLED omnibase_infra
distribution. #2627 moved this repo's `model_name` to the served `Qwen3.8-27B`;
the sibling half is 0ee5bb023 (omnibase_infra#3721) and 0.38.31 is the first
published release carrying it. At 0.38.30 the two authorities disagree, the
guard is red on every PR in this repository, and
`render_bifrost_delegation_contract._merge_lane_overlay` would refuse the
rendered contract outright -- a lab lane container start FAILS TO START rather
than routing badly. 0.38.31 declares `omnibase-core==0.47.16` and
`omnibase-spi==0.23.3`, both admitted by the floors already in this file, so the
bump cascades nothing.

2. A test that pins the lab-pass settle budget.

Before omnibase_infra `da329b6a8` (OMN-18436) the budget was not declared: it
was `job ceiling - elapsed - reserved tail`, which gave this repository about
161 seconds where omnibase_infra's own caller allowed 900. A lane that needs 512
seconds to answer its readiness endpoints then emits a FAIL receipt while
healthy, and under rule 24(b) that receipt refuses the sha for staging delivery.
`da329b6a8` moved the number into `config/lab_pass_settle_budget.yaml`, read at
`infra_ref`, which defaults to the very SHA this repository pins -- so
"equalise the budget" is exactly "pin at or after `da329b6a8`", and the previous
commit's pin does that.

The new test keeps it there. It refuses the three pins this repository has
actually run that predate the declaration, and requires the current pin to be
recorded as verified, because omnibase_infra's wheel does not package that
config and cross-repo git ancestry is not resolvable from a unit test. The
honest limit is stated in the module docstring: this is a recorded verification,
not a computed one, so the next bump re-verifies rather than inherits. A second
test refuses any caller-side input naming a budget, ceiling or timeout, since
the declaration over there is the single authority and a caller value answers to
neither of its bounds.

Verified locally: the OMN-18626 guard passes against 0.38.31 and the pin tests
pass; reverting the pin to the OMN-17057 one turns the first test red with the
measured reason.
@jonahgabriel
jonahgabriel merged commit d4fb6dd into dev Sep 18, 2026
139 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-18638-bump-runtime-rebuild-reusable-pin branch September 18, 2026 08:11
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