Skip to content

fix(OMN-16502): pull-all.sh tolerates main-only repos at the fetch stage - #2877

Merged
github-actions[bot] merged 1 commit into
devfrom
jonah/omn-16502-pull-all-main-only-repo
Aug 25, 2026
Merged

github-actions[bot] merged 1 commit into
devfrom
jonah/omn-16502-pull-all-main-only-repo

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Aug 25, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

_pull_one ran git fetch --prune origin main dev unconditionally, which fails WHOLESALE (fatal: couldn't find remote ref dev) when either ref is absent on origin -- so omnigemini, the one registry repo that never had a dev branch cut, was marked FAILED on every pull-all.sh run (the sole failure in the OMN-16500 proof run, 2026-08-24T23:37Z: PULL-ALL-RESULT: overall=FAILED repos_ok=12 repos_failed=1 repos_absent=1).

Probe dev-branch existence with git ls-remote --exit-code --heads origin dev before fetching. When dev is absent on origin: fetch main only, fast-forward (or converge, via the existing OMN-16500 release-synced-main path) main alone, skip the dev leg entirely, and report OK naming the repo main-only. The repo is left on main instead of being switched to a dev that does not exist.

  • AC: a full pull-all.sh run on a machine with a main-only repo cloned exits 0 with that repo reported OK (main-only repo).
  • Regression coverage: tests/unit/scripts/test_pull_all.py::TestMainOnlyRepo -- a main-only repo alone (OK, stays on main, no local dev branch fabricated, PULL-ALL-RESULT overall=OK) and mixed with a normal main+dev repo (full run exits 0, both OK).
  • All 53 existing tests in test_pull_all.py still pass unmodified (including the OMN-16500 non-ff-main convergence wiring tests, which cover the still-present dev-branch case).

Ticket

OMN-16502

dod_evidence: governed pre-push impacted-test selector (scripts/hooks/prepush_smart_tests.sh, per CLAUDE.md Rule #4) ran the full impacted subset locally -- 1794 passed, 13 skipped in 406.28s -- including tests/unit/scripts/test_pull_all.py (53/53 passed, both new TestMainOnlyRepo tests included). pre-commit run --all-files passed on the commit (ruff format/check, shellcheck, SPDX, architecture/duplication/aislop gates all green or no-files-to-check).

Test plan

  • uv run pytest tests/unit/scripts/test_pull_all.py -m unit -q -- 53 passed
  • bash -n scripts/pull-all.sh -- syntax OK
  • shellcheck scripts/pull-all.sh -- no new findings (only pre-existing SC2329 info notices on indirectly-invoked functions, unrelated to this change)
  • pre-commit run --all-files -- all hooks passed
  • governed pre-push impacted-test selector -- 1794 passed, 13 skipped

Evidence-Ticket: OMN-16502
Evidence-Source: OCC#7045

`_pull_one` ran `git fetch --prune origin main dev` unconditionally, which
fails WHOLESALE ("fatal: couldn't find remote ref dev") when either ref is
absent on origin -- so omnigemini, the one registry repo that never had a
dev branch cut, was marked FAILED on every pull-all.sh run (sole failure in
the OMN-16500 proof run, 2026-08-24T23:37Z).

Probe dev-branch existence with `git ls-remote --exit-code --heads origin
dev` before fetching. When dev is absent, fetch main only, fast-forward (or
converge, per the existing OMN-16500 release-synced-main path) main alone,
skip the dev leg entirely, and report OK naming the repo main-only -- the
repo is left on main instead of being switched to a dev that does not exist.

Regression coverage: tests/unit/scripts/test_pull_all.py::TestMainOnlyRepo
covers a main-only repo alone (OK, stays on main, no local dev branch
fabricated, PULL-ALL-RESULT overall=OK) and mixed with a normal main+dev
repo (full run exits 0). All 53 existing tests in the file still pass.
@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 14 minutes.

View limit details

Limit details: You’ve used the included review currently available. Your 125 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

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

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 846e3cb8-4af0-44b3-acc7-89e67f6855cb

📥 Commits

Reviewing files that changed from the base of the PR and between b119ec9 and 89bf8c7.

📒 Files selected for processing (2)
  • scripts/pull-all.sh
  • tests/unit/scripts/test_pull_all.py

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

@github-actions

Copy link
Copy Markdown
Contributor

✅ Hostile Reviewer — PASSED

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


Gate semantics (pilot phase)

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

Powered by omniintelligence.review_pairing.cli_review — multi-model adversarial review (OMN-8468/OMN-8524)

jonahgabriel pushed a commit to OmniNode-ai/onex_change_control that referenced this pull request Aug 25, 2026
#7045)

* evidence: OCC companion pass 1 for OmniNode-ai/omnibase_infra#2877

* evidence: OCC companion self-bind for #7045

---------

Co-authored-by: node-occ-companion-effect <occ-companion-effect@omninode.ai>
@github-actions
github-actions Bot merged commit 9203266 into dev Aug 25, 2026
152 of 159 checks passed
@github-actions
github-actions Bot deleted the jonah/omn-16502-pull-all-main-only-repo branch August 25, 2026 02:35
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