@zigrivers/scaffold 3.5.0 → 3.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/content/knowledge/game/game-ai-patterns.md +26 -1
  2. package/content/knowledge/game/game-asset-pipeline.md +7 -3
  3. package/content/knowledge/game/game-audio-design.md +3 -1
  4. package/content/knowledge/game/game-design-document.md +9 -0
  5. package/content/knowledge/game/game-domain-patterns.md +2 -0
  6. package/content/knowledge/game/game-engine-selection.md +2 -2
  7. package/content/knowledge/game/game-input-systems.md +22 -0
  8. package/content/knowledge/game/game-level-content-design.md +28 -0
  9. package/content/knowledge/game/game-networking.md +2 -0
  10. package/content/knowledge/game/game-performance-budgeting.md +11 -0
  11. package/content/knowledge/game/game-save-systems.md +1 -1
  12. package/content/knowledge/game/game-ui-patterns.md +2 -0
  13. package/content/knowledge/game/game-vr-ar-design.md +1 -1
  14. package/content/knowledge/review/review-game-ui.md +293 -0
  15. package/content/pipeline/architecture/netcode-spec.md +1 -1
  16. package/content/pipeline/architecture/review-netcode.md +3 -3
  17. package/content/pipeline/foundation/performance-budgets.md +1 -1
  18. package/content/pipeline/pre/game-design-document.md +1 -0
  19. package/content/pipeline/quality/playtest-plan.md +2 -1
  20. package/content/pipeline/specification/art-bible.md +2 -2
  21. package/content/pipeline/specification/audio-design.md +2 -1
  22. package/content/pipeline/specification/content-structure-design.md +1 -0
  23. package/content/pipeline/specification/economy-design.md +1 -0
  24. package/content/pipeline/specification/review-economy.md +2 -2
  25. package/content/pipeline/specification/review-game-ui.md +7 -7
  26. package/content/pipeline/specification/save-system-spec.md +1 -1
  27. package/dist/cli/commands/complete.d.ts.map +1 -1
  28. package/dist/cli/commands/complete.js +5 -2
  29. package/dist/cli/commands/complete.js.map +1 -1
  30. package/dist/cli/commands/next.d.ts.map +1 -1
  31. package/dist/cli/commands/next.js +11 -43
  32. package/dist/cli/commands/next.js.map +1 -1
  33. package/dist/cli/commands/reset.d.ts.map +1 -1
  34. package/dist/cli/commands/reset.js +5 -2
  35. package/dist/cli/commands/reset.js.map +1 -1
  36. package/dist/cli/commands/rework.d.ts.map +1 -1
  37. package/dist/cli/commands/rework.js +11 -44
  38. package/dist/cli/commands/rework.js.map +1 -1
  39. package/dist/cli/commands/run.d.ts.map +1 -1
  40. package/dist/cli/commands/run.js +24 -58
  41. package/dist/cli/commands/run.js.map +1 -1
  42. package/dist/cli/commands/run.test.js +55 -58
  43. package/dist/cli/commands/run.test.js.map +1 -1
  44. package/dist/cli/commands/skip.d.ts.map +1 -1
  45. package/dist/cli/commands/skip.js +5 -2
  46. package/dist/cli/commands/skip.js.map +1 -1
  47. package/dist/cli/commands/status.d.ts.map +1 -1
  48. package/dist/cli/commands/status.js +13 -44
  49. package/dist/cli/commands/status.js.map +1 -1
  50. package/dist/core/pipeline/context.d.ts +5 -0
  51. package/dist/core/pipeline/context.d.ts.map +1 -0
  52. package/dist/core/pipeline/context.js +28 -0
  53. package/dist/core/pipeline/context.js.map +1 -0
  54. package/dist/core/pipeline/context.test.d.ts +2 -0
  55. package/dist/core/pipeline/context.test.d.ts.map +1 -0
  56. package/dist/core/pipeline/context.test.js +33 -0
  57. package/dist/core/pipeline/context.test.js.map +1 -0
  58. package/dist/core/pipeline/resolver.d.ts +6 -0
  59. package/dist/core/pipeline/resolver.d.ts.map +1 -0
  60. package/dist/core/pipeline/resolver.js +56 -0
  61. package/dist/core/pipeline/resolver.js.map +1 -0
  62. package/dist/core/pipeline/resolver.test.d.ts +2 -0
  63. package/dist/core/pipeline/resolver.test.d.ts.map +1 -0
  64. package/dist/core/pipeline/resolver.test.js +67 -0
  65. package/dist/core/pipeline/resolver.test.js.map +1 -0
  66. package/dist/core/pipeline/types.d.ts +24 -0
  67. package/dist/core/pipeline/types.d.ts.map +1 -0
  68. package/dist/core/pipeline/types.js +2 -0
  69. package/dist/core/pipeline/types.js.map +1 -0
  70. package/package.json +1 -1
  71. package/dist/core/assembly/methodology-resolver.d.ts +0 -11
  72. package/dist/core/assembly/methodology-resolver.d.ts.map +0 -1
  73. package/dist/core/assembly/methodology-resolver.js +0 -19
  74. package/dist/core/assembly/methodology-resolver.js.map +0 -1
  75. package/dist/core/assembly/methodology-resolver.test.d.ts +0 -2
  76. package/dist/core/assembly/methodology-resolver.test.d.ts.map +0 -1
  77. package/dist/core/assembly/methodology-resolver.test.js +0 -87
  78. package/dist/core/assembly/methodology-resolver.test.js.map +0 -1
  79. package/dist/utils/eligible.d.ts +0 -9
  80. package/dist/utils/eligible.d.ts.map +0 -1
  81. package/dist/utils/eligible.js +0 -50
  82. package/dist/utils/eligible.js.map +0 -1
@@ -4,19 +4,15 @@ import { StateManager } from '../../state/state-manager.js';
4
4
  import { acquireLock, releaseLock } from '../../state/lock-manager.js';
5
5
  import { analyzeCrash } from '../../state/completion.js';
6
6
  import { AssemblyEngine } from '../../core/assembly/engine.js';
7
- import { discoverAllMetaPrompts } from '../../core/assembly/meta-prompt-loader.js';
8
- import { getPackagePipelineDir, getPackageMethodologyDir, getPackageKnowledgeDir, getPackageToolsDir, } from '../../utils/fs.js';
7
+ import { getPackageKnowledgeDir } from '../../utils/fs.js';
9
8
  import { buildIndexWithOverrides, loadEntries } from '../../core/assembly/knowledge-loader.js';
10
9
  import { loadInstructions } from '../../core/assembly/instruction-loader.js';
11
10
  import { resolveDepth } from '../../core/assembly/depth-resolver.js';
12
11
  import { detectUpdateMode } from '../../core/assembly/update-mode.js';
13
12
  import { detectMethodologyChange } from '../../core/assembly/methodology-change.js';
14
- import { loadAllPresets } from '../../core/assembly/preset-loader.js';
15
- import { resolveOverlayState } from '../../core/assembly/overlay-state-resolver.js';
16
- import { loadConfig } from '../../config/loader.js';
17
- import { buildGraph } from '../../core/dependency/graph.js';
18
13
  import { detectCycles, topologicalSort } from '../../core/dependency/dependency.js';
19
- import { computeEligible } from '../../core/dependency/eligibility.js';
14
+ import { loadPipelineContext } from '../../core/pipeline/context.js';
15
+ import { resolvePipeline } from '../../core/pipeline/resolver.js';
20
16
  import { findProjectRoot } from '../../cli/middleware/project-root.js';
21
17
  import { createOutputContext } from '../../cli/output/context.js';
22
18
  import { displayErrors } from '../../cli/output/error-display.js';
@@ -60,15 +56,18 @@ const runCommand = {
60
56
  const outputMode = resolveOutputMode(argv);
61
57
  const output = createOutputContext(outputMode);
62
58
  // -----------------------------------------------------------------------
63
- // Step 2: Discover meta-prompts and pipeline (before config so we have
64
- // real step names for Phase-6 custom.steps validation)
59
+ // Step 2: Load pipeline context and resolve overlay/graph
65
60
  // -----------------------------------------------------------------------
66
- const pipelineDir = getPackagePipelineDir(projectRoot);
67
- const toolsDir = getPackageToolsDir(projectRoot);
68
- const metaPrompts = discoverAllMetaPrompts(pipelineDir, toolsDir);
69
- const metaPrompt = metaPrompts.get(step);
61
+ const context = loadPipelineContext(projectRoot, { includeTools: true });
62
+ if (!context.config) {
63
+ displayErrors(context.configErrors, context.configWarnings, output);
64
+ process.exit(1);
65
+ return;
66
+ }
67
+ const pipeline = resolvePipeline(context, { output });
68
+ const metaPrompt = context.metaPrompts.get(step);
70
69
  if (!metaPrompt) {
71
- const candidates = [...metaPrompts.keys()];
70
+ const candidates = [...context.metaPrompts.keys()];
72
71
  const suggestion = findClosestMatch(step, candidates, 3);
73
72
  const suggestionText = suggestion ? ` Did you mean '${suggestion}'?` : '';
74
73
  output.error({
@@ -79,35 +78,6 @@ const runCommand = {
79
78
  });
80
79
  process.exit(1);
81
80
  }
82
- const knownSteps = [...metaPrompts.keys()];
83
- const { config, errors: configErrors } = loadConfig(projectRoot, knownSteps);
84
- if (!config) {
85
- displayErrors(configErrors, [], output);
86
- process.exit(1);
87
- }
88
- const methodologyDir = getPackageMethodologyDir(projectRoot);
89
- const presets = loadAllPresets(methodologyDir, [...metaPrompts.keys()]);
90
- const preset = config.methodology === 'mvp'
91
- ? presets.mvp
92
- : config.methodology === 'custom'
93
- ? presets.custom ?? presets.deep
94
- : presets.deep;
95
- const resolvedPreset = preset ?? {
96
- name: 'deep',
97
- description: 'Default deep methodology',
98
- default_depth: 3,
99
- steps: {},
100
- };
101
- // -----------------------------------------------------------------------
102
- // Step 2b: Load and apply project-type overlay (if configured)
103
- // -----------------------------------------------------------------------
104
- const overlayState = resolveOverlayState({
105
- config,
106
- methodologyDir,
107
- metaPrompts,
108
- presetSteps: resolvedPreset.steps,
109
- output,
110
- });
111
81
  // -----------------------------------------------------------------------
112
82
  // Step 3: Acquire lock
113
83
  // -----------------------------------------------------------------------
@@ -133,11 +103,7 @@ const runCommand = {
133
103
  // -----------------------------------------------------------------------
134
104
  // Step 4: Load and validate state
135
105
  // -----------------------------------------------------------------------
136
- const computeEligibleFn = (steps) => {
137
- const graph = buildGraph([...metaPrompts.values()].map(m => m.frontmatter), new Map(Object.entries(overlayState.steps)));
138
- return computeEligible(graph, steps);
139
- };
140
- const stateManager = new StateManager(projectRoot, computeEligibleFn);
106
+ const stateManager = new StateManager(projectRoot, pipeline.computeEligible);
141
107
  let state = stateManager.loadState();
142
108
  // Crash recovery: in_progress is non-null from a previous run
143
109
  if (state.in_progress !== null) {
@@ -183,8 +149,7 @@ const runCommand = {
183
149
  // -----------------------------------------------------------------------
184
150
  // Step 5: Check dependencies
185
151
  // -----------------------------------------------------------------------
186
- const presetStepsMap = new Map(Object.entries(overlayState.steps));
187
- const graph = buildGraph([...metaPrompts.values()].map(m => m.frontmatter), presetStepsMap);
152
+ const { graph } = pipeline;
188
153
  const cycles = detectCycles(graph);
189
154
  if (cycles.length > 0) {
190
155
  displayErrors(cycles, [], output);
@@ -196,7 +161,8 @@ const runCommand = {
196
161
  // Tools (category: 'tool') are not in the dependency graph — skip dep checking
197
162
  const isTool = metaPrompt.frontmatter.category === 'tool';
198
163
  const stepNode = isTool ? undefined : graph.nodes.get(step);
199
- const deps = overlayState.dependencies[step] ?? stepNode?.dependencies ?? metaPrompt.frontmatter.dependencies ?? [];
164
+ const deps = pipeline.overlay.dependencies[step]
165
+ ?? stepNode?.dependencies ?? metaPrompt.frontmatter.dependencies ?? [];
200
166
  if (!isTool) {
201
167
  const unmetDeps = deps.filter(dep => {
202
168
  // Overlay-disabled deps are treated as satisfied (matches eligibility.ts)
@@ -222,7 +188,7 @@ const runCommand = {
222
188
  // Step 6: Check update mode and depth downgrade
223
189
  // -----------------------------------------------------------------------
224
190
  const cliDepth = argv.depth !== undefined ? argv.depth : undefined;
225
- const { depth, provenance } = resolveDepth(step, config, resolvedPreset, cliDepth);
191
+ const { depth, provenance } = resolveDepth(step, context.config, pipeline.preset, cliDepth);
226
192
  const updateModeResult = detectUpdateMode({ step, state, currentDepth: depth, projectRoot });
227
193
  if (updateModeResult.isUpdateMode) {
228
194
  if (!argv.force) {
@@ -257,7 +223,7 @@ const runCommand = {
257
223
  }
258
224
  }
259
225
  // Check methodology change
260
- const methodologyChangeResult = detectMethodologyChange({ state, config });
226
+ const methodologyChangeResult = detectMethodologyChange({ state, config: context.config });
261
227
  for (const w of methodologyChangeResult.warnings) {
262
228
  output.warn(w);
263
229
  }
@@ -276,7 +242,7 @@ const runCommand = {
276
242
  // -----------------------------------------------------------------------
277
243
  const { instructions } = loadInstructions(projectRoot, step, argv.instructions);
278
244
  const kbIndex = buildIndexWithOverrides(projectRoot, getPackageKnowledgeDir(projectRoot));
279
- const { entries: knowledgeEntries, warnings: kbWarnings } = loadEntries(kbIndex, overlayState.knowledge[step] ?? metaPrompt.frontmatter.knowledgeBase ?? []);
245
+ const { entries: knowledgeEntries, warnings: kbWarnings } = loadEntries(kbIndex, pipeline.overlay.knowledge[step] ?? metaPrompt.frontmatter.knowledgeBase ?? []);
280
246
  for (const w of kbWarnings) {
281
247
  output.warn(w);
282
248
  }
@@ -307,7 +273,7 @@ const runCommand = {
307
273
  // Gather artifacts from reads (optional cross-cutting references)
308
274
  // Note: graph defaults missing steps to enabled:true, which may not reflect
309
275
  // custom config overrides. This is a pre-existing graph builder limitation.
310
- const reads = overlayState.reads[step] ?? metaPrompt.frontmatter.reads ?? [];
276
+ const reads = pipeline.overlay.reads[step] ?? metaPrompt.frontmatter.reads ?? [];
311
277
  for (const readStep of reads) {
312
278
  // Check dependency graph for enablement (overlay-disabled steps)
313
279
  const readNode = graph?.nodes.get(readStep);
@@ -356,7 +322,7 @@ const runCommand = {
356
322
  // -----------------------------------------------------------------------
357
323
  const engine = new AssemblyEngine();
358
324
  const assemblyResult = engine.assemble(step, {
359
- config,
325
+ config: context.config,
360
326
  state,
361
327
  metaPrompt,
362
328
  knowledgeEntries,
@@ -394,7 +360,7 @@ const runCommand = {
394
360
  else {
395
361
  // Reload state for next eligible
396
362
  const stateForEligible = stateManager.loadState();
397
- const nextSteps = computeEligible(graph, stateForEligible.steps);
363
+ const nextSteps = pipeline.computeEligible(stateForEligible.steps);
398
364
  output.result({
399
365
  step,
400
366
  status: 'in_progress',
@@ -449,7 +415,7 @@ const runCommand = {
449
415
  // Step 12: Show next eligible steps
450
416
  // -----------------------------------------------------------------------
451
417
  const finalState = stateManager.loadState();
452
- const nextSteps = computeEligible(graph, finalState.steps);
418
+ const nextSteps = pipeline.computeEligible(finalState.steps);
453
419
  if (outputMode === 'interactive') {
454
420
  if (nextSteps.length > 0) {
455
421
  output.info(`Next eligible: ${nextSteps.join(', ')}`);
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ vi.mock('../../core/assembly/engine.js', () => {
25
25
  return { AssemblyEngine: AssemblyEngineMock };
26
26
  });
27
27
  vi.mock('../../core/assembly/meta-prompt-loader.js', () => ({
28
+ discoverMetaPrompts: vi.fn(),
28
29
  discoverAllMetaPrompts: vi.fn(),
29
30
  loadMetaPrompt: vi.fn(),
30
31
  }));
@@ -59,6 +60,14 @@ vi.mock('../../core/assembly/overlay-loader.js', () => ({
59
60
  vi.mock('../../core/assembly/overlay-resolver.js', () => ({
60
61
  applyOverlay: vi.fn(),
61
62
  }));
63
+ vi.mock('../../core/assembly/overlay-state-resolver.js', () => ({
64
+ resolveOverlayState: vi.fn(({ presetSteps }) => ({
65
+ steps: presetSteps,
66
+ knowledge: {},
67
+ reads: {},
68
+ dependencies: {},
69
+ })),
70
+ }));
62
71
  vi.mock('node:fs', async () => {
63
72
  const actual = await vi.importActual('node:fs');
64
73
  return {
@@ -103,7 +112,7 @@ import { StateManager } from '../../state/state-manager.js';
103
112
  import { acquireLock, releaseLock } from '../../state/lock-manager.js';
104
113
  import { analyzeCrash } from '../../state/completion.js';
105
114
  import { AssemblyEngine } from '../../core/assembly/engine.js';
106
- import { discoverAllMetaPrompts } from '../../core/assembly/meta-prompt-loader.js';
115
+ import { discoverMetaPrompts, discoverAllMetaPrompts } from '../../core/assembly/meta-prompt-loader.js';
107
116
  import { buildIndexWithOverrides, loadEntries } from '../../core/assembly/knowledge-loader.js';
108
117
  import { loadInstructions } from '../../core/assembly/instruction-loader.js';
109
118
  import { resolveDepth } from '../../core/assembly/depth-resolver.js';
@@ -111,7 +120,7 @@ import { detectUpdateMode } from '../../core/assembly/update-mode.js';
111
120
  import { detectMethodologyChange } from '../../core/assembly/methodology-change.js';
112
121
  import { loadAllPresets } from '../../core/assembly/preset-loader.js';
113
122
  import { loadOverlay } from '../../core/assembly/overlay-loader.js';
114
- import { applyOverlay } from '../../core/assembly/overlay-resolver.js';
123
+ import { resolveOverlayState } from '../../core/assembly/overlay-state-resolver.js';
115
124
  import { loadConfig } from '../../config/loader.js';
116
125
  import { buildGraph } from '../../core/dependency/graph.js';
117
126
  import { detectCycles, topologicalSort } from '../../core/dependency/dependency.js';
@@ -257,7 +266,9 @@ beforeEach(() => {
257
266
  const config = makeConfig();
258
267
  vi.mocked(loadConfig).mockReturnValue({ config, errors: [], warnings: [] });
259
268
  const metaPrompt = makeMetaPrompt();
260
- vi.mocked(discoverAllMetaPrompts).mockReturnValue(new Map([['create-prd', metaPrompt]]));
269
+ const defaultMetaPromptMap = new Map([['create-prd', metaPrompt]]);
270
+ vi.mocked(discoverMetaPrompts).mockReturnValue(defaultMetaPromptMap);
271
+ vi.mocked(discoverAllMetaPrompts).mockReturnValue(defaultMetaPromptMap);
261
272
  const preset = makePreset();
262
273
  vi.mocked(loadAllPresets).mockReturnValue({
263
274
  deep: preset,
@@ -349,15 +360,16 @@ describe('run command handler', () => {
349
360
  });
350
361
  describe('Step 2: discover pipeline', () => {
351
362
  it('exits 1 when step is not found in pipeline', async () => {
363
+ vi.mocked(discoverMetaPrompts).mockReturnValue(new Map());
352
364
  vi.mocked(discoverAllMetaPrompts).mockReturnValue(new Map());
353
365
  await expect(invokeHandler({ step: 'unknown-step', _: ['run'] }))
354
366
  .rejects.toThrow('process.exit called');
355
367
  expect(exitSpy).toHaveBeenCalledWith(1);
356
368
  });
357
369
  it('includes fuzzy match suggestion in error when step not found', async () => {
358
- vi.mocked(discoverAllMetaPrompts).mockReturnValue(new Map([
359
- ['create-prd', makeMetaPrompt()],
360
- ]));
370
+ const map = new Map([['create-prd', makeMetaPrompt()]]);
371
+ vi.mocked(discoverMetaPrompts).mockReturnValue(map);
372
+ vi.mocked(discoverAllMetaPrompts).mockReturnValue(map);
361
373
  await expect(invokeHandler({ step: 'create-pr', _: ['run'] }))
362
374
  .rejects.toThrow('process.exit called');
363
375
  // Should have called output.error or displayErrors
@@ -420,10 +432,12 @@ describe('run command handler', () => {
420
432
  frontmatter: makeFrontmatter({ name: 'create-arch', dependencies: ['create-prd'] }),
421
433
  stepName: 'create-arch',
422
434
  });
423
- vi.mocked(discoverAllMetaPrompts).mockReturnValue(new Map([
435
+ const depMap = new Map([
424
436
  ['create-prd', makeMetaPrompt()],
425
437
  ['create-arch', metaPrompt],
426
- ]));
438
+ ]);
439
+ vi.mocked(discoverMetaPrompts).mockReturnValue(depMap);
440
+ vi.mocked(discoverAllMetaPrompts).mockReturnValue(depMap);
427
441
  const state = makeState({
428
442
  'create-prd': { status: 'pending', source: 'pipeline', produces: [] },
429
443
  'create-arch': { status: 'pending', source: 'pipeline', produces: [] },
@@ -765,10 +779,12 @@ describe('run command handler', () => {
765
779
  outputs: ['docs/prd.md'],
766
780
  }),
767
781
  });
768
- vi.mocked(discoverAllMetaPrompts).mockReturnValue(new Map([
782
+ const artMap = new Map([
769
783
  ['setup-project', setupMeta],
770
784
  ['create-prd', prdMeta],
771
- ]));
785
+ ]);
786
+ vi.mocked(discoverMetaPrompts).mockReturnValue(artMap);
787
+ vi.mocked(discoverAllMetaPrompts).mockReturnValue(artMap);
772
788
  // setup-project is completed with produces
773
789
  const state = makeState({
774
790
  'setup-project': {
@@ -848,10 +864,12 @@ describe('run command handler', () => {
848
864
  outputs: ['docs/prd.md'],
849
865
  }),
850
866
  });
851
- vi.mocked(discoverAllMetaPrompts).mockReturnValue(new Map([
867
+ const readsMap1 = new Map([
852
868
  ['setup-project', setupMeta],
853
869
  ['create-prd', prdMeta],
854
- ]));
870
+ ]);
871
+ vi.mocked(discoverMetaPrompts).mockReturnValue(readsMap1);
872
+ vi.mocked(discoverAllMetaPrompts).mockReturnValue(readsMap1);
855
873
  const state = makeState({
856
874
  'setup-project': {
857
875
  status: 'completed',
@@ -920,10 +938,12 @@ describe('run command handler', () => {
920
938
  outputs: ['docs/prd.md'],
921
939
  }),
922
940
  });
923
- vi.mocked(discoverAllMetaPrompts).mockReturnValue(new Map([
941
+ const readsMap2 = new Map([
924
942
  ['setup-project', setupMeta],
925
943
  ['create-prd', prdMeta],
926
- ]));
944
+ ]);
945
+ vi.mocked(discoverMetaPrompts).mockReturnValue(readsMap2);
946
+ vi.mocked(discoverAllMetaPrompts).mockReturnValue(readsMap2);
927
947
  // setup-project is pending (not completed)
928
948
  const state = makeState({
929
949
  'setup-project': { status: 'pending', source: 'pipeline', produces: ['docs/setup.md'] },
@@ -972,10 +992,12 @@ describe('run command handler', () => {
972
992
  outputs: ['docs/prd.md'],
973
993
  }),
974
994
  });
975
- vi.mocked(discoverAllMetaPrompts).mockReturnValue(new Map([
995
+ const readsMap3 = new Map([
976
996
  ['setup-project', setupMeta],
977
997
  ['create-prd', prdMeta],
978
- ]));
998
+ ]);
999
+ vi.mocked(discoverMetaPrompts).mockReturnValue(readsMap3);
1000
+ vi.mocked(discoverAllMetaPrompts).mockReturnValue(readsMap3);
979
1001
  const state = makeState({
980
1002
  'setup-project': {
981
1003
  status: 'completed', source: 'pipeline',
@@ -1025,10 +1047,12 @@ describe('run command handler', () => {
1025
1047
  outputs: ['docs/prd.md'],
1026
1048
  }),
1027
1049
  });
1028
- vi.mocked(discoverAllMetaPrompts).mockReturnValue(new Map([
1050
+ const dedupMap = new Map([
1029
1051
  ['setup-project', setupMeta],
1030
1052
  ['create-prd', prdMeta],
1031
- ]));
1053
+ ]);
1054
+ vi.mocked(discoverMetaPrompts).mockReturnValue(dedupMap);
1055
+ vi.mocked(discoverAllMetaPrompts).mockReturnValue(dedupMap);
1032
1056
  const state = makeState({
1033
1057
  'setup-project': {
1034
1058
  status: 'completed',
@@ -1097,10 +1121,12 @@ describe('run command handler', () => {
1097
1121
  outputs: ['docs/arch.md'],
1098
1122
  }),
1099
1123
  });
1100
- vi.mocked(discoverAllMetaPrompts).mockReturnValue(new Map([
1124
+ const bypassMap = new Map([
1101
1125
  ['create-prd', prdMeta],
1102
1126
  ['create-arch', archMeta],
1103
- ]));
1127
+ ]);
1128
+ vi.mocked(discoverMetaPrompts).mockReturnValue(bypassMap);
1129
+ vi.mocked(discoverAllMetaPrompts).mockReturnValue(bypassMap);
1104
1130
  const state = makeState({
1105
1131
  'create-prd': { status: 'pending', source: 'pipeline', produces: [] },
1106
1132
  'create-arch': { status: 'pending', source: 'pipeline', produces: [] },
@@ -1130,40 +1156,16 @@ describe('run command handler', () => {
1130
1156
  });
1131
1157
  });
1132
1158
  describe('overlay application', () => {
1133
- it('applies overlay when config has projectType, changing step enablement', async () => {
1159
+ it('applies overlay when resolveOverlayState returns disabled steps', async () => {
1134
1160
  // Config with projectType: 'game'
1135
1161
  const config = makeConfig({
1136
1162
  project: { projectType: 'game' },
1137
1163
  });
1138
1164
  vi.mocked(loadConfig).mockReturnValue({ config, errors: [], warnings: [] });
1139
- // fs.existsSync must return true for the overlay file so the resolver proceeds
1140
- vi.mocked(fs.existsSync).mockImplementation((p) => {
1141
- if (String(p).includes('game-overlay.yml'))
1142
- return true;
1143
- return false;
1144
- });
1145
- const gameOverlay = {
1146
- name: 'game',
1147
- description: 'Game overlay',
1148
- projectType: 'game',
1149
- stepOverrides: {
1150
- 'create-prd': { enabled: false },
1151
- 'game-design-document': { enabled: true },
1152
- },
1153
- knowledgeOverrides: {},
1154
- readsOverrides: {},
1155
- dependencyOverrides: {},
1156
- };
1157
- vi.mocked(loadOverlay).mockReturnValue({
1158
- overlay: gameOverlay,
1159
- errors: [],
1160
- warnings: [],
1161
- });
1162
- // applyOverlay returns merged data with create-prd disabled
1163
- vi.mocked(applyOverlay).mockReturnValue({
1165
+ // Mock resolveOverlayState to return overlay-merged data with create-prd disabled
1166
+ vi.mocked(resolveOverlayState).mockReturnValue({
1164
1167
  steps: {
1165
1168
  'create-prd': { enabled: false },
1166
- 'game-design-document': { enabled: true },
1167
1169
  },
1168
1170
  knowledge: { 'create-prd': [] },
1169
1171
  reads: { 'create-prd': [] },
@@ -1172,14 +1174,8 @@ describe('run command handler', () => {
1172
1174
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
1173
1175
  await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
1174
1176
  .rejects.toThrow('process.exit called');
1175
- // Verify loadOverlay was called
1176
- expect(loadOverlay).toHaveBeenCalledWith(expect.stringContaining('game-overlay.yml'));
1177
- // Verify applyOverlay was called with the overlay
1178
- expect(applyOverlay).toHaveBeenCalledWith(expect.any(Object), // preset steps
1179
- expect.any(Object), // knowledgeMap
1180
- expect.any(Object), // readsMap
1181
- expect.any(Object), // dependencyMap
1182
- gameOverlay);
1177
+ // Verify resolveOverlayState was called (overlay resolution delegated to resolver)
1178
+ expect(resolveOverlayState).toHaveBeenCalled();
1183
1179
  // Verify buildGraph received merged steps (with overlay applied)
1184
1180
  expect(buildGraph).toHaveBeenCalledWith(expect.any(Array), expect.any(Map));
1185
1181
  // The presetStepsMap passed to buildGraph should contain overlay-merged steps
@@ -1187,14 +1183,15 @@ describe('run command handler', () => {
1187
1183
  const stepsMap = buildGraphCall[1];
1188
1184
  expect(stepsMap.get('create-prd')).toEqual({ enabled: false });
1189
1185
  });
1190
- it('does not call loadOverlay when config has no projectType', async () => {
1186
+ it('passes preset steps through when config has no projectType', async () => {
1191
1187
  const config = makeConfig(); // no project.projectType
1192
1188
  vi.mocked(loadConfig).mockReturnValue({ config, errors: [], warnings: [] });
1193
1189
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
1194
1190
  await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
1195
1191
  .rejects.toThrow('process.exit called');
1196
- expect(loadOverlay).not.toHaveBeenCalled();
1197
- expect(applyOverlay).not.toHaveBeenCalled();
1192
+ // resolveOverlayState is still called (by the resolver) but with no projectType
1193
+ // it returns the preset steps unchanged
1194
+ expect(resolveOverlayState).toHaveBeenCalled();
1198
1195
  });
1199
1196
  });
1200
1197
  });