@cluesmith/codev 3.0.7 → 3.1.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 (130) hide show
  1. package/dashboard-dist/assets/{index-DUQ8fmjX.js → index-CM6A5r59.js} +39 -39
  2. package/dashboard-dist/assets/index-CM6A5r59.js.map +1 -0
  3. package/dashboard-dist/assets/index-Cl5tt1AP.css +32 -0
  4. package/dashboard-dist/index.html +2 -2
  5. package/dist/agent-farm/cli.d.ts.map +1 -1
  6. package/dist/agent-farm/cli.js +14 -0
  7. package/dist/agent-farm/cli.js.map +1 -1
  8. package/dist/agent-farm/commands/attach.d.ts.map +1 -1
  9. package/dist/agent-farm/commands/attach.js +4 -1
  10. package/dist/agent-farm/commands/attach.js.map +1 -1
  11. package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
  12. package/dist/agent-farm/commands/cleanup.js +4 -2
  13. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  14. package/dist/agent-farm/commands/send.d.ts +13 -2
  15. package/dist/agent-farm/commands/send.d.ts.map +1 -1
  16. package/dist/agent-farm/commands/send.js +54 -15
  17. package/dist/agent-farm/commands/send.js.map +1 -1
  18. package/dist/agent-farm/commands/status.d.ts.map +1 -1
  19. package/dist/agent-farm/commands/status.js +43 -14
  20. package/dist/agent-farm/commands/status.js.map +1 -1
  21. package/dist/agent-farm/commands/stop.d.ts.map +1 -1
  22. package/dist/agent-farm/commands/stop.js +14 -8
  23. package/dist/agent-farm/commands/stop.js.map +1 -1
  24. package/dist/agent-farm/commands/workspace-remove-architect.d.ts +16 -0
  25. package/dist/agent-farm/commands/workspace-remove-architect.d.ts.map +1 -0
  26. package/dist/agent-farm/commands/workspace-remove-architect.js +40 -0
  27. package/dist/agent-farm/commands/workspace-remove-architect.js.map +1 -0
  28. package/dist/agent-farm/db/index.d.ts.map +1 -1
  29. package/dist/agent-farm/db/index.js +125 -2
  30. package/dist/agent-farm/db/index.js.map +1 -1
  31. package/dist/agent-farm/db/migrate.d.ts +11 -2
  32. package/dist/agent-farm/db/migrate.d.ts.map +1 -1
  33. package/dist/agent-farm/db/migrate.js +24 -5
  34. package/dist/agent-farm/db/migrate.js.map +1 -1
  35. package/dist/agent-farm/db/schema.d.ts +1 -1
  36. package/dist/agent-farm/db/schema.d.ts.map +1 -1
  37. package/dist/agent-farm/db/schema.js +15 -2
  38. package/dist/agent-farm/db/schema.js.map +1 -1
  39. package/dist/agent-farm/db/types.d.ts +1 -0
  40. package/dist/agent-farm/db/types.d.ts.map +1 -1
  41. package/dist/agent-farm/db/types.js.map +1 -1
  42. package/dist/agent-farm/servers/overview.d.ts +26 -0
  43. package/dist/agent-farm/servers/overview.d.ts.map +1 -1
  44. package/dist/agent-farm/servers/overview.js +31 -12
  45. package/dist/agent-farm/servers/overview.js.map +1 -1
  46. package/dist/agent-farm/servers/tower-instances.d.ts +25 -0
  47. package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
  48. package/dist/agent-farm/servers/tower-instances.js +314 -49
  49. package/dist/agent-farm/servers/tower-instances.js.map +1 -1
  50. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  51. package/dist/agent-farm/servers/tower-routes.js +241 -6
  52. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  53. package/dist/agent-farm/servers/tower-server.js +8 -0
  54. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  55. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  56. package/dist/agent-farm/servers/tower-terminals.js +76 -12
  57. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  58. package/dist/agent-farm/servers/tower-types.d.ts +24 -0
  59. package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
  60. package/dist/agent-farm/servers/worktree-config-watcher.d.ts +36 -0
  61. package/dist/agent-farm/servers/worktree-config-watcher.d.ts.map +1 -0
  62. package/dist/agent-farm/servers/worktree-config-watcher.js +80 -0
  63. package/dist/agent-farm/servers/worktree-config-watcher.js.map +1 -0
  64. package/dist/agent-farm/state.d.ts +59 -16
  65. package/dist/agent-farm/state.d.ts.map +1 -1
  66. package/dist/agent-farm/state.js +137 -34
  67. package/dist/agent-farm/state.js.map +1 -1
  68. package/dist/agent-farm/types.d.ts +23 -0
  69. package/dist/agent-farm/types.d.ts.map +1 -1
  70. package/dist/agent-farm/utils/architect-name.d.ts +5 -0
  71. package/dist/agent-farm/utils/architect-name.d.ts.map +1 -1
  72. package/dist/agent-farm/utils/architect-name.js +8 -0
  73. package/dist/agent-farm/utils/architect-name.js.map +1 -1
  74. package/dist/agent-farm/utils/config.d.ts +2 -12
  75. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  76. package/dist/agent-farm/utils/config.js +20 -0
  77. package/dist/agent-farm/utils/config.js.map +1 -1
  78. package/dist/cli.d.ts.map +1 -1
  79. package/dist/cli.js +2 -0
  80. package/dist/cli.js.map +1 -1
  81. package/dist/commands/consult/index.d.ts +4 -0
  82. package/dist/commands/consult/index.d.ts.map +1 -1
  83. package/dist/commands/consult/index.js +160 -31
  84. package/dist/commands/consult/index.js.map +1 -1
  85. package/dist/commands/porch/artifacts.d.ts +32 -0
  86. package/dist/commands/porch/artifacts.d.ts.map +1 -1
  87. package/dist/commands/porch/artifacts.js +129 -0
  88. package/dist/commands/porch/artifacts.js.map +1 -1
  89. package/dist/lib/config.d.ts +17 -2
  90. package/dist/lib/config.d.ts.map +1 -1
  91. package/dist/lib/config.js +30 -2
  92. package/dist/lib/config.js.map +1 -1
  93. package/dist/lib/default-branch.d.ts +11 -0
  94. package/dist/lib/default-branch.d.ts.map +1 -0
  95. package/dist/lib/default-branch.js +23 -0
  96. package/dist/lib/default-branch.js.map +1 -0
  97. package/dist/terminal/pty-session.d.ts.map +1 -1
  98. package/dist/terminal/pty-session.js +5 -0
  99. package/dist/terminal/pty-session.js.map +1 -1
  100. package/dist/terminal/shellper-client.d.ts +15 -0
  101. package/dist/terminal/shellper-client.d.ts.map +1 -1
  102. package/dist/terminal/shellper-client.js +37 -0
  103. package/dist/terminal/shellper-client.js.map +1 -1
  104. package/dist/terminal/shellper-process.d.ts +1 -0
  105. package/dist/terminal/shellper-process.d.ts.map +1 -1
  106. package/dist/terminal/shellper-process.js +8 -0
  107. package/dist/terminal/shellper-process.js.map +1 -1
  108. package/dist/terminal/shellper-protocol.d.ts +12 -0
  109. package/dist/terminal/shellper-protocol.d.ts.map +1 -1
  110. package/dist/terminal/shellper-protocol.js.map +1 -1
  111. package/package.json +3 -3
  112. package/scripts/forge/github/pr-search.sh +2 -2
  113. package/skeleton/protocols/air/consult-types/pr-review.md +5 -1
  114. package/skeleton/protocols/aspir/builder-prompt.md +3 -3
  115. package/skeleton/protocols/aspir/consult-types/pr-review.md +5 -1
  116. package/skeleton/protocols/bugfix/consult-types/pr-review.md +2 -1
  117. package/skeleton/protocols/maintain/consult-types/pr-review.md +5 -1
  118. package/skeleton/protocols/pir/builder-prompt.md +2 -2
  119. package/skeleton/protocols/pir/consult-types/pr-review.md +3 -2
  120. package/skeleton/protocols/pir/prompts/implement.md +15 -7
  121. package/skeleton/protocols/pir/prompts/review.md +27 -21
  122. package/skeleton/protocols/pir/protocol.json +1 -1
  123. package/skeleton/protocols/pir/protocol.md +4 -6
  124. package/skeleton/protocols/spir/builder-prompt.md +3 -3
  125. package/skeleton/protocols/spir/consult-types/pr-review.md +5 -1
  126. package/skeleton/roles/builder.md +21 -0
  127. package/skeleton/templates/AGENTS.md +20 -0
  128. package/skeleton/templates/CLAUDE.md +20 -0
  129. package/dashboard-dist/assets/index-0yEACH2F.css +0 -32
  130. package/dashboard-dist/assets/index-DUQ8fmjX.js.map +0 -1
@@ -18,11 +18,76 @@ import { getGlobalDb } from '../db/index.js';
18
18
  import { defaultSessionOptions } from '../../terminal/index.js';
19
19
  import { getWorkspaceName, isTempDirectory, buildArchitectArgs, } from './tower-utils.js';
20
20
  import { autoNumberArchitectName, validateArchitectName, DEFAULT_ARCHITECT_NAME, } from '../utils/architect-name.js';
21
- import { setArchitect, setArchitectByName } from '../state.js';
21
+ import { setArchitect, setArchitectByName, getArchitects } from '../state.js';
22
22
  // ============================================================================
23
23
  // Module-private state
24
24
  // ============================================================================
25
25
  let _deps = null;
26
+ /**
27
+ * Spec 786 Phase 3: workspaces currently mid-`stopInstance` shutdown.
28
+ *
29
+ * When a workspace is added to this set, the architect exit handlers (here and
30
+ * in `tower-terminals.ts`) skip deleting the architect's `state.db.architect`
31
+ * row — preserving the registration so the architect survives `afx workspace
32
+ * stop` + `start` and is re-spawned by `launchInstance`'s sibling reconciliation
33
+ * loop. Permanent exit (max-restart exhaustion, explicit `remove-architect`)
34
+ * runs WITHOUT the workspace being in this set, so OQ-B's auto-delete behaviour
35
+ * is preserved.
36
+ *
37
+ * `stopInstance` adds to the set before iterating kills and removes in a
38
+ * `finally` block so the flag is always cleared even on error.
39
+ *
40
+ * Workspace paths are stored as resolved (realpath) paths to match the resolution
41
+ * already done by `stopInstance` and the exit handlers.
42
+ */
43
+ const intentionallyStopping = new Set();
44
+ /**
45
+ * Spec 786 Phase 3: is the workspace currently mid-graceful-stop?
46
+ * Used by exit handlers (here AND in `tower-terminals.ts`) to decide whether to
47
+ * delete the architect's persisted row. See `intentionallyStopping` above.
48
+ *
49
+ * Exported so `tower-terminals.ts`'s reconciliation exit handler can call it.
50
+ */
51
+ export function isIntentionallyStopping(workspacePath) {
52
+ return intentionallyStopping.has(workspacePath);
53
+ }
54
+ /**
55
+ * Spec 786 Phase 3 / PR iter-2 race-fix: await a terminal's `'exit'` event
56
+ * with a timeout safety so callers (`stopInstance`, `removeArchitect`) can
57
+ * ensure the cascaded exit handler has finished BEFORE the
58
+ * `intentionallyStopping` flag is cleared.
59
+ *
60
+ * Why this exists: `killTerminalWithShellper` returns after sending SIGTERM,
61
+ * not after the process is reaped. node-pty's 'exit' event fires later, on
62
+ * its own tick. Without this await, the `finally` block in `stopInstance`
63
+ * clears the flag before the exit handler runs — the handler then reads
64
+ * `isIntentionallyStopping === false` and incorrectly deletes the persisted
65
+ * architect row. Unit tests don't catch it because they mock timing.
66
+ *
67
+ * The timeout (5s) is belt-and-suspenders: if 'exit' never fires (e.g.
68
+ * because the session was already gone), the promise still resolves so we
69
+ * don't block the stop indefinitely.
70
+ */
71
+ function waitForTerminalExit(manager, terminalId, timeoutMs = 5000) {
72
+ const session = manager.getSession(terminalId);
73
+ // Defensive: if the session is gone or doesn't look like an EventEmitter
74
+ // (e.g. a test stub), there's nothing to wait for — resolve immediately so
75
+ // callers aren't blocked.
76
+ if (!session || typeof session.once !== 'function') {
77
+ return Promise.resolve();
78
+ }
79
+ return new Promise((resolve) => {
80
+ let settled = false;
81
+ const finish = () => {
82
+ if (settled)
83
+ return;
84
+ settled = true;
85
+ resolve();
86
+ };
87
+ session.once('exit', finish);
88
+ setTimeout(finish, timeoutMs);
89
+ });
90
+ }
26
91
  // ============================================================================
27
92
  // Public lifecycle
28
93
  // ============================================================================
@@ -272,10 +337,16 @@ export async function launchInstance(workspacePath) {
272
337
  registerKnownWorkspace(resolvedPath);
273
338
  // Initialize workspace terminal entry
274
339
  const entry = _deps.getWorkspaceTerminalsEntry(resolvedPath);
275
- // Create architect terminal if not already present.
276
- // Spec 755: this is the workspace-start path; it only creates the default
340
+ // Create architect terminal if `main` is not already present.
341
+ // Spec 755: this is the workspace-start path; it creates the default
277
342
  // 'main' architect. Additional named architects come via the Phase 2 CLI.
278
- if (entry.architects.size === 0) {
343
+ // Spec 786 Phase 3: gate changed from `size === 0` to `!has('main')`. The
344
+ // size-based gate was unsafe once `state.db.architect` can carry sibling
345
+ // rows across stop+start — if a reconciliation path repopulated siblings
346
+ // before launchInstance ran, the old gate would have skipped main creation
347
+ // entirely. Gating on `main` specifically guarantees main is always
348
+ // created/present after launchInstance returns success.
349
+ if (!entry.architects.has('main')) {
279
350
  const manager = _deps.getTerminalManager();
280
351
  // Read architect command: env var override (for CI/testing), unified config, or default
281
352
  let architectCmd = process.env.TOWER_ARCHITECT_CMD || '';
@@ -343,8 +414,9 @@ export async function launchInstance(workspacePath) {
343
414
  _deps.saveTerminalSession(session.id, resolvedPath, 'architect', 'main', shellperInfo.pid, shellperInfo.socketPath, shellperInfo.pid, shellperInfo.startTime, null, workspacePath);
344
415
  // Spec 755: persist to local state.db (architect table) so afx
345
416
  // status / stop see the architect via loadState's scalar shim.
417
+ // Bugfix #826: scoped by workspace_path.
346
418
  try {
347
- setArchitect({
419
+ setArchitect(resolvedPath, {
348
420
  name: DEFAULT_ARCHITECT_NAME,
349
421
  cmd: architectCmd,
350
422
  startedAt: new Date().toISOString(),
@@ -360,13 +432,24 @@ export async function launchInstance(workspacePath) {
360
432
  if (ptySession) {
361
433
  ptySession.on('exit', (exitCode, signal) => {
362
434
  const currentEntry = _deps.getWorkspaceTerminalsEntry(resolvedPath);
435
+ let exitedName = null;
363
436
  for (const [name, tid] of currentEntry.architects) {
364
437
  if (tid === session.id) {
438
+ exitedName = name;
365
439
  currentEntry.architects.delete(name);
366
440
  break;
367
441
  }
368
442
  }
369
443
  _deps.deleteTerminalSession(session.id);
444
+ // Spec 786 Phase 3 / OQ-B: delete the persisted architect row
445
+ // on permanent exit so state.db mirrors reality. Skip on
446
+ // intentional stop so the row survives a graceful stop+start.
447
+ if (exitedName && !isIntentionallyStopping(resolvedPath)) {
448
+ try {
449
+ setArchitectByName(resolvedPath, exitedName, null);
450
+ }
451
+ catch { /* best-effort cleanup */ }
452
+ }
370
453
  _deps.log('INFO', `Architect shellper session exited for ${workspacePath} (code=${exitCode ?? null}, signal=${signal ?? null})`);
371
454
  });
372
455
  }
@@ -391,8 +474,9 @@ export async function launchInstance(workspacePath) {
391
474
  entry.architects.set('main', session.id);
392
475
  _deps.saveTerminalSession(session.id, resolvedPath, 'architect', 'main', session.pid, null, null, null, null, workspacePath);
393
476
  // Spec 755: persist to local state.db so afx status / stop see it.
477
+ // Bugfix #826: scoped by workspace_path.
394
478
  try {
395
- setArchitect({
479
+ setArchitect(resolvedPath, {
396
480
  name: DEFAULT_ARCHITECT_NAME,
397
481
  cmd: architectCmd,
398
482
  startedAt: new Date().toISOString(),
@@ -406,13 +490,23 @@ export async function launchInstance(workspacePath) {
406
490
  if (ptySession) {
407
491
  ptySession.on('exit', () => {
408
492
  const currentEntry = _deps.getWorkspaceTerminalsEntry(resolvedPath);
493
+ let exitedName = null;
409
494
  for (const [name, tid] of currentEntry.architects) {
410
495
  if (tid === session.id) {
496
+ exitedName = name;
411
497
  currentEntry.architects.delete(name);
412
498
  break;
413
499
  }
414
500
  }
415
501
  _deps.deleteTerminalSession(session.id);
502
+ // Spec 786 Phase 3 / OQ-B: delete the persisted architect row
503
+ // on permanent exit; preserve on intentional stop.
504
+ if (exitedName && !isIntentionallyStopping(resolvedPath)) {
505
+ try {
506
+ setArchitectByName(resolvedPath, exitedName, null);
507
+ }
508
+ catch { /* best-effort cleanup */ }
509
+ }
416
510
  _deps.log('INFO', `Architect pty exited for ${workspacePath}`);
417
511
  });
418
512
  }
@@ -426,6 +520,39 @@ export async function launchInstance(workspacePath) {
426
520
  return { success: false, error: errMsg, adopted };
427
521
  }
428
522
  }
523
+ // Spec 786 Phase 3: re-spawn persisted sibling architects.
524
+ //
525
+ // After `main` is guaranteed present (above), iterate any non-main rows in
526
+ // `state.db.architect` FOR THIS WORKSPACE and call `addArchitect()` for
527
+ // each. This restores siblings that survived `afx workspace stop` (the
528
+ // intentional-stop flag preserved their rows). The ordering is critical:
529
+ // `addArchitect()` rejects when `entry.architects.size === 0`, so it MUST
530
+ // run after main creation.
531
+ //
532
+ // Bugfix #826: `getArchitects(resolvedPath)` reads ONLY rows whose
533
+ // `workspace_path` matches — migration v11 added that column to the
534
+ // architect table as part of the composite primary key. Workspaces are
535
+ // isolated by construction; the cross-workspace leak is eliminated at the
536
+ // schema level rather than via per-call-site guards.
537
+ //
538
+ // Idempotency: skip names already in `entry.architects` so a re-entrant
539
+ // launch (or a race with `reconcileTerminalSessions`) doesn't double-spawn.
540
+ try {
541
+ const persisted = getArchitects(resolvedPath);
542
+ for (const a of persisted) {
543
+ if (a.name === 'main')
544
+ continue;
545
+ if (entry.architects.has(a.name))
546
+ continue;
547
+ const res = await addArchitect(workspacePath, a.name);
548
+ if (!res.success) {
549
+ _deps.log('WARN', `Failed to re-spawn persisted sibling architect '${a.name}': ${res.error}`);
550
+ }
551
+ }
552
+ }
553
+ catch (siblingErr) {
554
+ _deps.log('WARN', `Sibling reconciliation failed: ${siblingErr.message}`);
555
+ }
429
556
  return { success: true, adopted };
430
557
  }
431
558
  catch (err) {
@@ -471,46 +598,86 @@ export async function stopInstance(workspacePath) {
471
598
  }
472
599
  // Get workspace terminals
473
600
  const entry = _deps.workspaceTerminals.get(resolvedPath) || _deps.workspaceTerminals.get(workspacePath);
474
- if (entry) {
475
- // Kill all architects (disable shellper auto-restart if applicable)
476
- // Spec 755: iterate the named-architect Map instead of the old scalar.
477
- for (const terminalId of entry.architects.values()) {
478
- const session = manager.getSession(terminalId);
479
- if (session) {
480
- await killTerminalWithShellper(manager, terminalId);
481
- stopped.push(session.pid);
601
+ // Spec 786 Phase 3: mark the workspace as "intentionally stopping" so the
602
+ // architect exit handlers triggered by the upcoming kills know NOT to delete
603
+ // the persisted `state.db.architect` rows. The flag is cleared in `finally`
604
+ // so any thrown error still releases it. Without this, the cascaded exit
605
+ // handlers in tower-instances.ts (4 handlers) and tower-terminals.ts (1
606
+ // handler) would delete sibling rows on every stop — making it impossible
607
+ // for siblings to survive `afx workspace stop` + `start`.
608
+ intentionallyStopping.add(resolvedPath);
609
+ if (resolvedPath !== workspacePath)
610
+ intentionallyStopping.add(workspacePath);
611
+ try {
612
+ if (entry) {
613
+ // Spec 786 Phase 3 / PR iter-2 race-fix: register exit-promises for
614
+ // every terminal BEFORE we kill anything. `killTerminalWithShellper`
615
+ // sends SIGTERM and returns; node-pty's 'exit' event fires later, on
616
+ // its own tick. If we cleared the flag in `finally` before 'exit'
617
+ // fired, the cascaded architect exit handler would see
618
+ // `isIntentionallyStopping === false` and incorrectly delete the
619
+ // persisted `state.db.architect` row — defeating the entire Phase 3
620
+ // persistence story. We await all 'exit' events (with a 5s safety
621
+ // timeout per terminal) before falling through to the finally.
622
+ const exitPromises = [];
623
+ // Kill all architects (disable shellper auto-restart if applicable)
624
+ // Spec 755: iterate the named-architect Map instead of the old scalar.
625
+ for (const terminalId of entry.architects.values()) {
626
+ const session = manager.getSession(terminalId);
627
+ if (session) {
628
+ exitPromises.push(waitForTerminalExit(manager, terminalId));
629
+ await killTerminalWithShellper(manager, terminalId);
630
+ stopped.push(session.pid);
631
+ }
482
632
  }
483
- }
484
- // Kill all shells (disable shellper auto-restart if applicable)
485
- for (const terminalId of entry.shells.values()) {
486
- const session = manager.getSession(terminalId);
487
- if (session) {
488
- await killTerminalWithShellper(manager, terminalId);
489
- stopped.push(session.pid);
633
+ // Kill all shells (disable shellper auto-restart if applicable)
634
+ for (const terminalId of entry.shells.values()) {
635
+ const session = manager.getSession(terminalId);
636
+ if (session) {
637
+ exitPromises.push(waitForTerminalExit(manager, terminalId));
638
+ await killTerminalWithShellper(manager, terminalId);
639
+ stopped.push(session.pid);
640
+ }
490
641
  }
491
- }
492
- // Kill all builders (disable shellper auto-restart if applicable)
493
- for (const terminalId of entry.builders.values()) {
494
- const session = manager.getSession(terminalId);
495
- if (session) {
496
- await killTerminalWithShellper(manager, terminalId);
497
- stopped.push(session.pid);
642
+ // Kill all builders (disable shellper auto-restart if applicable)
643
+ for (const terminalId of entry.builders.values()) {
644
+ const session = manager.getSession(terminalId);
645
+ if (session) {
646
+ exitPromises.push(waitForTerminalExit(manager, terminalId));
647
+ await killTerminalWithShellper(manager, terminalId);
648
+ stopped.push(session.pid);
649
+ }
650
+ }
651
+ // Await every 'exit' event before clearing the intentional-stop flag.
652
+ // Each promise has its own 5s safety timeout so a stuck process never
653
+ // blocks the stop indefinitely.
654
+ if (exitPromises.length > 0) {
655
+ await Promise.all(exitPromises);
656
+ }
657
+ // Clear workspace from registry
658
+ _deps.workspaceTerminals.delete(resolvedPath);
659
+ _deps.workspaceTerminals.delete(workspacePath);
660
+ // TICK-001: Delete all terminal sessions from SQLite
661
+ // Spec 786 Phase 3 Cl2: this is a full wipe of `terminal_sessions` rows.
662
+ // Sibling architect rows in `state.db.architect` are preserved by the
663
+ // intentional-stop flag above; on next launchInstance, siblings are
664
+ // re-spawned via addArchitect which creates fresh terminal_sessions rows.
665
+ _deps.deleteWorkspaceTerminalSessions(resolvedPath);
666
+ if (resolvedPath !== workspacePath) {
667
+ _deps.deleteWorkspaceTerminalSessions(workspacePath);
668
+ }
669
+ // Bugfix #474: Delete all file tabs for this workspace
670
+ _deps.deleteFileTabsForWorkspace(resolvedPath);
671
+ if (resolvedPath !== workspacePath) {
672
+ _deps.deleteFileTabsForWorkspace(workspacePath);
498
673
  }
499
- }
500
- // Clear workspace from registry
501
- _deps.workspaceTerminals.delete(resolvedPath);
502
- _deps.workspaceTerminals.delete(workspacePath);
503
- // TICK-001: Delete all terminal sessions from SQLite
504
- _deps.deleteWorkspaceTerminalSessions(resolvedPath);
505
- if (resolvedPath !== workspacePath) {
506
- _deps.deleteWorkspaceTerminalSessions(workspacePath);
507
- }
508
- // Bugfix #474: Delete all file tabs for this workspace
509
- _deps.deleteFileTabsForWorkspace(resolvedPath);
510
- if (resolvedPath !== workspacePath) {
511
- _deps.deleteFileTabsForWorkspace(workspacePath);
512
674
  }
513
675
  }
676
+ finally {
677
+ intentionallyStopping.delete(resolvedPath);
678
+ if (resolvedPath !== workspacePath)
679
+ intentionallyStopping.delete(workspacePath);
680
+ }
514
681
  if (stopped.length === 0) {
515
682
  return { success: true, error: 'No terminals found to stop', stopped };
516
683
  }
@@ -631,8 +798,9 @@ export async function addArchitect(workspacePath, requestedName) {
631
798
  _deps.saveTerminalSession(session.id, resolvedPath, 'architect', name, shellperInfo.pid, shellperInfo.socketPath, shellperInfo.pid, shellperInfo.startTime, null, workspacePath);
632
799
  // Spec 755: persist to local state.db so the architect appears in
633
800
  // getArchitects() and is included in legacy stop.ts cleanup.
801
+ // Bugfix #826: scoped by workspace_path.
634
802
  try {
635
- setArchitectByName(name, {
803
+ setArchitectByName(resolvedPath, name, {
636
804
  name,
637
805
  cmd: architectCmd,
638
806
  startedAt: new Date().toISOString(),
@@ -653,10 +821,14 @@ export async function addArchitect(workspacePath, requestedName) {
653
821
  }
654
822
  _deps.deleteTerminalSession(session.id);
655
823
  // Spec 755: remove the architect row from local state.db too.
656
- try {
657
- setArchitectByName(name, null);
824
+ // Spec 786 Phase 3: skip the row deletion when the workspace is
825
+ // mid-intentional-stop so the sibling survives `afx workspace stop`.
826
+ if (!isIntentionallyStopping(resolvedPath)) {
827
+ try {
828
+ setArchitectByName(resolvedPath, name, null);
829
+ }
830
+ catch { /* best-effort cleanup */ }
658
831
  }
659
- catch { /* best-effort cleanup */ }
660
832
  _deps.log('INFO', `Architect shellper session '${name}' exited (code=${exitCode ?? null}, signal=${signal ?? null})`);
661
833
  });
662
834
  }
@@ -679,7 +851,8 @@ export async function addArchitect(workspacePath, requestedName) {
679
851
  entry.architects.set(name, session.id);
680
852
  _deps.saveTerminalSession(session.id, resolvedPath, 'architect', name, session.pid, null, null, null, null, workspacePath);
681
853
  try {
682
- setArchitectByName(name, {
854
+ // Bugfix #826: scoped by workspace_path.
855
+ setArchitectByName(resolvedPath, name, {
683
856
  name,
684
857
  cmd: architectCmd,
685
858
  startedAt: new Date().toISOString(),
@@ -700,10 +873,14 @@ export async function addArchitect(workspacePath, requestedName) {
700
873
  }
701
874
  }
702
875
  _deps.deleteTerminalSession(session.id);
703
- try {
704
- setArchitectByName(name, null);
876
+ // Spec 786 Phase 3: skip the row deletion when the workspace is
877
+ // mid-intentional-stop so the sibling survives `afx workspace stop`.
878
+ if (!isIntentionallyStopping(resolvedPath)) {
879
+ try {
880
+ setArchitectByName(resolvedPath, name, null);
881
+ }
882
+ catch { /* best-effort cleanup */ }
705
883
  }
706
- catch { /* best-effort cleanup */ }
707
884
  _deps.log('INFO', `Architect pty '${name}' exited`);
708
885
  });
709
886
  }
@@ -716,4 +893,92 @@ export async function addArchitect(workspacePath, requestedName) {
716
893
  }
717
894
  return { success: true, name, terminalId: sessionId };
718
895
  }
896
+ // ============================================================================
897
+ // removeArchitect (Spec 786 Phase 4) — remove a named sibling architect
898
+ // ============================================================================
899
+ /**
900
+ * Spec 786 Phase 4: remove a sibling architect.
901
+ *
902
+ * Refuses `main` (workspace-defining, undeletable). Refuses unknown names with
903
+ * a 404-mappable error string. For known siblings, raises the intentional-stop
904
+ * flag so the cascaded exit handler does NOT delete the row twice, kills the
905
+ * sibling's PTY (disabling shellper auto-restart), then explicitly removes the
906
+ * in-memory entry and persisted rows. Returns `{ success: true }` on success.
907
+ *
908
+ * Removing a sibling with in-flight builders is permitted (per OQ-A) — the
909
+ * builders' subsequent `afx send architect` calls fall back to `main` via
910
+ * `tower-messages.ts:336`.
911
+ */
912
+ export async function removeArchitect(workspacePath, name) {
913
+ if (!_deps)
914
+ return { success: false, error: 'Tower is still starting up. Try again shortly.' };
915
+ // Resolve symlinks for consistent lookup (matches addArchitect / stopInstance).
916
+ let resolvedPath = workspacePath;
917
+ try {
918
+ if (fs.existsSync(workspacePath)) {
919
+ resolvedPath = fs.realpathSync(workspacePath);
920
+ }
921
+ }
922
+ catch {
923
+ // Use original path on resolution failure.
924
+ }
925
+ // Reserved-name check: `main` is workspace-defining and undeletable.
926
+ if (name === DEFAULT_ARCHITECT_NAME) {
927
+ return { success: false, error: "Cannot remove the default 'main' architect." };
928
+ }
929
+ const entry = _deps.workspaceTerminals.get(resolvedPath) || _deps.workspaceTerminals.get(workspacePath);
930
+ if (!entry || entry.architects.size === 0) {
931
+ return {
932
+ success: false,
933
+ error: `Workspace '${workspacePath}' is not running. Start it with 'afx workspace start' first.`,
934
+ };
935
+ }
936
+ const terminalId = entry.architects.get(name);
937
+ if (!terminalId) {
938
+ return { success: false, error: `Architect '${name}' not found in workspace '${workspacePath}'.` };
939
+ }
940
+ const manager = _deps.getTerminalManager();
941
+ // Raise the intentional-stop flag so the cascaded exit handler does NOT also
942
+ // delete the state.db row (we delete it explicitly below). Without this, the
943
+ // exit handler would call setArchitectByName(name, null) — harmless but the
944
+ // double-delete is wasteful and the intent (this is an intentional removal)
945
+ // is clearer with the flag set.
946
+ intentionallyStopping.add(resolvedPath);
947
+ if (resolvedPath !== workspacePath)
948
+ intentionallyStopping.add(workspacePath);
949
+ try {
950
+ // Spec 786 Phase 4 / PR iter-2 race-fix: register the exit-promise
951
+ // BEFORE the kill so the listener is attached before node-pty can emit
952
+ // 'exit'. Without awaiting it, the `finally` clears the flag too early
953
+ // and the exit handler racing to re-delete the row sees the flag as
954
+ // false. (In remove-architect's case, the double-delete would be
955
+ // harmless — `setArchitectByName` is idempotent — but the same pattern
956
+ // bites `stopInstance` where the row should NOT be deleted at all. Keep
957
+ // both paths symmetric so a future contributor doesn't accidentally
958
+ // diverge them.)
959
+ const exitPromise = waitForTerminalExit(manager, terminalId);
960
+ await killTerminalWithShellper(manager, terminalId);
961
+ entry.architects.delete(name);
962
+ // Explicitly delete persisted rows (the intentional-stop flag suppressed
963
+ // the exit-handler delete; we want the row gone for this remove path).
964
+ // Bugfix #826: scoped by workspace_path.
965
+ try {
966
+ setArchitectByName(resolvedPath, name, null);
967
+ }
968
+ catch { /* best-effort cleanup */ }
969
+ try {
970
+ _deps.deleteTerminalSession(terminalId);
971
+ }
972
+ catch { /* best-effort cleanup */ }
973
+ // Wait for the actual 'exit' event before clearing the flag.
974
+ await exitPromise;
975
+ }
976
+ finally {
977
+ intentionallyStopping.delete(resolvedPath);
978
+ if (resolvedPath !== workspacePath)
979
+ intentionallyStopping.delete(workspacePath);
980
+ }
981
+ _deps.log('INFO', `Removed architect '${name}' from workspace ${workspacePath}`);
982
+ return { success: true };
983
+ }
719
984
  //# sourceMappingURL=tower-instances.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tower-instances.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-instances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-instances.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-instances.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tower-routes.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAa7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAIxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAqElD,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAMtG;AAED,sGAAsG;AACtG,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAMD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IAChD,qBAAqB,EAAE,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjH,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAuCD,wBAAsB,aAAa,CACjC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAmFf"}
1
+ {"version":3,"file":"tower-routes.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAa7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAKxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAwElD,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAMtG;AAED,sGAAsG;AACtG,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAMD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IAChD,qBAAqB,EAAE,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjH,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAwCD,wBAAsB,aAAa,CACjC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAyFf"}