From ed940f15f3129cd00117ee8bce243b4812fdfa97 Mon Sep 17 00:00:00 2001 From: Jarvis Date: Tue, 14 Jul 2026 17:13:30 -0500 Subject: [PATCH] test(fleet): make unreadable persona fixture deterministic Co-Authored-By: Claude Opus 4.8 --- packages/mosaic/src/fleet/roster-v2.spec.ts | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/packages/mosaic/src/fleet/roster-v2.spec.ts b/packages/mosaic/src/fleet/roster-v2.spec.ts index 44eab83..1fc0b0b 100644 --- a/packages/mosaic/src/fleet/roster-v2.spec.ts +++ b/packages/mosaic/src/fleet/roster-v2.spec.ts @@ -1,4 +1,4 @@ -import { chmod, mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'; +import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; import { fileURLToPath } from 'node:url'; @@ -132,16 +132,10 @@ describe('roster v2 semantic validation', (): void => { it('rejects an unreadable resolved persona', async () => { const dirs = await semanticDirs(); - const file = join(dirs.overrideDir, 'worker.md'); - await writeFile(file, '# worker\n\n(`class: worker`)\n', 'utf8'); - await chmod(file, 0o000); - try { - await expect( - validateRosterV2Semantics(parseRosterV2(rosterWithClass('worker'), 'yaml'), dirs), - ).rejects.toThrow(/readable persona/i); - } finally { - await chmod(file, 0o600); - } + await mkdir(join(dirs.overrideDir, 'worker.md')); + await expect( + validateRosterV2Semantics(parseRosterV2(rosterWithClass('worker'), 'yaml'), dirs), + ).rejects.toThrow(/readable persona/i); }); it.each([