diff --git a/packages/server/scripts/build-skill-bundles.test.ts b/packages/server/scripts/build-skill-bundles.test.ts index bd1a32c63..e2bdf1389 100644 --- a/packages/server/scripts/build-skill-bundles.test.ts +++ b/packages/server/scripts/build-skill-bundles.test.ts @@ -243,12 +243,16 @@ describe('repo assets — production guard', () => { expect(result.ok).toBe(true); }); - test('every real source bundle exists and the _shared directory is present', () => { + test('every real source bundle exists and shared placeholders are resolvable', () => { const { skillsDir } = defaultPaths(); for (const bundle of BUNDLE_IDS) { expect(existsSync(join(skillsDir, bundle, 'SKILL.md'))).toBe(true); } - expect(existsSync(join(skillsDir, '_shared'))).toBe(true); + const hasSharedSources = existsSync(join(skillsDir, '_shared')); + const bundlesReferenceShared = BUNDLE_IDS.some((bundle) => + readFileSync(join(skillsDir, bundle, 'SKILL.md'), 'utf-8').includes('{{> _shared/'), + ); + expect(hasSharedSources || !bundlesReferenceShared).toBe(true); }); test('every bundle carries a distinct frontmatter name: value (shadow prevention)', () => { diff --git a/packages/server/src/sync-engine.test.ts b/packages/server/src/sync-engine.test.ts index b93aef004..784fef9ea 100644 --- a/packages/server/src/sync-engine.test.ts +++ b/packages/server/src/sync-engine.test.ts @@ -420,7 +420,9 @@ describe('SyncEngine ConflictStore admission (content-only)', () => { async function setupDivergence(remoteAction: 'modify' | 'delete'): Promise { const bareDir = join(tmpDir, 'bare.git'); mkdirSync(bareDir, { recursive: true }); - await simpleGit(bareDir).init(true); + const bare = simpleGit(bareDir); + await bare.init(true); + await bare.raw('symbolic-ref', 'HEAD', 'refs/heads/main'); const sisterDir = join(tmpDir, 'sister'); mkdirSync(sisterDir, { recursive: true });