@telora/daemon 0.22.4 → 0.22.42

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 (159) hide show
  1. package/build-info.json +5 -3
  2. package/dist/backends/index.d.ts.map +1 -1
  3. package/dist/backends/index.js +2 -0
  4. package/dist/backends/index.js.map +1 -1
  5. package/dist/ci/ci-sensor-loop.d.ts +36 -2
  6. package/dist/ci/ci-sensor-loop.d.ts.map +1 -1
  7. package/dist/ci/ci-sensor-loop.js +48 -9
  8. package/dist/ci/ci-sensor-loop.js.map +1 -1
  9. package/dist/ci/ci-status.d.ts.map +1 -1
  10. package/dist/ci/ci-status.js +1 -0
  11. package/dist/ci/ci-status.js.map +1 -1
  12. package/dist/completion/detector.d.ts +9 -0
  13. package/dist/completion/detector.d.ts.map +1 -1
  14. package/dist/completion/detector.js +18 -0
  15. package/dist/completion/detector.js.map +1 -1
  16. package/dist/completion/event-phases.d.ts +24 -8
  17. package/dist/completion/event-phases.d.ts.map +1 -1
  18. package/dist/completion/event-phases.js +81 -45
  19. package/dist/completion/event-phases.js.map +1 -1
  20. package/dist/completion/event.d.ts +9 -0
  21. package/dist/completion/event.d.ts.map +1 -1
  22. package/dist/completion/event.js +4 -0
  23. package/dist/completion/event.js.map +1 -1
  24. package/dist/completion/exit-classification.d.ts +2 -2
  25. package/dist/completion/exit-classification.d.ts.map +1 -1
  26. package/dist/completion/exit-classification.js +2 -0
  27. package/dist/completion/exit-classification.js.map +1 -1
  28. package/dist/completion/index.js +1 -1
  29. package/dist/completion/liveness-firing.d.ts +27 -0
  30. package/dist/completion/liveness-firing.d.ts.map +1 -0
  31. package/dist/completion/liveness-firing.js +79 -0
  32. package/dist/completion/liveness-firing.js.map +1 -0
  33. package/dist/completion/stdin-turn-tracker.d.ts +19 -0
  34. package/dist/completion/stdin-turn-tracker.d.ts.map +1 -0
  35. package/dist/completion/stdin-turn-tracker.js +57 -0
  36. package/dist/completion/stdin-turn-tracker.js.map +1 -0
  37. package/dist/completion/supervision-firing-record.d.ts +190 -0
  38. package/dist/completion/supervision-firing-record.d.ts.map +1 -0
  39. package/dist/completion/supervision-firing-record.js +232 -0
  40. package/dist/completion/supervision-firing-record.js.map +1 -0
  41. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  42. package/dist/completion/team-lifecycle.js +3 -0
  43. package/dist/completion/team-lifecycle.js.map +1 -1
  44. package/dist/completion/team-phase.d.ts.map +1 -1
  45. package/dist/completion/team-phase.js +2 -1
  46. package/dist/completion/team-phase.js.map +1 -1
  47. package/dist/directive/directive-dispatch.d.ts +7 -1
  48. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  49. package/dist/directive/directive-dispatch.js +75 -12
  50. package/dist/directive/directive-dispatch.js.map +1 -1
  51. package/dist/directive/directive-executor.d.ts +1 -1
  52. package/dist/directive/directive-executor.d.ts.map +1 -1
  53. package/dist/directive/directive-executor.js +10 -6
  54. package/dist/directive/directive-executor.js.map +1 -1
  55. package/dist/directive/directive-queue.d.ts +35 -9
  56. package/dist/directive/directive-queue.d.ts.map +1 -1
  57. package/dist/directive/directive-queue.js +15 -8
  58. package/dist/directive/directive-queue.js.map +1 -1
  59. package/dist/directive/directive-verify-hold-gate.d.ts +20 -0
  60. package/dist/directive/directive-verify-hold-gate.d.ts.map +1 -0
  61. package/dist/directive/directive-verify-hold-gate.js +47 -0
  62. package/dist/directive/directive-verify-hold-gate.js.map +1 -0
  63. package/dist/drift/staleness-sensor.d.ts +62 -67
  64. package/dist/drift/staleness-sensor.d.ts.map +1 -1
  65. package/dist/drift/staleness-sensor.js +233 -68
  66. package/dist/drift/staleness-sensor.js.map +1 -1
  67. package/dist/drift/staleness.d.ts +8 -0
  68. package/dist/drift/staleness.d.ts.map +1 -1
  69. package/dist/drift/staleness.js +7 -1
  70. package/dist/drift/staleness.js.map +1 -1
  71. package/dist/focus/focus-engine.js +1 -1
  72. package/dist/focus/focus-engine.js.map +1 -1
  73. package/dist/focus/focus-executor.d.ts.map +1 -1
  74. package/dist/focus/focus-executor.js +12 -6
  75. package/dist/focus/focus-executor.js.map +1 -1
  76. package/dist/focus/focus-team-state.d.ts.map +1 -1
  77. package/dist/focus/focus-team-state.js +1 -0
  78. package/dist/focus/focus-team-state.js.map +1 -1
  79. package/dist/focus/focus-worktree-state.d.ts.map +1 -1
  80. package/dist/focus/focus-worktree-state.js +4 -2
  81. package/dist/focus/focus-worktree-state.js.map +1 -1
  82. package/dist/focus/listener-spawn.d.ts +59 -6
  83. package/dist/focus/listener-spawn.d.ts.map +1 -1
  84. package/dist/focus/listener-spawn.js +164 -39
  85. package/dist/focus/listener-spawn.js.map +1 -1
  86. package/dist/focus/listener.d.ts.map +1 -1
  87. package/dist/focus/listener.js +20 -11
  88. package/dist/focus/listener.js.map +1 -1
  89. package/dist/focus/team-actionable-work.d.ts +90 -0
  90. package/dist/focus/team-actionable-work.d.ts.map +1 -0
  91. package/dist/focus/team-actionable-work.js +113 -0
  92. package/dist/focus/team-actionable-work.js.map +1 -0
  93. package/dist/merge/focus-merge.d.ts.map +1 -1
  94. package/dist/merge/focus-merge.js +2 -1
  95. package/dist/merge/focus-merge.js.map +1 -1
  96. package/dist/nexus/return.d.ts +60 -1
  97. package/dist/nexus/return.d.ts.map +1 -1
  98. package/dist/nexus/return.js +78 -2
  99. package/dist/nexus/return.js.map +1 -1
  100. package/dist/queries/schemas.d.ts +61 -0
  101. package/dist/queries/schemas.d.ts.map +1 -1
  102. package/dist/queries/schemas.js +12 -2
  103. package/dist/queries/schemas.js.map +1 -1
  104. package/dist/shell/heartbeat-metadata.d.ts +91 -0
  105. package/dist/shell/heartbeat-metadata.d.ts.map +1 -0
  106. package/dist/shell/heartbeat-metadata.js +169 -0
  107. package/dist/shell/heartbeat-metadata.js.map +1 -0
  108. package/dist/shell/heartbeat.d.ts +7 -22
  109. package/dist/shell/heartbeat.d.ts.map +1 -1
  110. package/dist/shell/heartbeat.js +120 -89
  111. package/dist/shell/heartbeat.js.map +1 -1
  112. package/dist/shell/model-resolution.d.ts +54 -0
  113. package/dist/shell/model-resolution.d.ts.map +1 -1
  114. package/dist/shell/model-resolution.js +50 -0
  115. package/dist/shell/model-resolution.js.map +1 -1
  116. package/dist/shell/unified-shell.d.ts.map +1 -1
  117. package/dist/shell/unified-shell.js +21 -12
  118. package/dist/shell/unified-shell.js.map +1 -1
  119. package/dist/spawn/helpers.d.ts.map +1 -1
  120. package/dist/spawn/helpers.js +6 -1
  121. package/dist/spawn/helpers.js.map +1 -1
  122. package/dist/spawn/model-routing.d.ts +14 -19
  123. package/dist/spawn/model-routing.d.ts.map +1 -1
  124. package/dist/spawn/model-routing.js +57 -39
  125. package/dist/spawn/model-routing.js.map +1 -1
  126. package/dist/spawn/process-spawn.d.ts +32 -1
  127. package/dist/spawn/process-spawn.d.ts.map +1 -1
  128. package/dist/spawn/process-spawn.js +43 -5
  129. package/dist/spawn/process-spawn.js.map +1 -1
  130. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  131. package/dist/spawn/spawn-cooldown.js +2 -1
  132. package/dist/spawn/spawn-cooldown.js.map +1 -1
  133. package/dist/spawn/worktree-session.d.ts +53 -5
  134. package/dist/spawn/worktree-session.d.ts.map +1 -1
  135. package/dist/spawn/worktree-session.js +61 -29
  136. package/dist/spawn/worktree-session.js.map +1 -1
  137. package/dist/testing/fixtures/index.js +1 -1
  138. package/dist/types/focus.d.ts +12 -2
  139. package/dist/types/focus.d.ts.map +1 -1
  140. package/dist/types/index.js +1 -1
  141. package/dist/types/session.d.ts +1 -1
  142. package/dist/types/session.d.ts.map +1 -1
  143. package/dist/update/auto-update-idle.d.ts +22 -0
  144. package/dist/update/auto-update-idle.d.ts.map +1 -1
  145. package/dist/update/auto-update-idle.js +8 -1
  146. package/dist/update/auto-update-idle.js.map +1 -1
  147. package/dist/update/auto-update.d.ts +0 -6
  148. package/dist/update/auto-update.d.ts.map +1 -1
  149. package/dist/update/auto-update.js +20 -6
  150. package/dist/update/auto-update.js.map +1 -1
  151. package/dist/update/version-check.d.ts +73 -0
  152. package/dist/update/version-check.d.ts.map +1 -1
  153. package/dist/update/version-check.js +107 -11
  154. package/dist/update/version-check.js.map +1 -1
  155. package/dist/worktree/verify-interlock.d.ts +34 -0
  156. package/dist/worktree/verify-interlock.d.ts.map +1 -1
  157. package/dist/worktree/verify-interlock.js +27 -1
  158. package/dist/worktree/verify-interlock.js.map +1 -1
  159. package/package.json +3 -3
@@ -1,6 +1,10 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
2
  // Pinned by: packages/daemon/src/focus/focus-work-reopened.test.ts,
3
- // packages/daemon/src/focus/listener.test.ts
3
+ // packages/daemon/src/focus/listener.test.ts,
4
+ // packages/daemon/src/focus/pending-spawn-stage-currency.test.ts,
5
+ // packages/daemon/src/focus/respawn-demotion-gate.test.ts,
6
+ // packages/daemon/src/focus/supervision-firing-correlation.test.ts,
7
+ // packages/daemon/src/focus/team-actionable-work.test.ts
4
8
  // PINNED-BY-END
5
9
  /**
6
10
  * Focus poll-loop spawn processing.
@@ -16,6 +20,7 @@ import { DELIVERY_STATUS } from '@telora/daemon-core';
16
20
  import { config, roles, pollState, idleLoggedFocuses, nullRoleSkipWarnedFocuses, lastRolesRefreshAt, healthCheckConsecutiveFailures, POLL_INTERVAL_MS, ROLES_REFRESH_INTERVAL_MS, setPollState, setLastRolesRefreshAt, setLastReadyFocusCount, } from './listener-state.js';
17
21
  import { getAgentRoles } from '../queries/roles.js';
18
22
  import { spawnFocusTeam, hasActiveTeam, getActiveTeamCount, getActiveTeams } from './focus-executor.js';
23
+ import { focusHasTeamActionableWork, focusUnderVerifyHold } from './team-actionable-work.js';
19
24
  import { applyRespawnGuard } from './focus-respawn-guard.js';
20
25
  import { recordActivity } from '../shell/heartbeat.js';
21
26
  import { configForProduct, findProduct } from '../shell/config.js';
@@ -29,6 +34,7 @@ import { isIntakeDraining } from '../shell/intake-control.js';
29
34
  import { isInSpawnCooldown, isRespawnCycleTerminated } from '../spawn/spawn-cooldown.js';
30
35
  import { shouldSkipPendingSpawn, recordPendingSpawnAttempt } from '../spawn/index.js';
31
36
  import { fileRespawnCycleExhaustedEscalation } from '../spawn/respawn-cycle-escalation.js';
37
+ import { recordFiring, classifyLatestUnclassifiedFiring, isMechanismDemoted, SUPERVISION_MECHANISM } from '../completion/supervision-firing-record.js';
32
38
  import { createLogger } from '../shell/log.js';
33
39
  const log = createLogger({ module: 'listener' });
34
40
  /**
@@ -80,12 +86,42 @@ export function decideFocusSpawn(gate) {
80
86
  return 'skip_unknown_role';
81
87
  if (gate.hasActiveTeam)
82
88
  return 'skip_active_team';
89
+ // Read the ONE team-actionable-work predicate (shared with the team-exit
90
+ // decision). A ready focus has unheld actionable work by construction, so a
91
+ // verify hold is the only thing that can zero it out here: defer rather than
92
+ // spawn a team that would find nothing to commit and terminate -- the billed
93
+ // no-op loop this gate exists to remove.
94
+ if (!focusHasTeamActionableWork({ hasUnheldActionableWork: true, underVerifyHold: gate.underVerifyHold })) {
95
+ return 'skip_held';
96
+ }
83
97
  if (gate.inSpawnCooldown)
84
98
  return 'skip_cooldown';
85
99
  if (gate.activeTeamCount >= gate.maxTotalSessions)
86
100
  return 'stop_capacity';
87
101
  return 'spawn';
88
102
  }
103
+ /**
104
+ * Refresh the in-memory agent-role cache when it is older than the refresh
105
+ * interval, so mid-run role changes are picked up. Best-effort: a fetch failure
106
+ * is logged and leaves the prior cache in place. Extracted from
107
+ * processReadyFocuses to keep that function under the size ratchet.
108
+ */
109
+ async function refreshAgentRolesIfStale(organizationId) {
110
+ if (Date.now() - lastRolesRefreshAt <= ROLES_REFRESH_INTERVAL_MS)
111
+ return;
112
+ try {
113
+ const roleList = await getAgentRoles(organizationId);
114
+ roles.clear();
115
+ for (const role of roleList) {
116
+ roles.set(role.id, role);
117
+ }
118
+ setLastRolesRefreshAt(Date.now());
119
+ log.info(`Refreshed agent roles (${roles.size} roles loaded)`);
120
+ }
121
+ catch (err) {
122
+ log.warn(`Failed to refresh agent roles: ${err.message}`);
123
+ }
124
+ }
89
125
  /**
90
126
  * Process any focuses ready for agent work.
91
127
  *
@@ -103,21 +139,8 @@ export async function processReadyFocuses() {
103
139
  }
104
140
  setPollState('processing');
105
141
  try {
106
- // Periodically refresh agent roles to pick up changes
107
- if (Date.now() - lastRolesRefreshAt > ROLES_REFRESH_INTERVAL_MS) {
108
- try {
109
- const roleList = await getAgentRoles(config.organizationId);
110
- roles.clear();
111
- for (const role of roleList) {
112
- roles.set(role.id, role);
113
- }
114
- setLastRolesRefreshAt(Date.now());
115
- log.info(`Refreshed agent roles (${roles.size} roles loaded)`);
116
- }
117
- catch (err) {
118
- log.warn(`Failed to refresh agent roles: ${err.message}`);
119
- }
120
- }
142
+ // Periodically refresh agent roles to pick up changes.
143
+ await refreshAgentRolesIfStale(config.organizationId);
121
144
  // Record activity: proves the poll ran even if no work was found
122
145
  recordActivity();
123
146
  // Snapshot active teams before processing (for idle detection)
@@ -138,17 +161,13 @@ export async function processReadyFocuses() {
138
161
  // Publish the queue depth for the auto-updater's batch-safe idle predicate.
139
162
  // Set before any early-return below so a drained queue is observable.
140
163
  setLastReadyFocusCount(readyFocuses.length);
141
- // Track which focuses are ready this cycle (for idle logging)
164
+ // Track which focuses are ready this cycle (idle logging + FP correlation).
142
165
  const readyFocusIds = new Set(readyFocuses.map(s => s.focus_id));
143
- // Idle queue logging: detect focuses that were previously active
144
- // but now have no ready deliveries. Only log on state change.
145
- for (const focusId of previouslyActiveIds) {
146
- if (!readyFocusIds.has(focusId) && !hasActiveTeam(focusId) && !idleLoggedFocuses.has(focusId)) {
147
- const nextPollSec = POLL_INTERVAL_MS / 1000;
148
- log.info(`Focus queue idle: "${focusId}" -- no actionable deliveries, next poll in ${nextPollSec}s`);
149
- idleLoggedFocuses.add(focusId);
150
- }
151
- }
166
+ // A focus ready again while an unclassified teardown firing stands -> that
167
+ // teardown was a false positive (the "no work" prediction was wrong). The
168
+ // returned set is the respawn-after-teardown group the demotion gate reads.
169
+ const respawnAfterTeardown = classifyReadyFalsifiedTeardowns(readyFocuses);
170
+ logNewlyIdleFocuses(previouslyActiveIds, readyFocusIds);
152
171
  if (readyFocuses.length === 0) {
153
172
  return;
154
173
  }
@@ -173,6 +192,7 @@ export async function processReadyFocuses() {
173
192
  const action = decideFocusSpawn({
174
193
  hasRole: role !== undefined,
175
194
  hasActiveTeam: hasActiveTeam(focus.focus_id),
195
+ underVerifyHold: focusUnderVerifyHold(focus.focus_id),
176
196
  inSpawnCooldown: isInSpawnCooldown(focus.focus_id),
177
197
  activeTeamCount: getActiveTeamCount(),
178
198
  maxTotalSessions: config.maxTotalSessions,
@@ -181,6 +201,15 @@ export async function processReadyFocuses() {
181
201
  log.error(`Unknown agent role: ${focus.assigned_agent_role_id}`);
182
202
  continue;
183
203
  }
204
+ if (action === 'skip_held') {
205
+ // Held by an in-flight verify: defer without a spawn (a team would find
206
+ // nothing to commit and terminate). Re-read live each poll, so it is
207
+ // spawnable again the cycle after the hold clears -- no cooldown penalty
208
+ // (AC5). Stays in the ready count (already recorded) so telemetry is
209
+ // honest. debug-level so a multi-minute verify does not spin-log at info.
210
+ log.debug(`Focus "${focus.focus_name}" held by an in-flight verify; deferring spawn`);
211
+ continue;
212
+ }
184
213
  if (action === 'skip_active_team') {
185
214
  // Focus is active -- clear idle state so we re-log if it goes idle again
186
215
  idleLoggedFocuses.delete(focus.focus_id);
@@ -206,6 +235,10 @@ export async function processReadyFocuses() {
206
235
  // this guard narrows the type and is otherwise unreachable.
207
236
  if (!role)
208
237
  continue;
238
+ // Block-to-observe: a demoted spawn-gate-vs-exit mechanism does not respawn
239
+ // a focus we just tore down (record-only; self-lifting).
240
+ if (respawnSuppressedByDemotion(focus, respawnAfterTeardown))
241
+ continue;
209
242
  const isRearm = focus.answer_rearm_requested_at != null;
210
243
  // Clear idle state before spawn attempt -- if spawn succeeds,
211
244
  // the focus is active. If it skips (no actionable deliveries),
@@ -271,6 +304,100 @@ function reapOrRetryAbsentPendingFocus(focusId, anyFetchFailed) {
271
304
  log.warn(`[listener] Pending spawn directive for focus ${focusId.slice(0, 8)} but focus not found in active set; ` +
272
305
  `active-set read incomplete this tick (fetch failure) -- retrying next poll.`);
273
306
  }
307
+ /**
308
+ * Guard: a pending-spawn focus whose respawn cycle has exhausted its bounds is
309
+ * halted permanently (spawn-cooldown). File the one-per-focus (idempotent)
310
+ * respawn_cycle_exhausted escalation so the terminated cycle is a legible state,
311
+ * and report whether the spawn must be skipped. Extracted from
312
+ * processPendingSpawnFocuses to keep it within its size floor.
313
+ */
314
+ /**
315
+ * Log focuses that were active last cycle but have no ready deliveries now (once,
316
+ * on state change). Extracted from processReadyFocuses to keep it under its size
317
+ * floor.
318
+ */
319
+ function logNewlyIdleFocuses(previouslyActiveIds, readyFocusIds) {
320
+ for (const focusId of previouslyActiveIds) {
321
+ if (!readyFocusIds.has(focusId) && !hasActiveTeam(focusId) && !idleLoggedFocuses.has(focusId)) {
322
+ const nextPollSec = POLL_INTERVAL_MS / 1000;
323
+ log.info(`Focus queue idle: "${focusId}" -- no actionable deliveries, next poll in ${nextPollSec}s`);
324
+ idleLoggedFocuses.add(focusId);
325
+ }
326
+ }
327
+ }
328
+ /**
329
+ * Falsifiability correlation: a focus that is READY again (getReadyFocuses
330
+ * surfaced it, so it has actionable work) while it still holds an unclassified
331
+ * teardown-at-first-result firing classifies that teardown a FALSE POSITIVE -- its
332
+ * "no team-actionable work" prediction was wrong. The settle sweep TPs any firing
333
+ * that stood past the window, so a still-unclassified one is a QUICK re-ready (the
334
+ * 2026-09-06 storm shape). A no-op for a focus with no such firing.
335
+ */
336
+ export function classifyReadyFalsifiedTeardowns(readyFocuses) {
337
+ const respawnAfterTeardown = new Set();
338
+ for (const focus of readyFocuses) {
339
+ const teardownFalsified = classifyLatestUnclassifiedFiring(SUPERVISION_MECHANISM.TEARDOWN_AT_FIRST_RESULT, focus.focus_id, { borneOut: false, observed: 'focus is ready again -- teardown missed actionable work' });
340
+ // An exited focus that is ready again IS a spawn-gate-vs-exit respawn: record
341
+ // it predicting the respawn does work rather than immediately re-exiting. A
342
+ // re-teardown shortly after (event-phases) classifies this respawn a false
343
+ // positive (a wasted respawn -- the storm); the settle sweep TPs the rest.
344
+ // These focuses are the respawn-after-teardown set the demotion gate reads.
345
+ if (teardownFalsified) {
346
+ recordFiring({
347
+ mechanism: SUPERVISION_MECHANISM.SPAWN_GATE_VS_EXIT_RESPAWN,
348
+ focusId: focus.focus_id,
349
+ predicted: 'respawn of an exited focus will do work, not immediately re-exit',
350
+ });
351
+ respawnAfterTeardown.add(focus.focus_id);
352
+ }
353
+ }
354
+ return respawnAfterTeardown;
355
+ }
356
+ /**
357
+ * Block-to-observe enforcement for the spawn-gate-vs-exit respawn mechanism: when
358
+ * it is DEMOTED (zero true positives over the window) a respawn of a focus we just
359
+ * tore down is suppressed -- recorded, not acted on -- breaking the storm at the
360
+ * spawn side (AC/FRT #10). A no-op unless this focus is in the just-falsified-
361
+ * teardown set AND the mechanism is demoted; the demotion self-lifts as the
362
+ * firings sweep to TP.
363
+ */
364
+ export function respawnSuppressedByDemotion(focus, respawnAfterTeardown) {
365
+ if (!respawnAfterTeardown.has(focus.focus_id))
366
+ return false;
367
+ if (!isMechanismDemoted(SUPERVISION_MECHANISM.SPAWN_GATE_VS_EXIT_RESPAWN))
368
+ return false;
369
+ log.info(`Spawn-gate-vs-exit respawn demoted to observe-only -- not respawning just-torn-down "${focus.focus_name}"`);
370
+ return true;
371
+ }
372
+ async function skipIfRespawnCycleTerminated(focus, organizationId) {
373
+ if (!isRespawnCycleTerminated(focus.focus_id))
374
+ return false;
375
+ await fileRespawnCycleExhaustedEscalation({
376
+ organizationId,
377
+ focusId: focus.focus_id,
378
+ focusName: focus.focus_name,
379
+ });
380
+ return true;
381
+ }
382
+ /**
383
+ * Stage-currency guard: a queued spawn directive belongs to the stage the focus
384
+ * was in when it was stashed (originStageId). If the focus has since LEFT that
385
+ * stage, the directive is stale -- the 2026-09-06 focus 6f866509 case, where a
386
+ * verifying-stage directive was consumed by a spawn 0.4s after the focus moved to
387
+ * reviewing. Drop it rather than consume it, and report whether the spawn must be
388
+ * skipped. A null origin (older entry, or a stash site with no stage) or a null
389
+ * current stage skips the check (fail-open, never a false drop).
390
+ */
391
+ export function dropStalePendingSpawnDirective(focus) {
392
+ const origin = getPendingSpawnDirective(focus.focus_id)?.originStageId ?? null;
393
+ const current = focus.current_workflow_stage_id;
394
+ if (origin === null || current === null || origin === current)
395
+ return false;
396
+ clearPendingSpawnDirective(focus.focus_id);
397
+ log.info(`[listener] Dropping stale pending directive for "${focus.focus_name}" -- it belongs to stage ` +
398
+ `${origin.slice(0, 8)} but the focus is now in ${current.slice(0, 8)}.`);
399
+ return true;
400
+ }
274
401
  /**
275
402
  * Spawn teams for focuses that have a pending spawn directive but were
276
403
  * not surfaced by getReadyFocuses.
@@ -319,6 +446,9 @@ export async function processPendingSpawnFocuses() {
319
446
  reapOrRetryAbsentPendingFocus(focusId, anyFetchFailed);
320
447
  continue;
321
448
  }
449
+ // Stale-stage directive: dropped, never consumed by a spawn (see helper).
450
+ if (dropStalePendingSpawnDirective(focus))
451
+ continue;
322
452
  let role;
323
453
  if (!focus.assigned_agent_role_id) {
324
454
  // A null assigned_agent_role_id now means ONE OF TWO things, and they are
@@ -441,19 +571,14 @@ export async function processPendingSpawnFocuses() {
441
571
  // gate the directive re-fires every poll and the daemon respawns an
442
572
  // immediately-idle team every cycle (the reinforcing auto-review/idle-spawn
443
573
  // loop). See spawn/guards.ts (the pending-spawn guard).
444
- // Terminated respawn cycle: the spawn/teardown loop for this focus has
445
- // exhausted its total-duration/count bounds (spawn-cooldown.ts). Respawns are
446
- // halted permanently (isInSpawnCooldown returns true indefinitely), so the
447
- // spawn is skipped either way -- but a silent halt is a strand. File the
448
- // one-per-focus respawn_cycle_exhausted escalation (idempotent, so filing on
449
- // each poll while terminated yields a single open row) so the terminated
450
- // cycle is a legible state a human can see and clear.
451
- if (isRespawnCycleTerminated(focus.focus_id)) {
452
- await fileRespawnCycleExhaustedEscalation({
453
- organizationId: config.organizationId,
454
- focusId: focus.focus_id,
455
- focusName: focus.focus_name,
456
- });
574
+ // Terminated respawn cycle (bounds exhausted): file the one-per-focus
575
+ // escalation and skip -- see skipIfRespawnCycleTerminated.
576
+ if (await skipIfRespawnCycleTerminated(focus, config.organizationId)) {
577
+ continue;
578
+ }
579
+ // Fourth controller (D1): never spawn into a worktree under an in-flight verify hold.
580
+ if (focusUnderVerifyHold(focus.focus_id)) {
581
+ log.info(`[listener] Deferring pending spawn for "${focus.focus_name}" -- under a verify hold`);
457
582
  continue;
458
583
  }
459
584
  if (shouldSkipPendingSpawn(focus.focus_id)) {
@@ -1 +1 @@
1
- {"version":3,"file":"listener-spawn.js","sourceRoot":"","sources":["../../src/focus/listener-spawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener-spawn.js","sourceRoot":"","sources":["../../src/focus/listener-spawn.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/focus/listener.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkBtD,OAAO,EAAuB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,CAAC;AAuCxB;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyE5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAsH5C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAO3C;AAGD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkIxD;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAMnD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAUlD"}
1
+ {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/focus/listener.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkBtD,OAAO,EAAuB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,CAAC;AAwCxB;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyE5E;AAmBD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA8G5C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAO3C;AAGD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkIxD;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAMnD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAUlD"}
@@ -25,6 +25,7 @@ import { configForProduct } from '../shell/config.js';
25
25
  import { checkIncomingRequests } from '../nexus/index.js';
26
26
  import { checkIntakePendingRequests } from '../nexus/index.js';
27
27
  import { checkResolvedRequests } from '../nexus/index.js';
28
+ import { autoDeliverCompletedRequests } from '../nexus/index.js';
28
29
  import { checkEndpointClearance } from '../nexus/index.js';
29
30
  import { checkDirectives, seedLastProcessedStage } from '../directive/directive-executor.js';
30
31
  import { getActiveFocuses } from '../queries/focus-discovery.js';
@@ -118,6 +119,22 @@ export async function initListener(daemonConfig) {
118
119
  throw error;
119
120
  }
120
121
  }
122
+ /**
123
+ * The Nexus per-product request passes, in order:
124
+ * accept incoming -> spawn intake scoping -> auto-deliver done-but-undelivered
125
+ * requests (so closure never waits on a volunteer deliver call) -> resolve /
126
+ * close the loop + notify blocked sources -> clear fulfilled endpoint obstacles.
127
+ * Auto-deliver runs BEFORE resolve so a stamped delivered_at lets the same cycle
128
+ * close. Extracted from startDeliveryListener so the orchestrator stays lean and
129
+ * the return-path sequence reads in one place.
130
+ */
131
+ async function runNexusPasses(pc) {
132
+ await checkIncomingRequests(pc);
133
+ await checkIntakePendingRequests(pc);
134
+ await autoDeliverCompletedRequests(pc);
135
+ await checkResolvedRequests(pc);
136
+ await checkEndpointClearance(pc);
137
+ }
121
138
  /**
122
139
  * Start polling for ready focuses.
123
140
  */
@@ -175,17 +192,9 @@ export function startDeliveryListener() {
175
192
  // status. Writes nothing; default-OFF (opt-in via TELORA_RECONCILER_SHADOW),
176
193
  // so this is a no-op until an operator enables it.
177
194
  await runReconcilerShadow(pc);
178
- // Nexus: pick up incoming cross-product requests and apply the accept gate.
179
- await checkIncomingRequests(pc);
180
- // Nexus: spawn a target-side scoping agent for each accepted, not-yet-
181
- // materialized request so the receiving team authors a per-request focus
182
- // (no server-side authoring, no dead-letter inbox).
183
- await checkIntakePendingRequests(pc);
184
- // Nexus: close the loop -- resolve done deliveries + notify blocked sources.
185
- await checkResolvedRequests(pc);
186
- // Nexus: clear externally-owned obstacles whose endpoint-typed request has
187
- // been fulfilled (registry-shape), advancing the consumer's frontier.
188
- await checkEndpointClearance(pc);
195
+ // Nexus: the per-product request passes (accept -> intake -> auto-deliver
196
+ // -> resolve -> endpoint clearance).
197
+ await runNexusPasses(pc);
189
198
  }
190
199
  // Endpoint discovery (D5): org-scoped, once per cycle. Best-effort -- the
191
200
  // daemon is the only LAN-reachable component, so it resolves the add-model
@@ -1 +1 @@
1
- {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/focus/listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/focus/listener.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Injectable seam for the hold source, mirroring the isWorktreeUnderVerify dep
3
+ * already threaded through ensureWorktreeCommittedBeforeAdvance -- so a caller
4
+ * unit-tests the gate without a real worktree or a live verify. Each defaults to
5
+ * the real implementation.
6
+ */
7
+ export interface FocusHoldDeps {
8
+ /** Structural (matches CompletionEventDeps.getFocusWorktree) so tests need no full worktree record. */
9
+ getFocusWorktree?: (focusId: string) => {
10
+ worktreePath: string;
11
+ } | undefined;
12
+ isWorktreeUnderVerify?: (worktreePath: string) => boolean;
13
+ }
14
+ /**
15
+ * Whether the focus's worktree is currently held by an in-flight verify command.
16
+ *
17
+ * The daemon runs a product's configured verify command inside the focus
18
+ * worktree and commits from that same worktree; the verify interlock
19
+ * (worktree/verify-interlock.ts) serialises the two. While the hold is held the
20
+ * daemon defers the coding->verify advance (delivery/delivery-advance-block.ts)
21
+ * rather than snapshot a mid-verify tree, so the delivery sits non-terminal with
22
+ * nothing a freshly-spawned coding team could commit or advance.
23
+ *
24
+ * A focus with no registered worktree is not held: no verify can run without a
25
+ * worktree to run it in.
26
+ */
27
+ export declare function focusUnderVerifyHold(focusId: string, deps?: FocusHoldDeps): boolean;
28
+ /** Facts the actionable-work question is decided from. */
29
+ export interface TeamActionableWorkInput {
30
+ /**
31
+ * Whether the focus has work a coding team could act on IF nothing were
32
+ * holding it -- a non-terminal delivery to advance or scope. At the spawn gate
33
+ * this is true by construction (getReadyFocuses only surfaces focuses with
34
+ * queued/coding deliveries, or none to scope); at the team-exit it is the live
35
+ * "the team owns open actionable work" fact (hasPlanning || postHasActionableOpen).
36
+ */
37
+ hasUnheldActionableWork: boolean;
38
+ /**
39
+ * Whether a verify command is currently running in the focus worktree
40
+ * (focusUnderVerifyHold). While held, the daemon is deferring this focus's
41
+ * advance, so there is nothing a coding team could commit or advance -- it
42
+ * would run one turn and terminate.
43
+ */
44
+ underVerifyHold: boolean;
45
+ }
46
+ /**
47
+ * The one predicate. A focus held by an in-flight verify has NO team-actionable
48
+ * work regardless of its delivery state; otherwise the caller's own
49
+ * actionable-work fact stands. Pure, so both the spawn gate and the team-exit
50
+ * decision read the identical answer for a given state.
51
+ */
52
+ export declare function focusHasTeamActionableWork(input: TeamActionableWorkInput): boolean;
53
+ /**
54
+ * Resolve the verify hold for a focus whose worktree path is already known, and
55
+ * fold it into the shared predicate in one step. Convenience for the team-exit
56
+ * fact-gathering (computeCompletionFacts), which has already resolved the
57
+ * worktree path; a null path means no worktree -> no hold. The isWorktreeUnderVerify
58
+ * dep is passed in so the caller keeps its own injection seam.
59
+ */
60
+ export declare function resolveTeamActionableWork(args: {
61
+ focusWorktreePath: string | null;
62
+ hasUnheldActionableWork: boolean;
63
+ isWorktreeUnderVerify: (worktreePath: string) => boolean;
64
+ }): {
65
+ underVerifyHold: boolean;
66
+ teamHasActionableWork: boolean;
67
+ };
68
+ /** Injectable seam for {@link anyFocusUnderVerifyHold}. */
69
+ export interface AnyFocusHoldDeps {
70
+ getAllFocusWorktrees?: () => ReadonlyMap<string, {
71
+ worktreePath: string;
72
+ }>;
73
+ isWorktreeUnderVerify?: (worktreePath: string) => boolean;
74
+ }
75
+ /**
76
+ * Whether ANY registered focus worktree is currently held by an in-flight
77
+ * verify. Reads the same hold source the per-focus predicate does
78
+ * (focus-worktree-state + verify-interlock), so the drain/idle gate agrees with
79
+ * the spawn gate and the team-exit classifier about "is a verify in flight".
80
+ *
81
+ * The auto-updater consumes this: a verify runs as a spawned child inside a
82
+ * worktree (verification-deterministic.ts) that can last up to ~30 min, and
83
+ * during that hold there is often NO active team (the coding team already
84
+ * exited, which is why the delivery is deferred at coding->verify). Restarting
85
+ * the daemon then would kill the verify mid-run, so an in-flight hold must read
86
+ * as "not idle" REGARDLESS of team count or queue depth -- robustly, not by the
87
+ * incidental fact that a held focus happens to stay in the ready set.
88
+ */
89
+ export declare function anyFocusUnderVerifyHold(deps?: AnyFocusHoldDeps): boolean;
90
+ //# sourceMappingURL=team-actionable-work.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-actionable-work.d.ts","sourceRoot":"","sources":["../../src/focus/team-actionable-work.ts"],"names":[],"mappings":"AA2CA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,uGAAuG;IACvG,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC7E,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAMvF;AAED,0DAA0D;AAC1D,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;;;;OAKG;IACH,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAGlF;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,uBAAuB,EAAE,OAAO,CAAC;IACjC,qBAAqB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CAC1D,GAAG;IAAE,eAAe,EAAE,OAAO,CAAC;IAAC,qBAAqB,EAAE,OAAO,CAAA;CAAE,CAU/D;AAED,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,CAAC,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3E,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAO5E"}