@telora/daemon 0.21.98 → 0.21.134

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 (226) hide show
  1. package/build-info.json +6 -3
  2. package/dist/audit/audit-hooks.d.ts +106 -0
  3. package/dist/audit/audit-hooks.d.ts.map +1 -1
  4. package/dist/audit/audit-hooks.js +149 -17
  5. package/dist/audit/audit-hooks.js.map +1 -1
  6. package/dist/ci/ci-sensor-loop.d.ts +6 -0
  7. package/dist/ci/ci-sensor-loop.d.ts.map +1 -1
  8. package/dist/ci/ci-sensor-loop.js +50 -3
  9. package/dist/ci/ci-sensor-loop.js.map +1 -1
  10. package/dist/completion/coverage-drift-state.d.ts +29 -2
  11. package/dist/completion/coverage-drift-state.d.ts.map +1 -1
  12. package/dist/completion/coverage-drift-state.js +42 -2
  13. package/dist/completion/coverage-drift-state.js.map +1 -1
  14. package/dist/completion/coverage-stabilized.d.ts +58 -0
  15. package/dist/completion/coverage-stabilized.d.ts.map +1 -0
  16. package/dist/completion/coverage-stabilized.js +84 -0
  17. package/dist/completion/coverage-stabilized.js.map +1 -0
  18. package/dist/completion/delivery-advancement-guard.d.ts +21 -0
  19. package/dist/completion/delivery-advancement-guard.d.ts.map +1 -1
  20. package/dist/completion/delivery-advancement-guard.js +31 -3
  21. package/dist/completion/delivery-advancement-guard.js.map +1 -1
  22. package/dist/completion/event-escalations.d.ts +15 -0
  23. package/dist/completion/event-escalations.d.ts.map +1 -1
  24. package/dist/completion/event-escalations.js +42 -4
  25. package/dist/completion/event-escalations.js.map +1 -1
  26. package/dist/completion/event-phases.d.ts.map +1 -1
  27. package/dist/completion/event-phases.js +5 -2
  28. package/dist/completion/event-phases.js.map +1 -1
  29. package/dist/completion/machine-remediable-demotion.d.ts +74 -0
  30. package/dist/completion/machine-remediable-demotion.d.ts.map +1 -0
  31. package/dist/completion/machine-remediable-demotion.js +147 -0
  32. package/dist/completion/machine-remediable-demotion.js.map +1 -0
  33. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  34. package/dist/completion/review-exit-phase.js +10 -6
  35. package/dist/completion/review-exit-phase.js.map +1 -1
  36. package/dist/completion/settle-injection-sweep.d.ts +55 -0
  37. package/dist/completion/settle-injection-sweep.d.ts.map +1 -0
  38. package/dist/completion/settle-injection-sweep.js +88 -0
  39. package/dist/completion/settle-injection-sweep.js.map +1 -0
  40. package/dist/completion/state-cascade.d.ts.map +1 -1
  41. package/dist/completion/state-cascade.js +41 -0
  42. package/dist/completion/state-cascade.js.map +1 -1
  43. package/dist/completion/status-advance-phase.d.ts.map +1 -1
  44. package/dist/completion/status-advance-phase.js +18 -1
  45. package/dist/completion/status-advance-phase.js.map +1 -1
  46. package/dist/completion/team-lifecycle.d.ts +42 -0
  47. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  48. package/dist/completion/team-lifecycle.js +71 -0
  49. package/dist/completion/team-lifecycle.js.map +1 -1
  50. package/dist/delivery/delivery-lifecycle.d.ts +19 -33
  51. package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
  52. package/dist/delivery/delivery-lifecycle.js +19 -147
  53. package/dist/delivery/delivery-lifecycle.js.map +1 -1
  54. package/dist/delivery/delivery-merge-ops.d.ts +46 -0
  55. package/dist/delivery/delivery-merge-ops.d.ts.map +1 -0
  56. package/dist/delivery/delivery-merge-ops.js +154 -0
  57. package/dist/delivery/delivery-merge-ops.js.map +1 -0
  58. package/dist/delivery/delivery-reconciler-apply.d.ts +28 -0
  59. package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -1
  60. package/dist/delivery/delivery-reconciler-apply.js +30 -0
  61. package/dist/delivery/delivery-reconciler-apply.js.map +1 -1
  62. package/dist/delivery/delivery-reconciler.d.ts +7 -2
  63. package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
  64. package/dist/delivery/delivery-reconciler.js +34 -5
  65. package/dist/delivery/delivery-reconciler.js.map +1 -1
  66. package/dist/delivery/external-hold-surface.d.ts +32 -0
  67. package/dist/delivery/external-hold-surface.d.ts.map +1 -0
  68. package/dist/delivery/external-hold-surface.js +67 -0
  69. package/dist/delivery/external-hold-surface.js.map +1 -0
  70. package/dist/delivery/external-hold.d.ts +21 -0
  71. package/dist/delivery/external-hold.d.ts.map +1 -1
  72. package/dist/delivery/external-hold.js +40 -5
  73. package/dist/delivery/external-hold.js.map +1 -1
  74. package/dist/delivery/paused-revival.d.ts +140 -0
  75. package/dist/delivery/paused-revival.d.ts.map +1 -0
  76. package/dist/delivery/paused-revival.js +229 -0
  77. package/dist/delivery/paused-revival.js.map +1 -0
  78. package/dist/delivery/wait-reachability.d.ts.map +1 -1
  79. package/dist/delivery/wait-reachability.js +11 -0
  80. package/dist/delivery/wait-reachability.js.map +1 -1
  81. package/dist/directive/close-loop-dispatcher.d.ts +16 -263
  82. package/dist/directive/close-loop-dispatcher.d.ts.map +1 -1
  83. package/dist/directive/close-loop-dispatcher.js +21 -259
  84. package/dist/directive/close-loop-dispatcher.js.map +1 -1
  85. package/dist/directive/directive-dispatch.d.ts +19 -0
  86. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  87. package/dist/directive/directive-dispatch.js +18 -0
  88. package/dist/directive/directive-dispatch.js.map +1 -1
  89. package/dist/directive/directive-executor.d.ts +1 -3
  90. package/dist/directive/directive-executor.d.ts.map +1 -1
  91. package/dist/directive/directive-executor.js +23 -21
  92. package/dist/directive/directive-executor.js.map +1 -1
  93. package/dist/directive/phase-sync.d.ts +28 -15
  94. package/dist/directive/phase-sync.d.ts.map +1 -1
  95. package/dist/directive/phase-sync.js +28 -36
  96. package/dist/directive/phase-sync.js.map +1 -1
  97. package/dist/directive/resolver-dispatch.d.ts +19 -92
  98. package/dist/directive/resolver-dispatch.d.ts.map +1 -1
  99. package/dist/directive/resolver-dispatch.js +19 -65
  100. package/dist/directive/resolver-dispatch.js.map +1 -1
  101. package/dist/focus/focus-engine.d.ts.map +1 -1
  102. package/dist/focus/focus-engine.js +26 -0
  103. package/dist/focus/focus-engine.js.map +1 -1
  104. package/dist/focus/focus-executor.d.ts.map +1 -1
  105. package/dist/focus/focus-executor.js +290 -256
  106. package/dist/focus/focus-executor.js.map +1 -1
  107. package/dist/focus/focus-loop-registry.d.ts.map +1 -1
  108. package/dist/focus/focus-loop-registry.js +43 -1
  109. package/dist/focus/focus-loop-registry.js.map +1 -1
  110. package/dist/focus/focus-respawn-guard.d.ts.map +1 -1
  111. package/dist/focus/focus-respawn-guard.js +11 -2
  112. package/dist/focus/focus-respawn-guard.js.map +1 -1
  113. package/dist/focus/focus-team-state.d.ts +11 -0
  114. package/dist/focus/focus-team-state.d.ts.map +1 -1
  115. package/dist/focus/focus-team-state.js +17 -0
  116. package/dist/focus/focus-team-state.js.map +1 -1
  117. package/dist/focus/listener-auto-advance.d.ts +13 -1
  118. package/dist/focus/listener-auto-advance.d.ts.map +1 -1
  119. package/dist/focus/listener-auto-advance.js +103 -22
  120. package/dist/focus/listener-auto-advance.js.map +1 -1
  121. package/dist/focus/listener.d.ts.map +1 -1
  122. package/dist/focus/listener.js +125 -75
  123. package/dist/focus/listener.js.map +1 -1
  124. package/dist/focus/tick-deadline.d.ts +55 -0
  125. package/dist/focus/tick-deadline.d.ts.map +1 -0
  126. package/dist/focus/tick-deadline.js +91 -0
  127. package/dist/focus/tick-deadline.js.map +1 -0
  128. package/dist/focus-stage-lifecycle/index.d.ts +18 -25
  129. package/dist/focus-stage-lifecycle/index.d.ts.map +1 -1
  130. package/dist/focus-stage-lifecycle/index.js +26 -38
  131. package/dist/focus-stage-lifecycle/index.js.map +1 -1
  132. package/dist/focus-stage-lifecycle/wedge-cause-arbiter.d.ts +52 -0
  133. package/dist/focus-stage-lifecycle/wedge-cause-arbiter.d.ts.map +1 -0
  134. package/dist/focus-stage-lifecycle/wedge-cause-arbiter.js +94 -0
  135. package/dist/focus-stage-lifecycle/wedge-cause-arbiter.js.map +1 -0
  136. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +18 -1
  137. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
  138. package/dist/focus-stage-lifecycle/wedge-watchdog.js +57 -7
  139. package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
  140. package/dist/guard/condition-evaluators.d.ts +9 -0
  141. package/dist/guard/condition-evaluators.d.ts.map +1 -1
  142. package/dist/guard/condition-evaluators.js +15 -0
  143. package/dist/guard/condition-evaluators.js.map +1 -1
  144. package/dist/guard/guard-evaluator.d.ts +17 -1
  145. package/dist/guard/guard-evaluator.d.ts.map +1 -1
  146. package/dist/guard/guard-evaluator.js +61 -2
  147. package/dist/guard/guard-evaluator.js.map +1 -1
  148. package/dist/guard/trigger-executor.d.ts +30 -18
  149. package/dist/guard/trigger-executor.d.ts.map +1 -1
  150. package/dist/guard/trigger-executor.js +55 -31
  151. package/dist/guard/trigger-executor.js.map +1 -1
  152. package/dist/prompt/team-prompt-base.d.ts +1 -1
  153. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  154. package/dist/prompt/team-prompt-base.js +1 -1
  155. package/dist/prompt/team-prompt-base.js.map +1 -1
  156. package/dist/prompt-sections/persona-sections.d.ts +0 -32
  157. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  158. package/dist/prompt-sections/persona-sections.js +19 -88
  159. package/dist/prompt-sections/persona-sections.js.map +1 -1
  160. package/dist/queries/deliveries.d.ts +23 -0
  161. package/dist/queries/deliveries.d.ts.map +1 -1
  162. package/dist/queries/deliveries.js +6 -0
  163. package/dist/queries/deliveries.js.map +1 -1
  164. package/dist/queries/focuses.d.ts +36 -0
  165. package/dist/queries/focuses.d.ts.map +1 -1
  166. package/dist/queries/focuses.js +45 -0
  167. package/dist/queries/focuses.js.map +1 -1
  168. package/dist/queries/guards.d.ts +10 -0
  169. package/dist/queries/guards.d.ts.map +1 -1
  170. package/dist/queries/guards.js +14 -1
  171. package/dist/queries/guards.js.map +1 -1
  172. package/dist/queries/issues.d.ts +65 -1
  173. package/dist/queries/issues.d.ts.map +1 -1
  174. package/dist/queries/issues.js +135 -2
  175. package/dist/queries/issues.js.map +1 -1
  176. package/dist/queries/schemas.d.ts +51 -0
  177. package/dist/queries/schemas.d.ts.map +1 -1
  178. package/dist/queries/schemas.js +34 -0
  179. package/dist/queries/schemas.js.map +1 -1
  180. package/dist/queries/verification.d.ts +5 -6
  181. package/dist/queries/verification.d.ts.map +1 -1
  182. package/dist/queries/verification.js +5 -6
  183. package/dist/queries/verification.js.map +1 -1
  184. package/dist/resolvers/loop-persona.d.ts +1 -11
  185. package/dist/resolvers/loop-persona.d.ts.map +1 -1
  186. package/dist/resolvers/loop-persona.js +2 -16
  187. package/dist/resolvers/loop-persona.js.map +1 -1
  188. package/dist/shell/unified-shell-provisioning.d.ts +40 -0
  189. package/dist/shell/unified-shell-provisioning.d.ts.map +1 -1
  190. package/dist/shell/unified-shell-provisioning.js +72 -0
  191. package/dist/shell/unified-shell-provisioning.js.map +1 -1
  192. package/dist/shell/unified-shell.d.ts.map +1 -1
  193. package/dist/shell/unified-shell.js +18 -1
  194. package/dist/shell/unified-shell.js.map +1 -1
  195. package/dist/spawn/helpers.d.ts.map +1 -1
  196. package/dist/spawn/helpers.js +6 -1
  197. package/dist/spawn/helpers.js.map +1 -1
  198. package/dist/spawn/process-spawn.d.ts.map +1 -1
  199. package/dist/spawn/process-spawn.js +7 -0
  200. package/dist/spawn/process-spawn.js.map +1 -1
  201. package/dist/spawn/spawn-cooldown.d.ts +41 -7
  202. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  203. package/dist/spawn/spawn-cooldown.js +47 -0
  204. package/dist/spawn/spawn-cooldown.js.map +1 -1
  205. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  206. package/dist/spawn/spawn-decision.js +33 -1
  207. package/dist/spawn/spawn-decision.js.map +1 -1
  208. package/dist/verify/stall-detectors.d.ts +20 -8
  209. package/dist/verify/stall-detectors.d.ts.map +1 -1
  210. package/dist/verify/stall-detectors.js +27 -46
  211. package/dist/verify/stall-detectors.js.map +1 -1
  212. package/dist/workflow/gate-failure-policy.d.ts +48 -0
  213. package/dist/workflow/gate-failure-policy.d.ts.map +1 -0
  214. package/dist/workflow/gate-failure-policy.js +57 -0
  215. package/dist/workflow/gate-failure-policy.js.map +1 -0
  216. package/dist/workflow/pipeline-config.d.ts +2 -2
  217. package/dist/workflow/pipeline-config.js +2 -2
  218. package/package.json +1 -1
  219. package/dist/directive/close-loop-stage.d.ts +0 -50
  220. package/dist/directive/close-loop-stage.d.ts.map +0 -1
  221. package/dist/directive/close-loop-stage.js +0 -210
  222. package/dist/directive/close-loop-stage.js.map +0 -1
  223. package/dist/focus-stage-lifecycle/review-convergence.d.ts +0 -133
  224. package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +0 -1
  225. package/dist/focus-stage-lifecycle/review-convergence.js +0 -237
  226. package/dist/focus-stage-lifecycle/review-convergence.js.map +0 -1
@@ -14,10 +14,45 @@
14
14
  * the exact state it would approve). First drift arms a full-pass re-review (no
15
15
  * escalation); a second consecutive drift files ONE needs_operator escalation
16
16
  * (deduped in the DB by kind+focus). Cleared on a coverage-complete exit and on
17
- * the coverage-escalation re-arm edge. In-memory (a restart resets to a fresh
18
- * respawn allowance -- the safe direction; it never over-escalates).
17
+ * the coverage-escalation re-arm edge.
18
+ *
19
+ * DURABLE: the count is a spent budget toward the review_coverage_incomplete
20
+ * escalation, persisted to product_focuses.below_coverage_drift_count so the
21
+ * second drift is still reached when a daemon re-exec falls between the two --
22
+ * "a spent budget stays spent" (TEL-2). recordBelowCoverageDrift /
23
+ * resetCoverageDriftState write through; hydrateBelowCoverageDriftCount restores
24
+ * it on boot. (Mutate ONLY through those functions so the write-through holds --
25
+ * the raw Map export remains for the read/reset call sites.)
19
26
  */
20
27
  export const belowCoverageDriftCounts = new Map();
28
+ let coveragePersister = null;
29
+ /** Register (or clear, with null) the durable write-through persister at boot. */
30
+ export function setCoverageDriftPersister(fn) {
31
+ coveragePersister = fn;
32
+ }
33
+ /**
34
+ * Increment a focus's consecutive below-coverage drift streak by one, write it
35
+ * through durably, and return the new streak. The single mutation path for the
36
+ * increment so the durable column cannot drift from the in-memory Map.
37
+ */
38
+ export function recordBelowCoverageDrift(focusId) {
39
+ const streak = (belowCoverageDriftCounts.get(focusId) ?? 0) + 1;
40
+ belowCoverageDriftCounts.set(focusId, streak);
41
+ coveragePersister?.(focusId, streak);
42
+ return streak;
43
+ }
44
+ /**
45
+ * Restore a focus's below-coverage drift count from its persisted column, the
46
+ * first time the daemon sees the focus after a (re-)start. Non-clobbering +
47
+ * first-sight-only; skips a focus with no persisted streak.
48
+ */
49
+ export function hydrateBelowCoverageDriftCount(focusId, count) {
50
+ if (belowCoverageDriftCounts.has(focusId))
51
+ return; // in-memory wins during a run
52
+ if (count <= 0)
53
+ return; // no streak to restore
54
+ belowCoverageDriftCounts.set(focusId, count);
55
+ }
21
56
  /**
22
57
  * Focuses whose NEXT review must be a full pass (drift was detected, so the
23
58
  * prior coverage cannot be trusted incrementally). Consumed + cleared by the
@@ -35,8 +70,13 @@ export const forceFullPassReviewFocuses = new Set();
35
70
  * mirrors resetDeliveryAdvancementGuard's role for the team_failure re-arm.
36
71
  */
37
72
  export function resetCoverageDriftState(focusId) {
73
+ const hadStreak = (belowCoverageDriftCounts.get(focusId) ?? 0) > 0;
38
74
  belowCoverageDriftCounts.delete(focusId);
39
75
  forceFullPassReviewFocuses.delete(focusId);
76
+ // Write the cleared budget through -- but only when it stood above 0, to avoid
77
+ // a needless DB write on every routed exit / re-arm (the streak is usually 0).
78
+ if (hadStreak)
79
+ coveragePersister?.(focusId, 0);
40
80
  }
41
81
  /** Test reset hook for the in-memory drift trackers. */
42
82
  export function __resetCoverageDriftStateForTests() {
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-drift-state.js","sourceRoot":"","sources":["../../src/completion/coverage-drift-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAElE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,iCAAiC;IAC/C,wBAAwB,CAAC,KAAK,EAAE,CAAC;IACjC,0BAA0B,CAAC,KAAK,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"coverage-drift-state.js","sourceRoot":"","sources":["../../src/completion/coverage-drift-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAkB,CAAC;AASlE,IAAI,iBAAiB,GAAkC,IAAI,CAAC;AAE5D,kFAAkF;AAClF,MAAM,UAAU,yBAAyB,CAAC,EAAiC;IACzE,iBAAiB,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,MAAM,MAAM,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,wBAAwB,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,OAAe,EAAE,KAAa;IAC3E,IAAI,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,8BAA8B;IACjF,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,uBAAuB;IAC/C,wBAAwB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,MAAM,SAAS,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACnE,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,+EAA+E;IAC/E,+EAA+E;IAC/E,IAAI,SAAS;QAAE,iBAAiB,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,iCAAiC;IAC/C,wBAAwB,CAAC,KAAK,EAAE,CAAC;IACjC,0BAA0B,CAAC,KAAK,EAAE,CAAC;AACrC,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Close half for the review_coverage_incomplete spawn block (delivery 7, Task 2).
3
+ *
4
+ * applyRespawnGuard parks EVERY spawn (coding AND review) while a
5
+ * review_coverage_incomplete escalation is open. The drift-streak breaker files
6
+ * it precisely because the focus branch kept advancing DURING each review pass,
7
+ * so a clean review never covered the exact state it would approve. That creates
8
+ * a deadlock: with review spawns blocked, no review can run to complete coverage,
9
+ * so the escalation can never clear at the review-exit site.
10
+ *
11
+ * The clearing condition is SPAWN-INDEPENDENT and distinct from delivery
12
+ * advancement (Task 1's signal): the branch has STABILIZED. The escalation
13
+ * records the branch tip at filing (metadata.current_tip). When the focus branch
14
+ * tip has not moved since -- no new commits landed -- a re-review can now cover
15
+ * the exact state, so the daemon resolves the escalation itself. applyRespawnGuard
16
+ * then permits a review spawn; if the branch has in fact re-drifted, the next
17
+ * review re-files the escalation, and the whole cycle is bounded by the existing
18
+ * review_cycle_cap. No human act.
19
+ *
20
+ * Pure decision (isCoverageBranchStable) + a thin reconcile whose git read,
21
+ * escalation list, and resolve are injected so it is unit-testable with no real
22
+ * git or DB.
23
+ */
24
+ import { listOpenFocusEscalationsOfKind, markEscalationResolved as defaultMarkEscalationResolved } from '../queries/issues.js';
25
+ import { resolveRef as defaultResolveRef } from '../git/index.js';
26
+ /**
27
+ * Pure decision: has the focus branch STABILIZED at the tip recorded when the
28
+ * coverage-incomplete escalation was filed? True only when BOTH tips are known
29
+ * and equal (no commits landed since filing). A missing recorded tip (a legacy
30
+ * filing, or a null live read) is NOT stable -- the hold is kept, so a re-review
31
+ * is never armed over an unknown/moving branch. Exported for direct unit testing.
32
+ */
33
+ export declare function isCoverageBranchStable(recordedTip: string | null | undefined, liveTip: string | null): boolean;
34
+ export interface CoverageStabilizedDeps {
35
+ /** List the focus's open review_coverage_incomplete rows (id + metadata). */
36
+ listOpen: typeof listOpenFocusEscalationsOfKind;
37
+ /** Resolve the focus branch ref to its live tip SHA (null when unreadable). */
38
+ resolveRef: typeof defaultResolveRef;
39
+ /** Resolve a single escalation row (the close-half write). */
40
+ markEscalationResolved: typeof defaultMarkEscalationResolved;
41
+ }
42
+ export interface CoverageStabilizedContext {
43
+ focusId: string;
44
+ focusName: string;
45
+ /** Pinned focus branch identity (product_focuses.branch_name), or null. */
46
+ branchName: string | null;
47
+ /** Product repo path -- the branch ref lives in its git dir (worktrees share it). */
48
+ repoPath: string;
49
+ }
50
+ /**
51
+ * Reconcile ONE focus's open review_coverage_incomplete hold: resolve it iff the
52
+ * focus branch has stabilized at the tip recorded at filing. Best-effort: any
53
+ * failure is logged and swallowed so the caller's cascade pass is never blocked.
54
+ * Returns the number of holds resolved (0 or 1 in practice -- the kind is
55
+ * cause-key deduped to one open row per focus).
56
+ */
57
+ export declare function reconcileCoverageIncompleteHold(ctx: CoverageStabilizedContext, deps?: CoverageStabilizedDeps): Promise<number>;
58
+ //# sourceMappingURL=coverage-stabilized.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage-stabilized.d.ts","sourceRoot":"","sources":["../../src/completion/coverage-stabilized.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,8BAA8B,EAAE,sBAAsB,IAAI,6BAA6B,EAA8C,MAAM,sBAAsB,CAAC;AAC3K,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKlE;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAET;AAED,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,8BAA8B,CAAC;IAChD,+EAA+E;IAC/E,UAAU,EAAE,OAAO,iBAAiB,CAAC;IACrC,8DAA8D;IAC9D,sBAAsB,EAAE,OAAO,6BAA6B,CAAC;CAC9D;AAQD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,yBAAyB,EAC9B,IAAI,GAAE,sBAAoC,GACzC,OAAO,CAAC,MAAM,CAAC,CAkCjB"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Close half for the review_coverage_incomplete spawn block (delivery 7, Task 2).
3
+ *
4
+ * applyRespawnGuard parks EVERY spawn (coding AND review) while a
5
+ * review_coverage_incomplete escalation is open. The drift-streak breaker files
6
+ * it precisely because the focus branch kept advancing DURING each review pass,
7
+ * so a clean review never covered the exact state it would approve. That creates
8
+ * a deadlock: with review spawns blocked, no review can run to complete coverage,
9
+ * so the escalation can never clear at the review-exit site.
10
+ *
11
+ * The clearing condition is SPAWN-INDEPENDENT and distinct from delivery
12
+ * advancement (Task 1's signal): the branch has STABILIZED. The escalation
13
+ * records the branch tip at filing (metadata.current_tip). When the focus branch
14
+ * tip has not moved since -- no new commits landed -- a re-review can now cover
15
+ * the exact state, so the daemon resolves the escalation itself. applyRespawnGuard
16
+ * then permits a review spawn; if the branch has in fact re-drifted, the next
17
+ * review re-files the escalation, and the whole cycle is bounded by the existing
18
+ * review_cycle_cap. No human act.
19
+ *
20
+ * Pure decision (isCoverageBranchStable) + a thin reconcile whose git read,
21
+ * escalation list, and resolve are injected so it is unit-testable with no real
22
+ * git or DB.
23
+ */
24
+ import { listOpenFocusEscalationsOfKind, markEscalationResolved as defaultMarkEscalationResolved, REVIEW_COVERAGE_INCOMPLETE_ESCALATION_KIND } from '../queries/issues.js';
25
+ import { resolveRef as defaultResolveRef } from '../git/index.js';
26
+ import { createLogger } from '../shell/log.js';
27
+ const log = createLogger({ module: 'focus-executor' });
28
+ /**
29
+ * Pure decision: has the focus branch STABILIZED at the tip recorded when the
30
+ * coverage-incomplete escalation was filed? True only when BOTH tips are known
31
+ * and equal (no commits landed since filing). A missing recorded tip (a legacy
32
+ * filing, or a null live read) is NOT stable -- the hold is kept, so a re-review
33
+ * is never armed over an unknown/moving branch. Exported for direct unit testing.
34
+ */
35
+ export function isCoverageBranchStable(recordedTip, liveTip) {
36
+ return !!recordedTip && !!liveTip && recordedTip === liveTip;
37
+ }
38
+ const defaultDeps = {
39
+ listOpen: listOpenFocusEscalationsOfKind,
40
+ resolveRef: defaultResolveRef,
41
+ markEscalationResolved: defaultMarkEscalationResolved,
42
+ };
43
+ /**
44
+ * Reconcile ONE focus's open review_coverage_incomplete hold: resolve it iff the
45
+ * focus branch has stabilized at the tip recorded at filing. Best-effort: any
46
+ * failure is logged and swallowed so the caller's cascade pass is never blocked.
47
+ * Returns the number of holds resolved (0 or 1 in practice -- the kind is
48
+ * cause-key deduped to one open row per focus).
49
+ */
50
+ export async function reconcileCoverageIncompleteHold(ctx, deps = defaultDeps) {
51
+ if (!ctx.branchName)
52
+ return 0; // no pinned branch identity -> nothing to compare
53
+ let open;
54
+ try {
55
+ open = await deps.listOpen(ctx.focusId, REVIEW_COVERAGE_INCOMPLETE_ESCALATION_KIND);
56
+ }
57
+ catch (err) {
58
+ log.warn(`[coverage-stabilized] list failed for "${ctx.focusName}": ${err.message}`);
59
+ return 0;
60
+ }
61
+ if (open.length === 0)
62
+ return 0;
63
+ const liveTip = deps.resolveRef(ctx.repoPath, ctx.branchName);
64
+ let resolved = 0;
65
+ for (const row of open) {
66
+ const recordedTip = row.metadata?.current_tip ?? null;
67
+ if (!isCoverageBranchStable(recordedTip, liveTip))
68
+ continue;
69
+ try {
70
+ await deps.markEscalationResolved(row.id, 'Auto-resolved by the daemon: the focus branch stabilized at the tip recorded when coverage-incomplete ' +
71
+ 'was filed (no commits since), so a re-review can now complete coverage -- the spawn block cleared.');
72
+ resolved++;
73
+ }
74
+ catch (err) {
75
+ log.warn(`[coverage-stabilized] resolve failed for escalation ${row.id} on "${ctx.focusName}": ${err.message}`);
76
+ }
77
+ }
78
+ if (resolved > 0) {
79
+ log.info(`[coverage-stabilized] Resolved ${resolved} review_coverage_incomplete hold(s) for "${ctx.focusName}" ` +
80
+ `-- branch stabilized at ${liveTip?.slice(0, 12)}; review spawns unblocked with no human act.`);
81
+ }
82
+ return resolved;
83
+ }
84
+ //# sourceMappingURL=coverage-stabilized.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage-stabilized.js","sourceRoot":"","sources":["../../src/completion/coverage-stabilized.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,8BAA8B,EAAE,sBAAsB,IAAI,6BAA6B,EAAE,0CAA0C,EAAE,MAAM,sBAAsB,CAAC;AAC3K,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAsC,EACtC,OAAsB;IAEtB,OAAO,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,IAAI,WAAW,KAAK,OAAO,CAAC;AAC/D,CAAC;AAWD,MAAM,WAAW,GAA2B;IAC1C,QAAQ,EAAE,8BAA8B;IACxC,UAAU,EAAE,iBAAiB;IAC7B,sBAAsB,EAAE,6BAA6B;CACtD,CAAC;AAWF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,GAA8B,EAC9B,OAA+B,WAAW;IAE1C,IAAI,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC,CAAC,kDAAkD;IACjF,IAAI,IAAqE,CAAC;IAC1E,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,0CAA0C,GAAG,CAAC,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAChG,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAI,GAAG,CAAC,QAAQ,EAAE,WAAyC,IAAI,IAAI,CAAC;QACrF,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC;YAAE,SAAS;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,sBAAsB,CAC/B,GAAG,CAAC,EAAE,EACN,wGAAwG;gBACtG,oGAAoG,CACvG,CAAC;YACF,QAAQ,EAAE,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,uDAAuD,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7H,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,GAAG,CAAC,IAAI,CACN,kCAAkC,QAAQ,4CAA4C,GAAG,CAAC,SAAS,IAAI;YACvG,2BAA2B,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,8CAA8C,CAC/F,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -70,6 +70,27 @@ export interface DeliveryAdvancementDecision {
70
70
  noAdvancementCycles: number;
71
71
  thresholdReached: boolean;
72
72
  }
73
+ /**
74
+ * Durable write-through seam for the cross-respawn no-progress state. Registered
75
+ * once at daemon boot (setDeliveryAdvancementPersister); called best-effort
76
+ * (fire-and-forget) whenever the state changes, and with null when the guard is
77
+ * reset for a focus. Unset in tests -> the guard stays pure in-memory. This is
78
+ * what makes a spent no-advancement budget survive the auto-updater's re-exec
79
+ * (module-scope state alone reset noAdvancementCycles to 0 every restart, handing
80
+ * a focus about to trip its team_failure halt a fresh budget).
81
+ */
82
+ export type DeliveryAdvancementPersister = (focusId: string, state: DeliveryAdvancementState | null) => void;
83
+ /** Register (or clear, with null) the durable write-through persister at boot. */
84
+ export declare function setDeliveryAdvancementPersister(fn: DeliveryAdvancementPersister | null): void;
85
+ /**
86
+ * Restore a focus's no-progress watchdog state from its persisted column, the
87
+ * FIRST time the daemon sees the focus after a (re-)start. Non-clobbering: a
88
+ * state already tracked in memory this run wins (hydrate never overwrites a live
89
+ * cycle). Restoring the SNAPSHOT alongside the counter is essential -- a bare
90
+ * counter would rebase to 0 on the first post-restart cycle for lack of a prior
91
+ * to compare against, silently forgiving the streak.
92
+ */
93
+ export declare function hydrateDeliveryAdvancementState(focusId: string, state: DeliveryAdvancementState | null): void;
73
94
  export declare function takeDeliveryAdvancementSnapshot(deliveries: Pick<FocusDeliveryInfo, 'id' | 'executionStatus'>[], issues?: Pick<FocusIssueInfo, 'id' | 'status'>[], focusHeadSha?: string | null): DeliveryAdvancementSnapshot;
74
95
  export declare function deliveryAdvancementSnapshotsEqual(a: DeliveryAdvancementSnapshot, b: DeliveryAdvancementSnapshot): boolean;
75
96
  export declare function recordDeliveryAdvancementCycle(focusId: string, deliveries: Pick<FocusDeliveryInfo, 'id' | 'executionStatus'>[], issues: Pick<FocusIssueInfo, 'id' | 'status'>[], focusHeadSha: string | null, threshold: number,
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-advancement-guard.d.ts","sourceRoot":"","sources":["../../src/completion/delivery-advancement-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE3E,MAAM,WAAW,2BAA2B;IAC1C;iFAC6E;IAC7E,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC;mEAC+D;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB;+DAC2D;IAC3D,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAiBD,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,iBAAiB,CAAC,EAAE,EAC/D,MAAM,GAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,QAAQ,CAAC,EAAO,EACpD,YAAY,GAAE,MAAM,GAAG,IAAW,GACjC,2BAA2B,CAU7B;AAED,wBAAgB,iCAAiC,CAC/C,CAAC,EAAE,2BAA2B,EAC9B,CAAC,EAAE,2BAA2B,GAC7B,OAAO,CAaT;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,iBAAiB,CAAC,EAAE,EAC/D,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,QAAQ,CAAC,EAAE,EAC/C,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,SAAS,EAAE,MAAM;AACjB,+EAA+E;AAC/E,KAAK,GAAE,MAAmB;AAC1B;;;;;GAKG;AACH,OAAO,SAAI,GACV,2BAA2B,CAqC7B;AAED,wBAAgB,6BAA6B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAMpE"}
1
+ {"version":3,"file":"delivery-advancement-guard.d.ts","sourceRoot":"","sources":["../../src/completion/delivery-advancement-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE3E,MAAM,WAAW,2BAA2B;IAC1C;iFAC6E;IAC7E,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC;mEAC+D;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB;+DAC2D;IAC3D,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAID;;;;;;;;GAQG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,wBAAwB,GAAG,IAAI,KACnC,IAAI,CAAC;AAIV,kFAAkF;AAClF,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,4BAA4B,GAAG,IAAI,GAAG,IAAI,CAE7F;AAQD;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,wBAAwB,GAAG,IAAI,GACrC,IAAI,CAIN;AAeD,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,iBAAiB,CAAC,EAAE,EAC/D,MAAM,GAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,QAAQ,CAAC,EAAO,EACpD,YAAY,GAAE,MAAM,GAAG,IAAW,GACjC,2BAA2B,CAU7B;AAED,wBAAgB,iCAAiC,CAC/C,CAAC,EAAE,2BAA2B,EAC9B,CAAC,EAAE,2BAA2B,GAC7B,OAAO,CAaT;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,iBAAiB,CAAC,EAAE,EAC/D,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,QAAQ,CAAC,EAAE,EAC/C,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,SAAS,EAAE,MAAM;AACjB,+EAA+E;AAC/E,KAAK,GAAE,MAAmB;AAC1B;;;;;GAKG;AACH,OAAO,SAAI,GACV,2BAA2B,CAqC7B;AAED,wBAAgB,6BAA6B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CASpE"}
@@ -41,6 +41,31 @@
41
41
  * guard: cross-respawn; madeProgress: within a single keep-alive team).
42
42
  */
43
43
  const perFocusState = new Map();
44
+ let advancementPersister = null;
45
+ /** Register (or clear, with null) the durable write-through persister at boot. */
46
+ export function setDeliveryAdvancementPersister(fn) {
47
+ advancementPersister = fn;
48
+ }
49
+ /** Set the in-memory state AND write it through to durable storage. */
50
+ function commitState(focusId, state) {
51
+ perFocusState.set(focusId, state);
52
+ advancementPersister?.(focusId, state);
53
+ }
54
+ /**
55
+ * Restore a focus's no-progress watchdog state from its persisted column, the
56
+ * FIRST time the daemon sees the focus after a (re-)start. Non-clobbering: a
57
+ * state already tracked in memory this run wins (hydrate never overwrites a live
58
+ * cycle). Restoring the SNAPSHOT alongside the counter is essential -- a bare
59
+ * counter would rebase to 0 on the first post-restart cycle for lack of a prior
60
+ * to compare against, silently forgiving the streak.
61
+ */
62
+ export function hydrateDeliveryAdvancementState(focusId, state) {
63
+ if (!state)
64
+ return;
65
+ if (perFocusState.has(focusId))
66
+ return; // in-memory wins during a run
67
+ perFocusState.set(focusId, state);
68
+ }
44
69
  /**
45
70
  * Stable, key-order-independent fingerprint of the work-issue state. Sorting by
46
71
  * issueId makes the fingerprint depend only on the set of issues and their
@@ -94,14 +119,14 @@ floorMs = 0) {
94
119
  const snapshot = takeDeliveryAdvancementSnapshot(deliveries, issues, focusHeadSha);
95
120
  const prior = perFocusState.get(focusId);
96
121
  if (!prior) {
97
- perFocusState.set(focusId, { snapshot, noAdvancementCycles: 0, lastRecordedAt: nowMs });
122
+ commitState(focusId, { snapshot, noAdvancementCycles: 0, lastRecordedAt: nowMs });
98
123
  return { advanced: true, noAdvancementCycles: 0, thresholdReached: false };
99
124
  }
100
125
  const advanced = !deliveryAdvancementSnapshotsEqual(prior.snapshot, snapshot);
101
126
  if (advanced) {
102
127
  // Progress is progress regardless of timing -- reset the counter and rebase
103
128
  // the snapshot + floor clock on this cycle.
104
- perFocusState.set(focusId, { snapshot, noAdvancementCycles: 0, lastRecordedAt: nowMs });
129
+ commitState(focusId, { snapshot, noAdvancementCycles: 0, lastRecordedAt: nowMs });
105
130
  return { advanced: true, noAdvancementCycles: 0, thresholdReached: false };
106
131
  }
107
132
  // No advancement. FLOOR the increment: a cycle arriving within floorMs of the
@@ -118,7 +143,7 @@ floorMs = 0) {
118
143
  };
119
144
  }
120
145
  const noAdvancementCycles = prior.noAdvancementCycles + 1;
121
- perFocusState.set(focusId, { snapshot, noAdvancementCycles, lastRecordedAt: nowMs });
146
+ commitState(focusId, { snapshot, noAdvancementCycles, lastRecordedAt: nowMs });
122
147
  return {
123
148
  advanced,
124
149
  noAdvancementCycles,
@@ -128,6 +153,9 @@ floorMs = 0) {
128
153
  export function resetDeliveryAdvancementGuard(focusId) {
129
154
  if (focusId) {
130
155
  perFocusState.delete(focusId);
156
+ // Write the cleared state through so the re-arm (team_failure resolved) or a
157
+ // recovered focus does not re-hydrate a spent budget on the next restart.
158
+ advancementPersister?.(focusId, null);
131
159
  }
132
160
  else {
133
161
  perFocusState.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-advancement-guard.js","sourceRoot":"","sources":["../../src/completion/delivery-advancement-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-advancement-guard.js","sourceRoot":"","sources":["../../src/completion/delivery-advancement-guard.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,15 @@ export declare function escalatePlanningFailure(params: {
51
51
  focusName: string;
52
52
  agentRoleId: string;
53
53
  }, deps?: EscalationDeps): Promise<void>;
54
+ /**
55
+ * Whether the stalled lead's STATED cause names a genuine human decision -- a
56
+ * change to WHAT gets built (scope / requirement / priority / product
57
+ * direction) -- as opposed to a machine-remediable blocker (a missing
58
+ * capability the incoming team can supply). Absent a stated cause it returns
59
+ * false, so a no-progress stall DEFAULTS to machine ownership: the human inbox
60
+ * receives it only on positive evidence, never as the reflexive default.
61
+ */
62
+ export declare function statedCauseNeedsIntent(statedCause: string | undefined): boolean;
54
63
  /**
55
64
  * Escalate when the team has been re-engaged repeatedly without making
56
65
  * any measurable progress on the remaining non-terminal deliveries.
@@ -65,6 +74,12 @@ export declare function escalateNoProgress(params: {
65
74
  agentRoleId: string;
66
75
  cycles: number;
67
76
  remaining: FocusDeliveryInfo[];
77
+ /**
78
+ * The stalled lead's own stated cause (its exit summary), when available.
79
+ * Read to decide whether a NON-gate-stuck stall genuinely needs the intent
80
+ * owner; absent, the stall defaults to machine ownership (agent_resolvable).
81
+ */
82
+ statedCause?: string;
68
83
  }, deps?: EscalationDeps): Promise<void>;
69
84
  /**
70
85
  * Escalate when the team has no actionable work AND a remaining non-terminal
@@ -1 +1 @@
1
- {"version":3,"file":"event-escalations.d.ts","sourceRoot":"","sources":["../../src/completion/event-escalations.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAA+C,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAMhH,yEAAyE;AACzE,eAAO,MAAM,6BAA6B,oCAAoC,CAAC;AAE/E,gFAAgF;AAChF,eAAO,MAAM,6BAA6B,yDACc,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,oEACqB,CAAC;AAEpE;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAEhE,eAAO,MAAM,mCAAmC,gEACe,CAAC;AAEhE,eAAO,MAAM,kCAAkC,iCAAiC,CAAC;AAEjF,2FAA2F;AAC3F,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACvG;AAMD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,EACD,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC,EACD,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,IAAI,CAAC,CAkGf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC,EACD,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,IAAI,CAAC,CAyEf;AAED;;;;;GAKG;AACH,wBAAsB,kCAAkC,CACtD,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC,EACD,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,IAAI,CAAC,CAqDf"}
1
+ {"version":3,"file":"event-escalations.d.ts","sourceRoot":"","sources":["../../src/completion/event-escalations.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAA+C,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAMhH,yEAAyE;AACzE,eAAO,MAAM,6BAA6B,oCAAoC,CAAC;AAE/E,gFAAgF;AAChF,eAAO,MAAM,6BAA6B,yDACc,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,oEACqB,CAAC;AAEpE;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAEhE,eAAO,MAAM,mCAAmC,gEACe,CAAC;AAEhE,eAAO,MAAM,kCAAkC,iCAAiC,CAAC;AAEjF,2FAA2F;AAC3F,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACvG;AAMD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,EACD,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAK/E;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,EACD,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,IAAI,CAAC,CA2Hf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC,EACD,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,IAAI,CAAC,CAyEf;AAED;;;;;GAKG;AACH,wBAAsB,kCAAkC,CACtD,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC,EACD,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,IAAI,CAAC,CAqDf"}
@@ -71,6 +71,19 @@ export async function escalatePlanningFailure(params, deps = defaultEscalationDe
71
71
  log.error(`[focus-executor] Failed to create planning-failure escalation for "${focusName}": ${err.message}`);
72
72
  }
73
73
  }
74
+ /**
75
+ * Whether the stalled lead's STATED cause names a genuine human decision -- a
76
+ * change to WHAT gets built (scope / requirement / priority / product
77
+ * direction) -- as opposed to a machine-remediable blocker (a missing
78
+ * capability the incoming team can supply). Absent a stated cause it returns
79
+ * false, so a no-progress stall DEFAULTS to machine ownership: the human inbox
80
+ * receives it only on positive evidence, never as the reflexive default.
81
+ */
82
+ export function statedCauseNeedsIntent(statedCause) {
83
+ if (!statedCause)
84
+ return false;
85
+ return /\b(re-?scope|rescoping|requirement|intent|priorit|product decision|design decision|what to build|change (?:what|the scope)|which .{0,40}?(?:should|to build))\b/i.test(statedCause);
86
+ }
74
87
  /**
75
88
  * Escalate when the team has been re-engaged repeatedly without making
76
89
  * any measurable progress on the remaining non-terminal deliveries.
@@ -96,11 +109,23 @@ export async function escalateNoProgress(params, deps = defaultEscalationDeps) {
96
109
  const gateStuckDeliveries = params.remaining.filter(d => d.gateState != null);
97
110
  const anyDaemonGateStuck = gateStuckDeliveries.length > 0;
98
111
  const escalationKind = anyDaemonGateStuck ? 'daemon_gate_stuck' : 'team_failure';
99
- // daemon_gate_stuck is a daemon-side gap an operator triages from gate_state;
100
- // a genuine no-progress team_failure needs the intent owner to unblock/re-scope.
112
+ // Ownership is decided from EVIDENCE, defaulting to the machine (TEL-1):
113
+ // - ANY gate-stuck delivery -> needs_operator (a daemon-side gap the
114
+ // operator triages from gate_state, on its own merits).
115
+ // - otherwise, the lead's STATED cause names a genuine build-changing
116
+ // decision -> needs_intent (the intent owner must re-scope/decide).
117
+ // - otherwise (the DEFAULT) -> agent_resolvable: a no-progress stall is
118
+ // usually a capability the incoming coding team can supply. The
119
+ // agent-resolvable transport rides it into the next spawn, and the
120
+ // agent-resolvable PROMOTION path escalates it to the operator only if it
121
+ // survives unresolved past the promotion window. So the human inbox
122
+ // receives a stall on evidence, never as the reflexive fall-through.
123
+ const needsIntent = statedCauseNeedsIntent(params.statedCause);
101
124
  const disposition = anyDaemonGateStuck
102
125
  ? ESCALATION_DISPOSITIONS.NEEDS_OPERATOR
103
- : ESCALATION_DISPOSITIONS.NEEDS_INTENT;
126
+ : needsIntent
127
+ ? ESCALATION_DISPOSITIONS.NEEDS_INTENT
128
+ : ESCALATION_DISPOSITIONS.AGENT_RESOLVABLE;
104
129
  // Evidence/payload only -- provenance (focusId) now lives in the first-class
105
130
  // focus_id column, stamped via the anchor. hasOpenTeamFailureEscalation
106
131
  // filters by the column, not metadata. cycles/gateStates are evidence.
@@ -108,6 +133,13 @@ export async function escalateNoProgress(params, deps = defaultEscalationDeps) {
108
133
  cycles: params.cycles,
109
134
  cause: escalationKind,
110
135
  };
136
+ // Record the stated cause so the evidence-driven demotion (TEL-3) can
137
+ // re-classify this row later: a needs_intent team_failure whose recorded cause
138
+ // is NOT a human decision is a machine-remediable filing that should return to
139
+ // the machine lane. Absent here (legacy / no cause) reads as demotable.
140
+ if (params.statedCause) {
141
+ metadata.statedCause = params.statedCause;
142
+ }
111
143
  if (anyDaemonGateStuck) {
112
144
  metadata.gateStates = gateStuckDeliveries.map(d => ({
113
145
  deliveryId: d.id,
@@ -131,11 +163,17 @@ export async function escalateNoProgress(params, deps = defaultEscalationDeps) {
131
163
  `condition. See docs/runbook-verify-gate.md.`
132
164
  : `Team for focus "${params.focusName}" has been re-engaged ${params.cycles} ` +
133
165
  `consecutive cycles without measurable progress. Reason: ${NO_PROGRESS_ESCALATION_REASON}.\n\n` +
166
+ (params.statedCause ? `**Stated cause:** ${params.statedCause}\n` : '') +
134
167
  `**Focus:** ${params.focusName}\n` +
135
168
  `**Focus ID:** ${params.focusId}\n` +
136
169
  `**Agent role:** ${params.agentRoleId}\n` +
137
170
  `**Remaining non-terminal deliveries:**\n${remainingList}\n\n` +
138
- `The team has been terminated. A human must intervene to unblock the focus.`;
171
+ (needsIntent
172
+ ? `The stated cause names a build-changing decision -- the intent owner ` +
173
+ `must re-scope or decide before work can resume.`
174
+ : `Machine-owned (agent_resolvable): the incoming coding team will attempt ` +
175
+ `to resolve this on the next spawn. It is promoted to the operator only ` +
176
+ `if it survives unresolved past the agent-resolvable promotion window.`);
139
177
  try {
140
178
  await withRetry(() => deps.createEscalation({
141
179
  organizationId: params.organizationId,
@@ -1 +1 @@
1
- {"version":3,"file":"event-escalations.js","sourceRoot":"","sources":["../../src/completion/event-escalations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-escalations.js","sourceRoot":"","sources":["../../src/completion/event-escalations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-phases.d.ts","sourceRoot":"","sources":["../../src/completion/event-phases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAM7F,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAmB5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAc9E;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAI7C,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;IACzC,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,4BAA4B,EAAE,MAAM,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,iBAAiB,EAAE,iBAAiB,EAAE,EACtC,mBAAmB,EAAE,iBAAiB,EAAE,EACxC,aAAa,EAAE,cAAc,EAAE,GAC9B,OAAO,CAAC,eAAe,CAAC,CAkL1B;AAID;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC,CAuDlB;AAID;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAmSf"}
1
+ {"version":3,"file":"event-phases.d.ts","sourceRoot":"","sources":["../../src/completion/event-phases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAO7F,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAmB5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAc9E;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAI7C,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;IACzC,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,4BAA4B,EAAE,MAAM,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,iBAAiB,EAAE,iBAAiB,EAAE,EACtC,mBAAmB,EAAE,iBAAiB,EAAE,EACxC,aAAa,EAAE,cAAc,EAAE,GAC9B,OAAO,CAAC,eAAe,CAAC,CAkL1B;AAID;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC,CAuDlB;AAID;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAmSf"}
@@ -25,6 +25,7 @@ import { isStatusCascadable, isStatusAgentActionable } from '../workflow/stage-c
25
25
  import { buildWakeMessage, buildReEngagementMessage } from '../prompt/focus-prompt-builder.js';
26
26
  import { OPEN_ISSUE_STATUSES } from '../shell/constants.js';
27
27
  import { isAuditPhaseFocus } from '../audit/audit-shape.js';
28
+ import { advancementReadFailsOpen } from '../workflow/gate-failure-policy.js';
28
29
  import { shouldCheckNonAdvanceable } from './completion-decision.js';
29
30
  import { takeProgressSnapshot, snapshotsEqual } from './progress-snapshot.js';
30
31
  import { findNonAdvanceableDelivery } from './advanceability.js';
@@ -115,8 +116,10 @@ export async function computeCompletionFacts(ctx, deps, currentDeliveries, effec
115
116
  });
116
117
  }
117
118
  catch (err) {
118
- log.warn(`getFocusRatificationState failed for "${focusName}", ` +
119
- `treating as not-audit-phase: ${err.message}`);
119
+ // ADVANCEMENT/LIVENESS read (focus ratification state) -> FAIL OPEN per the
120
+ // stated per-class policy: treat as not-audit-phase (false), so the team
121
+ // keeps working on a transient read error rather than being parked.
122
+ focusAuditPhase = advancementReadFailsOpen(`event-phases ratification "${focusName}"`, err, false);
120
123
  }
121
124
  }
122
125
  // Planning deliveries count as team-actionable ONLY on a non-audit-phase focus
@@ -1 +1 @@
1
- {"version":3,"file":"event-phases.js","sourceRoot":"","sources":["../../src/completion/event-phases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-phases.js","sourceRoot":"","sources":["../../src/completion/event-phases.ts"],"names":[],"mappings":"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"}