Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Stop shipping broken agent-skill symlinks in the source release - #73107

Open
potiuk wants to merge 1 commit into
apache:mainfrom
potiuk:exclude-claude-dir-from-source-release
Open

Stop shipping broken agent-skill symlinks in the source release#73107
potiuk wants to merge 1 commit into
apache:mainfrom
potiuk:exclude-claude-dir-from-source-release

Conversation

@potiuk

@potiuk potiuk commented Sep 13, 2026

Copy link
Copy Markdown
Member

Everything under .claude/skills is a relay symlink into .agents/skills.
.agents is export-ignored (added in #68851) but .claude was not, so
git archive strips the targets and ships the links: unpacking the source
release gives you broken symlinks, and .claude/ arrives containing nothing
but those dead links.

Adding .claude export-ignore removes exactly that directory and nothing else.

Verified with git archive against main:

before after
dangling symlinks in tarball 4 0
.claude/ in tarball yes (only dead links inside) gone
entries removed .claude/ + its 4 relays, nothing more

The 31 other symlinks in the tarball all still resolve.

.github needs no equivalent entry — its own skills relays are already
covered by the existing .github export-ignore.

Not a blocker for 3.3.2

Found while verifying 3.3.2rc1, whose source tarball carries five of these.
This is explicitly non-blocking for the release in flight. The same
dangling links are in the already-released 3.3.1, so it is long-standing
rather than a regression, and it breaks no part of the build. If an rc2
happens for other reasons this could ride along; it does not justify one on
its own.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Opus 5

Generated-by: Claude Opus 5 following the guidelines

Excluding .agents from the source tarball (apache#68851) left .claude behind.
Everything under .claude/skills is a relay symlink into .agents/skills, so
export-ignore strips the targets while the links themselves still ship:
unpacking the source release yields broken symlinks, and .claude/ arrives
holding nothing but those dead links.

Found while verifying 3.3.2rc1, whose tarball carries five of them. The
released 3.3.1 carries the same ones, so this is long-standing rather than
something a recent change introduced.

.github needs no equivalent entry: its own skills relays are already
covered by the existing .github export-ignore.

Generated-by: Claude Opus 5
Claude-Session: https://claude.ai/code/session_01DCUVuZ8CCeER1QLhVEKAaZ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-to-v3-3-test Backport to v3-3-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants