git fetch --tags is blocked by two local tags (pre-rename, v1.5.11) and exits 0 anyway — tag tooling silently reads stale data
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- git
- Domain
- release
Research direction
Inspect the local and origin targets for the pre-rename and v1.5.11 tags before deciding which side is authoritative. Reconcile the tags without blindly forcing an update, then run git fetch --tags origin and scripts/release-gate.mjs to confirm the fetch completes cleanly and the gate produces a real verdict.
Written by the indexing model from the issue text.
Description
git fetch --tags cannot complete in this repo — two local tags block it, and git exits 0 anyway
$ git -C ~/Gits/brainlayer fetch --tags origin
! [rejected] pre-rename -> pre-rename (would clobber existing tag)
! [rejected] v1.5.11 -> v1.5.11 (would clobber existing tag)
$ echo $?
0
Two local tags — pre-rename and v1.5.11 — differ from origin's tags of the same name, so git refuses to
update them. It reports the rejections on stderr and still exits 0.
Why this matters beyond an annoyance
Any tooling that fetches tags and trusts the exit code will silently compare against stale local tags.
It will believe the fetch succeeded and answer questions about "the latest release" from data that never
updated. That is not hypothetical: it was found by golems' new release gate
(scripts/release-gate.mjs, golems PR #95), which is why brainlayer is the one repo the gate cannot reach a
verdict for — it returns UNKNOWN, exit 2, deliberately failing closed rather than reporting a
possibly-stale CLEAN.
This is the same shape as several findings this week: a lenient reader standing in for a correctness check.
plutil accepts a plist plistlib rejects; stat succeeds on an iCloud placeholder with no bytes; and
here git fetch --tags returns success while doing only part of its job.
What is needed
Someone who knows the history of these two tags decides which side is authoritative, then reconciles:
- if origin is authoritative:
git fetch --tags --force origin(or delete the local tags first) — but
check what the local ones point at before discarding them, especiallypre-rename, whose name
suggests it marks a state someone deliberately preserved; - if local is authoritative: push them, or rename to stop the collision.
Do not blind-force. Two tags that disagree with origin usually mean someone kept something, and today
this fleet has spent the day on exactly what happens when a cleanup outruns its evidence.
Ask
Reconcile the tag namespace so git fetch --tags completes cleanly. When it does, the release gate will
produce a real verdict for brainlayer instead of UNKNOWN.
Found by the golems release gate on its first live run, 2026-09-09. Filed by the golems lead; owner is the
brainlayer lead.
- Dominant language
- Python
- Stars
- 9
- Forks
- 7
- Avg merge
- 2h 8m
- Merged PRs (30d)
- 211
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from EtanHey/brainlayer
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
EtanHey/brainlayer#999 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
EtanHey/brainlayer#986 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
EtanHey/brainlayer#985 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
EtanHey/brainlayer#982 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
EtanHey/brainlayer#676 ·
Maintainers usually reply within 1 day
All issues in EtanHey/brainlayer
Similar issues
-
[Bug] @deck.gl/arcgis dist import resolves to unpublished @deck.gl/core source path (9.3.11, 9.4.0)Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
workflow: a tick's dispatch counts as 'only this step', and no review self-grants a round unattendedOpenworkflow
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
kristofdegrave/homeassistant-smart-charging#1505 ·
Maintainers usually reply within 1 day
-
metadata submission
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
canonical/content-cache-operator#163 · 1 comment ·
Maintainers usually reply within 1 day
-
[submission]Opensubmission
Difficulty 1/5 Under an hour Newbie friendliness 65/100
leanprover/lean-eval-submissions#1852 ·
Maintainers usually reply within 1 day