Skip to content

docs(gap-baseline): retract false main-history-splice claim (shallow-clone artifact) - #1722

Open
seonghobae wants to merge 11 commits into
mainfrom
docs/gap-baseline-main-history-splice
Open

docs(gap-baseline): retract false main-history-splice claim (shallow-clone artifact)#1722
seonghobae wants to merge 11 commits into
mainfrom
docs/gap-baseline-main-history-splice

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Retraction

This PR originally claimed main's history was spliced onto new roots around 2026-08-20/21, based on 15 PRs (later 16, plus 2 more queued) all hitting fatal: refusing to merge unrelated histories. That claim was wrong.

Root cause: the local .github checkout in the analysis sandbox was a shallow git clone (git rev-parse --is-shallow-repositorytrue). A shallow clone's truncation-boundary commits present as disjoint history roots (git rev-list --max-parents=0 lists them as fake roots), and git merge from inside a shallow checkout genuinely raises fatal: refusing to merge unrelated histories even when the real, full history is a single connected line — this is real, documented git behavior for shallow clones, which is exactly why it read as convincing evidence of an actual split.

After git fetch --unshallow origin: origin/main has exactly one root commit (0c6e99ed0acab17b1cdd9f853a8398ddb0eed269), and 731af58e (originally claimed "not reachable from current main at all") is a completely normal ancestor.

A Devin Review comment on this PR directly disputed the original claim ("All 15 listed heads share a merge base with current main, and 731af58e is its ancestor") and asked for reproducible evidence — that's what prompted the re-check that found the shallow clone. Thank you for catching this.

Corrective actions taken

Verification

  • pytest tests/test_product_technical_gap_baseline.py -q → 5 passed.

🤖 Generated with Claude Code

https://claude.ai/code/session_01BV96rXhqoR3tYZ9AeAVur4


Generated by Claude Code

A triage pass on 15 of the repo's stalest open PRs found every one
produces "fatal: refusing to merge unrelated histories" against
origin/main -- not an ordinary merge conflict. Independently verified:
main now has multiple historical roots, with the splice landing
roughly 2026-08-20/21 (PR bases before that window are not ancestors
of current main; bases after it are).

This changes how future triage on this repo's PR backlog must proceed:
check base-SHA ancestry (git merge-base --is-ancestor <base> origin/main)
before attempting the standard merge-and-resolve recipe on any PR older
than ~2026-08-20/21, since a large fraction of the ~100+ remaining open
PRs are likely on the orphaned side and will hit the identical wall.
Records the discovery, scope, and recommended per-PR path (re-verify
against current main, then re-implement as a fresh branch if still
needed) rather than a mechanical fix, since none was safely available.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BV96rXhqoR3tYZ9AeAVur4
@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 6c452eb6-77ac-4def-ad8b-d108dc749059


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@seonghobae seonghobae added area: ci-cd CI, GitHub Actions, checks, release, or supply chain documentation Improvements or additions to documentation priority: high High-priority or P1 work status: draft Draft pull request type: docs Documentation, ADR, PRD, or technical writing labels Sep 2, 2026 — with ChatGPT Codex Connector
@seonghobae
seonghobae marked this pull request as ready for review September 2, 2026 10:48
devin-ai-integration[bot]

This comment was marked as resolved.

…clone artifact)

The 2026-09-02 "main's history was spliced ~2026-08-20/21" entry was wrong.
The local .github checkout in the analysis sandbox was a shallow clone
(git rev-parse --is-shallow-repository -> true); a shallow clone's
truncation-boundary commits present as disjoint history roots, and git
merge from inside one genuinely raises "fatal: refusing to merge unrelated
histories" even when the real, full history is a single connected line.
After git fetch --unshallow, origin/main has exactly one root commit and
731af58 (claimed unreachable) is a normal ancestor.

A Devin Review comment on this PR directly disputed the original claim and
prompted the re-check that found the real cause. Retraction comments were
posted on all 16 PRs that received the false triage guidance (15 from the
original pass plus one from a second triage pass that was stopped before
it could post more); no merges or pushes were ever made on the basis of
the false diagnosis.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BV96rXhqoR3tYZ9AeAVur4
@seonghobae seonghobae changed the title docs(gap-baseline): record main's history splice (~2026-08-20/21) docs(gap-baseline): retract false main-history-splice claim (shallow-clone artifact) Sep 2, 2026
devin-ai-integration[bot]

This comment was marked as resolved.

…, not 17)

Devin Review caught an internal inconsistency: the entry said "17 open
PRs" but listed and later referenced 16. Corrected the count and
clarified that the two queued-but-unposted PRs (#1147, #1009) never
received a comment and need no retraction reply.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BV96rXhqoR3tYZ9AeAVur4
…n-history-splice

# Conflicts:
#	docs/product-technical-gap-baseline.md

Copy link
Copy Markdown

Evidence log — 2026-09-02

Exact current head: ce4fad9a7e73a8492c4af78df96ec2b9e2c645d0.

  • Current protected main: 8c085835fbf77de2321b72fa6b8dd946227e523e.
  • PR base recorded at creation: 8c085835fbf77de2321b72fa6b8dd946227e523e.
  • Current exact-head Actions are queued: OSV 33659440315, Scorecard 33659439374, SAST 33659439509, Contextual Orchestrator Review Repair Quality CI 33659439433, Secret Scan 33659439389, CodeQL 33659439521, SBOM 33659439465, Security Scan 33659439530, Python Security 33659439338, Noema Reviewer Token Lifetime CI 33659439524.
  • Combined commit status currently reports CodeRabbit success and Devin Review success; required Actions remain non-terminal.
  • Focused repository evidence recorded in the PR body is pytest tests/test_product_technical_gap_baseline.py -q5 passed.

Gate decision: HOLD. The focused test evidence is positive, but it does not substitute for terminal exact-head required/security/provenance checks. No merge should occur until those checks complete and the live protected-branch/review gates are satisfied.

@opencode-agent

opencode-agent Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Scheduled review-feedback autofix for this PR head.

  • Head SHA: 093c39b0070b30bdfc1e62ac8761c98804d213fc

Copy link
Copy Markdown
Contributor Author

The agent-review-runtime-quality failure reported for 6dcba3d3 (the pre-existing stale hourly-cron/changed-scope test-oracle drift, already fixed on main via #1875/#1877/#1878/#1861) is moot: the branch was auto-updated to current main (b5efbc2762e4) immediately after, landing at ad38c4877 — all checks are now freshly queued against that head. No fix needed here; watching the fresh run.


Generated by Claude Code

Copy link
Copy Markdown
Contributor Author

agent-review-runtime-quality failed again (17 failures, all in tests/test_pr_review_merge_scheduler.pyTypeError/invalid git sha: 'head' fixture drift) — this branch had drifted "behind" main again since the last update at 01:33 UTC, re-inheriting a stale-fixture issue already fixed upstream. This PR's own diff still only touches docs/product-technical-gap-baseline.md.

Merged current main (bc59c07c4) in again, validated: full suite coverage run -m pytest tests -q → 2841 passed, 1 skipped, 21 subtests passed, zero failures; git diff --check clean. Pushed as e3b0b2d64 (merge commit, no force).


Generated by Claude Code

seonghobae pushed a commit that referenced this pull request Sep 5, 2026
Both found by an adversarial re-triage of this session's own open PRs,
where the classifier made the first error itself -- which is the evidence
that the entry is needed.

cancelled is not failure. On #933, 22 check runs on head 9988c4f were
all completed: 20 cancelled, 2 skipped, ZERO failure, with the combined
commit status reading success. An automated triage pass still labelled it
CI-red and produced a careful analysis of whose fault a failure was that
did not exist. Org-wide the cancelled case dominates -- 18 of the 20 most
recent agent-review-runtime-quality-ci.yml runs were cancelled -- so
reading the conclusion field rather than the surrounding noise is the
whole discipline.

The starvation loop is the second half. A bot auto-merging main into a
branch on a cadence, against the saturated queue of signature 7, means no
check can ever conclude: each new head cancels the runs still queued from
the last one. On #1722 opencode-agent[bot] merged main in four times
across three days; per-head outcomes were cancelled, failure, failure,
cancelled, pending, and run 33945594764 sat queued 4.5 hours without ever
executing before the next auto-update killed it. That PR has not
completed a check cycle once.

Consequences recorded: never tell anyone to wait on a specific queued run
id, because on an auto-updated branch it may already be cancelled and a
cancelled run cannot produce a conclusion; and do not merge main in
yourself in response, since a second updater cannot help a branch already
updated faster than the queue absorbs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BV96rXhqoR3tYZ9AeAVur4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci-cd CI, GitHub Actions, checks, release, or supply chain documentation Improvements or additions to documentation priority: high High-priority or P1 work status: draft Draft pull request type: docs Documentation, ADR, PRD, or technical writing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants