@rubytech/create-realagent-code 0.1.604 → 0.1.606

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 (256) hide show
  1. package/dist/__tests__/claude-trust-seed.test.js +125 -0
  2. package/dist/claude-trust-seed.js +52 -0
  3. package/dist/index.js +68 -33
  4. package/package.json +1 -1
  5. package/payload/platform/lib/routine-templates/dist/roster.d.ts +30 -2
  6. package/payload/platform/lib/routine-templates/dist/roster.d.ts.map +1 -1
  7. package/payload/platform/lib/routine-templates/dist/roster.js +76 -32
  8. package/payload/platform/lib/routine-templates/dist/roster.js.map +1 -1
  9. package/payload/platform/lib/routine-templates/src/__tests__/roster.test.ts +0 -0
  10. package/payload/platform/lib/routine-templates/src/__tests__/seed.test.ts +22 -1
  11. package/payload/platform/lib/routine-templates/src/roster.ts +108 -35
  12. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +18 -3
  13. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +10 -0
  14. package/payload/platform/plugins/connector/PLUGIN.md +9 -1
  15. package/payload/platform/plugins/connector/mcp/dist/__tests__/queue-descriptor.test.d.ts +2 -0
  16. package/payload/platform/plugins/connector/mcp/dist/__tests__/queue-descriptor.test.d.ts.map +1 -0
  17. package/payload/platform/plugins/connector/mcp/dist/__tests__/queue-descriptor.test.js +67 -0
  18. package/payload/platform/plugins/connector/mcp/dist/__tests__/queue-descriptor.test.js.map +1 -0
  19. package/payload/platform/plugins/connector/mcp/dist/index.js +36 -5
  20. package/payload/platform/plugins/connector/mcp/dist/index.js.map +1 -1
  21. package/payload/platform/plugins/connector/mcp/dist/lib/store.d.ts +35 -0
  22. package/payload/platform/plugins/connector/mcp/dist/lib/store.d.ts.map +1 -1
  23. package/payload/platform/plugins/connector/mcp/dist/lib/store.js +33 -0
  24. package/payload/platform/plugins/connector/mcp/dist/lib/store.js.map +1 -1
  25. package/payload/platform/plugins/connector/mcp/package.json +4 -2
  26. package/payload/platform/plugins/connector/mcp/vitest.config.ts +8 -0
  27. package/payload/platform/plugins/docs/references/admin-ui.md +15 -2
  28. package/payload/platform/plugins/docs/references/platform.md +2 -0
  29. package/payload/platform/plugins/email/PLUGIN.md +4 -0
  30. package/payload/platform/plugins/email/mcp/dist/sampler/__tests__/retention.test.d.ts +2 -0
  31. package/payload/platform/plugins/email/mcp/dist/sampler/__tests__/retention.test.d.ts.map +1 -0
  32. package/payload/platform/plugins/email/mcp/dist/sampler/__tests__/retention.test.js +233 -0
  33. package/payload/platform/plugins/email/mcp/dist/sampler/__tests__/retention.test.js.map +1 -0
  34. package/payload/platform/plugins/email/mcp/dist/sampler/main.js +19 -0
  35. package/payload/platform/plugins/email/mcp/dist/sampler/main.js.map +1 -1
  36. package/payload/platform/plugins/email/mcp/dist/sampler/retention-sources.d.ts +3 -0
  37. package/payload/platform/plugins/email/mcp/dist/sampler/retention-sources.d.ts.map +1 -0
  38. package/payload/platform/plugins/email/mcp/dist/sampler/retention-sources.js +146 -0
  39. package/payload/platform/plugins/email/mcp/dist/sampler/retention-sources.js.map +1 -0
  40. package/payload/platform/plugins/email/mcp/dist/sampler/retention.d.ts +150 -0
  41. package/payload/platform/plugins/email/mcp/dist/sampler/retention.d.ts.map +1 -0
  42. package/payload/platform/plugins/email/mcp/dist/sampler/retention.js +199 -0
  43. package/payload/platform/plugins/email/mcp/dist/sampler/retention.js.map +1 -0
  44. package/payload/platform/plugins/scheduling/PLUGIN.md +8 -1
  45. package/payload/platform/plugins/scheduling/mcp/dist/index.js +1 -1
  46. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  47. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-gate-write.test.js +40 -0
  48. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-gate-write.test.js.map +1 -1
  49. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js +322 -4
  50. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js.map +1 -1
  51. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts.map +1 -1
  52. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +21 -1
  53. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
  54. package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.d.ts +236 -6
  55. package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.d.ts.map +1 -1
  56. package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.js +452 -7
  57. package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.js.map +1 -1
  58. package/payload/platform/services/claude-session-manager/dist/claude-trust-census.d.ts +34 -0
  59. package/payload/platform/services/claude-session-manager/dist/claude-trust-census.d.ts.map +1 -0
  60. package/payload/platform/services/claude-session-manager/dist/claude-trust-census.js +83 -0
  61. package/payload/platform/services/claude-session-manager/dist/claude-trust-census.js.map +1 -0
  62. package/payload/platform/services/claude-session-manager/dist/index.js +13 -0
  63. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  64. package/payload/server/public/activity.html +6 -6
  65. package/payload/server/public/agents.html +5 -5
  66. package/payload/server/public/assets/AdminLoginScreens-DuQ3ax5U.js +1 -0
  67. package/payload/server/public/assets/AdminLoginScreens-DuQ3ax5U.js.br +0 -0
  68. package/payload/server/public/assets/AdminLoginScreens-DuQ3ax5U.js.gz +0 -0
  69. package/payload/server/public/assets/AdminShell-1HyATV_t.js +3 -0
  70. package/payload/server/public/assets/AdminShell-1HyATV_t.js.br +0 -0
  71. package/payload/server/public/assets/AdminShell-1HyATV_t.js.gz +0 -0
  72. package/payload/server/public/assets/activity-C2qWlcJ5.js +1 -0
  73. package/payload/server/public/assets/activity-C2qWlcJ5.js.br +0 -0
  74. package/payload/server/public/assets/activity-C2qWlcJ5.js.gz +0 -0
  75. package/payload/server/public/assets/admin-DqpfY8-t.js +1 -0
  76. package/payload/server/public/assets/admin-DqpfY8-t.js.br +0 -0
  77. package/payload/server/public/assets/admin-DqpfY8-t.js.gz +0 -0
  78. package/payload/server/public/assets/agents-DoGVAjIT.js +1 -0
  79. package/payload/server/public/assets/agents-DoGVAjIT.js.br +0 -0
  80. package/payload/server/public/assets/agents-DoGVAjIT.js.gz +0 -0
  81. package/payload/server/public/assets/{browser-CqDBcKwU.js → browser-DjqS897k.js} +1 -1
  82. package/payload/server/public/assets/browser-DjqS897k.js.br +0 -0
  83. package/payload/server/public/assets/browser-DjqS897k.js.gz +0 -0
  84. package/payload/server/public/assets/calendar-DJeOm0WS.js +1 -0
  85. package/payload/server/public/assets/calendar-DJeOm0WS.js.br +0 -0
  86. package/payload/server/public/assets/calendar-DJeOm0WS.js.gz +0 -0
  87. package/payload/server/public/assets/chat-BrRE0Dck.js +1 -0
  88. package/payload/server/public/assets/chat-BrRE0Dck.js.br +0 -0
  89. package/payload/server/public/assets/chat-BrRE0Dck.js.gz +0 -0
  90. package/payload/server/public/assets/chevron-left-D9z1aK3p.js +1 -0
  91. package/payload/server/public/assets/chevron-left-D9z1aK3p.js.br +0 -0
  92. package/payload/server/public/assets/clock-BqHWMICF.js +1 -0
  93. package/payload/server/public/assets/clock-BqHWMICF.js.br +0 -0
  94. package/payload/server/public/assets/clock-BqHWMICF.js.gz +0 -0
  95. package/payload/server/public/assets/copy-p9ZM9fnn.js +1 -0
  96. package/payload/server/public/assets/copy-p9ZM9fnn.js.br +0 -0
  97. package/payload/server/public/assets/copy-p9ZM9fnn.js.gz +0 -0
  98. package/payload/server/public/assets/data-CPsqW0qW.js +1 -0
  99. package/payload/server/public/assets/data-CPsqW0qW.js.br +0 -0
  100. package/payload/server/public/assets/data-CPsqW0qW.js.gz +0 -0
  101. package/payload/server/public/assets/{field-X4OVA3vx.js → field-WRk67lvr.js} +1 -1
  102. package/payload/server/public/assets/field-WRk67lvr.js.br +0 -0
  103. package/payload/server/public/assets/field-WRk67lvr.js.gz +0 -0
  104. package/payload/server/public/assets/file-text-BJDCb334.js +1 -0
  105. package/payload/server/public/assets/file-text-BJDCb334.js.br +0 -0
  106. package/payload/server/public/assets/file-text-BJDCb334.js.gz +0 -0
  107. package/payload/server/public/assets/{graph-l7tzHqvm.js → graph-CAU2xh2Z.js} +2 -2
  108. package/payload/server/public/assets/graph-CAU2xh2Z.js.br +0 -0
  109. package/payload/server/public/assets/graph-CAU2xh2Z.js.gz +0 -0
  110. package/payload/server/public/assets/graph-labels-CEDmX7qW.js +1 -0
  111. package/payload/server/public/assets/graph-labels-CEDmX7qW.js.br +0 -0
  112. package/payload/server/public/assets/graph-labels-CEDmX7qW.js.gz +0 -0
  113. package/payload/server/public/assets/{jsx-runtime-bq0g4NlA.css → jsx-runtime-hPFGo4rC.css} +1 -1
  114. package/payload/server/public/assets/jsx-runtime-hPFGo4rC.css.br +0 -0
  115. package/payload/server/public/assets/{jsx-runtime-bq0g4NlA.css.gz → jsx-runtime-hPFGo4rC.css.gz} +0 -0
  116. package/payload/server/public/assets/{operator-Dg-dwf7a.js → operator-1WFztEQA.js} +1 -1
  117. package/payload/server/public/assets/operator-1WFztEQA.js.br +0 -0
  118. package/payload/server/public/assets/operator-1WFztEQA.js.gz +0 -0
  119. package/payload/server/public/assets/page-B72XigcU.js +32 -0
  120. package/payload/server/public/assets/page-B72XigcU.js.br +0 -0
  121. package/payload/server/public/assets/page-B72XigcU.js.gz +0 -0
  122. package/payload/server/public/assets/page-nT8l_cX1.js +1 -0
  123. package/payload/server/public/assets/page-nT8l_cX1.js.br +0 -0
  124. package/payload/server/public/assets/page-nT8l_cX1.js.gz +0 -0
  125. package/payload/server/public/assets/play-CYqOCqm6.js +1 -0
  126. package/payload/server/public/assets/play-CYqOCqm6.js.br +0 -0
  127. package/payload/server/public/assets/play-CYqOCqm6.js.gz +0 -0
  128. package/payload/server/public/assets/public-DAea6w7w.js +1 -0
  129. package/payload/server/public/assets/public-DAea6w7w.js.br +0 -0
  130. package/payload/server/public/assets/public-DAea6w7w.js.gz +0 -0
  131. package/payload/server/public/assets/rotate-ccw-CqlRlGsY.js +1 -0
  132. package/payload/server/public/assets/rotate-ccw-CqlRlGsY.js.br +0 -0
  133. package/payload/server/public/assets/rotate-ccw-CqlRlGsY.js.gz +0 -0
  134. package/payload/server/public/assets/{routines-6fxZNacQ.js → routines-vy5xsyqx.js} +2 -2
  135. package/payload/server/public/assets/routines-vy5xsyqx.js.br +0 -0
  136. package/payload/server/public/assets/routines-vy5xsyqx.js.gz +0 -0
  137. package/payload/server/public/assets/{skills-51mqx-s5.js → skills-X7FTilVy.js} +1 -1
  138. package/payload/server/public/assets/skills-X7FTilVy.js.br +0 -0
  139. package/payload/server/public/assets/skills-X7FTilVy.js.gz +0 -0
  140. package/payload/server/public/assets/tasks-BXx_jk_p.js +3 -0
  141. package/payload/server/public/assets/tasks-BXx_jk_p.js.br +0 -0
  142. package/payload/server/public/assets/tasks-BXx_jk_p.js.gz +0 -0
  143. package/payload/server/public/assets/triangle-alert-CuWcGaRo.js +1 -0
  144. package/payload/server/public/assets/triangle-alert-CuWcGaRo.js.br +0 -0
  145. package/payload/server/public/assets/triangle-alert-CuWcGaRo.js.gz +0 -0
  146. package/payload/server/public/assets/{useCopyFeedback-BG7h37Rx.js → useCopyFeedback-DLSKs6r2.js} +1 -1
  147. package/payload/server/public/assets/useCopyFeedback-DLSKs6r2.js.br +0 -0
  148. package/payload/server/public/assets/useCopyFeedback-DLSKs6r2.js.gz +0 -0
  149. package/payload/server/public/assets/useMediaQuery-C_1CV_iW.js +6 -0
  150. package/payload/server/public/assets/useMediaQuery-C_1CV_iW.js.br +0 -0
  151. package/payload/server/public/assets/useMediaQuery-C_1CV_iW.js.gz +0 -0
  152. package/payload/server/public/assets/useVoiceRecorder-DBzM_HIx.js +2 -0
  153. package/payload/server/public/assets/useVoiceRecorder-DBzM_HIx.js.br +0 -0
  154. package/payload/server/public/assets/useVoiceRecorder-DBzM_HIx.js.gz +0 -0
  155. package/payload/server/public/assets/wrench-nDMQ6x-6.js +1 -0
  156. package/payload/server/public/assets/wrench-nDMQ6x-6.js.br +0 -0
  157. package/payload/server/public/assets/wrench-nDMQ6x-6.js.gz +0 -0
  158. package/payload/server/public/browser.html +5 -5
  159. package/payload/server/public/calendar.html +8 -8
  160. package/payload/server/public/chat.html +14 -14
  161. package/payload/server/public/data.html +12 -12
  162. package/payload/server/public/field.html +3 -3
  163. package/payload/server/public/graph.html +10 -10
  164. package/payload/server/public/index.html +14 -14
  165. package/payload/server/public/operator.html +15 -15
  166. package/payload/server/public/public.html +14 -14
  167. package/payload/server/public/routines.html +8 -8
  168. package/payload/server/public/skills.html +6 -6
  169. package/payload/server/public/tasks.html +7 -7
  170. package/payload/server/server.js +1 -1
  171. package/payload/server/public/assets/AdminLoginScreens-DI5bNlX8.js +0 -1
  172. package/payload/server/public/assets/AdminLoginScreens-DI5bNlX8.js.br +0 -0
  173. package/payload/server/public/assets/AdminLoginScreens-DI5bNlX8.js.gz +0 -0
  174. package/payload/server/public/assets/AdminShell-B-iX9ahJ.js +0 -3
  175. package/payload/server/public/assets/AdminShell-B-iX9ahJ.js.br +0 -0
  176. package/payload/server/public/assets/AdminShell-B-iX9ahJ.js.gz +0 -0
  177. package/payload/server/public/assets/activity-CqgFwANo.js +0 -1
  178. package/payload/server/public/assets/activity-CqgFwANo.js.br +0 -0
  179. package/payload/server/public/assets/activity-CqgFwANo.js.gz +0 -0
  180. package/payload/server/public/assets/admin-K63n6ybW.js +0 -1
  181. package/payload/server/public/assets/admin-K63n6ybW.js.br +0 -0
  182. package/payload/server/public/assets/admin-K63n6ybW.js.gz +0 -0
  183. package/payload/server/public/assets/agents-cue5Zf8X.js +0 -1
  184. package/payload/server/public/assets/agents-cue5Zf8X.js.br +0 -0
  185. package/payload/server/public/assets/agents-cue5Zf8X.js.gz +0 -0
  186. package/payload/server/public/assets/browser-CqDBcKwU.js.br +0 -0
  187. package/payload/server/public/assets/browser-CqDBcKwU.js.gz +0 -0
  188. package/payload/server/public/assets/calendar-BgzuW5Rt.js +0 -1
  189. package/payload/server/public/assets/calendar-BgzuW5Rt.js.br +0 -0
  190. package/payload/server/public/assets/calendar-BgzuW5Rt.js.gz +0 -0
  191. package/payload/server/public/assets/chat-HYZViu2u.js +0 -1
  192. package/payload/server/public/assets/chat-HYZViu2u.js.br +0 -3
  193. package/payload/server/public/assets/chat-HYZViu2u.js.gz +0 -0
  194. package/payload/server/public/assets/chevron-left-C5FXH9r_.js +0 -1
  195. package/payload/server/public/assets/chevron-left-C5FXH9r_.js.br +0 -0
  196. package/payload/server/public/assets/clock-DxPtyejC.js +0 -1
  197. package/payload/server/public/assets/clock-DxPtyejC.js.br +0 -0
  198. package/payload/server/public/assets/clock-DxPtyejC.js.gz +0 -0
  199. package/payload/server/public/assets/copy-BNhZ0flH.js +0 -1
  200. package/payload/server/public/assets/copy-BNhZ0flH.js.br +0 -0
  201. package/payload/server/public/assets/copy-BNhZ0flH.js.gz +0 -0
  202. package/payload/server/public/assets/data-kCBB8Z4Z.js +0 -1
  203. package/payload/server/public/assets/data-kCBB8Z4Z.js.br +0 -0
  204. package/payload/server/public/assets/data-kCBB8Z4Z.js.gz +0 -0
  205. package/payload/server/public/assets/field-X4OVA3vx.js.br +0 -0
  206. package/payload/server/public/assets/field-X4OVA3vx.js.gz +0 -0
  207. package/payload/server/public/assets/file-text-BddO_2EI.js +0 -1
  208. package/payload/server/public/assets/file-text-BddO_2EI.js.br +0 -0
  209. package/payload/server/public/assets/file-text-BddO_2EI.js.gz +0 -0
  210. package/payload/server/public/assets/graph-l7tzHqvm.js.br +0 -0
  211. package/payload/server/public/assets/graph-l7tzHqvm.js.gz +0 -0
  212. package/payload/server/public/assets/graph-labels-CtFFq5W2.js +0 -1
  213. package/payload/server/public/assets/graph-labels-CtFFq5W2.js.br +0 -0
  214. package/payload/server/public/assets/graph-labels-CtFFq5W2.js.gz +0 -0
  215. package/payload/server/public/assets/jsx-runtime-bq0g4NlA.css.br +0 -0
  216. package/payload/server/public/assets/operator-Dg-dwf7a.js.br +0 -7
  217. package/payload/server/public/assets/operator-Dg-dwf7a.js.gz +0 -0
  218. package/payload/server/public/assets/page-Ci1bfIbs.js +0 -1
  219. package/payload/server/public/assets/page-Ci1bfIbs.js.br +0 -0
  220. package/payload/server/public/assets/page-Ci1bfIbs.js.gz +0 -0
  221. package/payload/server/public/assets/page-Y9JmFq0Q.js +0 -32
  222. package/payload/server/public/assets/page-Y9JmFq0Q.js.br +0 -0
  223. package/payload/server/public/assets/page-Y9JmFq0Q.js.gz +0 -0
  224. package/payload/server/public/assets/play-BSZVGpQT.js +0 -1
  225. package/payload/server/public/assets/play-BSZVGpQT.js.br +0 -0
  226. package/payload/server/public/assets/play-BSZVGpQT.js.gz +0 -0
  227. package/payload/server/public/assets/public-m66FAza_.js +0 -1
  228. package/payload/server/public/assets/public-m66FAza_.js.br +0 -0
  229. package/payload/server/public/assets/public-m66FAza_.js.gz +0 -0
  230. package/payload/server/public/assets/rotate-ccw-DTOJmOxB.js +0 -1
  231. package/payload/server/public/assets/rotate-ccw-DTOJmOxB.js.br +0 -0
  232. package/payload/server/public/assets/rotate-ccw-DTOJmOxB.js.gz +0 -0
  233. package/payload/server/public/assets/routines-6fxZNacQ.js.br +0 -0
  234. package/payload/server/public/assets/routines-6fxZNacQ.js.gz +0 -0
  235. package/payload/server/public/assets/skills-51mqx-s5.js.br +0 -0
  236. package/payload/server/public/assets/skills-51mqx-s5.js.gz +0 -0
  237. package/payload/server/public/assets/tasks-D4y-Cwa3.js +0 -3
  238. package/payload/server/public/assets/tasks-D4y-Cwa3.js.br +0 -0
  239. package/payload/server/public/assets/tasks-D4y-Cwa3.js.gz +0 -0
  240. package/payload/server/public/assets/triangle-alert-BzCjDFts.js +0 -1
  241. package/payload/server/public/assets/triangle-alert-BzCjDFts.js.br +0 -0
  242. package/payload/server/public/assets/triangle-alert-BzCjDFts.js.gz +0 -0
  243. package/payload/server/public/assets/useCopyFeedback-BG7h37Rx.js.br +0 -2
  244. package/payload/server/public/assets/useCopyFeedback-BG7h37Rx.js.gz +0 -0
  245. package/payload/server/public/assets/useMediaQuery-CqwktQr_.js +0 -6
  246. package/payload/server/public/assets/useMediaQuery-CqwktQr_.js.br +0 -0
  247. package/payload/server/public/assets/useMediaQuery-CqwktQr_.js.gz +0 -0
  248. package/payload/server/public/assets/useVoiceRecorder-CAZcUc1s.js +0 -2
  249. package/payload/server/public/assets/useVoiceRecorder-CAZcUc1s.js.br +0 -0
  250. package/payload/server/public/assets/useVoiceRecorder-CAZcUc1s.js.gz +0 -0
  251. package/payload/server/public/assets/wrench-B2WKLLQG.js +0 -1
  252. package/payload/server/public/assets/wrench-B2WKLLQG.js.br +0 -0
  253. package/payload/server/public/assets/wrench-B2WKLLQG.js.gz +0 -0
  254. /package/payload/server/public/assets/{jsx-runtime-UK6hgBWO.js → jsx-runtime-CvVXOszc.js} +0 -0
  255. /package/payload/server/public/assets/{jsx-runtime-UK6hgBWO.js.br → jsx-runtime-CvVXOszc.js.br} +0 -0
  256. /package/payload/server/public/assets/{jsx-runtime-UK6hgBWO.js.gz → jsx-runtime-CvVXOszc.js.gz} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention-sources.js","sourceRoot":"","sources":["../../src/sampler/retention-sources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * The configured retention period in whole days, or null.
3
+ *
4
+ * Null means PRUNE NOTHING, and every unreadable value resolves to it: unset,
5
+ * empty, zero, negative, fractional, non-numeric. Deletion is a thing the
6
+ * operator turns on per install, never a default, because the failure direction
7
+ * here is unrecoverable — the 2026-04-20 incident that ended autonomous graph
8
+ * hygiene rules is recorded at `memory/mcp/src/lib/graph-prune.ts:6`.
9
+ */
10
+ export declare function resolveRetentionDays(env: NodeJS.ProcessEnv): number | null;
11
+ /**
12
+ * The largest period this accepts, a hundred years.
13
+ *
14
+ * An upper bound and not only a lower one, because `cutoffIso` subtracts
15
+ * `days * 86_400_000` milliseconds and a value past the ±8.64e15 Date range
16
+ * yields an Invalid Date whose `toISOString()` throws. Without this, a fat-finger
17
+ * `EMAIL_RETENTION_DAYS` passes the integer guard and then throws once per
18
+ * account per cycle for ever, reported as a retention error rather than as the
19
+ * bad configuration it is. Anything beyond a century is a typo, and refusing it
20
+ * here prunes nothing, which is the same safe direction as every other
21
+ * unreadable value.
22
+ */
23
+ export declare const RETENTION_MAX_DAYS = 36500;
24
+ /**
25
+ * The instant a section must predate to be old enough to prune.
26
+ *
27
+ * Emitted through `toISOString()` because every `:Section.createdAt` is written
28
+ * the same way through a writer-owned key the ingest's reserved list forbids
29
+ * content from setting (`memory/mcp/src/tools/memory-ingest.ts:222-238`). Both
30
+ * sides therefore have the same fixed-width shape, which is what makes the
31
+ * lexical comparison in the Cypher equal to a chronological one.
32
+ */
33
+ export declare function cutoffIso(now: Date, days: number): string;
34
+ /** One routine's gate as the graph holds it. `gateArgs` is the JSON the gate
35
+ * tool receives, `{"eventId":…,"checks":[…]}`. */
36
+ export interface GateRow {
37
+ eventId: string;
38
+ gateArgs: string | null;
39
+ }
40
+ /** The routines watching each grain, by the `eventId` their flags carry. */
41
+ export interface InterestedSets {
42
+ section: string[];
43
+ archive: string[];
44
+ }
45
+ /**
46
+ * Which routines are interested in this account's email nodes, split by grain.
47
+ *
48
+ * A routine gated on `ConversationArchive` counts as interested in the sections
49
+ * underneath that archive (operator decision 2026-08-13): it reads them, so
50
+ * pruning one it has not flagged would strip content out from under a routine
51
+ * that never saw it. The two sets are consulted at different grains because that
52
+ * is where the dispatcher writes their flags — a `Section`-gated routine's id
53
+ * lands on the section, a `ConversationArchive`-gated routine's on the parent.
54
+ *
55
+ * A gate this cannot read contributes NOTHING and never throws. That is the safe
56
+ * direction in both halves: an unreadable gate shrinks the interested set, and a
57
+ * smaller set can only make MORE sections prunable — so it is paired with the
58
+ * empty-set rule in `sweepAccount`, which refuses to prune on a set of nobody.
59
+ */
60
+ export declare function interestedSets(rows: GateRow[]): InterestedSets;
61
+ /**
62
+ * One candidate: a section already filtered to `source:'email'` and to an age
63
+ * past the cutoff, carried with the two flag lists that decide it.
64
+ * `parentProcessedBy` is null when the section has no `:ConversationArchive`
65
+ * parent, which is a shape this sweep did not write and therefore keeps.
66
+ */
67
+ export interface AgedSection {
68
+ id: string;
69
+ processedBy: string[];
70
+ parentProcessedBy: string[] | null;
71
+ }
72
+ /**
73
+ * Split aged candidates into the ones every interested routine has finished with
74
+ * and a count of the ones still outstanding for somebody.
75
+ *
76
+ * Age is NOT re-checked here: the caller's Cypher filtered on the cutoff, so a
77
+ * row reaching this function is old enough by construction. The predicate is
78
+ * membership only.
79
+ *
80
+ * A flag from a routine that is no longer interested is ignored rather than
81
+ * required, because the set is derived from the gates that exist NOW. A deleted
82
+ * routine must not pin the archive for ever.
83
+ */
84
+ export declare function partitionAged(rows: AgedSection[], sets: InterestedSets): {
85
+ prunable: string[];
86
+ keptOutstanding: number;
87
+ };
88
+ /**
89
+ * The most candidates one account's sweep pulls per cycle.
90
+ *
91
+ * Bounded because this runs inside the sampler's 60-second loop and the aged set
92
+ * does not shrink on its own: only PRUNABLE rows leave it, so an account whose
93
+ * routines have stalled would otherwise grow an unbounded fetch for ever. The
94
+ * batch is ordered oldest-first, and a capped sweep drains across cycles.
95
+ * `capped=true` on the log line is what stops a truncated pass reading as a
96
+ * complete one.
97
+ */
98
+ export declare const RETENTION_CANDIDATE_CAP = 5000;
99
+ /**
100
+ * The graph operations the sweep needs, injected exactly as `SamplerDeps` is, so
101
+ * every branch above is testable without Neo4j and the Cypher lives in one place.
102
+ */
103
+ export interface RetentionDeps {
104
+ /** Distinct accountIds holding at least one `:Section {source:'email'}`. */
105
+ listEmailAccountIds: () => Promise<string[]>;
106
+ /** Every `:Event` on the account that carries a gate, enabled or suspended. */
107
+ listGateArgs: (accountId: string) => Promise<GateRow[]>;
108
+ /** Email sections older than `cutoff`, oldest first, with their flag lists. */
109
+ listAgedSections: (accountId: string, cutoff: string, limit: number) => Promise<AgedSection[]>;
110
+ /**
111
+ * Repair the `:NEXT` chain across the span and delete it, as ONE unit.
112
+ *
113
+ * A single call rather than a repair and a delete the sweep sequences itself,
114
+ * because the repair MERGEs `(p)-[:NEXT]->(target)` while `p`'s edge to the
115
+ * first doomed section still exists and relies on the delete to remove it. Two
116
+ * calls means a delete failure leaves `p` with two outgoing `:NEXT` edges and
117
+ * the reading order forked. Retrying next cycle recovers it only while the
118
+ * sections stay prunable, and a routine added in between makes them
119
+ * outstanding again, so the fork would persist with nothing left to fix it.
120
+ */
121
+ pruneSections: (accountId: string, ids: string[]) => Promise<{
122
+ repaired: number;
123
+ pruned: number;
124
+ }>;
125
+ now: () => Date;
126
+ log: (line: string) => void;
127
+ }
128
+ /**
129
+ * Sweep one account.
130
+ *
131
+ * The empty interested set is the load-bearing branch: it deletes NOTHING and
132
+ * says so. Read literally, "flagged by every interested routine" is vacuously
133
+ * true over an empty set, which on every install today — no shipped routine
134
+ * carries a `graph-unflagged` check until Task 2686 — would delete the whole
135
+ * email archive older than N on the first sweep. An empty set means nobody has
136
+ * consented to this data being processed, not that everybody has.
137
+ */
138
+ export declare function sweepAccount(deps: RetentionDeps, accountId: string, days: number): Promise<void>;
139
+ /**
140
+ * One retention pass over every account holding email sections.
141
+ *
142
+ * Accounts come from the DATA, not from the routine set: an account holding
143
+ * email and no routine is exactly the one whose `interested=0` line the operator
144
+ * needs to see, and enumerating from routines would make it invisible.
145
+ *
146
+ * One account's failure is named and never stops the next, matching the arms in
147
+ * `main.ts`.
148
+ */
149
+ export declare function runRetention(deps: RetentionDeps, env: NodeJS.ProcessEnv): Promise<void>;
150
+ //# sourceMappingURL=retention.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../../src/sampler/retention.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,IAAI,CAM1E;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;mDACmD;AACnD,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAqB9D;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACpC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EAAE,EACnB,IAAI,EAAE,cAAc,GACnB;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAcjD;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,+EAA+E;IAC/E,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,+EAA+E;IAC/E,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/F;;;;;;;;;;OAUG;IACH,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnG,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAsBf"}
@@ -0,0 +1,199 @@
1
+ // The standing email-retention sweep (Task 2685): the deterministic half of the
2
+ // sampler. Ingest writes every inbound message (Task 2682); this removes the
3
+ // sections every interested routine has finished with, so the graph stops
4
+ // growing without bound. Never an agent judgement about what is unwanted — the
5
+ // predicate is a set membership and an age, and nothing else.
6
+ /**
7
+ * The configured retention period in whole days, or null.
8
+ *
9
+ * Null means PRUNE NOTHING, and every unreadable value resolves to it: unset,
10
+ * empty, zero, negative, fractional, non-numeric. Deletion is a thing the
11
+ * operator turns on per install, never a default, because the failure direction
12
+ * here is unrecoverable — the 2026-04-20 incident that ended autonomous graph
13
+ * hygiene rules is recorded at `memory/mcp/src/lib/graph-prune.ts:6`.
14
+ */
15
+ export function resolveRetentionDays(env) {
16
+ const raw = env.EMAIL_RETENTION_DAYS;
17
+ if (raw === undefined || raw.trim() === "")
18
+ return null;
19
+ const n = Number(raw);
20
+ if (!Number.isInteger(n) || n <= 0 || n > RETENTION_MAX_DAYS)
21
+ return null;
22
+ return n;
23
+ }
24
+ /**
25
+ * The largest period this accepts, a hundred years.
26
+ *
27
+ * An upper bound and not only a lower one, because `cutoffIso` subtracts
28
+ * `days * 86_400_000` milliseconds and a value past the ±8.64e15 Date range
29
+ * yields an Invalid Date whose `toISOString()` throws. Without this, a fat-finger
30
+ * `EMAIL_RETENTION_DAYS` passes the integer guard and then throws once per
31
+ * account per cycle for ever, reported as a retention error rather than as the
32
+ * bad configuration it is. Anything beyond a century is a typo, and refusing it
33
+ * here prunes nothing, which is the same safe direction as every other
34
+ * unreadable value.
35
+ */
36
+ export const RETENTION_MAX_DAYS = 36_500;
37
+ /**
38
+ * The instant a section must predate to be old enough to prune.
39
+ *
40
+ * Emitted through `toISOString()` because every `:Section.createdAt` is written
41
+ * the same way through a writer-owned key the ingest's reserved list forbids
42
+ * content from setting (`memory/mcp/src/tools/memory-ingest.ts:222-238`). Both
43
+ * sides therefore have the same fixed-width shape, which is what makes the
44
+ * lexical comparison in the Cypher equal to a chronological one.
45
+ */
46
+ export function cutoffIso(now, days) {
47
+ return new Date(now.getTime() - days * 86_400_000).toISOString();
48
+ }
49
+ /**
50
+ * Which routines are interested in this account's email nodes, split by grain.
51
+ *
52
+ * A routine gated on `ConversationArchive` counts as interested in the sections
53
+ * underneath that archive (operator decision 2026-08-13): it reads them, so
54
+ * pruning one it has not flagged would strip content out from under a routine
55
+ * that never saw it. The two sets are consulted at different grains because that
56
+ * is where the dispatcher writes their flags — a `Section`-gated routine's id
57
+ * lands on the section, a `ConversationArchive`-gated routine's on the parent.
58
+ *
59
+ * A gate this cannot read contributes NOTHING and never throws. That is the safe
60
+ * direction in both halves: an unreadable gate shrinks the interested set, and a
61
+ * smaller set can only make MORE sections prunable — so it is paired with the
62
+ * empty-set rule in `sweepAccount`, which refuses to prune on a set of nobody.
63
+ */
64
+ export function interestedSets(rows) {
65
+ const section = new Set();
66
+ const archive = new Set();
67
+ for (const row of rows) {
68
+ if (!row.gateArgs)
69
+ continue;
70
+ let parsed;
71
+ try {
72
+ parsed = JSON.parse(row.gateArgs);
73
+ }
74
+ catch {
75
+ continue;
76
+ }
77
+ const checks = parsed?.checks;
78
+ if (!Array.isArray(checks))
79
+ continue;
80
+ for (const check of checks) {
81
+ const c = check;
82
+ if (c?.type !== "graph-unflagged")
83
+ continue;
84
+ if (c.label === "Section")
85
+ section.add(row.eventId);
86
+ else if (c.label === "ConversationArchive")
87
+ archive.add(row.eventId);
88
+ }
89
+ }
90
+ return { section: [...section], archive: [...archive] };
91
+ }
92
+ /**
93
+ * Split aged candidates into the ones every interested routine has finished with
94
+ * and a count of the ones still outstanding for somebody.
95
+ *
96
+ * Age is NOT re-checked here: the caller's Cypher filtered on the cutoff, so a
97
+ * row reaching this function is old enough by construction. The predicate is
98
+ * membership only.
99
+ *
100
+ * A flag from a routine that is no longer interested is ignored rather than
101
+ * required, because the set is derived from the gates that exist NOW. A deleted
102
+ * routine must not pin the archive for ever.
103
+ */
104
+ export function partitionAged(rows, sets) {
105
+ const prunable = [];
106
+ let keptOutstanding = 0;
107
+ for (const row of rows) {
108
+ const sectionDone = sets.section.every((id) => row.processedBy.includes(id));
109
+ // A missing parent fails this arm even when `sets.archive` is empty: an
110
+ // orphan section is a shape nothing here wrote, and keeping data is the
111
+ // recoverable direction.
112
+ const parent = row.parentProcessedBy;
113
+ const archiveDone = parent !== null && sets.archive.every((id) => parent.includes(id));
114
+ if (sectionDone && archiveDone)
115
+ prunable.push(row.id);
116
+ else
117
+ keptOutstanding += 1;
118
+ }
119
+ return { prunable, keptOutstanding };
120
+ }
121
+ /**
122
+ * The most candidates one account's sweep pulls per cycle.
123
+ *
124
+ * Bounded because this runs inside the sampler's 60-second loop and the aged set
125
+ * does not shrink on its own: only PRUNABLE rows leave it, so an account whose
126
+ * routines have stalled would otherwise grow an unbounded fetch for ever. The
127
+ * batch is ordered oldest-first, and a capped sweep drains across cycles.
128
+ * `capped=true` on the log line is what stops a truncated pass reading as a
129
+ * complete one.
130
+ */
131
+ export const RETENTION_CANDIDATE_CAP = 5000;
132
+ /**
133
+ * Sweep one account.
134
+ *
135
+ * The empty interested set is the load-bearing branch: it deletes NOTHING and
136
+ * says so. Read literally, "flagged by every interested routine" is vacuously
137
+ * true over an empty set, which on every install today — no shipped routine
138
+ * carries a `graph-unflagged` check until Task 2686 — would delete the whole
139
+ * email archive older than N on the first sweep. An empty set means nobody has
140
+ * consented to this data being processed, not that everybody has.
141
+ */
142
+ export async function sweepAccount(deps, accountId, days) {
143
+ const sets = interestedSets(await deps.listGateArgs(accountId));
144
+ const interested = sets.section.length + sets.archive.length;
145
+ // `repaired` rides on the line rather than being discarded: a repair that
146
+ // matched nothing while the delete still removed the sections leaves the chain
147
+ // broken, and the damage surfaces much later and elsewhere, when the next
148
+ // ingest picks one of two tailless sections and appends to the middle of a
149
+ // conversation. `pruned>0 repaired=0` on a non-prefix span is the signature.
150
+ const line = (pruned, keptOutstanding, repaired, capped) => deps.log(`op=email-retention account=${accountId} interested=${interested} ` +
151
+ `pruned=${pruned} kept-outstanding=${keptOutstanding} repaired=${repaired} ` +
152
+ `ageDays=${days}` +
153
+ (capped ? " capped=true" : ""));
154
+ if (interested === 0) {
155
+ line(0, 0, 0, false);
156
+ return;
157
+ }
158
+ const cutoff = cutoffIso(deps.now(), days);
159
+ const rows = await deps.listAgedSections(accountId, cutoff, RETENTION_CANDIDATE_CAP);
160
+ const capped = rows.length >= RETENTION_CANDIDATE_CAP;
161
+ const { prunable, keptOutstanding } = partitionAged(rows, sets);
162
+ if (prunable.length === 0) {
163
+ line(0, keptOutstanding, 0, capped);
164
+ return;
165
+ }
166
+ const { repaired, pruned } = await deps.pruneSections(accountId, prunable);
167
+ line(pruned, keptOutstanding, repaired, capped);
168
+ }
169
+ /**
170
+ * One retention pass over every account holding email sections.
171
+ *
172
+ * Accounts come from the DATA, not from the routine set: an account holding
173
+ * email and no routine is exactly the one whose `interested=0` line the operator
174
+ * needs to see, and enumerating from routines would make it invisible.
175
+ *
176
+ * One account's failure is named and never stops the next, matching the arms in
177
+ * `main.ts`.
178
+ */
179
+ export async function runRetention(deps, env) {
180
+ const days = resolveRetentionDays(env);
181
+ if (days === null) {
182
+ // Emitted every cycle, deliberately. Falling silent when the period is unset
183
+ // would make "retention is switched off" and "the sweep never ran" the same
184
+ // observation, which is the one distinction an operator reading this log
185
+ // needs and the reason every other pass here reports its zero.
186
+ deps.log("op=email-retention account=- interested=0 pruned=0 kept-outstanding=0 repaired=0 ageDays=unset");
187
+ return;
188
+ }
189
+ const accountIds = await deps.listEmailAccountIds();
190
+ for (const accountId of accountIds) {
191
+ try {
192
+ await sweepAccount(deps, accountId, days);
193
+ }
194
+ catch (e) {
195
+ deps.log(`op=email-retention-error account=${accountId} detail=${e instanceof Error ? e.message : String(e)}`);
196
+ }
197
+ }
198
+ }
199
+ //# sourceMappingURL=retention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention.js","sourceRoot":"","sources":["../../src/sampler/retention.ts"],"names":[],"mappings":"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"}
@@ -334,13 +334,20 @@ A **`telegram`** check answers whether any of the account's Telegram conversatio
334
334
 
335
335
  **Name `botId` to watch one bot.** Without it the check answers for every bot on the account, so a routine watching a booking bot also wakes for a relay bot beside it, and the turn then filters away work it was woken for. `botId` is the bot's numeric id as it appears in a conversation's `<botId>:<senderId>` key, never a bot token: a token is a credential and would land in the event's stored gate arguments and in every log line that prints them. An id the account does not hold is **refused by the probe and counts as work**, never as quiet — a gate that can never fire is the failure that loses a booking, and it would leave no error anywhere. Each scope keeps its own position, so narrowing an existing gate to one bot starts that bot fresh rather than inheriting a mark taken across all of them.
336
336
 
337
+ A **`connector`** check answers whether any connector this account registered, carrying a queue of the named kind, holds records changed since that connector's stored position. It takes `scope` and nothing else — `operational` or `accounting` — because the queue itself is described once on the connector's own registry record (`connector-register`'s `queue`: its kind, the path to read, the query parameter that carries the watermark, and the response field holding the records). That split is what lets a shipped routine template gate on a third-party system at all: the template names a kind, the account names the queue, and no per-account value ever reaches the template. The gate reads it by calling the connector plugin's own `connector-list` and `connector-call`, so the credential, the host binding and the SSRF guard never leave that plugin. The position is per connector name and is the instant the probe started, not a timestamp taken from a record, because the descriptor names no per-record timestamp field: a record written while the probe is in flight is reported again on the next fire rather than skipped. A connector with no stored position is a first run — it reports work and records the instant without calling the queue, since an unfiltered read is exactly the response `connector-call` caps, and a capped body cannot be counted.
338
+
339
+ **Three connector cases answer quiet, and each says so.** No connector plugin installed, no registered queue of that kind, and an HTTP 401 or 403 from the queue all report no work and record no position, logging `[scheduling-gate] op=connector-quiet reason=no-plugin|no-queue|unauthorised`. This is the only place in the vocabulary where a source that could not be read answers quiet, and it is deliberate: an absent or unauthorised connector is a fact about the account, not an outage, and waking a model to rediscover it every fire is what the check removes. The line is what keeps that from becoming a silent mute. Every other failure counts as work and fires, exactly as elsewhere: any other non-2xx, a timeout, a body that is not JSON, and an items field that is not an array. A body the connector truncated is the one middle case: it cannot be counted, but the cap proves the queue moved, so it reports work **and** records the position — recording none would leave the same window in place to truncate again on every fire, with no path back to quiet. A scope outside the two kinds is refused when the gate is written (`reason=unknown-connector-scope`), because it would match no queue and answer quiet for ever.
340
+ A **`sweep`** check answers whether the memory sweep's state has moved. It digests the account's `:OrphanCandidate` count, its `:CitationProposal` count, and whether the newest `dream-cycle` `:Report` is more than 26 hours old, and compares that digest against the stored one the way the `calendar` check compares its busy-set digest. The newest report's identity is deliberately not in the digest: the sweep runs hourly and `graph-health` is proposed weekly, so a digest that moved on every sweep run would wake the routine on every fire. The staleness flag is what makes a sweep that stopped running a change, which a digest over the two queue counts alone could never report, and it makes this the only check whose value can change with the clock alone.
341
+
342
+ A **`filesystem`** check answers whether the account's own directory under `data/accounts/<id>` has grown by `minGrowthBytes` since the stored measurement, defaulting to 64 MiB. The walk never follows a symlink, so it cannot leave the account directory, and it stops at 200000 files. A walk that stopped at the cap has measured a floor rather than a total, so it reports work and records no position, logging `[scheduling-gate] op=fs-measure capped=true`: an account directory too large to measure wakes the routine on every fire, which is the honest answer. A missing account directory throws and counts as work rather than reading zero bytes, because a wrongly derived root that read zero would report "nothing grew" for ever. A `minGrowthBytes` that is not a positive integer is refused by the probe, since zero would make every fire pass.
343
+
337
344
  **A field the check does not read is refused when the gate is written**, naming the keys that type accepts. Every check type declares exactly the keys its probe reads; anything else used to be accepted and dropped, which made a gate look scoped while it behaved account-wide, with nothing anywhere saying so.
338
345
 
339
346
  **A check type outside that vocabulary is refused when the gate is written**, on create and on update, logging `[schedule-authoring] op=gate-refused … reason=unknown-check-type checks=<csv>`. Nothing inspected the type before this guard existed: such a gate stored cleanly, then threw inside the tool on every fire, and the dispatcher's fail-open spent a full model turn each time while `schedule-list` and `/routines` both read "gated". A row bound earlier now reports `[scheduling-gate] op=check-error kind=<type> treatedAs=has-work` instead of throwing out of the tool with no line at all.
340
347
 
341
348
  **The write proves the gate.** Every refusal above judges the gate's shape, and a gate naming a database that is not registered, a mailbox whose host does not resolve, or an account whose socket is down is well-formed and passes all of them. So the write runs the gate once and refuses it when any check throws, quoting the source's own message — the `HTTP 403`, the `getaddrinfo EAI_AGAIN`, the `fetch failed`. `hasWork` is not judged: both answers are correct at bind time, and refusing on `true` would refuse every gate bound while work is pending. A source that breaks *after* a proven bind still wakes the model, unchanged, because fail-open at dispatch is deliberate. Acceptance leaves `[schedule-authoring] op=gate-accepted eventId=… route=probed checks=…` naming every kind the gate carries, and refusal leaves `op=gate-refused eventId=… reason=check-unreachable checks=…` naming only the kinds that failed. The probe carries no timeout, matching the fire.
342
349
 
343
- **The platform advances the watermark, never the model.** `mail`, `calendar`, `telegram`, and `whatsapp` in `inbound` scope compare against a stored position. The dispatcher advances that position itself, immediately after the inject route accepts the wake it decided on, using the positions the gate returned in `observed`. A refused wake (`httpStatus` not 200) and a fail-open advance nothing, so work the model never received stays above the mark and the next fire reports it again. `d1` and `whatsapp` in `status` scope hold no position and nothing advances for them; because `d1` holds none, its statement must count only the rows that arrived since the previous fire — a running total or `SELECT COALESCE(MAX(id),0)` can never reach zero, so the gate passes on every fire and saves nothing.
350
+ **The platform advances the watermark, never the model.** `mail`, `calendar`, `telegram`, `connector`, and `whatsapp` in `inbound` scope compare against a stored position. The dispatcher advances that position itself, immediately after the inject route accepts the wake it decided on, using the positions the gate returned in `observed`. A refused wake (`httpStatus` not 200) and a fail-open advance nothing, so work the model never received stays above the mark and the next fire reports it again. `d1` and `whatsapp` in `status` scope hold no position and nothing advances for them; because `d1` holds none, its statement must count only the rows that arrived since the previous fire — a running total or `SELECT COALESCE(MAX(id),0)` can never reach zero, so the gate passes on every fire and saves nothing.
344
351
 
345
352
  Nothing is asked of the routine's prompt. There is no `commit` parameter, no write-time refusal for a gate carrying a watermarked check, and a prompt naming the tool does nothing. An earlier design made the agent's own turn the only writer of the mark, and a model that forgot the call, or made it against the eight-character prefix of its event id, left the routine waking every minute against a source that had not moved.
346
353
 
@@ -378,7 +378,7 @@ eagerTool(server, "schedule-update", "Update an event's properties or append a n
378
378
  // ---------------------------------------------------------------------------
379
379
  eagerTool(server, "scheduling-gate", "Precondition check for a scheduled routine: answers whether any of the named sources has new work, without running a turn. The dispatcher calls this headlessly before firing a gated routine and reads structuredContent.hasWork. It writes nothing. The platform advances the watermarks itself, after the wake it decided on was accepted, so a routine's own turn never has to record what it handled and never can get it wrong.", {
380
380
  eventId: z.string().describe("The gated routine's event ID. Names the watermark file, so it must match the binding."),
381
- checks: z.array(z.record(z.unknown())).describe("Checks to run. mail {type,mailbox,folder?,subjectPrefixes?} · d1 {type,database,sql} · whatsapp {type,scope:'inbound'|'status'} · calendar {type,connector} · telegram {type,scope:'inbound',botId?} · graph {type,scope:'appointments'} · graph-unflagged {type,label:'Section'|'ConversationArchive'}. graph-unflagged is the only check that holds no stored position: it counts the nodes of that label this routine has not yet flagged processed, and the platform flags exactly the counted set once the wake is accepted, so a node written between the check and the flag is still outstanding next fire rather than skipped. Section is written per ingest, so new content always arrives unflagged; ConversationArchive is merged per thread, so a reply into a thread this routine already flagged stays flagged. Any other type, and any field not listed here, is refused when the gate is written. Name botId to watch ONE bot: without it a telegram check answers for every bot on the account, so a routine watching a booking bot also wakes for a relay bot beside it. A botId the account does not hold is refused by the probe and counts as work, never as quiet. hasWork is true when ANY check is true. A d1 statement must count only the rows that arrived since the previous fire: this check holds no stored position and nothing advances for it, so a statement whose count cannot reach zero — a running total, or MAX(id) — makes the gate pass on every fire for ever."),
381
+ checks: z.array(z.record(z.unknown())).describe("Checks to run. mail {type,mailbox,folder?,subjectPrefixes?} · d1 {type,database,sql} · whatsapp {type,scope:'inbound'|'status'} · calendar {type,connector} · telegram {type,scope:'inbound',botId?} · graph {type,scope:'appointments'} · graph-unflagged {type,label:'Section'|'ConversationArchive'} · sweep {type} · filesystem {type,minGrowthBytes?}. A sweep check digests the memory sweep's two review-queue counts and whether its newest report is more than 26 hours old, so it wakes when a queue moves or the sweep stops running, never merely because the sweep ran again. A filesystem check measures the bytes under the account's own directory and reports work when they have grown by minGrowthBytes (64 MiB when omitted) since the last accepted wake; a walk that stops at its cap has measured a floor rather than a total, so it reports work and records no position. graph-unflagged is the only check that holds no stored position: it counts the nodes of that label this routine has not yet flagged processed, and the platform flags exactly the counted set once the wake is accepted, so a node written between the check and the flag is still outstanding next fire rather than skipped. Section is written per ingest, so new content always arrives unflagged; ConversationArchive is merged per thread, so a reply into a thread this routine already flagged stays flagged. Any other type, and any field not listed here, is refused when the gate is written. Name botId to watch ONE bot: without it a telegram check answers for every bot on the account, so a routine watching a booking bot also wakes for a relay bot beside it. A botId the account does not hold is refused by the probe and counts as work, never as quiet. hasWork is true when ANY check is true. A d1 statement must count only the rows that arrived since the previous fire: this check holds no stored position and nothing advances for it, so a statement whose count cannot reach zero — a running total, or MAX(id) — makes the gate pass on every fire for ever."),
382
382
  }, async (params) => {
383
383
  if (!accountId)
384
384
  return refuseNoAccount("scheduling-gate");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -502,6 +502,46 @@ describe("unknown gate check field", () => {
502
502
  expect(() => validateGate(gate, ctx())).not.toThrow();
503
503
  });
504
504
  });
505
+ // Task 2688 — a connector scope outside the two kinds a registered queue can
506
+ // carry. The probe asks the registry for queues of that kind and finds none, so
507
+ // the gate answers quiet on every fire: a routine that can never run, with
508
+ // nothing on any surface saying why.
509
+ describe("unknown connector scope", () => {
510
+ let scopeLines;
511
+ beforeEach(() => {
512
+ scopeLines = [];
513
+ vi.spyOn(console, "error").mockImplementation((line) => {
514
+ scopeLines.push(String(line));
515
+ });
516
+ });
517
+ it("is refused, naming the scope and both accepted kinds", () => {
518
+ const gate = gateWith([{ type: "connector", scope: "sales" }]);
519
+ expect(() => validateGate(gate, ctx())).toThrow(/sales/);
520
+ expect(() => validateGate(gate, ctx())).toThrow(/operational.*accounting/);
521
+ });
522
+ it("logs op=gate-refused so the refusal is greppable", () => {
523
+ try {
524
+ validateGate(gateWith([{ type: "connector", scope: "sales" }]), ctx());
525
+ }
526
+ catch {
527
+ /* asserted above */
528
+ }
529
+ const line = scopeLines.find((l) => l.includes("op=gate-refused"));
530
+ expect(line).toContain("reason=unknown-connector-scope");
531
+ expect(line).toContain("scopes=sales");
532
+ });
533
+ it("accepts both kinds", () => {
534
+ for (const scope of ["operational", "accounting"]) {
535
+ expect(() => validateGate(gateWith([{ type: "connector", scope }]), ctx())).not.toThrow();
536
+ }
537
+ });
538
+ it("refuses a connector check carrying a connector name, which no probe reads", () => {
539
+ // The account names the queue on its registry record; a name here would look
540
+ // scoped and behave as though it were not.
541
+ const gate = gateWith([{ type: "connector", scope: "operational", connector: "jobs" }]);
542
+ expect(() => validateGate(gate, ctx())).toThrow(/connector:connector/);
543
+ });
544
+ });
505
545
  // ---------------------------------------------------------------------------
506
546
  // Task 2658 — the four refusals above all judge the gate's SHAPE. A gate naming
507
547
  // an unregistered database, a mailbox whose host does not resolve, or an