Ultimate

X_RELEASE_HEAD_NOT_MAIN

Means

scripts/release-due.ts refused to answer because HEAD is not the tip of origin/main

Typical cause

two causes, one code, and the cause says which. fetch: origin/main is unreachable from HEAD — the fetch in scripts/lib/base-ref.ts failed and the script cannot tell what HEAD is anchored to. mismatch: git rev-parse HEAD and git rev-parse origin/main returned different SHAs — HEAD is on a side branch (or ahead of origin/main) and the answer a release-due consumer reads would be anchored to neither. The check compares git rev-parse HEAD to git rev-parse origin/main (the latter fetched first by scripts/lib/base-ref.ts) and refuses on any disagreement, running after the tag/window reachability tests so their codes keep their meaning. data.headSha is the consumer's anchor — comparing it to the SHA the ask body quoted is the check that the run that filed the ask is still the run answering it

Fix

git fetch --no-tags --depth=1 origin +refs/heads/main:refs/remotes/origin/main && git checkout main — fetch the base, then move HEAD to it

Listed under CLI and verify

This page as markdown