@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.
- package/content/knowledge/game/game-ai-patterns.md +26 -1
- package/content/knowledge/game/game-asset-pipeline.md +7 -3
- package/content/knowledge/game/game-audio-design.md +3 -1
- package/content/knowledge/game/game-design-document.md +9 -0
- package/content/knowledge/game/game-domain-patterns.md +2 -0
- package/content/knowledge/game/game-engine-selection.md +2 -2
- package/content/knowledge/game/game-input-systems.md +22 -0
- package/content/knowledge/game/game-level-content-design.md +28 -0
- package/content/knowledge/game/game-networking.md +2 -0
- package/content/knowledge/game/game-performance-budgeting.md +11 -0
- package/content/knowledge/game/game-save-systems.md +1 -1
- package/content/knowledge/game/game-ui-patterns.md +2 -0
- package/content/knowledge/game/game-vr-ar-design.md +1 -1
- package/content/knowledge/review/review-game-ui.md +293 -0
- package/content/pipeline/architecture/netcode-spec.md +1 -1
- package/content/pipeline/architecture/review-netcode.md +3 -3
- package/content/pipeline/foundation/performance-budgets.md +1 -1
- package/content/pipeline/pre/game-design-document.md +1 -0
- package/content/pipeline/quality/playtest-plan.md +2 -1
- package/content/pipeline/specification/art-bible.md +2 -2
- package/content/pipeline/specification/audio-design.md +2 -1
- package/content/pipeline/specification/content-structure-design.md +1 -0
- package/content/pipeline/specification/economy-design.md +1 -0
- package/content/pipeline/specification/review-economy.md +2 -2
- package/content/pipeline/specification/review-game-ui.md +7 -7
- package/content/pipeline/specification/save-system-spec.md +1 -1
- package/dist/cli/commands/complete.d.ts.map +1 -1
- package/dist/cli/commands/complete.js +5 -2
- package/dist/cli/commands/complete.js.map +1 -1
- package/dist/cli/commands/next.d.ts.map +1 -1
- package/dist/cli/commands/next.js +11 -43
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/commands/reset.d.ts.map +1 -1
- package/dist/cli/commands/reset.js +5 -2
- package/dist/cli/commands/reset.js.map +1 -1
- package/dist/cli/commands/rework.d.ts.map +1 -1
- package/dist/cli/commands/rework.js +11 -44
- package/dist/cli/commands/rework.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +24 -58
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/run.test.js +55 -58
- package/dist/cli/commands/run.test.js.map +1 -1
- package/dist/cli/commands/skip.d.ts.map +1 -1
- package/dist/cli/commands/skip.js +5 -2
- package/dist/cli/commands/skip.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +13 -44
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/core/pipeline/context.d.ts +5 -0
- package/dist/core/pipeline/context.d.ts.map +1 -0
- package/dist/core/pipeline/context.js +28 -0
- package/dist/core/pipeline/context.js.map +1 -0
- package/dist/core/pipeline/context.test.d.ts +2 -0
- package/dist/core/pipeline/context.test.d.ts.map +1 -0
- package/dist/core/pipeline/context.test.js +33 -0
- package/dist/core/pipeline/context.test.js.map +1 -0
- package/dist/core/pipeline/resolver.d.ts +6 -0
- package/dist/core/pipeline/resolver.d.ts.map +1 -0
- package/dist/core/pipeline/resolver.js +56 -0
- package/dist/core/pipeline/resolver.js.map +1 -0
- package/dist/core/pipeline/resolver.test.d.ts +2 -0
- package/dist/core/pipeline/resolver.test.d.ts.map +1 -0
- package/dist/core/pipeline/resolver.test.js +67 -0
- package/dist/core/pipeline/resolver.test.js.map +1 -0
- package/dist/core/pipeline/types.d.ts +24 -0
- package/dist/core/pipeline/types.d.ts.map +1 -0
- package/dist/core/pipeline/types.js +2 -0
- package/dist/core/pipeline/types.js.map +1 -0
- package/package.json +1 -1
- package/dist/core/assembly/methodology-resolver.d.ts +0 -11
- package/dist/core/assembly/methodology-resolver.d.ts.map +0 -1
- package/dist/core/assembly/methodology-resolver.js +0 -19
- package/dist/core/assembly/methodology-resolver.js.map +0 -1
- package/dist/core/assembly/methodology-resolver.test.d.ts +0 -2
- package/dist/core/assembly/methodology-resolver.test.d.ts.map +0 -1
- package/dist/core/assembly/methodology-resolver.test.js +0 -87
- package/dist/core/assembly/methodology-resolver.test.js.map +0 -1
- package/dist/utils/eligible.d.ts +0 -9
- package/dist/utils/eligible.d.ts.map +0 -1
- package/dist/utils/eligible.js +0 -50
- package/dist/utils/eligible.js.map +0 -1
package/dist/cli/commands/run.js
CHANGED
|
@@ -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 {
|
|
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 {
|
|
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:
|
|
64
|
-
// real step names for Phase-6 custom.steps validation)
|
|
59
|
+
// Step 2: Load pipeline context and resolve overlay/graph
|
|
65
60
|
// -----------------------------------------------------------------------
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
|
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
|
|
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 =
|
|
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,
|
|
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,
|
|
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 =
|
|
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(
|
|
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(
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
359
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
//
|
|
1140
|
-
vi.mocked(
|
|
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
|
|
1176
|
-
expect(
|
|
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('
|
|
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
|
-
|
|
1197
|
-
|
|
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
|
});
|