@telora/daemon 0.22.42 → 0.22.57

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 (168) hide show
  1. package/build-info.json +4 -3
  2. package/dist/completion/detector.d.ts +37 -0
  3. package/dist/completion/detector.d.ts.map +1 -1
  4. package/dist/completion/detector.js +92 -5
  5. package/dist/completion/detector.js.map +1 -1
  6. package/dist/completion/event-phases.d.ts +6 -3
  7. package/dist/completion/event-phases.d.ts.map +1 -1
  8. package/dist/completion/event-phases.js +20 -8
  9. package/dist/completion/event-phases.js.map +1 -1
  10. package/dist/completion/event.d.ts +69 -9
  11. package/dist/completion/event.d.ts.map +1 -1
  12. package/dist/completion/event.js +108 -22
  13. package/dist/completion/event.js.map +1 -1
  14. package/dist/completion/index.js +1 -1
  15. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  16. package/dist/completion/review-exit-phase.js +5 -4
  17. package/dist/completion/review-exit-phase.js.map +1 -1
  18. package/dist/completion/state-cascade.d.ts +7 -1
  19. package/dist/completion/state-cascade.d.ts.map +1 -1
  20. package/dist/completion/state-cascade.js +70 -8
  21. package/dist/completion/state-cascade.js.map +1 -1
  22. package/dist/completion/stdin-turn-tracker.d.ts +7 -0
  23. package/dist/completion/stdin-turn-tracker.d.ts.map +1 -1
  24. package/dist/completion/stdin-turn-tracker.js +32 -4
  25. package/dist/completion/stdin-turn-tracker.js.map +1 -1
  26. package/dist/completion/supervision-firing-record.d.ts +64 -12
  27. package/dist/completion/supervision-firing-record.d.ts.map +1 -1
  28. package/dist/completion/supervision-firing-record.js +75 -15
  29. package/dist/completion/supervision-firing-record.js.map +1 -1
  30. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  31. package/dist/completion/team-lifecycle.js +34 -18
  32. package/dist/completion/team-lifecycle.js.map +1 -1
  33. package/dist/completion/team-liveness-log.d.ts +21 -0
  34. package/dist/completion/team-liveness-log.d.ts.map +1 -1
  35. package/dist/completion/team-liveness-log.js +22 -0
  36. package/dist/completion/team-liveness-log.js.map +1 -1
  37. package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
  38. package/dist/delivery/delivery-reconciler.js +4 -2
  39. package/dist/delivery/delivery-reconciler.js.map +1 -1
  40. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  41. package/dist/directive/directive-dispatch.js +55 -52
  42. package/dist/directive/directive-dispatch.js.map +1 -1
  43. package/dist/directive/directive-executor.d.ts +0 -9
  44. package/dist/directive/directive-executor.d.ts.map +1 -1
  45. package/dist/directive/directive-executor.js +47 -32
  46. package/dist/directive/directive-executor.js.map +1 -1
  47. package/dist/directive/directive-verify-hold-gate.d.ts +13 -0
  48. package/dist/directive/directive-verify-hold-gate.d.ts.map +1 -1
  49. package/dist/directive/directive-verify-hold-gate.js +10 -0
  50. package/dist/directive/directive-verify-hold-gate.js.map +1 -1
  51. package/dist/directive/phase-sync.d.ts +11 -0
  52. package/dist/directive/phase-sync.d.ts.map +1 -1
  53. package/dist/directive/phase-sync.js +12 -0
  54. package/dist/directive/phase-sync.js.map +1 -1
  55. package/dist/focus/focus-executor.js +1 -1
  56. package/dist/focus/focus-team-state.d.ts.map +1 -1
  57. package/dist/focus/focus-team-state.js +1 -0
  58. package/dist/focus/focus-team-state.js.map +1 -1
  59. package/dist/focus/focus-worktree-state.d.ts.map +1 -1
  60. package/dist/focus/focus-worktree-state.js +2 -1
  61. package/dist/focus/focus-worktree-state.js.map +1 -1
  62. package/dist/focus/listener-spawn.d.ts +4 -2
  63. package/dist/focus/listener-spawn.d.ts.map +1 -1
  64. package/dist/focus/listener-spawn.js +24 -5
  65. package/dist/focus/listener-spawn.js.map +1 -1
  66. package/dist/focus/listener.d.ts.map +1 -1
  67. package/dist/focus/listener.js +33 -14
  68. package/dist/focus/listener.js.map +1 -1
  69. package/dist/focus/session-health.d.ts +25 -3
  70. package/dist/focus/session-health.d.ts.map +1 -1
  71. package/dist/focus/session-health.js +32 -1
  72. package/dist/focus/session-health.js.map +1 -1
  73. package/dist/focus/team-actionable-work.d.ts +19 -2
  74. package/dist/focus/team-actionable-work.d.ts.map +1 -1
  75. package/dist/focus/team-actionable-work.js +10 -3
  76. package/dist/focus/team-actionable-work.js.map +1 -1
  77. package/dist/merge/focus-merge.d.ts +12 -1
  78. package/dist/merge/focus-merge.d.ts.map +1 -1
  79. package/dist/merge/focus-merge.js +33 -2
  80. package/dist/merge/focus-merge.js.map +1 -1
  81. package/dist/nexus/return.d.ts +45 -0
  82. package/dist/nexus/return.d.ts.map +1 -1
  83. package/dist/nexus/return.js +159 -45
  84. package/dist/nexus/return.js.map +1 -1
  85. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
  86. package/dist/prompt/focus-prompt-builder.js +1 -0
  87. package/dist/prompt/focus-prompt-builder.js.map +1 -1
  88. package/dist/prompt/prompt-contradictions.d.ts.map +1 -1
  89. package/dist/prompt/prompt-contradictions.js +2 -1
  90. package/dist/prompt/prompt-contradictions.js.map +1 -1
  91. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  92. package/dist/prompt/team-prompt-base.js +1 -0
  93. package/dist/prompt/team-prompt-base.js.map +1 -1
  94. package/dist/prompt-sections/execution-sections.d.ts +4 -9
  95. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  96. package/dist/prompt-sections/execution-sections.js +4 -74
  97. package/dist/prompt-sections/execution-sections.js.map +1 -1
  98. package/dist/prompt-sections/session-constraints-section.d.ts +21 -0
  99. package/dist/prompt-sections/session-constraints-section.d.ts.map +1 -0
  100. package/dist/prompt-sections/session-constraints-section.js +108 -0
  101. package/dist/prompt-sections/session-constraints-section.js.map +1 -0
  102. package/dist/queries/focuses.d.ts +13 -0
  103. package/dist/queries/focuses.d.ts.map +1 -1
  104. package/dist/queries/focuses.js +15 -0
  105. package/dist/queries/focuses.js.map +1 -1
  106. package/dist/queries/schemas.d.ts +12 -0
  107. package/dist/queries/schemas.d.ts.map +1 -1
  108. package/dist/queries/schemas.js +7 -0
  109. package/dist/queries/schemas.js.map +1 -1
  110. package/dist/queries/sessions.d.ts.map +1 -1
  111. package/dist/queries/sessions.js +1 -0
  112. package/dist/queries/sessions.js.map +1 -1
  113. package/dist/queries/verification.d.ts +9 -1
  114. package/dist/queries/verification.d.ts.map +1 -1
  115. package/dist/queries/verification.js +14 -2
  116. package/dist/queries/verification.js.map +1 -1
  117. package/dist/shell/heartbeat-metadata.d.ts +11 -0
  118. package/dist/shell/heartbeat-metadata.d.ts.map +1 -1
  119. package/dist/shell/heartbeat-metadata.js +3 -0
  120. package/dist/shell/heartbeat-metadata.js.map +1 -1
  121. package/dist/spawn/helpers.d.ts.map +1 -1
  122. package/dist/spawn/helpers.js +72 -52
  123. package/dist/spawn/helpers.js.map +1 -1
  124. package/dist/spawn/idle-work-stamp.d.ts +53 -0
  125. package/dist/spawn/idle-work-stamp.d.ts.map +1 -0
  126. package/dist/spawn/idle-work-stamp.js +47 -0
  127. package/dist/spawn/idle-work-stamp.js.map +1 -0
  128. package/dist/spawn/lead-continuation.d.ts +58 -0
  129. package/dist/spawn/lead-continuation.d.ts.map +1 -0
  130. package/dist/spawn/lead-continuation.js +127 -0
  131. package/dist/spawn/lead-continuation.js.map +1 -0
  132. package/dist/spawn/process-spawn.d.ts.map +1 -1
  133. package/dist/spawn/process-spawn.js +27 -13
  134. package/dist/spawn/process-spawn.js.map +1 -1
  135. package/dist/testing/fixtures/index.js +1 -1
  136. package/dist/types/focus.d.ts +54 -0
  137. package/dist/types/focus.d.ts.map +1 -1
  138. package/dist/types/index.js +1 -1
  139. package/dist/types/session.d.ts +11 -0
  140. package/dist/types/session.d.ts.map +1 -1
  141. package/dist/verify/stall-detector-config.d.ts +36 -0
  142. package/dist/verify/stall-detector-config.d.ts.map +1 -1
  143. package/dist/verify/stall-detector-config.js +44 -0
  144. package/dist/verify/stall-detector-config.js.map +1 -1
  145. package/dist/verify/stall-detectors.d.ts +40 -0
  146. package/dist/verify/stall-detectors.d.ts.map +1 -1
  147. package/dist/verify/stall-detectors.js +60 -6
  148. package/dist/verify/stall-detectors.js.map +1 -1
  149. package/dist/verify/stalled-team-backstop.d.ts +43 -0
  150. package/dist/verify/stalled-team-backstop.d.ts.map +1 -0
  151. package/dist/verify/stalled-team-backstop.js +131 -0
  152. package/dist/verify/stalled-team-backstop.js.map +1 -0
  153. package/dist/verify/verification-deps.d.ts +6 -1
  154. package/dist/verify/verification-deps.d.ts.map +1 -1
  155. package/dist/verify/verification-engine.d.ts.map +1 -1
  156. package/dist/verify/verification-engine.js +4 -3
  157. package/dist/verify/verification-engine.js.map +1 -1
  158. package/dist/verify/verification-evidence.d.ts +18 -0
  159. package/dist/verify/verification-evidence.d.ts.map +1 -1
  160. package/dist/verify/verification-evidence.js +53 -1
  161. package/dist/verify/verification-evidence.js.map +1 -1
  162. package/dist/verify/verify-reconciliation.d.ts.map +1 -1
  163. package/dist/verify/verify-reconciliation.js +2 -1
  164. package/dist/verify/verify-reconciliation.js.map +1 -1
  165. package/dist/worktree/verify-interlock.d.ts.map +1 -1
  166. package/dist/worktree/verify-interlock.js +2 -1
  167. package/dist/worktree/verify-interlock.js.map +1 -1
  168. package/package.json +3 -3
@@ -12,6 +12,13 @@ export declare function recordStdinMessageSent(focusId: string): void;
12
12
  * has no entry) -- so a team with no injected directive completes normally.
13
13
  */
14
14
  export declare function pendingStdinTurns(focusId: string, turnCount: number): boolean;
15
+ /**
16
+ * The raw count of stdin user messages sent to a focus's team (the `sent` side of
17
+ * the sent > turnCount skew). Exposed so the completion detector can LOG both
18
+ * counters when it suppresses `complete`, making a skew visible in the daemon log
19
+ * when it occurs. 0 when nothing was written.
20
+ */
21
+ export declare function sentStdinCount(focusId: string): number;
15
22
  /** Clear a focus's tracking on teardown (a respawn starts a fresh count / detector). */
16
23
  export declare function clearStdinTurnTracking(focusId: string): void;
17
24
  /** Test-only: reset all tracking. */
@@ -1 +1 @@
1
- {"version":3,"file":"stdin-turn-tracker.d.ts","sourceRoot":"","sources":["../../src/completion/stdin-turn-tracker.ts"],"names":[],"mappings":"AAiCA;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,qCAAqC;AACrC,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD"}
1
+ {"version":3,"file":"stdin-turn-tracker.d.ts","sourceRoot":"","sources":["../../src/completion/stdin-turn-tracker.ts"],"names":[],"mappings":"AAoDA;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,qCAAqC;AACrC,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD"}
@@ -19,10 +19,29 @@
19
19
  * CompletionDetector). So a team with queued stdin turns is not classified done
20
20
  * until it has processed them.
21
21
  *
22
- * Conservative + bounded by construction: it only DELAYS completion (never kills
23
- * early), it is INERT for a normal spawn (kickoff alone -> sent === turnCount), and
24
- * a directive the CLI never results leaves the team to the existing backstops (the
25
- * process-close path and the stall/liveness detectors), not wedged here.
22
+ * It only DELAYS completion (never kills early) and is INERT for a normal spawn
23
+ * (kickoff alone -> sent === turnCount).
24
+ *
25
+ * BOUNDED, but NOT "by construction" (corrected, delivery ff3c717e / 2026-09-08):
26
+ * the count is monotone until teardown, so a write the CLI NEVER results (a
27
+ * silently-dropped /compact on a resume spawn, a write that coincides with the
28
+ * CLI's own auto-compaction) leaves sent > turnCount forever. For a lead that
29
+ * keeps working that self-balances as it results the queued turn; for a PARKED
30
+ * lead it does not -- turnCount never catches up, `complete` never fires, and the
31
+ * only clear site is a teardown that the suppressed `complete` was supposed to
32
+ * drive. That was the 2026-09-08 wedge (lead PID 1452732, session bc15cc2a): a
33
+ * SUCCESS result with 4 deliveries still queued, then ~30 min in do_epoll_wait.
34
+ * (Which write leaked the count is not determinable from the surviving logs --
35
+ * the daemon did not then log the sent/turnCount pair; the CompletionDetector now
36
+ * logs both on every suppression so the next instance names the leaking write.)
37
+ *
38
+ * The bound now lives in the detector, not here: CompletionDetector arms a grace
39
+ * timer when it suppresses and every agent event resets it, so a lead working the
40
+ * queued turn keeps completion suppressed while a SILENT lead lets the suppression
41
+ * expire and `complete` fire. The regression this tracker exists to prevent (a
42
+ * /compact + content queued behind a long kickoff turn dropped at teardown) still
43
+ * holds: that queued turn emits events as it runs, which keep the grace timer
44
+ * alive until it results -- only a turn the CLI genuinely never runs expires.
26
45
  *
27
46
  * @module completion/stdin-turn-tracker
28
47
  */
@@ -46,6 +65,15 @@ export function recordStdinMessageSent(focusId) {
46
65
  export function pendingStdinTurns(focusId, turnCount) {
47
66
  return (sentByFocus.get(focusId) ?? 0) > turnCount;
48
67
  }
68
+ /**
69
+ * The raw count of stdin user messages sent to a focus's team (the `sent` side of
70
+ * the sent > turnCount skew). Exposed so the completion detector can LOG both
71
+ * counters when it suppresses `complete`, making a skew visible in the daemon log
72
+ * when it occurs. 0 when nothing was written.
73
+ */
74
+ export function sentStdinCount(focusId) {
75
+ return sentByFocus.get(focusId) ?? 0;
76
+ }
49
77
  /** Clear a focus's tracking on teardown (a respawn starts a fresh count / detector). */
50
78
  export function clearStdinTurnTracking(focusId) {
51
79
  sentByFocus.delete(focusId);
@@ -1 +1 @@
1
- {"version":3,"file":"stdin-turn-tracker.js","sourceRoot":"","sources":["../../src/completion/stdin-turn-tracker.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,wEAAwE;AACxE,yDAAyD;AACzD,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,4EAA4E;AAC5E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,SAAiB;IAClE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;AACrD,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,kCAAkC;IAChD,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"stdin-turn-tracker.js","sourceRoot":"","sources":["../../src/completion/stdin-turn-tracker.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,wEAAwE;AACxE,yDAAyD;AACzD,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,4EAA4E;AAC5E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,SAAiB;IAClE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,kCAAkC;IAChD,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC"}
@@ -34,6 +34,11 @@ export declare const SUPERVISION_MECHANISM: {
34
34
  /** The liveness badge marks a team unresponsive. Predicts: the team is wedged
35
35
  * (not a legitimate multi-minute park). */
36
36
  readonly LIVENESS_BADGE: "liveness_badge";
37
+ /** The poll-loop stalled-team backstop reaps a live `executing` team that has
38
+ * emitted no agent event past the backstop window, WITHOUT waiting for the
39
+ * completion event (which can be suppressed / never fire / be latched -- the
40
+ * 2026-09-07 wedge). Predicts: the idle team is wedged, not mid-long-operation. */
41
+ readonly STALLED_TEAM_REAP: "stalled_team_reap";
37
42
  };
38
43
  export type SupervisionMechanism = (typeof SUPERVISION_MECHANISM)[keyof typeof SUPERVISION_MECHANISM];
39
44
  /** A firing's later-classified verdict. */
@@ -53,6 +58,24 @@ export interface SupervisionFiring {
53
58
  predicted: string;
54
59
  /** Verdict, classified later from the observed outcome. */
55
60
  verdict: FiringVerdict;
61
+ /**
62
+ * Whether the mechanism ACTUALLY took its kill/hold/respawn action when it
63
+ * fired. True by default (most firings act). Set false at the suppression sites
64
+ * when the mechanism is demoted to observe-only and records without acting.
65
+ * An UNACTED firing had no action to falsify, so the settle sweep must never
66
+ * true-positive it by silence -- doing so was the self-laundering bug (a
67
+ * demotion lifting itself and erasing the FP history that justified it). An
68
+ * unacted firing is scored ONLY by an active event that observes what the
69
+ * unblocked system actually went on to do; until then it stays unclassified.
70
+ */
71
+ acted: boolean;
72
+ /**
73
+ * How the verdict was reached: 'active' (an observed falsifying/confirming
74
+ * event) vs 'sweep' (the settle window elapsed with no falsifying event).
75
+ * Absent while unclassified. Lets a reading tell a verdict EARNED in action
76
+ * from one inferred from silence.
77
+ */
78
+ classifiedBy?: 'active' | 'sweep';
56
79
  /** Epoch ms the verdict was classified (absent while unclassified). */
57
80
  classifiedAt?: number;
58
81
  /** The outcome actually observed at classification time (absent while unclassified). */
@@ -68,18 +91,33 @@ export interface FiringStats {
68
91
  /** falsePositives / (truePositives + falsePositives); null when none are
69
92
  * classified yet (a rate over zero classified firings is undefined, never 0). */
70
93
  falsePositiveRate: number | null;
94
+ /** Firings recorded while the mechanism was demoted (acted===false): observe-only
95
+ * counterfactuals, never true-positived by silence. */
96
+ unacted: number;
97
+ /** True positives reached by an OBSERVED event (classifiedBy==='active'). */
98
+ activeTruePositives: number;
99
+ /** True positives inferred from the settle window elapsing (classifiedBy==='sweep').
100
+ * A reading that separates accuracy EARNED in action from the benefit of the
101
+ * doubt silence gives an acted firing. */
102
+ sweptTruePositives: number;
71
103
  }
72
104
  /** Max firings retained per mechanism (oldest evicted). Bounds memory; the rate
73
105
  * is a recency signal, not a full history. */
74
106
  export declare const FIRING_BUFFER_CAP = 256;
75
107
  /**
76
- * Settle window: a prediction that survives this long with no falsifying event is
77
- * swept to true_positive. It is also the FP horizon by construction -- an active
78
- * classifier (e.g. a teardown falsified by a re-ready focus) can only fire while
79
- * the firing is still unclassified, i.e. younger than this. So a teardown a focus
80
- * contradicts QUICKLY (the storm) is FP; one that stands past the window is TP.
81
- * One knob. 3 minutes: longer than a spawn cooldown / re-ready cycle, short
108
+ * Settle window: an ACTED prediction that survives this long with no falsifying
109
+ * event is swept to true_positive. It is also the FP horizon by construction -- an
110
+ * active classifier (e.g. a teardown falsified by a re-ready focus) can only fire
111
+ * while the firing is still unclassified, i.e. younger than this. So a teardown a
112
+ * focus contradicts QUICKLY (the storm) is FP; one that stands past the window is
113
+ * TP. One knob. 3 minutes: longer than a spawn cooldown / re-ready cycle, short
82
114
  * enough that the rate reflects recent behavior.
115
+ *
116
+ * The sweep applies ONLY to ACTED firings: an unacted firing (recorded while the
117
+ * mechanism was demoted to observe-only) had no action, so silence proves nothing
118
+ * about it. True-positiving unacted firings by silence was the self-laundering bug
119
+ * -- it lifted a demotion within one settle window and erased the FP history that
120
+ * justified it, regardless of the mechanism's real accuracy.
83
121
  */
84
122
  export declare const FIRING_SETTLE_WINDOW_MS = 180000;
85
123
  /**
@@ -92,6 +130,16 @@ export declare function recordFiring(args: {
92
130
  predicted: string;
93
131
  now?: number;
94
132
  }): number;
133
+ /**
134
+ * Flip the MOST RECENT firing of `mechanism` for `focusId` to UNACTED -- the
135
+ * mechanism recorded it but, being demoted to observe-only, did NOT take its
136
+ * kill/hold/respawn action. An unacted firing is never true-positived by the
137
+ * settle sweep (silence cannot vindicate an action that never happened); it is
138
+ * scored only by an active event observing what the unblocked system did. Returns
139
+ * true if a firing was found and flipped. Idempotent: re-flipping an already
140
+ * unacted firing is a no-op.
141
+ */
142
+ export declare function markLatestFiringUnacted(mechanism: string, focusId: string): boolean;
95
143
  /**
96
144
  * Classify a recorded firing from the outcome it predicted: `borneOut` true means
97
145
  * the prediction held (true_positive), false means it did not (false_positive).
@@ -127,12 +175,16 @@ export declare function classifyLatestUnclassifiedFiring(mechanism: string, focu
127
175
  now?: number;
128
176
  }): boolean;
129
177
  /**
130
- * Settle sweep: classify every still-unclassified firing older than `olderThanMs`
131
- * as borne out (true_positive) -- the prediction HELD because no falsifying event
132
- * arrived within the settle window (FPs are classified actively at their
133
- * falsifying event, so an aged unclassified firing is one nothing contradicted).
134
- * Optionally scoped to one `mechanism`. Returns the number classified. Idempotent
135
- * and cheap; call it from the poll loop.
178
+ * Settle sweep: classify every still-unclassified ACTED firing older than
179
+ * `olderThanMs` as borne out (true_positive) -- the prediction HELD because no
180
+ * falsifying event arrived within the settle window (FPs are classified actively
181
+ * at their falsifying event, so an aged unclassified ACTED firing is one nothing
182
+ * contradicted). UNACTED firings are skipped: a firing whose mechanism was demoted
183
+ * and took no action has nothing for silence to vindicate, so sweeping it to TP
184
+ * would launder the demotion (lift it and erase the FP record that justified it).
185
+ * An unacted firing is scored only by an active event. Optionally scoped to one
186
+ * `mechanism`. Returns the number classified. Idempotent and cheap; call it from
187
+ * the poll loop.
136
188
  */
137
189
  export declare function sweepAgedFirings(args: {
138
190
  olderThanMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"supervision-firing-record.d.ts","sourceRoot":"","sources":["../../src/completion/supervision-firing-record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervision-firing-record.d.ts","sourceRoot":"","sources":["../../src/completion/supervision-firing-record.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
  // packages/daemon/src/completion/teardown-demotion-gate.test.ts,
5
5
  // packages/daemon/src/focus/respawn-demotion-gate.test.ts,
6
6
  // packages/daemon/src/focus/supervision-firing-correlation.test.ts,
7
- // packages/daemon/src/shell/supervision-firing-rates.test.ts
7
+ // packages/daemon/src/shell/supervision-firing-rates.test.ts,
8
+ // packages/daemon/src/verify/stalled-team-backstop-detector.test.ts
8
9
  // PINNED-BY-END
9
10
  /**
10
11
  * Supervision firing records -- the falsifiability instrument.
@@ -42,18 +43,29 @@ export const SUPERVISION_MECHANISM = {
42
43
  /** The liveness badge marks a team unresponsive. Predicts: the team is wedged
43
44
  * (not a legitimate multi-minute park). */
44
45
  LIVENESS_BADGE: 'liveness_badge',
46
+ /** The poll-loop stalled-team backstop reaps a live `executing` team that has
47
+ * emitted no agent event past the backstop window, WITHOUT waiting for the
48
+ * completion event (which can be suppressed / never fire / be latched -- the
49
+ * 2026-09-07 wedge). Predicts: the idle team is wedged, not mid-long-operation. */
50
+ STALLED_TEAM_REAP: 'stalled_team_reap',
45
51
  };
46
52
  /** Max firings retained per mechanism (oldest evicted). Bounds memory; the rate
47
53
  * is a recency signal, not a full history. */
48
54
  export const FIRING_BUFFER_CAP = 256;
49
55
  /**
50
- * Settle window: a prediction that survives this long with no falsifying event is
51
- * swept to true_positive. It is also the FP horizon by construction -- an active
52
- * classifier (e.g. a teardown falsified by a re-ready focus) can only fire while
53
- * the firing is still unclassified, i.e. younger than this. So a teardown a focus
54
- * contradicts QUICKLY (the storm) is FP; one that stands past the window is TP.
55
- * One knob. 3 minutes: longer than a spawn cooldown / re-ready cycle, short
56
+ * Settle window: an ACTED prediction that survives this long with no falsifying
57
+ * event is swept to true_positive. It is also the FP horizon by construction -- an
58
+ * active classifier (e.g. a teardown falsified by a re-ready focus) can only fire
59
+ * while the firing is still unclassified, i.e. younger than this. So a teardown a
60
+ * focus contradicts QUICKLY (the storm) is FP; one that stands past the window is
61
+ * TP. One knob. 3 minutes: longer than a spawn cooldown / re-ready cycle, short
56
62
  * enough that the rate reflects recent behavior.
63
+ *
64
+ * The sweep applies ONLY to ACTED firings: an unacted firing (recorded while the
65
+ * mechanism was demoted to observe-only) had no action, so silence proves nothing
66
+ * about it. True-positiving unacted firings by silence was the self-laundering bug
67
+ * -- it lifted a demotion within one settle window and erased the FP history that
68
+ * justified it, regardless of the mechanism's real accuracy.
57
69
  */
58
70
  export const FIRING_SETTLE_WINDOW_MS = 180_000;
59
71
  const firings = new Map();
@@ -71,6 +83,10 @@ export function recordFiring(args) {
71
83
  firedAt: args.now ?? Date.now(),
72
84
  predicted: args.predicted,
73
85
  verdict: 'unclassified',
86
+ // Recorded as ACTED by default: most firings come from a mechanism that took
87
+ // its action. A suppression site that records-without-acting (demoted to
88
+ // observe-only) calls markLatestFiringUnacted right after to flip this.
89
+ acted: true,
74
90
  };
75
91
  const buf = firings.get(args.mechanism) ?? [];
76
92
  buf.push(firing);
@@ -79,6 +95,28 @@ export function recordFiring(args) {
79
95
  firings.set(args.mechanism, buf);
80
96
  return id;
81
97
  }
98
+ /**
99
+ * Flip the MOST RECENT firing of `mechanism` for `focusId` to UNACTED -- the
100
+ * mechanism recorded it but, being demoted to observe-only, did NOT take its
101
+ * kill/hold/respawn action. An unacted firing is never true-positived by the
102
+ * settle sweep (silence cannot vindicate an action that never happened); it is
103
+ * scored only by an active event observing what the unblocked system did. Returns
104
+ * true if a firing was found and flipped. Idempotent: re-flipping an already
105
+ * unacted firing is a no-op.
106
+ */
107
+ export function markLatestFiringUnacted(mechanism, focusId) {
108
+ const buf = firings.get(mechanism);
109
+ if (!buf)
110
+ return false;
111
+ for (let i = buf.length - 1; i >= 0; i--) {
112
+ const f = buf[i];
113
+ if (f && f.focusId === focusId) {
114
+ f.acted = false;
115
+ return true;
116
+ }
117
+ }
118
+ return false;
119
+ }
82
120
  /**
83
121
  * Classify a recorded firing from the outcome it predicted: `borneOut` true means
84
122
  * the prediction held (true_positive), false means it did not (false_positive).
@@ -92,6 +130,7 @@ export function classifyFiring(id, args) {
92
130
  if (firing.verdict !== 'unclassified')
93
131
  return;
94
132
  firing.verdict = args.borneOut ? 'true_positive' : 'false_positive';
133
+ firing.classifiedBy = 'active';
95
134
  firing.classifiedAt = args.now ?? Date.now();
96
135
  firing.observed = args.observed;
97
136
  return;
@@ -109,9 +148,19 @@ export function firingStats(mechanism, opts = {}) {
109
148
  let truePositives = 0;
110
149
  let falsePositives = 0;
111
150
  let unclassified = 0;
151
+ let unacted = 0;
152
+ let activeTruePositives = 0;
153
+ let sweptTruePositives = 0;
112
154
  for (const f of buf) {
113
- if (f.verdict === 'true_positive')
155
+ if (!f.acted)
156
+ unacted++;
157
+ if (f.verdict === 'true_positive') {
114
158
  truePositives++;
159
+ if (f.classifiedBy === 'sweep')
160
+ sweptTruePositives++;
161
+ else
162
+ activeTruePositives++;
163
+ }
115
164
  else if (f.verdict === 'false_positive')
116
165
  falsePositives++;
117
166
  else
@@ -125,6 +174,9 @@ export function firingStats(mechanism, opts = {}) {
125
174
  falsePositives,
126
175
  unclassified,
127
176
  falsePositiveRate: classified === 0 ? null : falsePositives / classified,
177
+ unacted,
178
+ activeTruePositives,
179
+ sweptTruePositives,
128
180
  };
129
181
  }
130
182
  /**
@@ -145,6 +197,7 @@ export function classifyLatestUnclassifiedFiring(mechanism, focusId, args) {
145
197
  const f = buf[i];
146
198
  if (f && f.focusId === focusId && f.verdict === 'unclassified') {
147
199
  f.verdict = args.borneOut ? 'true_positive' : 'false_positive';
200
+ f.classifiedBy = 'active';
148
201
  f.classifiedAt = args.now ?? Date.now();
149
202
  f.observed = args.observed;
150
203
  return true;
@@ -153,12 +206,16 @@ export function classifyLatestUnclassifiedFiring(mechanism, focusId, args) {
153
206
  return false;
154
207
  }
155
208
  /**
156
- * Settle sweep: classify every still-unclassified firing older than `olderThanMs`
157
- * as borne out (true_positive) -- the prediction HELD because no falsifying event
158
- * arrived within the settle window (FPs are classified actively at their
159
- * falsifying event, so an aged unclassified firing is one nothing contradicted).
160
- * Optionally scoped to one `mechanism`. Returns the number classified. Idempotent
161
- * and cheap; call it from the poll loop.
209
+ * Settle sweep: classify every still-unclassified ACTED firing older than
210
+ * `olderThanMs` as borne out (true_positive) -- the prediction HELD because no
211
+ * falsifying event arrived within the settle window (FPs are classified actively
212
+ * at their falsifying event, so an aged unclassified ACTED firing is one nothing
213
+ * contradicted). UNACTED firings are skipped: a firing whose mechanism was demoted
214
+ * and took no action has nothing for silence to vindicate, so sweeping it to TP
215
+ * would launder the demotion (lift it and erase the FP record that justified it).
216
+ * An unacted firing is scored only by an active event. Optionally scoped to one
217
+ * `mechanism`. Returns the number classified. Idempotent and cheap; call it from
218
+ * the poll loop.
162
219
  */
163
220
  export function sweepAgedFirings(args) {
164
221
  const now = args.now ?? Date.now();
@@ -169,8 +226,11 @@ export function sweepAgedFirings(args) {
169
226
  let swept = 0;
170
227
  for (const buf of bufs) {
171
228
  for (const f of buf) {
172
- if (f.verdict === 'unclassified' && f.firedAt < cutoff) {
229
+ // Skip UNACTED firings: no action happened, so the settle window elapsing
230
+ // proves nothing -- true-positiving it by silence is the self-laundering bug.
231
+ if (f.verdict === 'unclassified' && f.acted && f.firedAt < cutoff) {
173
232
  f.verdict = 'true_positive';
233
+ f.classifiedBy = 'sweep';
174
234
  f.classifiedAt = now;
175
235
  f.observed = args.observed ?? 'settle window elapsed with no falsifying event';
176
236
  swept++;
@@ -1 +1 @@
1
- {"version":3,"file":"supervision-firing-record.js","sourceRoot":"","sources":["../../src/completion/supervision-firing-record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervision-firing-record.js","sourceRoot":"","sources":["../../src/completion/supervision-firing-record.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"team-lifecycle.d.ts","sourceRoot":"","sources":["../../src/completion/team-lifecycle.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA+B5D;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAChD,OAAO,CAsET;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB1F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,mFAAmF;IACnF,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;CACtD;AAcD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,qBAAqB,GAC1B,uBAAuB,CAiDzB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,mFAAmF;IACnF,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;CACtD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,mBAAmB,GACxB,uBAAuB,CAwDzB;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAuCD;;;;;;;;;;;;GAYG;AACH,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAwIf"}
1
+ {"version":3,"file":"team-lifecycle.d.ts","sourceRoot":"","sources":["../../src/completion/team-lifecycle.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA+B5D;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAChD,OAAO,CA4ET;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB1F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,mFAAmF;IACnF,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;CACtD;AAcD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,qBAAqB,GAC1B,uBAAuB,CAiDzB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,mFAAmF;IACnF,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;CACtD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,mBAAmB,GACxB,uBAAuB,CAwDzB;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAwED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAoHf"}
@@ -9,7 +9,7 @@ import { clearFocusClock } from '../shell/activity-clock-registry.js';
9
9
  import { clearStdinTurnTracking } from './stdin-turn-tracker.js';
10
10
  import { getActiveTeams, markShuttingDown, getShuttingDownAt, clearShuttingDown, clearTeamActivity, getTeamLastActivityAt, releaseFocusSlot, } from '../focus/focus-team-state.js';
11
11
  import { resolveIdleTeamStallHours } from '../verify/stall-detector-config.js';
12
- import { describeTeamClockLiveness, formatClockNote } from './team-liveness-log.js';
12
+ import { describeTeamClockLiveness, formatClockNote, describeIdleWithWorkRemaining } from './team-liveness-log.js';
13
13
  import { mergeFocusBranch } from '../merge/focus-merge.js';
14
14
  import { escalateMergeConflict } from '../merge/merge-conflict-escalation.js';
15
15
  import { runCiMergeToMain } from './merge-phase.js';
@@ -69,6 +69,12 @@ export function terminateTeam(focusId, shutdownReason) {
69
69
  team.phase = 'shutting_down';
70
70
  markShuttingDown(focusId);
71
71
  clearNarration(focusId);
72
+ // Leave no stdin-turn state behind for this focus. The two reaper paths
73
+ // (reapStuckShuttingDownTeams / reapDeadProcessTeams) already clear it; the
74
+ // normal teardown must too, so a count this team accrued can never leak into
75
+ // the suppression guard of a team spawned later on the same focus (delivery
76
+ // be308b50 -- the count must share the detector's lifetime, not the focus's).
77
+ clearStdinTurnTracking(focusId);
72
78
  try {
73
79
  // Send a deactivation message first to let the team lead process it
74
80
  if (team.leadStdin) {
@@ -347,6 +353,29 @@ async function maybeRunEagerCiMerge(teamConfig, team, deliveries) {
347
353
  reportDeliveryIds: activeDeliveries.map(d => d.id),
348
354
  }, { getCiStatus: resolveCiStatusReader() });
349
355
  }
356
+ /**
357
+ * Log whether a team with work remaining is making real motion or has PARKED.
358
+ *
359
+ * "team continues" was logged from delivery status alone -- presence, not
360
+ * liveness -- so a park read identically to healthy progress. The old FROZEN
361
+ * branch keyed on a 3h idle-clock threshold LATER than the 30-min backstop reap,
362
+ * so it could effectively never print. Read the idle-with-work-remaining STAMP
363
+ * instead (set the instant a non-error result arrives with work left,
364
+ * spawn/idle-work-stamp.ts): a parked team is named at the moment it parks.
365
+ */
366
+ function logTeamProgressOrPark(team, teamWorkCount) {
367
+ const nowMs = Date.now();
368
+ const clockNote = formatClockNote(describeTeamClockLiveness(getTeamLastActivityAt(team.focusId), nowMs, resolveIdleTeamStallHours() * 3_600_000));
369
+ const parked = describeIdleWithWorkRemaining(team.idleWithWorkRemainingAt, team.idleOutstandingDeliveryIds?.length ?? teamWorkCount, nowMs);
370
+ if (parked.parked) {
371
+ log.warn(`[focus-executor] ${teamWorkCount} delivery(ies) still queued/running for "${team.focusName}" -- ` +
372
+ `team PARKED (${parked.note}; ${clockNote}); re-engagement is pending, not the 3h idle timer`);
373
+ }
374
+ else {
375
+ log.info(`[focus-executor] ${teamWorkCount} delivery(ies) still queued/running for "${team.focusName}" -- ` +
376
+ `team continues (${clockNote})`);
377
+ }
378
+ }
350
379
  /**
351
380
  * Check active teams for newly completed deliveries and merge
352
381
  * the focus branch to integration incrementally.
@@ -434,23 +463,10 @@ export async function checkAndMergeCompletedDeliveries(config) {
434
463
  // Otherwise the team is idle, waiting for the daemon to push new work.
435
464
  const teamWork = deliveries.filter(d => isStatusAgentActionable(d.executionStatus ?? ''));
436
465
  if (teamWork.length > 0) {
437
- // Distinguish a team continuing with a MOVING clock from one continuing
438
- // with a FROZEN clock. "team continues" was logged from delivery status
439
- // alone -- presence, not liveness -- so a frozen park read identically to
440
- // healthy progress. This is diagnostic only: the daemon still recovers a
441
- // frozen team itself via checkIdleTeamStallForFocus; the warn just makes a
442
- // repeatedly-frozen "team continues" greppable for an operator.
443
- const liveness = describeTeamClockLiveness(getTeamLastActivityAt(team.focusId), Date.now(), resolveIdleTeamStallHours() * 3_600_000);
444
- const clockNote = formatClockNote(liveness);
445
- if (liveness.frozen) {
446
- log.warn(`[focus-executor] ${teamWork.length} delivery(ies) still queued/running for "${team.focusName}" -- ` +
447
- `team continues but its activity clock is FROZEN (${clockNote}, past the idle-stall threshold); ` +
448
- `idle-team recovery is pending`);
449
- }
450
- else {
451
- log.info(`[focus-executor] ${teamWork.length} delivery(ies) still queued/running for "${team.focusName}" -- ` +
452
- `team continues (${clockNote})`);
453
- }
466
+ // Diagnostic only: name a PARKED team apart from one making real motion
467
+ // (extracted to logTeamProgressOrPark to keep this function under its size
468
+ // floor). The daemon still recovers/re-engages the team through its own paths.
469
+ logTeamProgressOrPark(team, teamWork.length);
454
470
  continue;
455
471
  }
456
472
  // No queued/running deliveries -- team is idle, completion detector
@@ -1 +1 @@
1
- {"version":3,"file":"team-lifecycle.js","sourceRoot":"","sources":["../../src/completion/team-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-lifecycle.js","sourceRoot":"","sources":["../../src/completion/team-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -27,4 +27,25 @@ export interface TeamClockLiveness {
27
27
  export declare function describeTeamClockLiveness(lastActivityMs: number | null, nowMs: number, thresholdMs: number): TeamClockLiveness;
28
28
  /** Render the clock note for the "team continues" log line. */
29
29
  export declare function formatClockNote(liveness: TeamClockLiveness): string;
30
+ /** A team's idle-with-work-remaining (parked) reading for the "team continues" log. */
31
+ export interface IdleWithWorkReading {
32
+ /** true when the idle-with-work-remaining stamp is set -- the lead PARKED with work left. */
33
+ parked: boolean;
34
+ /** Human note naming how long ago it parked and how much work it left. */
35
+ note: string;
36
+ }
37
+ /**
38
+ * Describe whether a team PARKED with work remaining, from the
39
+ * idle-with-work-remaining stamp (FocusTeamState.idleWithWorkRemainingAt, set in
40
+ * spawn/idle-work-stamp.ts when a non-error result arrives with agent-actionable
41
+ * deliveries left).
42
+ *
43
+ * This replaces the old FROZEN-clock branch of the "team continues" log, whose
44
+ * threshold (resolveIdleTeamStallHours, 3h) was LATER than the 30-min stalled-team
45
+ * backstop reap and so could effectively never print. The stamp fires the instant
46
+ * the lead parks, so a parked team is named at the moment it parks -- not hours
47
+ * later, and not at all. Pure and dependency-free so it unit-tests without process
48
+ * or Supabase state.
49
+ */
50
+ export declare function describeIdleWithWorkRemaining(idleWithWorkRemainingAt: number | null | undefined, outstandingCount: number, nowMs: number): IdleWithWorkReading;
30
51
  //# sourceMappingURL=team-liveness-log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"team-liveness-log.d.ts","sourceRoot":"","sources":["../../src/completion/team-liveness-log.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,MAAM,EAAE,OAAO,CAAC;IAChB,+FAA+F;IAC/F,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAInB;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAGnE"}
1
+ {"version":3,"file":"team-liveness-log.d.ts","sourceRoot":"","sources":["../../src/completion/team-liveness-log.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,MAAM,EAAE,OAAO,CAAC;IAChB,+FAA+F;IAC/F,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAInB;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAGnE;AAED,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IAClC,6FAA6F;IAC7F,MAAM,EAAE,OAAO,CAAC;IAChB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,uBAAuB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAClD,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAOrB"}
@@ -18,4 +18,26 @@ export function formatClockNote(liveness) {
18
18
  return 'no agent events yet';
19
19
  return `last agent event ~${Math.floor(liveness.idleMs / 60_000)}m ago`;
20
20
  }
21
+ /**
22
+ * Describe whether a team PARKED with work remaining, from the
23
+ * idle-with-work-remaining stamp (FocusTeamState.idleWithWorkRemainingAt, set in
24
+ * spawn/idle-work-stamp.ts when a non-error result arrives with agent-actionable
25
+ * deliveries left).
26
+ *
27
+ * This replaces the old FROZEN-clock branch of the "team continues" log, whose
28
+ * threshold (resolveIdleTeamStallHours, 3h) was LATER than the 30-min stalled-team
29
+ * backstop reap and so could effectively never print. The stamp fires the instant
30
+ * the lead parks, so a parked team is named at the moment it parks -- not hours
31
+ * later, and not at all. Pure and dependency-free so it unit-tests without process
32
+ * or Supabase state.
33
+ */
34
+ export function describeIdleWithWorkRemaining(idleWithWorkRemainingAt, outstandingCount, nowMs) {
35
+ if (idleWithWorkRemainingAt == null)
36
+ return { parked: false, note: 'not parked' };
37
+ const agoMin = Math.floor((nowMs - idleWithWorkRemainingAt) / 60_000);
38
+ return {
39
+ parked: true,
40
+ note: `parked with ${outstandingCount} agent-actionable delivery(ies) ~${agoMin}m ago`,
41
+ };
42
+ }
21
43
  //# sourceMappingURL=team-liveness-log.js.map