@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.
- package/build-info.json +5 -3
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +2 -0
- package/dist/backends/index.js.map +1 -1
- package/dist/ci/ci-sensor-loop.d.ts +36 -2
- package/dist/ci/ci-sensor-loop.d.ts.map +1 -1
- package/dist/ci/ci-sensor-loop.js +48 -9
- package/dist/ci/ci-sensor-loop.js.map +1 -1
- package/dist/ci/ci-status.d.ts.map +1 -1
- package/dist/ci/ci-status.js +1 -0
- package/dist/ci/ci-status.js.map +1 -1
- package/dist/completion/detector.d.ts +9 -0
- package/dist/completion/detector.d.ts.map +1 -1
- package/dist/completion/detector.js +18 -0
- package/dist/completion/detector.js.map +1 -1
- package/dist/completion/event-phases.d.ts +24 -8
- package/dist/completion/event-phases.d.ts.map +1 -1
- package/dist/completion/event-phases.js +81 -45
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/event.d.ts +9 -0
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js +4 -0
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/exit-classification.d.ts +2 -2
- package/dist/completion/exit-classification.d.ts.map +1 -1
- package/dist/completion/exit-classification.js +2 -0
- package/dist/completion/exit-classification.js.map +1 -1
- package/dist/completion/index.js +1 -1
- package/dist/completion/liveness-firing.d.ts +27 -0
- package/dist/completion/liveness-firing.d.ts.map +1 -0
- package/dist/completion/liveness-firing.js +79 -0
- package/dist/completion/liveness-firing.js.map +1 -0
- package/dist/completion/stdin-turn-tracker.d.ts +19 -0
- package/dist/completion/stdin-turn-tracker.d.ts.map +1 -0
- package/dist/completion/stdin-turn-tracker.js +57 -0
- package/dist/completion/stdin-turn-tracker.js.map +1 -0
- package/dist/completion/supervision-firing-record.d.ts +190 -0
- package/dist/completion/supervision-firing-record.d.ts.map +1 -0
- package/dist/completion/supervision-firing-record.js +232 -0
- package/dist/completion/supervision-firing-record.js.map +1 -0
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +3 -0
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/completion/team-phase.d.ts.map +1 -1
- package/dist/completion/team-phase.js +2 -1
- package/dist/completion/team-phase.js.map +1 -1
- package/dist/directive/directive-dispatch.d.ts +7 -1
- package/dist/directive/directive-dispatch.d.ts.map +1 -1
- package/dist/directive/directive-dispatch.js +75 -12
- package/dist/directive/directive-dispatch.js.map +1 -1
- package/dist/directive/directive-executor.d.ts +1 -1
- package/dist/directive/directive-executor.d.ts.map +1 -1
- package/dist/directive/directive-executor.js +10 -6
- package/dist/directive/directive-executor.js.map +1 -1
- package/dist/directive/directive-queue.d.ts +35 -9
- package/dist/directive/directive-queue.d.ts.map +1 -1
- package/dist/directive/directive-queue.js +15 -8
- package/dist/directive/directive-queue.js.map +1 -1
- package/dist/directive/directive-verify-hold-gate.d.ts +20 -0
- package/dist/directive/directive-verify-hold-gate.d.ts.map +1 -0
- package/dist/directive/directive-verify-hold-gate.js +47 -0
- package/dist/directive/directive-verify-hold-gate.js.map +1 -0
- package/dist/drift/staleness-sensor.d.ts +62 -67
- package/dist/drift/staleness-sensor.d.ts.map +1 -1
- package/dist/drift/staleness-sensor.js +233 -68
- package/dist/drift/staleness-sensor.js.map +1 -1
- package/dist/drift/staleness.d.ts +8 -0
- package/dist/drift/staleness.d.ts.map +1 -1
- package/dist/drift/staleness.js +7 -1
- package/dist/drift/staleness.js.map +1 -1
- package/dist/focus/focus-engine.js +1 -1
- package/dist/focus/focus-engine.js.map +1 -1
- package/dist/focus/focus-executor.d.ts.map +1 -1
- package/dist/focus/focus-executor.js +12 -6
- package/dist/focus/focus-executor.js.map +1 -1
- package/dist/focus/focus-team-state.d.ts.map +1 -1
- package/dist/focus/focus-team-state.js +1 -0
- package/dist/focus/focus-team-state.js.map +1 -1
- package/dist/focus/focus-worktree-state.d.ts.map +1 -1
- package/dist/focus/focus-worktree-state.js +4 -2
- package/dist/focus/focus-worktree-state.js.map +1 -1
- package/dist/focus/listener-spawn.d.ts +59 -6
- package/dist/focus/listener-spawn.d.ts.map +1 -1
- package/dist/focus/listener-spawn.js +164 -39
- package/dist/focus/listener-spawn.js.map +1 -1
- package/dist/focus/listener.d.ts.map +1 -1
- package/dist/focus/listener.js +20 -11
- package/dist/focus/listener.js.map +1 -1
- package/dist/focus/team-actionable-work.d.ts +90 -0
- package/dist/focus/team-actionable-work.d.ts.map +1 -0
- package/dist/focus/team-actionable-work.js +113 -0
- package/dist/focus/team-actionable-work.js.map +1 -0
- package/dist/merge/focus-merge.d.ts.map +1 -1
- package/dist/merge/focus-merge.js +2 -1
- package/dist/merge/focus-merge.js.map +1 -1
- package/dist/nexus/return.d.ts +60 -1
- package/dist/nexus/return.d.ts.map +1 -1
- package/dist/nexus/return.js +78 -2
- package/dist/nexus/return.js.map +1 -1
- package/dist/queries/schemas.d.ts +61 -0
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +12 -2
- package/dist/queries/schemas.js.map +1 -1
- package/dist/shell/heartbeat-metadata.d.ts +91 -0
- package/dist/shell/heartbeat-metadata.d.ts.map +1 -0
- package/dist/shell/heartbeat-metadata.js +169 -0
- package/dist/shell/heartbeat-metadata.js.map +1 -0
- package/dist/shell/heartbeat.d.ts +7 -22
- package/dist/shell/heartbeat.d.ts.map +1 -1
- package/dist/shell/heartbeat.js +120 -89
- package/dist/shell/heartbeat.js.map +1 -1
- package/dist/shell/model-resolution.d.ts +54 -0
- package/dist/shell/model-resolution.d.ts.map +1 -1
- package/dist/shell/model-resolution.js +50 -0
- package/dist/shell/model-resolution.js.map +1 -1
- package/dist/shell/unified-shell.d.ts.map +1 -1
- package/dist/shell/unified-shell.js +21 -12
- package/dist/shell/unified-shell.js.map +1 -1
- package/dist/spawn/helpers.d.ts.map +1 -1
- package/dist/spawn/helpers.js +6 -1
- package/dist/spawn/helpers.js.map +1 -1
- package/dist/spawn/model-routing.d.ts +14 -19
- package/dist/spawn/model-routing.d.ts.map +1 -1
- package/dist/spawn/model-routing.js +57 -39
- package/dist/spawn/model-routing.js.map +1 -1
- package/dist/spawn/process-spawn.d.ts +32 -1
- package/dist/spawn/process-spawn.d.ts.map +1 -1
- package/dist/spawn/process-spawn.js +43 -5
- package/dist/spawn/process-spawn.js.map +1 -1
- package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn/spawn-cooldown.js +2 -1
- package/dist/spawn/spawn-cooldown.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts +53 -5
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +61 -29
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/types/focus.d.ts +12 -2
- package/dist/types/focus.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/session.d.ts +1 -1
- package/dist/types/session.d.ts.map +1 -1
- package/dist/update/auto-update-idle.d.ts +22 -0
- package/dist/update/auto-update-idle.d.ts.map +1 -1
- package/dist/update/auto-update-idle.js +8 -1
- package/dist/update/auto-update-idle.js.map +1 -1
- package/dist/update/auto-update.d.ts +0 -6
- package/dist/update/auto-update.d.ts.map +1 -1
- package/dist/update/auto-update.js +20 -6
- package/dist/update/auto-update.js.map +1 -1
- package/dist/update/version-check.d.ts +73 -0
- package/dist/update/version-check.d.ts.map +1 -1
- package/dist/update/version-check.js +107 -11
- package/dist/update/version-check.js.map +1 -1
- package/dist/worktree/verify-interlock.d.ts +34 -0
- package/dist/worktree/verify-interlock.d.ts.map +1 -1
- package/dist/worktree/verify-interlock.js +27 -1
- package/dist/worktree/verify-interlock.js.map +1 -1
- 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
|
-
|
|
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 (
|
|
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
|
-
//
|
|
144
|
-
//
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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
|
|
445
|
-
//
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
//
|
|
450
|
-
|
|
451
|
-
|
|
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;
|
|
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"}
|
package/dist/focus/listener.js
CHANGED
|
@@ -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:
|
|
179
|
-
|
|
180
|
-
|
|
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"}
|