@zigrivers/scaffold 3.13.0 → 3.14.0

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 (73) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/commands/adopt.d.ts.map +1 -1
  3. package/dist/cli/commands/adopt.js +8 -7
  4. package/dist/cli/commands/adopt.js.map +1 -1
  5. package/dist/cli/commands/adopt.serialization.test.js +8 -0
  6. package/dist/cli/commands/adopt.serialization.test.js.map +1 -1
  7. package/dist/cli/commands/adopt.test.js +8 -0
  8. package/dist/cli/commands/adopt.test.js.map +1 -1
  9. package/dist/cli/commands/build.d.ts.map +1 -1
  10. package/dist/cli/commands/build.js +191 -180
  11. package/dist/cli/commands/build.js.map +1 -1
  12. package/dist/cli/commands/complete.d.ts.map +1 -1
  13. package/dist/cli/commands/complete.js +16 -12
  14. package/dist/cli/commands/complete.js.map +1 -1
  15. package/dist/cli/commands/complete.test.js +14 -5
  16. package/dist/cli/commands/complete.test.js.map +1 -1
  17. package/dist/cli/commands/init.d.ts.map +1 -1
  18. package/dist/cli/commands/init.js +43 -49
  19. package/dist/cli/commands/init.js.map +1 -1
  20. package/dist/cli/commands/init.test.js +33 -27
  21. package/dist/cli/commands/init.test.js.map +1 -1
  22. package/dist/cli/commands/reset.d.ts.map +1 -1
  23. package/dist/cli/commands/reset.js +44 -40
  24. package/dist/cli/commands/reset.js.map +1 -1
  25. package/dist/cli/commands/reset.test.js +42 -20
  26. package/dist/cli/commands/reset.test.js.map +1 -1
  27. package/dist/cli/commands/rework.d.ts.map +1 -1
  28. package/dist/cli/commands/rework.js +16 -12
  29. package/dist/cli/commands/rework.js.map +1 -1
  30. package/dist/cli/commands/rework.test.js +12 -3
  31. package/dist/cli/commands/rework.test.js.map +1 -1
  32. package/dist/cli/commands/run.d.ts.map +1 -1
  33. package/dist/cli/commands/run.js +318 -298
  34. package/dist/cli/commands/run.js.map +1 -1
  35. package/dist/cli/commands/run.test.js +92 -120
  36. package/dist/cli/commands/run.test.js.map +1 -1
  37. package/dist/cli/commands/skip.d.ts.map +1 -1
  38. package/dist/cli/commands/skip.js +19 -15
  39. package/dist/cli/commands/skip.js.map +1 -1
  40. package/dist/cli/commands/skip.test.js +22 -11
  41. package/dist/cli/commands/skip.test.js.map +1 -1
  42. package/dist/cli/commands/update.d.ts.map +1 -1
  43. package/dist/cli/commands/update.js +3 -1
  44. package/dist/cli/commands/update.js.map +1 -1
  45. package/dist/cli/commands/update.test.js +8 -4
  46. package/dist/cli/commands/update.test.js.map +1 -1
  47. package/dist/cli/commands/version.d.ts.map +1 -1
  48. package/dist/cli/commands/version.js +3 -1
  49. package/dist/cli/commands/version.js.map +1 -1
  50. package/dist/cli/commands/version.test.js +9 -5
  51. package/dist/cli/commands/version.test.js.map +1 -1
  52. package/dist/cli/index.d.ts.map +1 -1
  53. package/dist/cli/index.js +2 -0
  54. package/dist/cli/index.js.map +1 -1
  55. package/dist/cli/output/interactive.d.ts +1 -0
  56. package/dist/cli/output/interactive.d.ts.map +1 -1
  57. package/dist/cli/output/interactive.js +5 -0
  58. package/dist/cli/output/interactive.js.map +1 -1
  59. package/dist/cli/shutdown.d.ts +51 -0
  60. package/dist/cli/shutdown.d.ts.map +1 -0
  61. package/dist/cli/shutdown.js +199 -0
  62. package/dist/cli/shutdown.js.map +1 -0
  63. package/dist/cli/shutdown.test.d.ts +2 -0
  64. package/dist/cli/shutdown.test.d.ts.map +1 -0
  65. package/dist/cli/shutdown.test.js +316 -0
  66. package/dist/cli/shutdown.test.js.map +1 -0
  67. package/dist/e2e/init.test.js +5 -4
  68. package/dist/e2e/init.test.js.map +1 -1
  69. package/dist/state/lock-manager.d.ts +1 -0
  70. package/dist/state/lock-manager.d.ts.map +1 -1
  71. package/dist/state/lock-manager.js +1 -1
  72. package/dist/state/lock-manager.js.map +1 -1
  73. package/package.json +1 -1
@@ -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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"}
@@ -15,6 +15,7 @@ vi.mock('../../state/lock-manager.js', () => ({
15
15
  acquireLock: vi.fn(),
16
16
  releaseLock: vi.fn(),
17
17
  checkLock: vi.fn(),
18
+ getLockPath: vi.fn(() => '/mock/.scaffold/lock.json'),
18
19
  }));
19
20
  vi.mock('../../state/completion.js', () => ({
20
21
  analyzeCrash: vi.fn(),
@@ -104,11 +105,21 @@ vi.mock('../../cli/output/error-display.js', () => ({
104
105
  vi.mock('../../cli/middleware/output-mode.js', () => ({
105
106
  resolveOutputMode: vi.fn(),
106
107
  }));
108
+ vi.mock('../shutdown.js', () => ({
109
+ shutdown: {
110
+ withResource: vi.fn((_name, _cleanup, fn) => fn()),
111
+ withPrompt: vi.fn((fn) => fn()),
112
+ withContext: vi.fn((_msg, fn) => fn()),
113
+ registerLockOwnership: vi.fn(),
114
+ releaseLockOwnership: vi.fn(),
115
+ },
116
+ }));
107
117
  // ---------------------------------------------------------------------------
108
118
  // Import mocked modules
109
119
  // ---------------------------------------------------------------------------
110
120
  import { StateManager } from '../../state/state-manager.js';
111
121
  import { acquireLock, releaseLock } from '../../state/lock-manager.js';
122
+ import { shutdown } from '../shutdown.js';
112
123
  import { analyzeCrash } from '../../state/completion.js';
113
124
  import { AssemblyEngine } from '../../core/assembly/engine.js';
114
125
  import { discoverMetaPrompts, discoverAllMetaPrompts } from '../../core/assembly/meta-prompt-loader.js';
@@ -249,13 +260,13 @@ function makeSuccessAssemblyResult() {
249
260
  // Setup shared mocks before each test
250
261
  // ---------------------------------------------------------------------------
251
262
  const PROJECT_ROOT = '/test/project';
252
- let exitSpy;
263
+ let _exitSpy;
253
264
  let stdoutSpy;
254
265
  let mockOutput;
255
266
  beforeEach(() => {
256
267
  vi.clearAllMocks();
257
- exitSpy = vi.spyOn(process, 'exit').mockImplementation((() => {
258
- throw new Error('process.exit called');
268
+ _exitSpy = vi.spyOn(process, 'exit').mockImplementation((() => {
269
+ // no-op — run.ts no longer calls process.exit(); it sets process.exitCode
259
270
  }));
260
271
  stdoutSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
261
272
  mockOutput = makeOutputContext();
@@ -318,6 +329,7 @@ beforeEach(() => {
318
329
  vi.mocked(releaseLock).mockImplementation(() => undefined);
319
330
  });
320
331
  afterEach(() => {
332
+ process.exitCode = undefined;
321
333
  vi.restoreAllMocks();
322
334
  });
323
335
  // ---------------------------------------------------------------------------
@@ -342,9 +354,8 @@ describe('run command handler', () => {
342
354
  describe('Step 1: resolve context', () => {
343
355
  it('exits 1 when project root is not found', async () => {
344
356
  vi.mocked(findProjectRoot).mockReturnValue(null);
345
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], root: undefined }))
346
- .rejects.toThrow('process.exit called');
347
- expect(exitSpy).toHaveBeenCalledWith(1);
357
+ await invokeHandler({ step: 'create-prd', _: ['run'], root: undefined });
358
+ expect(process.exitCode).toBe(1);
348
359
  });
349
360
  it('exits 1 when config cannot be loaded', async () => {
350
361
  vi.mocked(loadConfig).mockReturnValue({
@@ -352,27 +363,24 @@ describe('run command handler', () => {
352
363
  errors: [{ code: 'CONFIG_MISSING', message: 'Config missing', exitCode: 1 }],
353
364
  warnings: [],
354
365
  });
355
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
356
- .rejects.toThrow('process.exit called');
357
- expect(exitSpy).toHaveBeenCalledWith(1);
366
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
367
+ expect(process.exitCode).toBe(1);
358
368
  });
359
369
  });
360
370
  describe('Step 2: discover pipeline', () => {
361
371
  it('exits 1 when step is not found in pipeline', async () => {
362
372
  vi.mocked(discoverMetaPrompts).mockReturnValue(new Map());
363
373
  vi.mocked(discoverAllMetaPrompts).mockReturnValue(new Map());
364
- await expect(invokeHandler({ step: 'unknown-step', _: ['run'] }))
365
- .rejects.toThrow('process.exit called');
366
- expect(exitSpy).toHaveBeenCalledWith(1);
374
+ await invokeHandler({ step: 'unknown-step', _: ['run'] });
375
+ expect(process.exitCode).toBe(1);
367
376
  });
368
377
  it('includes fuzzy match suggestion in error when step not found', async () => {
369
378
  const map = new Map([['create-prd', makeMetaPrompt()]]);
370
379
  vi.mocked(discoverMetaPrompts).mockReturnValue(map);
371
380
  vi.mocked(discoverAllMetaPrompts).mockReturnValue(map);
372
- await expect(invokeHandler({ step: 'create-pr', _: ['run'] }))
373
- .rejects.toThrow('process.exit called');
381
+ await invokeHandler({ step: 'create-pr', _: ['run'] });
374
382
  // Should have called output.error or displayErrors
375
- expect(exitSpy).toHaveBeenCalledWith(1);
383
+ expect(process.exitCode).toBe(1);
376
384
  });
377
385
  });
378
386
  describe('Step 3: lock acquisition', () => {
@@ -381,20 +389,18 @@ describe('run command handler', () => {
381
389
  acquired: false,
382
390
  error: { code: 'LOCK_HELD', message: 'Lock held', exitCode: 3 },
383
391
  });
384
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], force: false }))
385
- .rejects.toThrow('process.exit called');
386
- expect(exitSpy).toHaveBeenCalledWith(3);
392
+ await invokeHandler({ step: 'create-prd', _: ['run'], force: false });
393
+ expect(process.exitCode).toBe(3);
387
394
  });
388
395
  it('proceeds when lock is not acquired but --force is set', async () => {
389
396
  vi.mocked(acquireLock).mockReturnValue({
390
397
  acquired: false,
391
398
  error: { code: 'LOCK_HELD', message: 'Lock held', exitCode: 3 },
392
399
  });
393
- // Should NOT exit 3, should complete (exits 0 in auto mode)
394
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], force: true, auto: true }))
395
- .rejects.toThrow('process.exit called');
396
- // In auto mode, exits 0 after prompt output
397
- expect(exitSpy).toHaveBeenCalledWith(0);
400
+ // Should NOT exit 3, should complete (returns normally in auto mode)
401
+ await invokeHandler({ step: 'create-prd', _: ['run'], force: true, auto: true });
402
+ // In auto mode, returns normally (exitCode undefined = 0)
403
+ expect(process.exitCode).toBeUndefined();
398
404
  });
399
405
  });
400
406
  describe('Step 4: crash recovery', () => {
@@ -406,9 +412,8 @@ describe('run command handler', () => {
406
412
  presentArtifacts: ['docs/prd.md'],
407
413
  missingArtifacts: [],
408
414
  });
409
- // Should clear in_progress and proceed; in auto mode exits 0
410
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
411
- .rejects.toThrow('process.exit called');
415
+ // Should clear in_progress and proceed; in auto mode returns normally
416
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
412
417
  expect(StateManager.prototype.clearInProgress).toHaveBeenCalled();
413
418
  });
414
419
  it('warns and exits 4 in auto mode when crash action is ask_user', async () => {
@@ -420,9 +425,8 @@ describe('run command handler', () => {
420
425
  missingArtifacts: ['docs/other.md'],
421
426
  });
422
427
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
423
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
424
- .rejects.toThrow('process.exit called');
425
- expect(exitSpy).toHaveBeenCalledWith(4);
428
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
429
+ expect(process.exitCode).toBe(4);
426
430
  });
427
431
  });
428
432
  describe('Step 5: dependency check', () => {
@@ -455,27 +459,24 @@ describe('run command handler', () => {
455
459
  ]),
456
460
  };
457
461
  vi.mocked(buildGraph).mockReturnValue(graph);
458
- await expect(invokeHandler({ step: 'create-arch', _: ['run'] }))
459
- .rejects.toThrow('process.exit called');
460
- expect(exitSpy).toHaveBeenCalledWith(2);
462
+ await invokeHandler({ step: 'create-arch', _: ['run'] });
463
+ expect(process.exitCode).toBe(2);
461
464
  });
462
465
  it('exits 1 when dependency cycles are detected', async () => {
463
466
  vi.mocked(detectCycles).mockReturnValue([
464
467
  { code: 'DEP_CYCLE_DETECTED', message: 'Cycle detected', exitCode: 1 },
465
468
  ]);
466
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
467
- .rejects.toThrow('process.exit called');
468
- expect(exitSpy).toHaveBeenCalledWith(1);
469
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
470
+ expect(process.exitCode).toBe(1);
469
471
  });
470
472
  });
471
473
  describe('Step 9: assembly', () => {
472
474
  it('outputs assembled prompt text to stdout on success (auto mode)', async () => {
473
475
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
474
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
475
- .rejects.toThrow('process.exit called');
476
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
476
477
  // Prompt text should be written to stdout
477
478
  expect(stdoutSpy).toHaveBeenCalledWith(expect.stringContaining('assembled prompt text'));
478
- expect(exitSpy).toHaveBeenCalledWith(0);
479
+ expect(process.exitCode).toBeUndefined();
479
480
  });
480
481
  it('exits 5 when assembly engine fails', async () => {
481
482
  vi.mocked(AssemblyEngine.prototype.assemble).mockReturnValue({
@@ -483,27 +484,24 @@ describe('run command handler', () => {
483
484
  errors: [{ code: 'ASM_UNEXPECTED_ERROR', message: 'Assembly failed', exitCode: 5 }],
484
485
  warnings: [],
485
486
  });
486
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
487
- .rejects.toThrow('process.exit called');
488
- expect(exitSpy).toHaveBeenCalledWith(5);
487
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
488
+ expect(process.exitCode).toBe(5);
489
489
  });
490
490
  });
491
491
  describe('Step 10: completion (auto mode)', () => {
492
- it('auto mode exits 0 immediately after prompt output', async () => {
492
+ it('auto mode returns normally after prompt output', async () => {
493
493
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
494
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
495
- .rejects.toThrow('process.exit called');
496
- expect(exitSpy).toHaveBeenCalledWith(0);
494
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
495
+ expect(process.exitCode).toBeUndefined();
497
496
  });
498
497
  });
499
498
  describe('Step 11: mark completed (interactive)', () => {
500
499
  it('marks step completed when user confirms in interactive mode', async () => {
501
500
  vi.mocked(resolveOutputMode).mockReturnValue('interactive');
502
501
  mockOutput.confirm = vi.fn().mockResolvedValue(true);
503
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
504
- .rejects.toThrow('process.exit called');
502
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
505
503
  expect(StateManager.prototype.markCompleted).toHaveBeenCalledWith('create-prd', expect.any(Array), 'scaffold-run', expect.any(Number));
506
- expect(exitSpy).toHaveBeenCalledWith(0);
504
+ expect(process.exitCode).toBeUndefined();
507
505
  });
508
506
  it('exits 4 when user declines completion in interactive mode', async () => {
509
507
  vi.mocked(resolveOutputMode).mockReturnValue('interactive');
@@ -511,16 +509,14 @@ describe('run command handler', () => {
511
509
  mockOutput.confirm = vi.fn()
512
510
  .mockResolvedValueOnce(false) // "Step complete?" -> No
513
511
  .mockResolvedValueOnce(false); // "Mark as skipped?" -> No
514
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
515
- .rejects.toThrow('process.exit called');
516
- expect(exitSpy).toHaveBeenCalledWith(4);
512
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
513
+ expect(process.exitCode).toBe(4);
517
514
  });
518
515
  });
519
516
  describe('Depth override', () => {
520
517
  it('passes --depth CLI flag to resolveDepth', async () => {
521
518
  vi.mocked(resolveDepth).mockReturnValue({ depth: 3, provenance: 'cli-flag' });
522
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], depth: 3, auto: true }))
523
- .rejects.toThrow('process.exit called');
519
+ await invokeHandler({ step: 'create-prd', _: ['run'], depth: 3, auto: true });
524
520
  expect(resolveDepth).toHaveBeenCalledWith('create-prd', expect.any(Object), // config
525
521
  expect.any(Object), // preset
526
522
  3);
@@ -530,9 +526,8 @@ describe('run command handler', () => {
530
526
  it('outputs structured JSON result in json mode', async () => {
531
527
  vi.mocked(resolveOutputMode).mockReturnValue('json');
532
528
  vi.mocked(computeEligible).mockReturnValue(['next-step']);
533
- // In JSON mode, like auto mode, exits 0 after prompt output
534
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], format: 'json' }))
535
- .rejects.toThrow('process.exit called');
529
+ // In JSON mode, like auto mode, returns normally after prompt output
530
+ await invokeHandler({ step: 'create-prd', _: ['run'], format: 'json' });
536
531
  // In json mode output.result is called with structured data
537
532
  expect(mockOutput.result).toHaveBeenCalledWith(expect.objectContaining({
538
533
  step: 'create-prd',
@@ -544,8 +539,7 @@ describe('run command handler', () => {
544
539
  });
545
540
  describe('--instructions flag', () => {
546
541
  it('passes inline instructions to loadInstructions', async () => {
547
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], instructions: 'Be thorough', auto: true }))
548
- .rejects.toThrow('process.exit called');
542
+ await invokeHandler({ step: 'create-prd', _: ['run'], instructions: 'Be thorough', auto: true });
549
543
  expect(loadInstructions).toHaveBeenCalledWith(expect.any(String), 'create-prd', 'Be thorough');
550
544
  });
551
545
  });
@@ -562,19 +556,17 @@ describe('run command handler', () => {
562
556
  },
563
557
  warnings: [],
564
558
  });
565
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], force: true, auto: true }))
566
- .rejects.toThrow('process.exit called');
567
- // Should exit 0 (success, not 4 cancellation)
568
- expect(exitSpy).toHaveBeenCalledWith(0);
559
+ await invokeHandler({ step: 'create-prd', _: ['run'], force: true, auto: true });
560
+ // Should return normally (success, not 4 cancellation)
561
+ expect(process.exitCode).toBeUndefined();
569
562
  });
570
563
  });
571
564
  describe('lock release', () => {
572
- it('releases lock after successful run', async () => {
565
+ it('delegates lock cleanup to shutdown.withResource', async () => {
573
566
  vi.mocked(resolveOutputMode).mockReturnValue('interactive');
574
567
  mockOutput.confirm = vi.fn().mockResolvedValue(true);
575
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
576
- .rejects.toThrow('process.exit called');
577
- expect(releaseLock).toHaveBeenCalledWith(PROJECT_ROOT);
568
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
569
+ expect(shutdown.withResource).toHaveBeenCalledWith('lock', expect.any(Function), expect.any(Function));
578
570
  });
579
571
  });
580
572
  describe('crash recovery: interactive mode ask_user', () => {
@@ -595,8 +587,7 @@ describe('run command handler', () => {
595
587
  mockOutput.confirm = vi.fn()
596
588
  .mockResolvedValueOnce(true) // crash recovery: mark as completed
597
589
  .mockResolvedValueOnce(true); // step complete
598
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
599
- .rejects.toThrow('process.exit called');
590
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
600
591
  expect(StateManager.prototype.markCompleted).toHaveBeenCalledWith('create-prd', [], 'scaffold-crash-recovery', 3);
601
592
  expect(StateManager.prototype.clearInProgress).toHaveBeenCalled();
602
593
  });
@@ -607,8 +598,7 @@ describe('run command handler', () => {
607
598
  mockOutput.confirm = vi.fn()
608
599
  .mockResolvedValueOnce(false) // crash recovery: do not mark completed
609
600
  .mockResolvedValueOnce(true); // step complete
610
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
611
- .rejects.toThrow('process.exit called');
601
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
612
602
  // Should have called clearInProgress but NOT markCompleted with crash-recovery source
613
603
  const markCompletedCalls = vi.mocked(StateManager.prototype.markCompleted).mock.calls;
614
604
  const crashRecoveryCalls = markCompletedCalls.filter(call => call[2] === 'scaffold-crash-recovery');
@@ -635,10 +625,9 @@ describe('run command handler', () => {
635
625
  setupUpdateMode();
636
626
  // User declines re-run confirmation
637
627
  mockOutput.confirm = vi.fn().mockResolvedValueOnce(false);
638
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
639
- .rejects.toThrow('process.exit called');
640
- expect(exitSpy).toHaveBeenCalledWith(4);
641
- expect(releaseLock).toHaveBeenCalledWith(PROJECT_ROOT);
628
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
629
+ expect(process.exitCode).toBe(4);
630
+ expect(shutdown.withResource).toHaveBeenCalledWith('lock', expect.any(Function), expect.any(Function));
642
631
  });
643
632
  it('proceeds when user confirms depth downgrade', async () => {
644
633
  setupUpdateMode([{ code: 'ASM_DEPTH_DOWNGRADE', message: 'Depth downgraded from 4 to 3' }]);
@@ -649,9 +638,8 @@ describe('run command handler', () => {
649
638
  .mockResolvedValueOnce(true) // update mode confirmation
650
639
  .mockResolvedValueOnce(true) // depth downgrade confirmation
651
640
  .mockResolvedValueOnce(true); // step complete
652
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
653
- .rejects.toThrow('process.exit called');
654
- expect(exitSpy).toHaveBeenCalledWith(0);
641
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
642
+ expect(process.exitCode).toBeUndefined();
655
643
  expect(stdoutSpy).toHaveBeenCalledWith(expect.stringContaining('assembled prompt text'));
656
644
  });
657
645
  it('exits 4 when user declines depth downgrade', async () => {
@@ -661,10 +649,9 @@ describe('run command handler', () => {
661
649
  mockOutput.confirm = vi.fn()
662
650
  .mockResolvedValueOnce(true) // update mode confirmation
663
651
  .mockResolvedValueOnce(false); // depth downgrade → decline
664
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
665
- .rejects.toThrow('process.exit called');
666
- expect(exitSpy).toHaveBeenCalledWith(4);
667
- expect(releaseLock).toHaveBeenCalledWith(PROJECT_ROOT);
652
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
653
+ expect(process.exitCode).toBe(4);
654
+ expect(shutdown.withResource).toHaveBeenCalledWith('lock', expect.any(Function), expect.any(Function));
668
655
  });
669
656
  it('outputs warnings and proceeds in auto mode with depth downgrade', async () => {
670
657
  vi.mocked(detectUpdateMode).mockReturnValue({
@@ -679,10 +666,9 @@ describe('run command handler', () => {
679
666
  warnings: [{ code: 'ASM_DEPTH_DOWNGRADE', message: 'Depth downgraded from 4 to 3' }],
680
667
  });
681
668
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
682
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
683
- .rejects.toThrow('process.exit called');
669
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
684
670
  expect(mockOutput.warn).toHaveBeenCalledWith(expect.objectContaining({ code: 'ASM_DEPTH_DOWNGRADE' }));
685
- expect(exitSpy).toHaveBeenCalledWith(0);
671
+ expect(process.exitCode).toBeUndefined();
686
672
  });
687
673
  });
688
674
  describe('lock warning display', () => {
@@ -691,8 +677,7 @@ describe('run command handler', () => {
691
677
  acquired: true,
692
678
  warning: { code: 'LOCK_STALE_CLEARED', message: 'Stale lock cleared' },
693
679
  });
694
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
695
- .rejects.toThrow('process.exit called');
680
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
696
681
  expect(mockOutput.warn).toHaveBeenCalledWith(expect.objectContaining({ code: 'LOCK_STALE_CLEARED', message: 'Stale lock cleared' }));
697
682
  });
698
683
  });
@@ -702,10 +687,9 @@ describe('run command handler', () => {
702
687
  mockOutput.confirm = vi.fn()
703
688
  .mockResolvedValueOnce(false) // Step complete? → no
704
689
  .mockResolvedValueOnce(true); // Mark as skipped? → yes
705
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
706
- .rejects.toThrow('process.exit called');
690
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
707
691
  expect(StateManager.prototype.markSkipped).toHaveBeenCalledWith('create-prd', 'user-cancelled', 'scaffold-run');
708
- expect(exitSpy).toHaveBeenCalledWith(4);
692
+ expect(process.exitCode).toBe(4);
709
693
  });
710
694
  });
711
695
  describe('interactive mode: next eligible steps display', () => {
@@ -713,33 +697,30 @@ describe('run command handler', () => {
713
697
  vi.mocked(resolveOutputMode).mockReturnValue('interactive');
714
698
  vi.mocked(computeEligible).mockReturnValue(['create-arch', 'create-api']);
715
699
  mockOutput.confirm = vi.fn().mockResolvedValue(true);
716
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
717
- .rejects.toThrow('process.exit called');
700
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
718
701
  expect(mockOutput.info).toHaveBeenCalledWith(expect.stringContaining('Next eligible: create-arch, create-api'));
719
702
  });
720
703
  it('displays "No more eligible steps" when none available', async () => {
721
704
  vi.mocked(resolveOutputMode).mockReturnValue('interactive');
722
705
  vi.mocked(computeEligible).mockReturnValue([]);
723
706
  mockOutput.confirm = vi.fn().mockResolvedValue(true);
724
- await expect(invokeHandler({ step: 'create-prd', _: ['run'] }))
725
- .rejects.toThrow('process.exit called');
707
+ await invokeHandler({ step: 'create-prd', _: ['run'] });
726
708
  expect(mockOutput.info).toHaveBeenCalledWith('No more eligible steps.');
727
709
  });
728
710
  });
729
711
  describe('unexpected error handling', () => {
730
- it('releases lock and exits 1 when assembly engine throws unexpected error', async () => {
712
+ it('delegates lock cleanup to withResource and exits 1 when assembly engine throws unexpected error', async () => {
731
713
  vi.mocked(AssemblyEngine.prototype.assemble).mockImplementation(() => {
732
714
  throw new Error('unexpected engine failure');
733
715
  });
734
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
735
- .rejects.toThrow('process.exit called');
736
- expect(releaseLock).toHaveBeenCalledWith(PROJECT_ROOT);
716
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
717
+ expect(shutdown.withResource).toHaveBeenCalledWith('lock', expect.any(Function), expect.any(Function));
737
718
  expect(mockOutput.error).toHaveBeenCalledWith(expect.objectContaining({
738
719
  code: 'RUN_UNEXPECTED_ERROR',
739
720
  message: 'unexpected engine failure',
740
721
  exitCode: 1,
741
722
  }));
742
- expect(exitSpy).toHaveBeenCalledWith(1);
723
+ expect(process.exitCode).toBe(1);
743
724
  });
744
725
  });
745
726
  describe('methodology change warnings', () => {
@@ -752,8 +733,7 @@ describe('run command handler', () => {
752
733
  { code: 'METHODOLOGY_CHANGED', message: 'Methodology changed from deep to mvp' },
753
734
  ],
754
735
  });
755
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
756
- .rejects.toThrow('process.exit called');
736
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
757
737
  expect(mockOutput.warn).toHaveBeenCalledWith(expect.objectContaining({ code: 'METHODOLOGY_CHANGED' }));
758
738
  });
759
739
  });
@@ -826,8 +806,7 @@ describe('run command handler', () => {
826
806
  throw new Error(`ENOENT: no such file: ${String(p)}`);
827
807
  });
828
808
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
829
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
830
- .rejects.toThrow('process.exit called');
809
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
831
810
  // Verify the assembly engine received artifacts
832
811
  expect(AssemblyEngine.prototype.assemble).toHaveBeenCalledWith('create-prd', expect.objectContaining({
833
812
  artifacts: expect.arrayContaining([
@@ -838,7 +817,7 @@ describe('run command handler', () => {
838
817
  }),
839
818
  ]),
840
819
  }));
841
- expect(exitSpy).toHaveBeenCalledWith(0);
820
+ expect(process.exitCode).toBeUndefined();
842
821
  });
843
822
  });
844
823
  describe('reads artifact gathering', () => {
@@ -905,8 +884,7 @@ describe('run command handler', () => {
905
884
  throw new Error(`ENOENT: no such file: ${String(p)}`);
906
885
  });
907
886
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
908
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
909
- .rejects.toThrow('process.exit called');
887
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
910
888
  expect(AssemblyEngine.prototype.assemble).toHaveBeenCalledWith('create-prd', expect.objectContaining({
911
889
  artifacts: expect.arrayContaining([
912
890
  expect.objectContaining({
@@ -964,8 +942,7 @@ describe('run command handler', () => {
964
942
  };
965
943
  vi.mocked(buildGraph).mockReturnValue(graph);
966
944
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
967
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
968
- .rejects.toThrow('process.exit called');
945
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
969
946
  // Should have empty artifacts (reads target not completed)
970
947
  expect(AssemblyEngine.prototype.assemble).toHaveBeenCalledWith('create-prd', expect.objectContaining({
971
948
  artifacts: [],
@@ -1018,8 +995,7 @@ describe('run command handler', () => {
1018
995
  };
1019
996
  vi.mocked(buildGraph).mockReturnValue(graph);
1020
997
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
1021
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
1022
- .rejects.toThrow('process.exit called');
998
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
1023
999
  // Disabled read target should be skipped — no artifacts gathered
1024
1000
  expect(AssemblyEngine.prototype.assemble).toHaveBeenCalledWith('create-prd', expect.objectContaining({
1025
1001
  artifacts: [],
@@ -1091,8 +1067,7 @@ describe('run command handler', () => {
1091
1067
  throw new Error(`ENOENT: no such file: ${String(p)}`);
1092
1068
  });
1093
1069
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
1094
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
1095
- .rejects.toThrow('process.exit called');
1070
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
1096
1071
  // Should only have one artifact (deduplicated)
1097
1072
  const assembleCall = vi.mocked(AssemblyEngine.prototype.assemble).mock.calls[0];
1098
1073
  const artifacts = assembleCall?.[1]?.artifacts ?? [];
@@ -1147,11 +1122,10 @@ describe('run command handler', () => {
1147
1122
  };
1148
1123
  vi.mocked(buildGraph).mockReturnValue(graph);
1149
1124
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
1150
- await expect(invokeHandler({ step: 'create-arch', _: ['run'], auto: true }))
1151
- .rejects.toThrow('process.exit called');
1152
- // Should NOT have exited with DEP_UNMET (exit code 2)
1153
- // It should proceed to assembly and exit 0
1154
- expect(exitSpy).toHaveBeenCalledWith(0);
1125
+ await invokeHandler({ step: 'create-arch', _: ['run'], auto: true });
1126
+ // Should NOT have set exitCode to 2 (DEP_UNMET)
1127
+ // It should proceed to assembly and return normally
1128
+ expect(process.exitCode).toBeUndefined();
1155
1129
  });
1156
1130
  });
1157
1131
  describe('overlay application', () => {
@@ -1171,8 +1145,7 @@ describe('run command handler', () => {
1171
1145
  dependencies: { 'create-prd': [] },
1172
1146
  });
1173
1147
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
1174
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
1175
- .rejects.toThrow('process.exit called');
1148
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
1176
1149
  // Verify resolveOverlayState was called (overlay resolution delegated to resolver)
1177
1150
  expect(resolveOverlayState).toHaveBeenCalled();
1178
1151
  // Verify buildGraph received merged steps (with overlay applied)
@@ -1186,8 +1159,7 @@ describe('run command handler', () => {
1186
1159
  const config = makeConfig(); // no project.projectType
1187
1160
  vi.mocked(loadConfig).mockReturnValue({ config, errors: [], warnings: [] });
1188
1161
  vi.mocked(resolveOutputMode).mockReturnValue('auto');
1189
- await expect(invokeHandler({ step: 'create-prd', _: ['run'], auto: true }))
1190
- .rejects.toThrow('process.exit called');
1162
+ await invokeHandler({ step: 'create-prd', _: ['run'], auto: true });
1191
1163
  // resolveOverlayState is still called (by the resolver) but with no projectType
1192
1164
  // it returns the preset steps unchanged
1193
1165
  expect(resolveOverlayState).toHaveBeenCalled();