fix: facts.sh reads a parentless head as base_ver=(none), not exit 128 #136

Merged
claude-bot-andresmgsl merged 3 commits from build/134-facts-root-commit into main 2026-07-24 12:47:34 +00:00

3 commits

Author SHA1 Message Date
claude-bot-andresmgsl
fa768510bf chore: retrigger checks — queued reconcile duplicate was cancelled
The labels/reconcile job on a17e497 was a queued duplicate cancelled by
its repo-global concurrency group (the sweep it duplicated passed seconds
earlier); GitHub refuses to rerun it, and the reconciler read the
cancellation as ci-red. Nothing in the tree changes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 12:19:27 +00:00
claude-bot-andresmgsl
a17e49737f test: root-commit fixtures — (none) base, D2 loud-death pin, e2e chain
facts.test.sh: greenfield fixtures for all-zeros and empty event.before,
the bare root establishing labeled=no, and the D2 pin (an unresolvable
MERGE_SHA exits 128 and never reports base_ver=(none) — the test that
|| true would fail). release-chain.test.sh: chain() gains optional
repo/stub args; a -dev root commit is a green NOTICE ceremony=no, a bare
unlabeled root still refuses. Plus changelog.d/134.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 12:16:04 +00:00
claude-bot-andresmgsl
7477d3ec95 fix: facts.sh reads a parentless head as base_ver=(none) (#134)
A repository's first push to main is a branch-create push whose head is a
root commit: event.before is all-zeros and MERGE_SHA^1 does not exist, so
the fallback died at exit 128 before establishing a fact. The parent count
is now read via rev-list --parents (a fact, not an inferred failure), the
no-base path skips the belt-and-braces fetch and the base git show, and an
unresolvable MERGE_SHA still fails loudly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 12:14:07 +00:00