reflectt-node 0.1.14 → 0.1.16

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 (218) hide show
  1. package/README.md +54 -0
  2. package/defaults/TEAM-ROLES.starter.yaml +87 -0
  3. package/defaults/lane-templates/ops.json +32 -0
  4. package/defaults/lane-templates/workflow.json +32 -0
  5. package/defaults/reviewer-routing.yaml +34 -0
  6. package/dist/activationEvents.d.ts +7 -1
  7. package/dist/activationEvents.d.ts.map +1 -1
  8. package/dist/activationEvents.js +29 -3
  9. package/dist/activationEvents.js.map +1 -1
  10. package/dist/activity-stream-normalizer.d.ts +37 -0
  11. package/dist/activity-stream-normalizer.d.ts.map +1 -0
  12. package/dist/activity-stream-normalizer.js +101 -0
  13. package/dist/activity-stream-normalizer.js.map +1 -0
  14. package/dist/agent-exec-guardrail.d.ts +9 -0
  15. package/dist/agent-exec-guardrail.d.ts.map +1 -0
  16. package/dist/agent-exec-guardrail.js +24 -0
  17. package/dist/agent-exec-guardrail.js.map +1 -0
  18. package/dist/agent-exec-guardrail.test.d.ts +2 -0
  19. package/dist/agent-exec-guardrail.test.d.ts.map +1 -0
  20. package/dist/agent-exec-guardrail.test.js +55 -0
  21. package/dist/agent-exec-guardrail.test.js.map +1 -0
  22. package/dist/agent-interface.d.ts +137 -0
  23. package/dist/agent-interface.d.ts.map +1 -0
  24. package/dist/agent-interface.js +463 -0
  25. package/dist/agent-interface.js.map +1 -0
  26. package/dist/agent-notifications.d.ts +51 -0
  27. package/dist/agent-notifications.d.ts.map +1 -0
  28. package/dist/agent-notifications.js +104 -0
  29. package/dist/agent-notifications.js.map +1 -0
  30. package/dist/agent-runs.d.ts +31 -7
  31. package/dist/agent-runs.d.ts.map +1 -1
  32. package/dist/agent-runs.js +137 -28
  33. package/dist/agent-runs.js.map +1 -1
  34. package/dist/artifact-mirror.d.ts.map +1 -1
  35. package/dist/artifact-mirror.js +4 -1
  36. package/dist/artifact-mirror.js.map +1 -1
  37. package/dist/assignment.d.ts.map +1 -1
  38. package/dist/assignment.js +54 -2
  39. package/dist/assignment.js.map +1 -1
  40. package/dist/boardHealthWorker.d.ts.map +1 -1
  41. package/dist/boardHealthWorker.js +15 -1
  42. package/dist/boardHealthWorker.js.map +1 -1
  43. package/dist/canvas-auto-state.d.ts +58 -0
  44. package/dist/canvas-auto-state.d.ts.map +1 -0
  45. package/dist/canvas-auto-state.js +89 -0
  46. package/dist/canvas-auto-state.js.map +1 -0
  47. package/dist/canvas-routes.d.ts +36 -0
  48. package/dist/canvas-routes.d.ts.map +1 -0
  49. package/dist/canvas-routes.js +47 -0
  50. package/dist/canvas-routes.js.map +1 -0
  51. package/dist/capability-readiness.d.ts +28 -0
  52. package/dist/capability-readiness.d.ts.map +1 -0
  53. package/dist/capability-readiness.js +162 -0
  54. package/dist/capability-readiness.js.map +1 -0
  55. package/dist/channels.d.ts.map +1 -1
  56. package/dist/channels.js +1 -0
  57. package/dist/channels.js.map +1 -1
  58. package/dist/cli.js +179 -4
  59. package/dist/cli.js.map +1 -1
  60. package/dist/cloud.d.ts +5 -0
  61. package/dist/cloud.d.ts.map +1 -1
  62. package/dist/cloud.js +485 -18
  63. package/dist/cloud.js.map +1 -1
  64. package/dist/comms-routing-policy.d.ts +31 -0
  65. package/dist/comms-routing-policy.d.ts.map +1 -0
  66. package/dist/comms-routing-policy.js +128 -0
  67. package/dist/comms-routing-policy.js.map +1 -0
  68. package/dist/config.d.ts.map +1 -1
  69. package/dist/config.js +1 -0
  70. package/dist/config.js.map +1 -1
  71. package/dist/continuity-loop.d.ts.map +1 -1
  72. package/dist/continuity-loop.js +26 -0
  73. package/dist/continuity-loop.js.map +1 -1
  74. package/dist/cost-enforcement.d.ts.map +1 -1
  75. package/dist/cost-enforcement.js +22 -0
  76. package/dist/cost-enforcement.js.map +1 -1
  77. package/dist/db.d.ts.map +1 -1
  78. package/dist/db.js +56 -5
  79. package/dist/db.js.map +1 -1
  80. package/dist/doctor.js +2 -2
  81. package/dist/e2e-loop-proof.test.js +11 -1
  82. package/dist/e2e-loop-proof.test.js.map +1 -1
  83. package/dist/events.d.ts +4 -2
  84. package/dist/events.d.ts.map +1 -1
  85. package/dist/events.js +22 -1
  86. package/dist/events.js.map +1 -1
  87. package/dist/executionSweeper.d.ts.map +1 -1
  88. package/dist/executionSweeper.js +155 -0
  89. package/dist/executionSweeper.js.map +1 -1
  90. package/dist/health.d.ts +21 -1
  91. package/dist/health.d.ts.map +1 -1
  92. package/dist/health.js +164 -19
  93. package/dist/health.js.map +1 -1
  94. package/dist/inbox.d.ts +4 -0
  95. package/dist/inbox.d.ts.map +1 -1
  96. package/dist/inbox.js +38 -1
  97. package/dist/inbox.js.map +1 -1
  98. package/dist/index.js +90 -14
  99. package/dist/index.js.map +1 -1
  100. package/dist/insight-auto-tagger.d.ts +58 -0
  101. package/dist/insight-auto-tagger.d.ts.map +1 -0
  102. package/dist/insight-auto-tagger.js +331 -0
  103. package/dist/insight-auto-tagger.js.map +1 -0
  104. package/dist/insight-task-bridge.d.ts +9 -0
  105. package/dist/insight-task-bridge.d.ts.map +1 -1
  106. package/dist/insight-task-bridge.js +43 -7
  107. package/dist/insight-task-bridge.js.map +1 -1
  108. package/dist/insights.d.ts +6 -0
  109. package/dist/insights.d.ts.map +1 -1
  110. package/dist/insights.js +13 -0
  111. package/dist/insights.js.map +1 -1
  112. package/dist/lane-config.d.ts.map +1 -1
  113. package/dist/lane-config.js +1 -0
  114. package/dist/lane-config.js.map +1 -1
  115. package/dist/lane-template-successor.d.ts +13 -0
  116. package/dist/lane-template-successor.d.ts.map +1 -0
  117. package/dist/lane-template-successor.js +132 -0
  118. package/dist/lane-template-successor.js.map +1 -0
  119. package/dist/local-whisper.d.ts +21 -0
  120. package/dist/local-whisper.d.ts.map +1 -0
  121. package/dist/local-whisper.js +137 -0
  122. package/dist/local-whisper.js.map +1 -0
  123. package/dist/macos-accessibility.d.ts +50 -0
  124. package/dist/macos-accessibility.d.ts.map +1 -0
  125. package/dist/macos-accessibility.js +185 -0
  126. package/dist/macos-accessibility.js.map +1 -0
  127. package/dist/manage.d.ts.map +1 -1
  128. package/dist/manage.js +47 -1
  129. package/dist/manage.js.map +1 -1
  130. package/dist/mcp.d.ts.map +1 -1
  131. package/dist/mcp.js +123 -0
  132. package/dist/mcp.js.map +1 -1
  133. package/dist/notification-worker.d.ts +66 -0
  134. package/dist/notification-worker.d.ts.map +1 -0
  135. package/dist/notification-worker.js +232 -0
  136. package/dist/notification-worker.js.map +1 -0
  137. package/dist/openclaw-usage-sync.d.ts +28 -0
  138. package/dist/openclaw-usage-sync.d.ts.map +1 -0
  139. package/dist/openclaw-usage-sync.js +161 -0
  140. package/dist/openclaw-usage-sync.js.map +1 -0
  141. package/dist/policy.js +1 -1
  142. package/dist/policy.js.map +1 -1
  143. package/dist/pr-link-reconciler.d.ts +61 -0
  144. package/dist/pr-link-reconciler.d.ts.map +1 -0
  145. package/dist/pr-link-reconciler.js +127 -0
  146. package/dist/pr-link-reconciler.js.map +1 -0
  147. package/dist/preflight.js +2 -2
  148. package/dist/presence-narrator.d.ts +52 -0
  149. package/dist/presence-narrator.d.ts.map +1 -0
  150. package/dist/presence-narrator.js +193 -0
  151. package/dist/presence-narrator.js.map +1 -0
  152. package/dist/presence.d.ts +2 -0
  153. package/dist/presence.d.ts.map +1 -1
  154. package/dist/presence.js +23 -3
  155. package/dist/presence.js.map +1 -1
  156. package/dist/product-observation-source.d.ts +52 -0
  157. package/dist/product-observation-source.d.ts.map +1 -0
  158. package/dist/product-observation-source.js +326 -0
  159. package/dist/product-observation-source.js.map +1 -0
  160. package/dist/reflection-automation.d.ts +25 -0
  161. package/dist/reflection-automation.d.ts.map +1 -1
  162. package/dist/reflection-automation.js +163 -42
  163. package/dist/reflection-automation.js.map +1 -1
  164. package/dist/review-autoclose.d.ts +62 -0
  165. package/dist/review-autoclose.d.ts.map +1 -0
  166. package/dist/review-autoclose.js +75 -0
  167. package/dist/review-autoclose.js.map +1 -0
  168. package/dist/routing-enforcement.test.js +32 -56
  169. package/dist/routing-enforcement.test.js.map +1 -1
  170. package/dist/sentry-webhook.d.ts +69 -0
  171. package/dist/sentry-webhook.d.ts.map +1 -0
  172. package/dist/sentry-webhook.js +88 -0
  173. package/dist/sentry-webhook.js.map +1 -0
  174. package/dist/sentry.d.ts +29 -0
  175. package/dist/sentry.d.ts.map +1 -0
  176. package/dist/sentry.js +86 -0
  177. package/dist/sentry.js.map +1 -0
  178. package/dist/server.d.ts.map +1 -1
  179. package/dist/server.js +5130 -233
  180. package/dist/server.js.map +1 -1
  181. package/dist/stale-candidate-reconciler.d.ts +69 -0
  182. package/dist/stale-candidate-reconciler.d.ts.map +1 -0
  183. package/dist/stale-candidate-reconciler.js +236 -0
  184. package/dist/stale-candidate-reconciler.js.map +1 -0
  185. package/dist/system-loop-state.d.ts +1 -1
  186. package/dist/system-loop-state.d.ts.map +1 -1
  187. package/dist/system-loop-state.js +1 -0
  188. package/dist/system-loop-state.js.map +1 -1
  189. package/dist/taskPrecheck.d.ts.map +1 -1
  190. package/dist/taskPrecheck.js +47 -2
  191. package/dist/taskPrecheck.js.map +1 -1
  192. package/dist/tasks.d.ts.map +1 -1
  193. package/dist/tasks.js +130 -0
  194. package/dist/tasks.js.map +1 -1
  195. package/dist/trust-events.d.ts +61 -0
  196. package/dist/trust-events.d.ts.map +1 -0
  197. package/dist/trust-events.js +148 -0
  198. package/dist/trust-events.js.map +1 -0
  199. package/dist/types.d.ts +1 -0
  200. package/dist/types.d.ts.map +1 -1
  201. package/dist/usage-tracking.d.ts +6 -0
  202. package/dist/usage-tracking.d.ts.map +1 -1
  203. package/dist/usage-tracking.js +14 -0
  204. package/dist/usage-tracking.js.map +1 -1
  205. package/dist/voice-sessions.d.ts +51 -0
  206. package/dist/voice-sessions.d.ts.map +1 -0
  207. package/dist/voice-sessions.js +143 -0
  208. package/dist/voice-sessions.js.map +1 -0
  209. package/dist/workflow-templates.d.ts.map +1 -1
  210. package/dist/workflow-templates.js +18 -3
  211. package/dist/workflow-templates.js.map +1 -1
  212. package/dist/working-contract.d.ts +22 -1
  213. package/dist/working-contract.d.ts.map +1 -1
  214. package/dist/working-contract.js +31 -2
  215. package/dist/working-contract.js.map +1 -1
  216. package/package.json +4 -4
  217. package/public/dashboard.js +12 -4
  218. package/public/docs.md +98 -10
@@ -2,6 +2,7 @@
2
2
  // Runtime cost-policy enforcement middleware
3
3
  import { getDb } from './db.js';
4
4
  import { checkCostCap } from './agent-config.js';
5
+ import { eventBus } from './events.js';
5
6
  export function getAgentSpend(agentId, opts) {
6
7
  const db = getDb();
7
8
  try {
@@ -57,6 +58,27 @@ export function enforcePolicy(agentId) {
57
58
  reason = 'Cost >80%. Monitor usage.';
58
59
  break;
59
60
  }
61
+ // Emit SSE events for enforcement actions (non-allow)
62
+ if (result.action !== 'allow') {
63
+ const now = Date.now();
64
+ eventBus.emit({
65
+ id: `cost-${now}-${Math.random().toString(36).slice(2, 8)}`,
66
+ type: 'canvas_render',
67
+ timestamp: now,
68
+ data: {
69
+ kind: `cost:${result.action}`,
70
+ agentId,
71
+ action: result.action,
72
+ dailySpend,
73
+ monthlySpend,
74
+ dailyRemaining: result.dailyRemaining,
75
+ monthlyRemaining: result.monthlyRemaining,
76
+ model: result.model,
77
+ effectiveModel,
78
+ reason,
79
+ },
80
+ });
81
+ }
60
82
  return { allowed: result.allowed, action: result.action, model: result.model, effectiveModel, reason, dailySpend, monthlySpend, dailyRemaining: result.dailyRemaining, monthlyRemaining: result.monthlyRemaining };
61
83
  }
62
84
  export function purgeUsageLog(maxAgeDays = 90) {
@@ -1 +1 @@
1
- {"version":3,"file":"cost-enforcement.js","sourceRoot":"","sources":["../src/cost-enforcement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost-enforcement.js","sourceRoot":"","sources":["../src/cost-enforcement.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,6CAA6C;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAuBtC,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,IAAyB;IACtE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,CAAA;QAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,6FAA6F,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAkC,CAAA;QAC1K,OAAO,GAAG,EAAE,KAAK,IAAI,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,CAAC,CAAA;IAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;IAC1G,OAAO,aAAa,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;IAC7F,OAAO,aAAa,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,EAAE,CAAC,OAAO,CAAC,iHAAiH,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;AACzO,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAyB;IACvD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,CAAA;QAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,8PAA8P,CAAC,CAAC,GAAG,CAAC,KAAK,CAAmH,CAAA;QACpZ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IACvK,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAA;IAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IAC9D,IAAI,cAAc,GAAG,MAAM,CAAC,KAAK,CAAA;IACjC,IAAI,MAAM,GAAkB,IAAI,CAAA;IAChC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,MAAM;YAAE,cAAc,GAAG,IAAI,CAAC;YAAC,MAAM,GAAG,oBAAoB,CAAC;YAAC,MAAK;QACxE,KAAK,WAAW;YAAE,cAAc,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,CAAC;YAAC,MAAM,GAAG,8BAA8B,cAAc,EAAE,CAAC;YAAC,MAAK;QACvI,KAAK,MAAM;YAAE,MAAM,GAAG,2BAA2B,CAAC;YAAC,MAAK;IAC1D,CAAC;IAED,sDAAsD;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAC3D,IAAI,EAAE,eAAsB;YAC5B,SAAS,EAAE,GAAG;YACd,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ,MAAM,CAAC,MAAM,EAAE;gBAC7B,OAAO;gBACP,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU;gBACV,YAAY;gBACZ,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,cAAc;gBACd,MAAM;aACP;SACF,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAA;AACpN,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,aAAqB,EAAE;IACnD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,QAAQ,CAAA;QACjD,OAAO,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAA;IACpF,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,CAAC,CAAA;IAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,EAAE,CAAC,IAAI,CAAC;;;;;;;;GAQP,CAAC,CAAA;AACJ,CAAC"}
package/dist/db.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AASrC;;GAEG;AACH,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CA8BzC;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAK9B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAwoBzD;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,GAC9D,MAAM,CA8BR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAO/D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAO1F;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAGxE;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAG9E;AAQD,wBAAgB,gBAAgB,IAAI,IAAI,CAevC;AAED,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AASrC;;GAEG;AACH,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CA8BzC;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAK9B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CA2rBzD;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,GAC9D,MAAM,CA8BR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAO/D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAO1F;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAGxE;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAG9E;AAQD,wBAAgB,gBAAgB,IAAI,IAAI,CAevC;AAED,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
package/dist/db.js CHANGED
@@ -578,11 +578,11 @@ export function runMigrations(db) {
578
578
  updated_at INTEGER NOT NULL
579
579
  );
580
580
  CREATE INDEX IF NOT EXISTS idx_agent_config_team ON agent_config(team_id);
581
- \`,
582
- },
583
- {
584
- version: 24,
585
- sql: \`
581
+ `,
582
+ },
583
+ {
584
+ version: 24,
585
+ sql: `
586
586
  -- Agent messages: Host-native agent-to-agent messaging
587
587
  CREATE TABLE IF NOT EXISTS agent_messages (
588
588
  id TEXT PRIMARY KEY,
@@ -633,6 +633,55 @@ export function runMigrations(db) {
633
633
  CREATE INDEX IF NOT EXISTS idx_webhook_payloads_agent ON webhook_payloads(agent_id, created_at) WHERE agent_id IS NOT NULL;
634
634
  CREATE INDEX IF NOT EXISTS idx_webhook_payloads_unprocessed ON webhook_payloads(processed, created_at) WHERE processed = 0; `,
635
635
  },
636
+ {
637
+ version: 26,
638
+ sql: `
639
+ -- Canvas session turns: write-through from in-memory Map for restart durability
640
+ CREATE TABLE IF NOT EXISTS canvas_sessions (
641
+ session_id TEXT NOT NULL,
642
+ role TEXT NOT NULL CHECK(role IN ('user','assistant')),
643
+ content TEXT NOT NULL,
644
+ ts INTEGER NOT NULL
645
+ );
646
+ CREATE INDEX IF NOT EXISTS idx_canvas_sessions_id_ts ON canvas_sessions(session_id, ts);
647
+ `,
648
+ },
649
+ {
650
+ version: 27,
651
+ sql: `
652
+ -- Agent notifications: structured notification delivery with ack workflow
653
+ CREATE TABLE IF NOT EXISTS agent_notifications (
654
+ id TEXT PRIMARY KEY,
655
+ target_agent TEXT NOT NULL,
656
+ source_agent TEXT,
657
+ type TEXT NOT NULL DEFAULT 'info',
658
+ title TEXT NOT NULL,
659
+ body TEXT,
660
+ priority TEXT NOT NULL DEFAULT 'medium',
661
+ status TEXT NOT NULL DEFAULT 'pending',
662
+ ack_decision TEXT,
663
+ ack_at INTEGER,
664
+ task_id TEXT,
665
+ metadata TEXT,
666
+ created_at INTEGER NOT NULL,
667
+ expires_at INTEGER
668
+ );
669
+ CREATE INDEX IF NOT EXISTS idx_agent_notif_target ON agent_notifications(target_agent, status);
670
+ CREATE INDEX IF NOT EXISTS idx_agent_notif_created ON agent_notifications(created_at);
671
+
672
+ -- Agent presence log: historical presence state for analytics
673
+ CREATE TABLE IF NOT EXISTS agent_presence_log (
674
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
675
+ agent TEXT NOT NULL,
676
+ status TEXT NOT NULL,
677
+ task TEXT,
678
+ focus_level TEXT,
679
+ metadata TEXT,
680
+ recorded_at INTEGER NOT NULL
681
+ );
682
+ CREATE INDEX IF NOT EXISTS idx_agent_presence_log_agent ON agent_presence_log(agent, recorded_at);
683
+ `,
684
+ },
636
685
  ];
637
686
  const insertMigration = db.prepare('INSERT INTO _migrations (version) VALUES (?)');
638
687
  for (const migration of migrations) {
@@ -669,6 +718,8 @@ export function runMigrations(db) {
669
718
  { version: 23, tables: ['agent_config'] },
670
719
  { version: 24, tables: ['agent_messages', 'artifacts'] },
671
720
  { version: 25, tables: ['webhook_payloads'] },
721
+ { version: 26, tables: ['canvas_sessions'] },
722
+ { version: 27, tables: ['agent_notifications', 'agent_presence_log'] },
672
723
  ];
673
724
  const existingTables = new Set(db.prepare("SELECT name FROM sqlite_master WHERE type='table'").all()
674
725
  .map(r => r.name));
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/dist/doctor.js CHANGED
@@ -72,7 +72,7 @@ export async function collectDoctorReport(input) {
72
72
  if (freshInstall) {
73
73
  hints.push('Server is not running. Start it with: reflectt start');
74
74
  hints.push('First time? Run: reflectt init && reflectt start');
75
- hints.push('Connect to cloud: https://app.reflectt.ai');
75
+ hints.push('Connect to cloud: https://api.reflectt.ai');
76
76
  hints.push('Dashboard: http://127.0.0.1:4445/dashboard (after starting)');
77
77
  }
78
78
  else if (setupMode) {
@@ -124,7 +124,7 @@ export function formatDoctorHuman(report) {
124
124
  lines.push(' reflectt doctor # Re-run diagnostics');
125
125
  lines.push('');
126
126
  lines.push('Connect to cloud:');
127
- lines.push(' https://app.reflectt.ai');
127
+ lines.push(' https://api.reflectt.ai');
128
128
  lines.push('');
129
129
  lines.push('Once running, your dashboard will be at:');
130
130
  lines.push(` ${report.baseUrl}/dashboard`);
@@ -52,10 +52,15 @@ describe('E2E Host Loop — trigger → run → decision → approval → comple
52
52
  eventType: 'review_requested',
53
53
  runId,
54
54
  payload: {
55
- action_required: 'Approve E2E loop test',
55
+ action_required: 'approve',
56
56
  urgency: 'normal',
57
57
  owner: 'ryan',
58
58
  prUrl: 'https://github.com/reflectt/reflectt-node/pull/e2e-test',
59
+ rationale: {
60
+ choice: 'request approval for E2E loop proof',
61
+ considered: ['host loop reached review point', 'approval path needs proof'],
62
+ constraint: 'must pass through real approval endpoint',
63
+ },
59
64
  },
60
65
  });
61
66
  assert.equal(status, 201);
@@ -71,6 +76,11 @@ describe('E2E Host Loop — trigger → run → decision → approval → comple
71
76
  decision: 'approve',
72
77
  reviewer: 'ryan',
73
78
  comment: 'LGTM — E2E proof approved',
79
+ rationale: {
80
+ choice: 'approve E2E loop proof',
81
+ considered: ['review request present', 'loop should prove approval path'],
82
+ constraint: 'keep to host-only proof path',
83
+ },
74
84
  });
75
85
  assert.equal(status, 200);
76
86
  console.log(' ✓ Approved by ryan');
@@ -1 +1 @@
1
- {"version":3,"file":"e2e-loop-proof.test.js","sourceRoot":"","sources":["../src/e2e-loop-proof.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"e2e-loop-proof.test.js","sourceRoot":"","sources":["../src/e2e-loop-proof.test.ts"],"names":[],"mappings":"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"}
package/dist/events.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import type { FastifyReply } from 'fastify';
11
11
  import type { AgentMessage, Task } from './types.js';
12
- export type EventType = 'message_posted' | 'task_created' | 'task_assigned' | 'task_updated' | 'memory_written' | 'presence_updated' | 'reflection_created' | 'insight_created' | 'canvas_input' | 'canvas_render';
12
+ export type EventType = 'message_posted' | 'task_created' | 'task_assigned' | 'task_updated' | 'memory_written' | 'presence_updated' | 'reflection_created' | 'insight_created' | 'canvas_input' | 'canvas_render' | 'canvas_burst' | 'canvas_spark' | 'canvas_milestone' | 'canvas_expression' | 'canvas_message' | 'canvas_push' | 'canvas_artifact' | 'canvas_takeover';
13
13
  export declare const VALID_EVENT_TYPES: Set<EventType>;
14
14
  export interface Event {
15
15
  id: string;
@@ -59,7 +59,9 @@ declare class EventBus {
59
59
  */
60
60
  setBatchConfig(batchWindowMs: number): void;
61
61
  /**
62
- * Emit an event to all matching subscriptions (with batching)
62
+ * Emit an event to all matching subscriptions (with batching).
63
+ * Canvas events (canvas_render, canvas_burst, canvas_spark, canvas_milestone, canvas_expression)
64
+ * are flushed immediately — they drive live visual experiences and must feel instant.
63
65
  */
64
66
  emit(event: Event): void;
65
67
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
package/dist/events.js CHANGED
@@ -11,6 +11,14 @@ export const VALID_EVENT_TYPES = new Set([
11
11
  'insight_created',
12
12
  'canvas_input',
13
13
  'canvas_render',
14
+ 'canvas_burst',
15
+ 'canvas_spark',
16
+ 'canvas_milestone',
17
+ 'canvas_expression',
18
+ 'canvas_message',
19
+ 'canvas_push',
20
+ 'canvas_artifact',
21
+ 'canvas_takeover',
14
22
  ]);
15
23
  class EventBus {
16
24
  subscriptions = new Map();
@@ -127,7 +135,9 @@ class EventBus {
127
135
  console.log(`[Events] Batch window set to ${batchWindowMs}ms`);
128
136
  }
129
137
  /**
130
- * Emit an event to all matching subscriptions (with batching)
138
+ * Emit an event to all matching subscriptions (with batching).
139
+ * Canvas events (canvas_render, canvas_burst, canvas_spark, canvas_milestone, canvas_expression)
140
+ * are flushed immediately — they drive live visual experiences and must feel instant.
131
141
  */
132
142
  emit(event) {
133
143
  // Add to log
@@ -147,6 +157,17 @@ class EventBus {
147
157
  console.error(`[EventBus] Internal listener '${id}' error:`, err);
148
158
  }
149
159
  }
160
+ // Canvas events bypass batching — flush immediately for sub-100ms render latency
161
+ const IMMEDIATE_TYPES = new Set(['canvas_render', 'canvas_burst', 'canvas_spark', 'canvas_milestone', 'canvas_expression', 'canvas_message', 'canvas_push', 'canvas_artifact']);
162
+ if (IMMEDIATE_TYPES.has(event.type)) {
163
+ if (this.batchTimer) {
164
+ clearTimeout(this.batchTimer);
165
+ this.batchTimer = null;
166
+ }
167
+ this.pendingEvents.push(event);
168
+ this.flushBatch();
169
+ return;
170
+ }
150
171
  // Add to pending batch
151
172
  this.pendingEvents.push(event);
152
173
  // Clear existing timer
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,4BAA4B;AA2B5B,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAY;IAClD,gBAAgB;IAChB,cAAc;IACd,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,oBAAoB;IACpB,iBAAiB;IACjB,cAAc;IACd,eAAe;CAChB,CAAC,CAAA;AAoBF,MAAM,QAAQ;IACJ,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAA;IAC/C,iBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAA;IACvD,QAAQ,GAAY,EAAE,CAAA;IACtB,UAAU,GAAG,IAAI,CAAA;IACjB,aAAa,GAAG,IAAI,CAAA,CAAC,qBAAqB;IAC1C,aAAa,GAAY,EAAE,CAAA;IAC3B,UAAU,GAA0B,IAAI,CAAA;IACxC,cAAc,GAA0B,IAAI,CAAA;IAC5C,MAAM,CAAU,qBAAqB,GAAG,KAAK,CAAA,CAAC,0BAA0B;IAEhF;QACE,IAAI,CAAC,cAAc,EAAE,CAAA;IACvB,CAAC;IAED;;;OAGG;IACK,cAAc;QACpB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;wBAC7B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;oBACrD,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBAC/B,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAA;QAClC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC5B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,EAAE,CAAC,UAAkB,EAAE,QAA0B;QAC/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAClD,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,UAAkB;QACpB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAmB,EAAE,KAAc,EAAE,MAAiB,EAAE,KAAgB;QAChF,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;QAEzE,qBAAqB;QACrB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACvB,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,UAAU;YAC3B,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAA;QAEF,uEAAuE;QACvE,MAAM,UAAU,GAAgB,CAAC,KAAK,IAAI,EAAE,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAe,CAAC;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAExC,MAAM,YAAY,GAAiB;YACjC,EAAE;YACF,KAAK;YACL,KAAK;YACL,MAAM;YACN,KAAK,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACrD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAA;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;QAExC,gCAAgC;QAChC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACpB,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;YACvB,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE;gBACJ,OAAO,EAAE,2CAA2C,EAAE,GAAG;gBACzD,KAAK;gBACL,MAAM;gBACN,KAAK,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;aACtD;SACF,CAAC,CAAA;QAEF,oBAAoB;QACpB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACzB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC7B,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,YAAY,IAAI,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAA;QAC1F,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,YAAY,KAAK,IAAI,KAAK,aAAa,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAA;QAEhL,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAA;IAC9C,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,aAAqB;QAClC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACvD,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,gCAAgC,aAAa,IAAI,CAAC,CAAA;IAChE,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,KAAY;QACf,aAAa;QACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;QAED,gDAAgD;QAChD,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC9B,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;oBAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;gBACxF,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAE9B,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/B,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,UAAU,EAAE,CAAA;QACnB,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;IACxB,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA;QACtC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QAEtB,yDAAyD;QACzD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACvB,IAAI,IAAI,GAAG,CAAC,CAAA;YACZ,KAAK,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpD,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC;wBACH,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;wBACzC,IAAI,EAAE,CAAA;oBACR,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;wBACvD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,IAAI,OAAO,IAAI,cAAc,CAAC,CAAA;YACtE,CAAC;YACD,OAAM;QACR,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,KAAK,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACpD,sCAAsC;YACtC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;YAEtF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;oBACvD,IAAI,EAAE,CAAA;gBACR,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;oBAC7D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,MAAM,cAAc,IAAI,cAAc,CAAC,CAAA;QACzF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,YAA0B,EAAE,KAAY;QAC5D,sEAAsE;QACtE,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,IAAI,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,gCAAgC;YAC5E,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACpC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CACzD,EAAE,CAAC;gBACF,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAW,CAAA;YAE9B,2CAA2C;YAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC3E,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACpC,+CAA+C;gBAC/C,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;oBAC9C,OAAO,KAAK,CAAA;gBACd,CAAC;gBACD,uEAAuE;gBACvE,sEAAsE;gBACtE,+EAA+E;gBAC/E,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC3D,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,KAAK,KAAK,EAAE,GAAG,CAAC,CAAA;oBACnE,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;oBAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,OAAO,KAAK,CAAA;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;gBACzE,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,KAAmB,EAAE,KAAY;QACjD,MAAM,OAAO,GAAG,UAAU,KAAK,CAAC,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,MAAM,CAAA;QAChG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,KAAmB,EAAE,MAAe;QACzD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC,CAAA;QACH,MAAM,OAAO,GAAG,uBAAuB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAA;QACtE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC9B,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjE,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,SAAS;aACxC,CAAC,CAAC;SACJ,CAAA;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,OAAqB;QACrC,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAClE,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,OAAO;SACd,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAU;QACxB,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAClE,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAAU;QACzB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBAClE,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAU,EAAE,OAAgC;QAC1D,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAClE,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,OAAO;aACR;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,KAAa,EAAE,QAAgB,EAAE,IAAY;QAC7D,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAClE,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE;gBACJ,KAAK;gBACL,QAAQ;gBACR,IAAI;aACL;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,QAAa;QAC/B,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAClE,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAA4D;QACpE,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE/B,sBAAsB;QACtB,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,KAAM,CAAC,CAAA;QAC5D,CAAC;QAED,gDAAgD;QAChD,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACzB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAW,CAAA;gBAE1B,6CAA6C;gBAC7C,OAAO,CACL,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;oBAC5B,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK;oBAC3B,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK;oBACzB,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,KAAK;oBAC/B,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,CACjC,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,kCAAkC;QAClC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,GAAG,CAAA;QACnC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;QAEvC,OAAO,MAAM,CAAA;IACf,CAAC;;AAGH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"executionSweeper.d.ts","sourceRoot":"","sources":["../src/executionSweeper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionSweeper.d.ts","sourceRoot":"","sources":["../src/executionSweeper.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,13 @@ const ORPHAN_PR_THRESHOLD_MS = 2 * 60 * 60 * 1000; // 2 hours
93
93
  const ESCALATION_COOLDOWN_MS = 4 * 60 * 60 * 1000; // 4 hours
94
94
  /** Artifact grace period: validating tasks without artifacts after this are auto-rejected */
95
95
  const ARTIFACT_GRACE_MS = 24 * 60 * 60 * 1000; // 24 hours
96
+ /**
97
+ * Post-merge reviewer nudge: when PR is confirmed merged but reviewer hasn't acted,
98
+ * post a comment to nudge. Distinct from the SLA escalation alert.
99
+ */
100
+ const POST_MERGE_NUDGE_MS = 2 * 60 * 60 * 1000; // 2h after PR merged with no reviewer activity
101
+ /** Post-merge auto-close: PR merged + 24h stale — close regardless of review state */
102
+ const POST_MERGE_AUTOCLOSE_MS = 24 * 60 * 60 * 1000; // 24h
96
103
  /**
97
104
  * @deprecated Use formatDuration(ms) from format-duration.ts instead.
98
105
  * Kept temporarily for reference; all call sites now use formatDuration().
@@ -413,6 +420,40 @@ export async function sweepValidatingQueue() {
413
420
  }
414
421
  if (ageSinceActivity >= VALIDATING_CRITICAL_MS && effective?.level !== 'critical') {
415
422
  const prUrl = extractPrUrl(meta);
423
+ // ── PR-merged auto-close guard ────────────────────────────────────
424
+ // Before firing a reminder, check if the linked PR is already merged.
425
+ // If merged, auto-close the task instead of sending a stale alert.
426
+ if (prUrl) {
427
+ const liveState = checkLivePrState(prUrl);
428
+ if (liveState.state === 'merged') {
429
+ logDryRun('pr_merged_autoclose', `${task.id} — PR ${prUrl} is merged, auto-closing instead of escalating`);
430
+ try {
431
+ await taskManager.updateTask(task.id, {
432
+ status: 'done',
433
+ metadata: {
434
+ ...meta,
435
+ auto_closed: true,
436
+ auto_closed_at: now,
437
+ auto_close_reason: 'sweeper_pr_merged',
438
+ pr_merged: true,
439
+ sweeper_escalation_level: undefined,
440
+ sweeper_escalated_at: undefined,
441
+ sweeper_escalation_count: undefined,
442
+ },
443
+ });
444
+ autoClosedIds.add(task.id);
445
+ chatManager.sendMessage({
446
+ from: 'system',
447
+ channel: 'task-notifications',
448
+ content: `✅ Auto-closed "${task.title}" (${task.id}) — linked PR is merged. @${task.assignee || 'unassigned'} no action needed.`,
449
+ }).catch(() => { });
450
+ }
451
+ catch (err) {
452
+ logDryRun('pr_merged_autoclose_failed', `${task.id} — ${String(err)}`);
453
+ }
454
+ continue;
455
+ }
456
+ }
416
457
  const newCount = persistedCount + 1;
417
458
  violations.push({
418
459
  taskId: task.id,
@@ -435,6 +476,65 @@ export async function sweepValidatingQueue() {
435
476
  }
436
477
  else if (ageSinceActivity >= VALIDATING_SLA_MS && !effective) {
437
478
  const prUrl = extractPrUrl(meta);
479
+ // ── Post-merge reviewer SLA: nudge or auto-close ─────────────────
480
+ // When PR is confirmed merged, we don't need to escalate — we need
481
+ // the reviewer to sign off (or we auto-close after 24h).
482
+ //
483
+ // Tier A (2h): PR merged + no reviewer activity → nudge comment, skip SLA alert
484
+ // Tier B (24h): PR merged + stale → auto-close (done work shouldn't wait forever)
485
+ if (prUrl) {
486
+ const liveState = checkLivePrState(prUrl);
487
+ if (liveState.state === 'merged') {
488
+ // Tier B: 24h+ since last activity — auto-close regardless of review state
489
+ if (ageSinceActivity >= POST_MERGE_AUTOCLOSE_MS) {
490
+ logDryRun('pr_merged_autoclose_24h', `${task.id} — PR merged, 24h stale, auto-closing`);
491
+ try {
492
+ const reviewApproved = meta.reviewer_approved === true || meta.review_state === 'approved';
493
+ await taskManager.updateTask(task.id, {
494
+ status: 'done',
495
+ metadata: {
496
+ ...meta,
497
+ auto_closed: true,
498
+ auto_closed_at: now,
499
+ auto_close_reason: reviewApproved ? 'sweeper_pr_merged_review_approved' : 'sweeper_pr_merged_24h_stale',
500
+ pr_merged: true,
501
+ sweeper_escalation_level: undefined,
502
+ sweeper_escalated_at: undefined,
503
+ sweeper_escalation_count: undefined,
504
+ },
505
+ });
506
+ autoClosedIds.add(task.id);
507
+ await taskManager.addTaskComment(task.id, 'sweeper', `[auto-close] PR is merged and task has been in validating for ${Math.round(ageSinceActivity / 3_600_000 * 10) / 10}h without reviewer action. Closing as done. Reviewer: @${task.reviewer || 'unassigned'} — if this was premature, reopen.`);
508
+ chatManager.sendMessage({
509
+ from: 'system',
510
+ channel: 'task-notifications',
511
+ content: `✅ Auto-closed "${task.title}" (${task.id}) — PR merged + 24h stale. @${task.reviewer || 'unassigned'} reopen if needed.`,
512
+ }).catch(() => { });
513
+ }
514
+ catch (err) {
515
+ logDryRun('pr_merged_autoclose_failed', `${task.id} — ${String(err)}`);
516
+ }
517
+ continue;
518
+ }
519
+ // Tier A: 2h+ since last activity — post reviewer nudge (once)
520
+ if (ageSinceActivity >= POST_MERGE_NUDGE_MS && meta.post_merge_nudge_sent !== true) {
521
+ logDryRun('pr_merged_reviewer_nudge', `${task.id} — PR merged, nudging reviewer @${task.reviewer}`);
522
+ try {
523
+ taskManager.patchTaskMetadata(task.id, { post_merge_nudge_sent: true, post_merge_nudge_at: now });
524
+ await taskManager.addTaskComment(task.id, 'sweeper', `[reviewer-nudge] PR is confirmed merged but no reviewer activity in ${Math.round(ageSinceActivity / 60_000)}m. @${task.reviewer || 'unassigned'} — please review and close, or approve so this can auto-close. Will auto-close at 24h if no action.`);
525
+ chatManager.sendMessage({
526
+ from: 'system',
527
+ channel: 'task-notifications',
528
+ content: `📬 Reviewer nudge: "${task.title}" (${task.id}) PR is merged — @${task.reviewer || 'unassigned'} please review and close.`,
529
+ }).catch(() => { });
530
+ }
531
+ catch (err) {
532
+ logDryRun('pr_merged_nudge_failed', `${task.id} — ${String(err)}`);
533
+ }
534
+ }
535
+ continue; // don't fire SLA alert — PR is merged, work is done
536
+ }
537
+ }
438
538
  const newCount = persistedCount + 1;
439
539
  violations.push({
440
540
  taskId: task.id,
@@ -656,6 +756,27 @@ export function hasRequiredArtifacts(meta) {
656
756
  async function escalateViolations(violations) {
657
757
  if (violations.length === 0)
658
758
  return;
759
+ // ── Race-guard: drop violations for tasks that have since closed or been approved ──
760
+ // Between sweep snapshot and dispatch, a task may have transitioned to done/cancelled
761
+ // or received reviewer approval. Sending pings for closed/approved tasks wastes agent
762
+ // cycles and erodes trust in review notifications.
763
+ const liveViolations = violations.filter(v => {
764
+ const lookup = taskManager.resolveTaskId(v.taskId);
765
+ if (!lookup.task)
766
+ return false; // task deleted — suppress
767
+ const { status, metadata } = lookup.task;
768
+ if (status === 'done' || status === 'cancelled')
769
+ return false; // already closed
770
+ const meta = (metadata || {});
771
+ if (meta.reviewer_approved === true || meta.review_state === 'approved')
772
+ return false; // already approved
773
+ return true;
774
+ });
775
+ if (liveViolations.length === 0) {
776
+ logDryRun('sweeper_digest_suppressed_race', `all ${violations.length} violation(s) stale at dispatch time`);
777
+ return;
778
+ }
779
+ violations = liveViolations;
659
780
  // Digest-level dedupe: don't re-emit the same digest repeatedly while unchanged.
660
781
  // Scope: process-local/in-memory only. The suppression window survives repeated
661
782
  // sweeps in the same runtime, but resets on process restart.
@@ -925,6 +1046,40 @@ export function startSweeper() {
925
1046
  (async () => {
926
1047
  const result = await sweepValidatingQueue();
927
1048
  escalateViolations(result.violations);
1049
+ // Slow-task detection + trust signal (distinct from explicit blocked)
1050
+ // Slow = doing >4h no activity. Blocked = explicit status change.
1051
+ // Host enforces this — no @kai escalation, just flag in task comment.
1052
+ try {
1053
+ const SLOW_THRESHOLD_MS = 4 * 60 * 60 * 1000; // 4h without any activity
1054
+ const TRUST_SIGNAL_THRESHOLD_MS = 60 * 60 * 1000; // 1h for trust signal (more sensitive)
1055
+ const now = Date.now();
1056
+ const doingTasks = taskManager.listTasks({ status: 'doing' });
1057
+ const { emitTrustEvent } = await import('./trust-events.js');
1058
+ for (const task of doingTasks) {
1059
+ const comments = taskManager.getTaskComments(task.id);
1060
+ const lastComment = comments.length > 0 ? comments[comments.length - 1] : null;
1061
+ const lastTs = lastComment?.timestamp ?? task.updatedAt ?? task.createdAt;
1062
+ const age = now - lastTs;
1063
+ // Trust signal: 1h silence
1064
+ if (age > TRUST_SIGNAL_THRESHOLD_MS) {
1065
+ emitTrustEvent({
1066
+ agentId: task.assignee || 'unknown',
1067
+ eventType: 'stale_status_claim',
1068
+ taskId: task.id,
1069
+ summary: `Task "${task.title}" in doing for ${Math.round(age / 60_000)}m without update`,
1070
+ context: { taskId: task.id, taskTitle: task.title, assignee: task.assignee, staleMs: age, lastCommentAt: lastTs },
1071
+ });
1072
+ }
1073
+ // Slow flag: 4h — post a comment to the task (not an escalation)
1074
+ if (age > SLOW_THRESHOLD_MS) {
1075
+ const alreadyFlagged = comments.some(c => c.author === 'sweeper' && typeof c.content === 'string' && c.content.includes('[slow-flag]'));
1076
+ if (!alreadyFlagged) {
1077
+ await taskManager.addTaskComment(task.id, 'sweeper', `[slow-flag] Task has been in doing for ${Math.round(age / 3_600_000 * 10) / 10}h without activity. Not blocked (no explicit status change) — just slow. Check GET /tasks/slow-blocked for full picture.`);
1078
+ }
1079
+ }
1080
+ }
1081
+ }
1082
+ catch { /* non-fatal */ }
928
1083
  // Todo hoarding sweep (runs alongside validating sweep)
929
1084
  try {
930
1085
  const { sweepTodoHoarding } = await import('./todoHoardingGuard.js');