diff --git a/test/catalog-mode-full.test.ts b/test/catalog-mode-full.test.ts index 009db33ee..c964f35ab 100644 --- a/test/catalog-mode-full.test.ts +++ b/test/catalog-mode-full.test.ts @@ -60,7 +60,9 @@ describe('--catalog-mode=full opt-out behavior (smoke)', () => { test('--catalog-mode=full produces multi-line description in frontmatter', () => { // Save the trim'd state so we can restore it. const trimmedShip = fs.readFileSync(SHIP_SKILL, 'utf-8'); - expect(trimmedShip).toMatch(/^description: Ship workflow:[^\n]*\(gstack\)\n/m); + // #1778: the trimmed ship description has an interior colon ("Ship workflow:") + // and is now YAML-quoted — tolerate the optional surrounding quotes. + expect(trimmedShip).toMatch(/^description: "?Ship workflow:[^\n]*\(gstack\)"?\n/m); try { // Run with --catalog-mode=full. Mutates working tree. @@ -100,7 +102,8 @@ describe('--catalog-mode=full opt-out behavior (smoke)', () => { } // Sanity-check the restored state matches what we saw at the start. const restoredShip = fs.readFileSync(SHIP_SKILL, 'utf-8'); - expect(restoredShip).toMatch(/^description: Ship workflow:[^\n]*\(gstack\)\n/m); + // #1778: restored trim state has the YAML-quoted (interior-colon) description. + expect(restoredShip).toMatch(/^description: "?Ship workflow:[^\n]*\(gstack\)"?\n/m); } }, 180_000); diff --git a/test/fixtures/golden/claude-ship-SKILL.md b/test/fixtures/golden/claude-ship-SKILL.md index 12e4c7799..c175f67d4 100644 --- a/test/fixtures/golden/claude-ship-SKILL.md +++ b/test/fixtures/golden/claude-ship-SKILL.md @@ -2,7 +2,7 @@ name: ship preamble-tier: 4 version: 1.0.0 -description: Ship workflow: detect + merge base branch, run tests, review diff, bump VERSION, update CHANGELOG, commit, push, create PR. (gstack) +description: "Ship workflow: detect + merge base branch, run tests, review diff, bump VERSION, update CHANGELOG, commit, push, create PR. (gstack)" allowed-tools: - Bash - Read