Dashboard › craft › Distillation
fb3edd54-8f62-4b45-b446-b1b257e3c471["lore_tm_v1_--eo0bJuDB-QADdOo7mnwW8X4zbfULRnqmGt45PdAhQ","lore_tm_v1_b9SGK-bSWnF1Ly1wM67Fk0cTmcXwZbcNT6RmXzWUj3s","lore_tm_v1_KQGt4ThQ5C31RjKXd3f-1L9kNKXmGJQcKyGT8Qhk_a0","lore_tm_v1_bFl2VfnvKqMeHYcvUqIimwjBx9H7qf69jgyMuCZAH_8"]
Date: Sep 8, 2026
src/__tests__/config.test.ts (680 lines). It imports describe, test, expect, vi, afterEach, and beforeEach from vitest; mkdtempSync, mkdirSync, rmSync, symlinkSync, and writeFileSync from fs; tmpdir from os; join from path; config functions including getWorkspaceNames from ../config; CraftProjectConfigSchema from ../schemas/project_config; and logger from ../logger.ENOENT will be treated as a valid vanished/broken workspace-candidate condition, without weakening error handling; stated intent to add a deterministic test seam by spying on the filesystem resolution call.src/config.ts (1,059 lines), whose line 1 imports existsSync, lstatSync, readFileSync, and realpathSync from fs; line 2 imports path; and line 3 imports globSync and hasMagic from glob.src/config.ts comments document that getTargetByName is lazily imported in expandWorkspaceTargets to avoid circular dependency config -> targets -> registry -> utils/registry -> symlink -> version -> config.src/__tests__/config.test.ts for config-related imports and calls, including getWorkspaceNames() assertions at lines 374, 380, 402, 447, 479, 501, 522, and 583; and loadConfigurationFromString(...) calls/assertions at lines 178, 229, 330, 338, 352, 361, 418, 533, 595, 604, 613, 625, 632, 643, 647, 657, and 663.