instar 1.3.749 → 1.3.751
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/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +40 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/core/AgeKillBackoff.d.ts +9 -48
- package/dist/core/AgeKillBackoff.d.ts.map +1 -1
- package/dist/core/AgeKillBackoff.js +8 -84
- package/dist/core/AgeKillBackoff.js.map +1 -1
- package/dist/core/MessageSentinel.d.ts.map +1 -1
- package/dist/core/MessageSentinel.js +11 -0
- package/dist/core/MessageSentinel.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +20 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +43 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/SessionManager.d.ts +68 -32
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +159 -7
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/VetoedKillBackoff.d.ts +130 -0
- package/dist/core/VetoedKillBackoff.d.ts.map +1 -0
- package/dist/core/VetoedKillBackoff.js +221 -0
- package/dist/core/VetoedKillBackoff.js.map +1 -0
- package/dist/core/types.d.ts +18 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/IncidentDedupe.d.ts +36 -0
- package/dist/monitoring/IncidentDedupe.d.ts.map +1 -0
- package/dist/monitoring/IncidentDedupe.js +38 -0
- package/dist/monitoring/IncidentDedupe.js.map +1 -0
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +20 -20
- package/upgrades/1.3.750.md +30 -0
- package/upgrades/1.3.751.md +17 -0
- package/upgrades/side-effects/keyword-intent-decision-ratchet.md +67 -0
- package/upgrades/side-effects/session-respawn-thrash-elimination.md +75 -0
|
@@ -38,6 +38,7 @@ import { type PermissionPromptAutoResolver } from '../monitoring/PermissionPromp
|
|
|
38
38
|
import type { Session, SessionManagerConfig, ModelTier } from './types.js';
|
|
39
39
|
import type { IntelligenceFramework } from './intelligenceProviderFactory.js';
|
|
40
40
|
import { StateManager } from './StateManager.js';
|
|
41
|
+
import type { IncidentDedupe } from '../monitoring/IncidentDedupe.js';
|
|
41
42
|
/**
|
|
42
43
|
* Pure age-gate idle decision — extracted so the exact 2026-06-13 incident can be
|
|
43
44
|
* reproduced at the decision boundary (Bug-Fix Evidence Bar). A session past its
|
|
@@ -115,6 +116,17 @@ export interface SessionManagerOptions {
|
|
|
115
116
|
* resolveDevAgentGate(monitoring.idleThrottleSettleGate.enabled). Absent ⇒ legacy
|
|
116
117
|
* immediate emit, unchanged. */
|
|
117
118
|
idleThrottleSettleGate?: boolean;
|
|
119
|
+
/** Idle-zombie veto-backoff ledger (session-respawn-thrash Fix A). Resolved
|
|
120
|
+
* server-side via resolveDevAgentGate(monitoring.idleKillVetoBackoff.enabled).
|
|
121
|
+
* DISABLED CONTRACT (C1): when `enabled !== true` the `idleKillBackoff` ledger
|
|
122
|
+
* is never constructed and never consulted — the idle-zombie branch falls
|
|
123
|
+
* through to its exact prior per-tick behavior. `cooldownMs: 0` is
|
|
124
|
+
* enabled-but-no-cooldown (R4-5), NOT a disable. */
|
|
125
|
+
idleKillVetoBackoff?: {
|
|
126
|
+
enabled: boolean;
|
|
127
|
+
cooldownMs: number;
|
|
128
|
+
escalateAfterEpisodes: number;
|
|
129
|
+
};
|
|
118
130
|
/** Coordinator/mesh identity machine id for the per-machine
|
|
119
131
|
* SessionBuildContextStore re-key (standby-write-reconciliation §3.3).
|
|
120
132
|
* A GETTER because the mesh identity resolves after SessionManager
|
|
@@ -245,6 +257,18 @@ export declare class SessionManager extends EventEmitter {
|
|
|
245
257
|
* is vetoed (session kept), suppress re-requests for a window instead of re-asking every
|
|
246
258
|
* 5s tick (the 2026-06-05 17,503-line flood). Constructed in the constructor. */
|
|
247
259
|
private ageKillBackoff;
|
|
260
|
+
/** Idle-zombie veto-backoff ledger (session-respawn-thrash Fix A). A SECOND,
|
|
261
|
+
* independently-configured VetoedKillBackoff instance for the bound-idle zombie
|
|
262
|
+
* killer (the age-gate keeps its own instance above). DISABLED CONTRACT (C1):
|
|
263
|
+
* left `undefined` and never consulted when the feature resolves disabled — the
|
|
264
|
+
* idle-zombie branch falls through to its exact prior per-tick behavior. */
|
|
265
|
+
private idleKillBackoff?;
|
|
266
|
+
/** P19 breaker threshold (Fix A′): after this many consecutive veto episodes on
|
|
267
|
+
* the SAME session with the keep-reason still active, raise ONE attention item. */
|
|
268
|
+
private idleKillEscalateAfter;
|
|
269
|
+
/** Best-effort "one per incident" dedupe seam for the P19 breaker (Fix A′).
|
|
270
|
+
* Injected at server boot; when unset the breaker escalation is a no-op. */
|
|
271
|
+
private incidentDedupe?;
|
|
248
272
|
/** Cached count of running sessions, updated asynchronously by the monitor tick.
|
|
249
273
|
* Used by the health endpoint to avoid synchronous tmux polling. */
|
|
250
274
|
private _cachedRunningCount;
|
|
@@ -445,6 +469,42 @@ export declare class SessionManager extends EventEmitter {
|
|
|
445
469
|
* kills bypass the guard. Unset (tests/standalone) → no guard consult.
|
|
446
470
|
*/
|
|
447
471
|
setReapGuard(guard: ReapGuard): void;
|
|
472
|
+
/**
|
|
473
|
+
* Wire the best-effort "one per incident" dedupe seam for the idle-zombie veto
|
|
474
|
+
* P19 breaker (session-respawn-thrash Fix A′). Server boot injects the shared
|
|
475
|
+
* IncidentDedupe so the breaker escalation coalesces across ticks. Unset ⇒ the
|
|
476
|
+
* breaker never escalates (best-effort, signal-only).
|
|
477
|
+
*/
|
|
478
|
+
setIncidentDedupe(seam: IncidentDedupe): void;
|
|
479
|
+
/**
|
|
480
|
+
* Evaluate the ReapGuard ONCE for the idle-zombie kill decision (C2/R4-2). Calls
|
|
481
|
+
* blockedReason with NO bypass flags (the idle-zombie branch never bypasses), and
|
|
482
|
+
* normalizes the vetoing reason to its STABLE ledger key. The verdict is threaded
|
|
483
|
+
* through both the backoff gate (shouldRequest) and the terminate call so the
|
|
484
|
+
* guard is never double-evaluated with a possibly-changed reason between them.
|
|
485
|
+
*/
|
|
486
|
+
private computeIdleZombieReapVerdict;
|
|
487
|
+
/**
|
|
488
|
+
* P19 breaker (Fix A′): after `idleKillEscalateAfter` consecutive veto episodes
|
|
489
|
+
* on a session whose keep-reason is still active, raise ONE attention item via
|
|
490
|
+
* the injected dedupe seam so it emits at most once per incident within the
|
|
491
|
+
* process window. Signal-only — best-effort; if no seam is injected nothing
|
|
492
|
+
* emits. Never spawns a topic or touches a transport directly.
|
|
493
|
+
*/
|
|
494
|
+
private maybeEscalateIdleZombieVeto;
|
|
495
|
+
/**
|
|
496
|
+
* Idle-zombie kill decision (session-respawn-thrash Fix A). Factored out of
|
|
497
|
+
* monitorTick so the enabled/disabled split is unit-testable in isolation.
|
|
498
|
+
*
|
|
499
|
+
* ENABLED (idleKillBackoff constructed) — veto-backoff path: evaluate the guard
|
|
500
|
+
* once, honor the reason-key-aware cooldown, attempt the kill through the SAME
|
|
501
|
+
* verdict, then either drop state on a real kill or record the veto (logging ONCE
|
|
502
|
+
* per episode + escalating after N episodes). DISABLED (field undefined) — the
|
|
503
|
+
* exact prior per-tick behavior: attempt terminateSession every tick.
|
|
504
|
+
*
|
|
505
|
+
* @returns whether a kill was actually performed (for the caller's WARN wording).
|
|
506
|
+
*/
|
|
507
|
+
private handleIdleZombie;
|
|
448
508
|
/**
|
|
449
509
|
* Wire the SDK-credit reader used by the headless-spawn-reroute 'auto'
|
|
450
510
|
* decision (june15-headless-spawn-reroute, PR2). Server boot passes
|
|
@@ -577,45 +637,21 @@ export declare class SessionManager extends EventEmitter {
|
|
|
577
637
|
knownDead?: boolean;
|
|
578
638
|
bypassRecoveryFlag?: boolean;
|
|
579
639
|
bypassActiveProcessKeep?: boolean;
|
|
580
|
-
/**
|
|
581
|
-
* Post-transfer closeout correctness (F1, Part E): a NARROW keep-reason
|
|
582
|
-
* bypass that lifts ONLY the `recent-user-message` keep-reason (mirroring
|
|
583
|
-
* `bypassActiveProcessKeep`). The SessionReaper sets it ONLY on a
|
|
584
|
-
* liveness-CONFIRMED genuine move (Part C `true`) whose freshest LOCAL user
|
|
585
|
-
* message PREDATES the liveness snapshot — so a duplicate leftover with a
|
|
586
|
-
* stale pre-move "recent" message can actually shed. Every OTHER KEEP-guard
|
|
587
|
-
* (active-subagent, open-commitment, recovery-in-flight, …) is re-checked
|
|
588
|
-
* fresh and still vetoes. Spec: docs/specs/post-transfer-closeout-correctness.md.
|
|
589
|
-
*/
|
|
590
640
|
bypassRecentUserMessageForConfirmedMove?: boolean;
|
|
591
|
-
/**
|
|
592
|
-
* Post-transfer closeout carve-out (F8, roadmap 0.6,
|
|
593
|
-
* test-as-self 2026-07-02): lifts ONLY the lease-holder gate — protected,
|
|
594
|
-
* CAS, in-flight, and EVERY KEEP-guard still apply unchanged. The
|
|
595
|
-
* SessionReaper sets it ONLY on the topic-moved closeout path, where this
|
|
596
|
-
* machine is closing ITS OWN local leftover session for a topic the pool
|
|
597
|
-
* ownership registry says ANOTHER machine now owns. The lease gate exists
|
|
598
|
-
* so a standby never reaps ANOTHER machine's sessions; the post-transfer
|
|
599
|
-
* closeout is the inverse case — the machine a topic moves AWAY from is
|
|
600
|
-
* by definition usually NOT the serving-lease holder, so without this
|
|
601
|
-
* carve-out the transfer's required teardown was structurally vetoed
|
|
602
|
-
* `skipped:'not-lease-holder'` every attempt until the P19 breaker gave
|
|
603
|
-
* up, stranding a duplicate session on the old machine (audit F8).
|
|
604
|
-
*/
|
|
605
641
|
bypassLeaseForTopicMovedCloseout?: boolean;
|
|
606
|
-
/**
|
|
607
|
-
* Killer-supplied work evidence (reap-notify spec R2.1): computed at the
|
|
608
|
-
* KILLER's decision point — the only moment the work was observable (the
|
|
609
|
-
* quota-shed migrator computes it BEFORE its Ctrl+C grace round tears the
|
|
610
|
-
* work down; a chokepoint re-run is empty by construction for
|
|
611
|
-
* guard-cleared kills). Clamped to the WorkEvidence enum here regardless
|
|
612
|
-
* of which killer supplied it; unknown names are dropped, not stored.
|
|
613
|
-
*/
|
|
614
642
|
workEvidence?: string[];
|
|
615
643
|
}): Promise<{
|
|
616
644
|
terminated: boolean;
|
|
617
645
|
skipped?: string;
|
|
618
646
|
}>;
|
|
647
|
+
/**
|
|
648
|
+
* The single-writer termination implementation. `precomputedGuardVerdict`, when
|
|
649
|
+
* provided (ONLY by the idle-zombie branch, which uses no bypass flags), threads
|
|
650
|
+
* the already-computed ReapGuard verdict through so the guard is not
|
|
651
|
+
* double-evaluated in the same tick (C2). Every OTHER caller passes it undefined
|
|
652
|
+
* and the guard is evaluated here exactly as before.
|
|
653
|
+
*/
|
|
654
|
+
private terminateSessionInternal;
|
|
619
655
|
/**
|
|
620
656
|
* Pressure-tier provider for the evidence fallback (reap-notify spec R2.1):
|
|
621
657
|
* at tier 'critical' the fork-based closures are skipped and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../src/core/SessionManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../src/core/SessionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ import { getTelegramInboundDir } from '../messaging/shared/telegramInboundFiles.
|
|
|
38
38
|
import { SessionBuildContextStore } from './SessionBuildContextStore.js';
|
|
39
39
|
import { PendingInjectStore, sweepPendingInjects } from './PendingInjectStore.js';
|
|
40
40
|
import { AgeKillBackoff } from './AgeKillBackoff.js';
|
|
41
|
+
import { VetoedKillBackoff, normalizeReasonKey, IDLE_ZOMBIE_ESCALATION_REASONS } from './VetoedKillBackoff.js';
|
|
41
42
|
/** Absolute maximum session duration (4 hours) — safety net for sessions without explicit timeout */
|
|
42
43
|
const DEFAULT_MAX_DURATION_MINUTES = 240;
|
|
43
44
|
/** Age-gate transcript-activity window (ms). A session whose framework transcript
|
|
@@ -295,6 +296,18 @@ export class SessionManager extends EventEmitter {
|
|
|
295
296
|
* is vetoed (session kept), suppress re-requests for a window instead of re-asking every
|
|
296
297
|
* 5s tick (the 2026-06-05 17,503-line flood). Constructed in the constructor. */
|
|
297
298
|
ageKillBackoff;
|
|
299
|
+
/** Idle-zombie veto-backoff ledger (session-respawn-thrash Fix A). A SECOND,
|
|
300
|
+
* independently-configured VetoedKillBackoff instance for the bound-idle zombie
|
|
301
|
+
* killer (the age-gate keeps its own instance above). DISABLED CONTRACT (C1):
|
|
302
|
+
* left `undefined` and never consulted when the feature resolves disabled — the
|
|
303
|
+
* idle-zombie branch falls through to its exact prior per-tick behavior. */
|
|
304
|
+
idleKillBackoff;
|
|
305
|
+
/** P19 breaker threshold (Fix A′): after this many consecutive veto episodes on
|
|
306
|
+
* the SAME session with the keep-reason still active, raise ONE attention item. */
|
|
307
|
+
idleKillEscalateAfter = 6;
|
|
308
|
+
/** Best-effort "one per incident" dedupe seam for the P19 breaker (Fix A′).
|
|
309
|
+
* Injected at server boot; when unset the breaker escalation is a no-op. */
|
|
310
|
+
incidentDedupe;
|
|
298
311
|
/** Cached count of running sessions, updated asynchronously by the monitor tick.
|
|
299
312
|
* Used by the health endpoint to avoid synchronous tmux polling. */
|
|
300
313
|
_cachedRunningCount = 0;
|
|
@@ -379,6 +392,14 @@ export class SessionManager extends EventEmitter {
|
|
|
379
392
|
// (config.ageKillBackoffMinutes; 0 disables → legacy every-tick behavior).
|
|
380
393
|
const backoffMin = typeof config.ageKillBackoffMinutes === 'number' ? config.ageKillBackoffMinutes : 10;
|
|
381
394
|
this.ageKillBackoff = new AgeKillBackoff({ backoffMs: Math.max(0, backoffMin) * 60_000 });
|
|
395
|
+
// Idle-zombie veto-backoff ledger (session-respawn-thrash Fix A). DISABLED
|
|
396
|
+
// CONTRACT (C1): only construct when explicitly enabled — otherwise the field
|
|
397
|
+
// stays undefined and the idle-zombie branch runs its exact prior per-tick
|
|
398
|
+
// behavior. `cooldownMs: 0` is enabled-but-no-cooldown (R4-5), never a disable.
|
|
399
|
+
if (opts.idleKillVetoBackoff?.enabled === true) {
|
|
400
|
+
this.idleKillBackoff = new VetoedKillBackoff({ backoffMs: opts.idleKillVetoBackoff.cooldownMs });
|
|
401
|
+
this.idleKillEscalateAfter = opts.idleKillVetoBackoff.escalateAfterEpisodes;
|
|
402
|
+
}
|
|
382
403
|
if (config.respawnBuildContext?.enabled) {
|
|
383
404
|
this.buildContextStore = new SessionBuildContextStore(state, {
|
|
384
405
|
maxAgeMs: config.respawnBuildContext.maxAgeMs,
|
|
@@ -671,6 +692,104 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
671
692
|
setReapGuard(guard) {
|
|
672
693
|
this.reapGuard = guard;
|
|
673
694
|
}
|
|
695
|
+
/**
|
|
696
|
+
* Wire the best-effort "one per incident" dedupe seam for the idle-zombie veto
|
|
697
|
+
* P19 breaker (session-respawn-thrash Fix A′). Server boot injects the shared
|
|
698
|
+
* IncidentDedupe so the breaker escalation coalesces across ticks. Unset ⇒ the
|
|
699
|
+
* breaker never escalates (best-effort, signal-only).
|
|
700
|
+
*/
|
|
701
|
+
setIncidentDedupe(seam) {
|
|
702
|
+
this.incidentDedupe = seam;
|
|
703
|
+
}
|
|
704
|
+
/**
|
|
705
|
+
* Evaluate the ReapGuard ONCE for the idle-zombie kill decision (C2/R4-2). Calls
|
|
706
|
+
* blockedReason with NO bypass flags (the idle-zombie branch never bypasses), and
|
|
707
|
+
* normalizes the vetoing reason to its STABLE ledger key. The verdict is threaded
|
|
708
|
+
* through both the backoff gate (shouldRequest) and the terminate call so the
|
|
709
|
+
* guard is never double-evaluated with a possibly-changed reason between them.
|
|
710
|
+
*/
|
|
711
|
+
computeIdleZombieReapVerdict(session, _now) {
|
|
712
|
+
const blocked = this.reapGuard?.blockedReason(session) ?? null;
|
|
713
|
+
return { blocked, reasonKey: normalizeReasonKey(blocked) };
|
|
714
|
+
}
|
|
715
|
+
/**
|
|
716
|
+
* P19 breaker (Fix A′): after `idleKillEscalateAfter` consecutive veto episodes
|
|
717
|
+
* on a session whose keep-reason is still active, raise ONE attention item via
|
|
718
|
+
* the injected dedupe seam so it emits at most once per incident within the
|
|
719
|
+
* process window. Signal-only — best-effort; if no seam is injected nothing
|
|
720
|
+
* emits. Never spawns a topic or touches a transport directly.
|
|
721
|
+
*/
|
|
722
|
+
maybeEscalateIdleZombieVeto(session, topicId, reasonKey) {
|
|
723
|
+
const incidentKey = 'idle-zombie-veto:' + (topicId ?? 'none') + ':' + reasonKey;
|
|
724
|
+
if (this.incidentDedupe?.shouldEmit(incidentKey, 24 * 60 * 60 * 1000)) {
|
|
725
|
+
this.emit('idleZombieVetoEscalation', {
|
|
726
|
+
session,
|
|
727
|
+
topicId,
|
|
728
|
+
reasonKey,
|
|
729
|
+
message: `Session "${session.name}" on topic ${topicId ?? 'n/a'} is permanently vetoed from idle-zombie cleanup (reason: ${reasonKey}) — likely a stuck open-commitment or a resume-loop; investigate.`,
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
/**
|
|
734
|
+
* Idle-zombie kill decision (session-respawn-thrash Fix A). Factored out of
|
|
735
|
+
* monitorTick so the enabled/disabled split is unit-testable in isolation.
|
|
736
|
+
*
|
|
737
|
+
* ENABLED (idleKillBackoff constructed) — veto-backoff path: evaluate the guard
|
|
738
|
+
* once, honor the reason-key-aware cooldown, attempt the kill through the SAME
|
|
739
|
+
* verdict, then either drop state on a real kill or record the veto (logging ONCE
|
|
740
|
+
* per episode + escalating after N episodes). DISABLED (field undefined) — the
|
|
741
|
+
* exact prior per-tick behavior: attempt terminateSession every tick.
|
|
742
|
+
*
|
|
743
|
+
* @returns whether a kill was actually performed (for the caller's WARN wording).
|
|
744
|
+
*/
|
|
745
|
+
async handleIdleZombie(session, idleMs, binding, now, bindingNote, killThresholdMinutes) {
|
|
746
|
+
void killThresholdMinutes; // threshold already applied by the caller
|
|
747
|
+
if (this.idleKillBackoff) {
|
|
748
|
+
// ENABLED — veto-backoff path.
|
|
749
|
+
const verdict = this.computeIdleZombieReapVerdict(session, now);
|
|
750
|
+
// Unkeyable fail-open (R4-4): a truthy veto with no usable reason string →
|
|
751
|
+
// re-evaluate this tick rather than gate on a fabricated key.
|
|
752
|
+
const unkeyable = verdict.blocked != null && verdict.reasonKey == null;
|
|
753
|
+
if (!unkeyable && !this.idleKillBackoff.shouldRequest(session.id, now, verdict.reasonKey)) {
|
|
754
|
+
// Inside the cooldown, same reason → quiet skip: no terminate attempt,
|
|
755
|
+
// no reap-log write.
|
|
756
|
+
return;
|
|
757
|
+
}
|
|
758
|
+
const result = await this.terminateSessionInternal(session.id, 'idle-zombie', { disposition: 'terminal' }, { blocked: verdict.blocked });
|
|
759
|
+
if (result.terminated) {
|
|
760
|
+
console.warn(`[SessionManager] Session "${session.name}" idle at prompt for ${Math.round(idleMs / 60_000)}m with no active processes${bindingNote}. Killing zombie.`);
|
|
761
|
+
this.idleKillBackoff.recordKilled(session.id);
|
|
762
|
+
}
|
|
763
|
+
else {
|
|
764
|
+
const vetoKey = normalizeReasonKey(result.skipped ? { reason: result.skipped } : null)
|
|
765
|
+
?? verdict.reasonKey ?? 'unknown';
|
|
766
|
+
// Cooldown applies to EVERY skip reason (the flood-stop benefit is
|
|
767
|
+
// universal — incl. a STANDBY machine's `not-lease-holder` every-tick skip,
|
|
768
|
+
// itself a documented reap-log flood source).
|
|
769
|
+
const firstOfEpisode = this.idleKillBackoff.recordVeto(session.id, now, vetoKey);
|
|
770
|
+
if (firstOfEpisode) {
|
|
771
|
+
console.warn(`[SessionManager] Session "${session.name}" idle-zombie cleanup vetoed (${vetoKey})${bindingNote} — backing off re-attempts.`);
|
|
772
|
+
}
|
|
773
|
+
// Breaker (Fix A′): escalate ONLY when the persisting reason is a genuine
|
|
774
|
+
// STUCK-session keep-reason (second-pass review point 9). Authority/CAS
|
|
775
|
+
// skips (`not-lease-holder` on a standby machine, `in-flight`, `protected`,
|
|
776
|
+
// `already-*`, …) back off above but must NEVER raise the "permanently
|
|
777
|
+
// vetoed from idle-zombie cleanup" attention item — that wording is false
|
|
778
|
+
// for them, and a standby machine would otherwise emit misleading HIGH items.
|
|
779
|
+
if (IDLE_ZOMBIE_ESCALATION_REASONS.has(vetoKey)
|
|
780
|
+
&& this.idleKillBackoff.episodeCount(session.id) >= this.idleKillEscalateAfter) {
|
|
781
|
+
const topicId = typeof binding === 'number'
|
|
782
|
+
? binding
|
|
783
|
+
: (binding != null && /^-?\d+$/.test(String(binding)) ? Number(binding) : null);
|
|
784
|
+
this.maybeEscalateIdleZombieVeto(session, topicId, vetoKey);
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
return;
|
|
788
|
+
}
|
|
789
|
+
// DISABLED — prior per-tick behavior EXACTLY.
|
|
790
|
+
console.warn(`[SessionManager] Session "${session.name}" idle at prompt for ${Math.round(idleMs / 60_000)}m with no active processes${bindingNote}. Killing zombie.`);
|
|
791
|
+
await this.terminateSession(session.id, 'idle-zombie', { disposition: 'terminal' });
|
|
792
|
+
}
|
|
674
793
|
/**
|
|
675
794
|
* Wire the SDK-credit reader used by the headless-spawn-reroute 'auto'
|
|
676
795
|
* decision (june15-headless-spawn-reroute, PR2). Server boot passes
|
|
@@ -851,6 +970,25 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
851
970
|
* `{ terminated: false, skipped }` describing why it was a no-op.
|
|
852
971
|
*/
|
|
853
972
|
async terminateSession(sessionId, reason, opts) {
|
|
973
|
+
// Public enforcement boundary — re-evaluates the guard itself (no precomputed
|
|
974
|
+
// verdict). The single-guard-eval precompute is a PRIVATE same-tick optimization
|
|
975
|
+
// used only by the idle-zombie branch (R3-1/R4-2); it is NEVER a public option.
|
|
976
|
+
return this.terminateSessionInternal(sessionId, reason, opts);
|
|
977
|
+
}
|
|
978
|
+
/**
|
|
979
|
+
* The single-writer termination implementation. `precomputedGuardVerdict`, when
|
|
980
|
+
* provided (ONLY by the idle-zombie branch, which uses no bypass flags), threads
|
|
981
|
+
* the already-computed ReapGuard verdict through so the guard is not
|
|
982
|
+
* double-evaluated in the same tick (C2). Every OTHER caller passes it undefined
|
|
983
|
+
* and the guard is evaluated here exactly as before.
|
|
984
|
+
*/
|
|
985
|
+
async terminateSessionInternal(sessionId, reason, opts,
|
|
986
|
+
/** Idle-zombie-only same-tick optimization (C2/R4-2): the ReapGuard verdict
|
|
987
|
+
* already computed by computeIdleZombieReapVerdict, threaded here so the guard
|
|
988
|
+
* is evaluated ONCE. Only the idle-zombie branch (which uses no bypass flags)
|
|
989
|
+
* supplies it; every other caller leaves it undefined and the guard is
|
|
990
|
+
* re-evaluated below. NEVER exposed on the public terminateSession() signature. */
|
|
991
|
+
precomputedGuardVerdict) {
|
|
854
992
|
const session = this.state.getSession(sessionId);
|
|
855
993
|
if (!session)
|
|
856
994
|
return { terminated: false, skipped: 'not-found' };
|
|
@@ -912,7 +1050,13 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
912
1050
|
bypassedReasons.push('active-process');
|
|
913
1051
|
if (opts?.bypassRecentUserMessageForConfirmedMove)
|
|
914
1052
|
bypassedReasons.push('recent-user-message');
|
|
915
|
-
|
|
1053
|
+
// C2/R4-2: the idle-zombie branch precomputes the guard verdict (no bypass
|
|
1054
|
+
// flags) and threads it here so the guard is evaluated ONCE this tick.
|
|
1055
|
+
// Every other caller leaves precomputedGuardVerdict undefined and the guard
|
|
1056
|
+
// is evaluated fresh (today's behavior, honoring any bypass flags).
|
|
1057
|
+
const blocked = precomputedGuardVerdict !== undefined
|
|
1058
|
+
? precomputedGuardVerdict.blocked
|
|
1059
|
+
: this.reapGuard?.blockedReason(session, bypassedReasons.length > 0 ? bypassedReasons : undefined);
|
|
916
1060
|
// `bypassRecoveryFlag` (UNIFIED-SESSION-LIFECYCLE §P0 #8): the recovery
|
|
917
1061
|
// engine itself sets the recovery-in-flight flag synchronously before
|
|
918
1062
|
// its kill-to-respawn, so the guard would otherwise refuse the
|
|
@@ -1476,6 +1620,7 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
1476
1620
|
console.log(`[SessionManager] Session "${session.name}" has unsubmitted pasted text — resending Enter.`);
|
|
1477
1621
|
await this.sendKeyMaybeAsync(session.tmuxSession, 'Enter');
|
|
1478
1622
|
this.idlePromptSince.delete(session.id); // Reset idle timer
|
|
1623
|
+
this.idleKillBackoff?.reset(session.id);
|
|
1479
1624
|
continue; // Skip to next session
|
|
1480
1625
|
}
|
|
1481
1626
|
}
|
|
@@ -1546,6 +1691,7 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
1546
1691
|
if (this.listenerCount('apiErrorAtIdle') > 0) {
|
|
1547
1692
|
this.emit('apiErrorAtIdle', session.tmuxSession);
|
|
1548
1693
|
this.idlePromptSince.delete(session.id);
|
|
1694
|
+
this.idleKillBackoff?.reset(session.id);
|
|
1549
1695
|
continue; // Skip to next session — sentinel owns recovery.
|
|
1550
1696
|
}
|
|
1551
1697
|
// Fallback (no sentinel wired, e.g. bare/test): the re-armable
|
|
@@ -1554,6 +1700,7 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
1554
1700
|
console.log(`[SessionManager] Session "${session.name}" idle after API error — nudging to continue (nudge #${nudgeTotal + 1} this session).`);
|
|
1555
1701
|
this.sendInput(session.tmuxSession, 'You hit an API error. Please continue your work — skip or work around the action that failed.');
|
|
1556
1702
|
this.idlePromptSince.delete(session.id); // Reset idle timer
|
|
1703
|
+
this.idleKillBackoff?.reset(session.id);
|
|
1557
1704
|
continue; // Skip to next session
|
|
1558
1705
|
}
|
|
1559
1706
|
}
|
|
@@ -1576,6 +1723,7 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
1576
1723
|
if (this.activeRecoveryChecker && this.activeRecoveryChecker(session)) {
|
|
1577
1724
|
console.log(`[SessionManager] Skipping zombie kill for "${session.name}" — compaction recovery in flight.`);
|
|
1578
1725
|
this.idlePromptSince.delete(session.id);
|
|
1726
|
+
this.idleKillBackoff?.reset(session.id); // recovery window → re-evaluate fresh next tick
|
|
1579
1727
|
continue;
|
|
1580
1728
|
}
|
|
1581
1729
|
// Check for unanswered injection before killing
|
|
@@ -1591,13 +1739,12 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
1591
1739
|
});
|
|
1592
1740
|
}
|
|
1593
1741
|
const bindingNote = binding != null ? ` (topic-bound, threshold ${killThresholdMinutes}m)` : ` (threshold ${killThresholdMinutes}m)`;
|
|
1594
|
-
console.warn(`[SessionManager] Session "${session.name}" idle at prompt for ${Math.round(idleMs / 60_000)}m with no active processes${bindingNote}. Killing zombie.`);
|
|
1595
1742
|
// Funnel through the single-writer path so the reaper and this
|
|
1596
|
-
// idle-kill can never double-kill or double-emit (§3.6).
|
|
1597
|
-
//
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1743
|
+
// idle-kill can never double-kill or double-emit (§3.6). The
|
|
1744
|
+
// veto-backoff ledger (Fix A) suppresses the every-5s re-attempt on
|
|
1745
|
+
// a permanently-vetoed session; the WARN + terminate live in the
|
|
1746
|
+
// helper's enabled/disabled split.
|
|
1747
|
+
await this.handleIdleZombie(session, idleMs, binding ?? null, now, bindingNote, killThresholdMinutes);
|
|
1601
1748
|
continue;
|
|
1602
1749
|
}
|
|
1603
1750
|
}
|
|
@@ -1609,6 +1756,7 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
1609
1756
|
// this same long-running session deserves its own nudge. (errorNudgeTotal
|
|
1610
1757
|
// is NOT cleared here — it's the lifetime runaway cap.)
|
|
1611
1758
|
this.idlePromptSince.delete(session.id);
|
|
1759
|
+
this.idleKillBackoff?.reset(session.id); // resumed work → re-evaluate next tick, don't stay suppressed
|
|
1612
1760
|
this.errorNudgedSessions.delete(session.id);
|
|
1613
1761
|
this.idleErrorClassified.delete(session.id); // CMT-1785: re-arm the once-per-episode classify audit
|
|
1614
1762
|
this.idleThrottleSettle.delete(session.tmuxSession); // session moved on — reset the settle clock
|
|
@@ -2495,6 +2643,7 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
2495
2643
|
// beforeSessionKill). Preserved to avoid changing listener semantics —
|
|
2496
2644
|
// the CAS guard + endedReason are the only additions here.
|
|
2497
2645
|
this.idlePromptSince.delete(session.id);
|
|
2646
|
+
this.idleKillBackoff?.clear(session.id); // session gone → drop veto-backoff state (map-leak eviction)
|
|
2498
2647
|
this.reapingSessions.delete(session.id);
|
|
2499
2648
|
// G3 (MESH-SELF-HEAL-SPEC §3.3, FD7): "a topic→session binding exists IFF a
|
|
2500
2649
|
// live session exists." killSession historically did NOT clear the binding,
|
|
@@ -3444,6 +3593,7 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
3444
3593
|
if (age > ttl) {
|
|
3445
3594
|
if (this.state.removeSession(session.id)) {
|
|
3446
3595
|
cleaned.push(session.id);
|
|
3596
|
+
this.idleKillBackoff?.clear(session.id); // map-leak eviction (Fix A finding 1)
|
|
3447
3597
|
}
|
|
3448
3598
|
}
|
|
3449
3599
|
else if (session.status === 'completed') {
|
|
@@ -3458,6 +3608,7 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
3458
3608
|
for (const s of excess) {
|
|
3459
3609
|
if (this.state.removeSession(s.id)) {
|
|
3460
3610
|
cleaned.push(s.id);
|
|
3611
|
+
this.idleKillBackoff?.clear(s.id); // map-leak eviction (Fix A finding 1)
|
|
3461
3612
|
}
|
|
3462
3613
|
}
|
|
3463
3614
|
}
|
|
@@ -4529,6 +4680,7 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
4529
4680
|
const match = running.find(s => s.tmuxSession === tmuxSession);
|
|
4530
4681
|
if (match) {
|
|
4531
4682
|
this.idlePromptSince.delete(match.id);
|
|
4683
|
+
this.idleKillBackoff?.reset(match.id); // new input arriving → re-evaluate fresh, not a zombie
|
|
4532
4684
|
}
|
|
4533
4685
|
const exactTarget = `=${tmuxSession}:`;
|
|
4534
4686
|
// Framework-specific submit semantics. Claude Code's readline buffers
|