Merge pull request #3927 from open-gsd/chore/ack-sweep-929e02cb

This commit is contained in:
Tom Boucher
2026-08-27 08:16:48 -04:00
committed by GitHub

View File

@@ -1,10 +0,0 @@
{
"$comment": "Hash ack (#2914 fragment). Reason: #3738 moved antigravity's global skills and agents from the configHome (~/.gemini/antigravity, which AGY does not scan) to ~/.gemini/config via the artifactLayout kind `home` override, and the antigravity content converter now rewrites `~/.claude/skills/` and `$HOME/.claude/skills/` references in GLOBAL installs to `~/.gemini/config/skills/` — the directory Antigravity actually discovers (antigravity.google/docs/skills, /docs/subagents; re-verified 2026-08-26). The skills ripple is attributed permanently by the new runtime-scoped `transforms` on the skills-from-commands rule (ANTIGRAVITY_SKILL_TRANSFORM_SRCS), so this fragment covers the ONE remaining converted path that rule cannot reach: gsd-core/workflows/profile-user.md, an identity-classed gsd-core file whose antigravity-emitted copy embeds `$HOME/.claude/skills/gsd-dev-preferences/SKILL.md` in two display strings (the dev-preferences skill location table). Those strings now point at `$HOME/.gemini/config/skills/…`, matching where the installer actually writes the skill post-#3738; the source workflow's claude-form text is deliberately unchanged. The parity-manifest walk was widened the same PR (extraEmitRootsFor, tests/helpers/install-shared.cjs) so the antigravity family's emitted keys stay manifest-visible at their new install root — without that, all 71 skill keys silently left the differential, which is the exact #3547 blind-spot class this gate exists to prevent.",
"version": 1,
"paths": {
"gsd-core/workflows/profile-user.md": {
"runtime": "antigravity",
"reason": "#3738: the antigravity-emitted copy of this workflow embeds the global dev-preferences skill location in two display strings ('$HOME/.claude/skills/gsd-dev-preferences/SKILL.md'); post-#3738 the installer writes that skill to $HOME/.gemini/config/skills/, so the converter rewrites the strings to the scanned dir and the emitted hash moves with no gsd-core/workflows/profile-user.md source change. The gsd-core-verbatim rule is identity-classed and cannot declare the converter as a transform, so the ripple is acked here; the claude-family copy is byte-identical to base and does not ripple."
}
}
}