visionclaw 0.1.217-beta.7 → 0.1.217

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 (199) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/agent/command-handlers.d.ts.map +1 -1
  3. package/dist/agent/command-handlers.js +20 -2
  4. package/dist/agent/command-handlers.js.map +1 -1
  5. package/dist/agent/context-refresh.d.ts.map +1 -1
  6. package/dist/agent/context-refresh.js +7 -11
  7. package/dist/agent/context-refresh.js.map +1 -1
  8. package/dist/agent/context.d.ts.map +1 -1
  9. package/dist/agent/context.js +7 -8
  10. package/dist/agent/context.js.map +1 -1
  11. package/dist/agent/engines/claude/session.d.ts.map +1 -1
  12. package/dist/agent/engines/claude/session.js +29 -12
  13. package/dist/agent/engines/claude/session.js.map +1 -1
  14. package/dist/agent/engines/pi/tools.d.ts.map +1 -1
  15. package/dist/agent/engines/pi/tools.js +3 -1
  16. package/dist/agent/engines/pi/tools.js.map +1 -1
  17. package/dist/agent/engines/pi-coding/session.d.ts.map +1 -1
  18. package/dist/agent/engines/pi-coding/session.js +14 -0
  19. package/dist/agent/engines/pi-coding/session.js.map +1 -1
  20. package/dist/agent/fast-responder.d.ts +20 -4
  21. package/dist/agent/fast-responder.d.ts.map +1 -1
  22. package/dist/agent/fast-responder.js +39 -9
  23. package/dist/agent/fast-responder.js.map +1 -1
  24. package/dist/agent/heartbeat-manager.d.ts +0 -3
  25. package/dist/agent/heartbeat-manager.d.ts.map +1 -1
  26. package/dist/agent/heartbeat-manager.js +0 -32
  27. package/dist/agent/heartbeat-manager.js.map +1 -1
  28. package/dist/agent/interrupt-handler.d.ts +6 -0
  29. package/dist/agent/interrupt-handler.d.ts.map +1 -1
  30. package/dist/agent/interrupt-handler.js +53 -3
  31. package/dist/agent/interrupt-handler.js.map +1 -1
  32. package/dist/agent/loop.d.ts.map +1 -1
  33. package/dist/agent/loop.js +59 -6
  34. package/dist/agent/loop.js.map +1 -1
  35. package/dist/agent/memory-protocol.d.ts +6 -10
  36. package/dist/agent/memory-protocol.d.ts.map +1 -1
  37. package/dist/agent/memory-protocol.js +18 -33
  38. package/dist/agent/memory-protocol.js.map +1 -1
  39. package/dist/agent/nightly-maintenance/memory-dreaming.d.ts +1 -2
  40. package/dist/agent/nightly-maintenance/memory-dreaming.d.ts.map +1 -1
  41. package/dist/agent/nightly-maintenance/memory-dreaming.js +5 -4
  42. package/dist/agent/nightly-maintenance/memory-dreaming.js.map +1 -1
  43. package/dist/agent/service-gate.d.ts +8 -1
  44. package/dist/agent/service-gate.d.ts.map +1 -1
  45. package/dist/agent/service-gate.js +20 -0
  46. package/dist/agent/service-gate.js.map +1 -1
  47. package/dist/agent/session-manager.d.ts.map +1 -1
  48. package/dist/agent/session-manager.js +4 -7
  49. package/dist/agent/session-manager.js.map +1 -1
  50. package/dist/agent/state.d.ts +0 -10
  51. package/dist/agent/state.d.ts.map +1 -1
  52. package/dist/agent/state.js.map +1 -1
  53. package/dist/agent/stream-handler.d.ts.map +1 -1
  54. package/dist/agent/stream-handler.js +31 -6
  55. package/dist/agent/stream-handler.js.map +1 -1
  56. package/dist/agent/system-prompt.d.ts.map +1 -1
  57. package/dist/agent/system-prompt.js +4 -8
  58. package/dist/agent/system-prompt.js.map +1 -1
  59. package/dist/agent/wake-cycle-runner.d.ts +7 -0
  60. package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
  61. package/dist/agent/wake-cycle-runner.js +50 -9
  62. package/dist/agent/wake-cycle-runner.js.map +1 -1
  63. package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +412 -0
  64. package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +132 -0
  65. package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +166 -0
  66. package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +87 -0
  67. package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +174 -0
  68. package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +274 -0
  69. package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +111 -0
  70. package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +87 -0
  71. package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +176 -0
  72. package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +67 -0
  73. package/dist/builtin-skills/macos-automation/SKILL.md +132 -0
  74. package/dist/builtin-skills/transcribe-audio/SKILL.md +122 -0
  75. package/dist/builtin-skills/visionclaw-manual/SKILL.md +337 -0
  76. package/dist/channels/queue.d.ts +6 -0
  77. package/dist/channels/queue.d.ts.map +1 -1
  78. package/dist/channels/queue.js +11 -0
  79. package/dist/channels/queue.js.map +1 -1
  80. package/dist/cli/index.d.ts +0 -8
  81. package/dist/cli/index.d.ts.map +1 -1
  82. package/dist/cli/index.js +0 -33
  83. package/dist/cli/index.js.map +1 -1
  84. package/dist/config/types.d.ts +7 -0
  85. package/dist/config/types.d.ts.map +1 -1
  86. package/dist/config/types.js +11 -0
  87. package/dist/config/types.js.map +1 -1
  88. package/dist/i18n/messages.d.ts +8 -0
  89. package/dist/i18n/messages.d.ts.map +1 -1
  90. package/dist/i18n/messages.js +8 -0
  91. package/dist/i18n/messages.js.map +1 -1
  92. package/dist/index.js.map +1 -1
  93. package/dist/obs/rdp/icons/icons/app_windows.svg +4 -0
  94. package/dist/obs/rdp/icons/icons/clip_get.svg +4 -0
  95. package/dist/obs/rdp/icons/icons/clip_send.svg +4 -0
  96. package/dist/obs/rdp/icons/icons/clip_shared.svg +4 -0
  97. package/dist/obs/rdp/icons/icons/clipboard.svg +4 -0
  98. package/dist/obs/rdp/icons/icons/clipboard_shared.svg +4 -0
  99. package/dist/obs/rdp/icons/icons/control.svg +4 -0
  100. package/dist/obs/rdp/icons/icons/desktop.svg +4 -0
  101. package/dist/obs/rdp/icons/icons/display.svg +4 -0
  102. package/dist/obs/rdp/icons/icons/launchpad.svg +4 -0
  103. package/dist/obs/rdp/icons/icons/mission_control.svg +4 -0
  104. package/dist/obs/rdp/icons/icons/screenshot.svg +4 -0
  105. package/dist/obs/rdp/icons/icons/zoom_actual.svg +4 -0
  106. package/dist/obs/rdp/icons/icons/zoom_fit.svg +4 -0
  107. package/dist/obs/rdp/icons/icons/zoom_in.svg +4 -0
  108. package/dist/obs/rdp/icons/icons/zoom_out.svg +4 -0
  109. package/dist/onboarding/onboarding-service-client.d.ts +0 -1
  110. package/dist/onboarding/onboarding-service-client.d.ts.map +1 -1
  111. package/dist/onboarding/onboarding-service-client.js.map +1 -1
  112. package/dist/realtime/assets/index.html +1058 -0
  113. package/dist/realtime/assets/samples/alloy.mp3 +0 -0
  114. package/dist/realtime/assets/samples/ash.mp3 +0 -0
  115. package/dist/realtime/assets/samples/ballad.mp3 +0 -0
  116. package/dist/realtime/assets/samples/cedar.mp3 +0 -0
  117. package/dist/realtime/assets/samples/coral.mp3 +0 -0
  118. package/dist/realtime/assets/samples/echo.mp3 +0 -0
  119. package/dist/realtime/assets/samples/marin.mp3 +0 -0
  120. package/dist/realtime/assets/samples/sage.mp3 +0 -0
  121. package/dist/realtime/assets/samples/shimmer.mp3 +0 -0
  122. package/dist/realtime/assets/samples/verse.mp3 +0 -0
  123. package/dist/threads/supervisor.d.ts +12 -1
  124. package/dist/threads/supervisor.d.ts.map +1 -1
  125. package/dist/threads/supervisor.js +21 -1
  126. package/dist/threads/supervisor.js.map +1 -1
  127. package/dist/threads/task-contracts.d.ts +194 -0
  128. package/dist/threads/task-contracts.d.ts.map +1 -0
  129. package/dist/threads/task-contracts.js +82 -0
  130. package/dist/threads/task-contracts.js.map +1 -0
  131. package/dist/threads/task-sidecar.d.ts +137 -0
  132. package/dist/threads/task-sidecar.d.ts.map +1 -0
  133. package/dist/threads/task-sidecar.js +284 -0
  134. package/dist/threads/task-sidecar.js.map +1 -0
  135. package/dist/threads/task-store.d.ts +172 -0
  136. package/dist/threads/task-store.d.ts.map +1 -0
  137. package/dist/threads/task-store.js +594 -0
  138. package/dist/threads/task-store.js.map +1 -0
  139. package/dist/threads/thread-task-context.d.ts +40 -0
  140. package/dist/threads/thread-task-context.d.ts.map +1 -0
  141. package/dist/threads/thread-task-context.js +159 -0
  142. package/dist/threads/thread-task-context.js.map +1 -0
  143. package/dist/threads/thread-task-controller.d.ts +122 -0
  144. package/dist/threads/thread-task-controller.d.ts.map +1 -0
  145. package/dist/threads/thread-task-controller.js +276 -0
  146. package/dist/threads/thread-task-controller.js.map +1 -0
  147. package/dist/threads/thread-task-runtime.d.ts +320 -0
  148. package/dist/threads/thread-task-runtime.d.ts.map +1 -0
  149. package/dist/threads/thread-task-runtime.js +843 -0
  150. package/dist/threads/thread-task-runtime.js.map +1 -0
  151. package/dist/tools/data-service.d.ts +1 -1
  152. package/dist/tools/index.d.ts.map +1 -1
  153. package/dist/tools/index.js +5 -0
  154. package/dist/tools/index.js.map +1 -1
  155. package/dist/tools/mcp-manager.d.ts +1 -1
  156. package/dist/tools/memory.d.ts +1 -1
  157. package/dist/tools/skill.d.ts +1 -1
  158. package/dist/tools/thread-tasks.d.ts +10 -0
  159. package/dist/tools/thread-tasks.d.ts.map +1 -0
  160. package/dist/tools/thread-tasks.js +88 -0
  161. package/dist/tools/thread-tasks.js.map +1 -0
  162. package/dist/tools/totp.d.ts +1 -1
  163. package/dist-agent/assets/index.html +1058 -0
  164. package/dist-agent/assets/samples/alloy.mp3 +0 -0
  165. package/dist-agent/assets/samples/ash.mp3 +0 -0
  166. package/dist-agent/assets/samples/ballad.mp3 +0 -0
  167. package/dist-agent/assets/samples/cedar.mp3 +0 -0
  168. package/dist-agent/assets/samples/coral.mp3 +0 -0
  169. package/dist-agent/assets/samples/echo.mp3 +0 -0
  170. package/dist-agent/assets/samples/marin.mp3 +0 -0
  171. package/dist-agent/assets/samples/sage.mp3 +0 -0
  172. package/dist-agent/assets/samples/shimmer.mp3 +0 -0
  173. package/dist-agent/assets/samples/verse.mp3 +0 -0
  174. package/dist-agent/bundle.cjs +2 -2
  175. package/dist-agent/playwriter-relay.cjs +95 -0
  176. package/dist-agent/realtime/assets/index.html +1058 -0
  177. package/dist-agent/realtime/assets/samples/alloy.mp3 +0 -0
  178. package/dist-agent/realtime/assets/samples/ash.mp3 +0 -0
  179. package/dist-agent/realtime/assets/samples/ballad.mp3 +0 -0
  180. package/dist-agent/realtime/assets/samples/cedar.mp3 +0 -0
  181. package/dist-agent/realtime/assets/samples/coral.mp3 +0 -0
  182. package/dist-agent/realtime/assets/samples/echo.mp3 +0 -0
  183. package/dist-agent/realtime/assets/samples/marin.mp3 +0 -0
  184. package/dist-agent/realtime/assets/samples/sage.mp3 +0 -0
  185. package/dist-agent/realtime/assets/samples/shimmer.mp3 +0 -0
  186. package/dist-agent/realtime/assets/samples/verse.mp3 +0 -0
  187. package/package.json +1 -1
  188. package/dist/agent/critical-state-flush.d.ts +0 -55
  189. package/dist/agent/critical-state-flush.d.ts.map +0 -1
  190. package/dist/agent/critical-state-flush.js +0 -186
  191. package/dist/agent/critical-state-flush.js.map +0 -1
  192. package/dist/agent/memory-injector.d.ts +0 -14
  193. package/dist/agent/memory-injector.d.ts.map +0 -1
  194. package/dist/agent/memory-injector.js +0 -239
  195. package/dist/agent/memory-injector.js.map +0 -1
  196. package/dist/agent/memory-warm-migration.d.ts +0 -47
  197. package/dist/agent/memory-warm-migration.d.ts.map +0 -1
  198. package/dist/agent/memory-warm-migration.js +0 -136
  199. package/dist/agent/memory-warm-migration.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAA+D,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAI1I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAsBpD,OAAO,EAAkB,KAAK,UAAU,EAA8E,MAAM,YAAY,CAAC;AA0BzI,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AA+BhE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAS3C;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B;+DAC2D;IAC3D,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,YAAY,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3I;;;;OAIG;IACH,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH,GACA,OAAO,CAAC,IAAI,CAAC,CA+5Cf"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAqF,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIhK,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAuBpD,OAAO,EAAkB,KAAK,UAAU,EAA8E,MAAM,YAAY,CAAC;AA0BzI,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAuChE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAS3C;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B;+DAC2D;IAC3D,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,YAAY,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3I;;;;OAIG;IACH,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH,GACA,OAAO,CAAC,IAAI,CAAC,CAm9Cf"}
@@ -15,7 +15,7 @@
15
15
  import { createDefaultExternalContextRegistry, ExternalContextRegistry } from "./external-context/registry.js";
16
16
  import { randomUUID } from "node:crypto";
17
17
  import { beginLifecycleRun, createLifecycleRunId, deriveShadowLifecycleState, endLifecycleRun, traceLifecycle, traceShadowLifecycle } from "./lifecycle-trace.js";
18
- import { isProactiveWakeEnabled, isTunnelEnabled, isWorkspaceEnabled } from "../config/types.js";
18
+ import { isProactiveWakeEnabled, isThreadTasksEnabled, isTunnelEnabled, isWorkspaceEnabled } from "../config/types.js";
19
19
  import { DEFAULT_THREAD_ID, resolveThreadId } from "../channels/interface.js";
20
20
  import { buildSystemPrompt } from "./system-prompt.js";
21
21
  import { buildLabRunSystemPrompt } from "./lab-run-system-prompt.js";
@@ -27,7 +27,7 @@ import { ActivityTracker } from "./activity-tracker.js";
27
27
  import { ThreadActivityController } from "../threads/thread-activity-controller.js";
28
28
  import { shouldNotifyUpdate } from "../utils/version-check.js";
29
29
  import { shouldRunProactiveUpgradeCheck } from "./update-reminder-policy.js";
30
- import { loadOwnerConfig, consumePendingUpgrade, consumePendingRestart, writePendingRestart, getConfigDir, ownerConfigExists, saveOwnerConfig, deleteOnboardingSession, } from "../config/index.js";
30
+ import { getConfigFile, loadOwnerConfig, consumePendingUpgrade, consumePendingRestart, writePendingRestart, getConfigDir, ownerConfigExists, saveOwnerConfig, deleteOnboardingSession, } from "../config/index.js";
31
31
  import { syncSystemTimezone } from "../utils/timezone.js";
32
32
  import { logger } from "../logger.js";
33
33
  import { cleanOldScreenshots } from "../tools/screenshot.js";
@@ -40,7 +40,7 @@ import { runOnboardingGate } from "./onboarding-gate.js";
40
40
  import { OnboardingServiceClient } from "../onboarding/onboarding-service-client.js";
41
41
  import { deliverPendingQqWelcome, sendWelcomeMessages } from "../onboarding/send-invite.js";
42
42
  import { resumePendingChannelBinding } from "../onboarding/resume-channel-binding.js";
43
- import { answerAndDrop, executionGateReply, runServiceGate, serviceGateMessage, shouldEnforceServiceGate } from "./service-gate.js";
43
+ import { answerAndDrop, executionGateReply, persistedServiceStopped, runServiceGate, serviceGateMessage, shouldEnforceServiceGate } from "./service-gate.js";
44
44
  import { InterruptHandler } from "./interrupt-handler.js";
45
45
  import { ownerTranscriptionContext } from "../transcription-context.js";
46
46
  import { transcribeVoiceMessages } from "../utils/transcribe.js";
@@ -91,6 +91,7 @@ import { currentApplicationContext, inheritThreadApplication } from "../threads/
91
91
  import { ThreadApplicationConflict } from "../threads/thread-meta.js";
92
92
  import { assertRuntimeApplicationId } from "../config/application-config.js";
93
93
  import { migrateProfileToAgentsMd } from "../config/agents-md-migration.js";
94
+ import { ThreadTaskRuntime, endWakeThreadTasks, isTaskRelevantMessage, isTaskResumeMessage, retireStaleResume, setThreadTaskRuntime, } from "../threads/thread-task-runtime.js";
94
95
  /**
95
96
  * Grace period before an idle cross-runtime engine recovery restarts.
96
97
  * Short on purpose: the gate only fires when nothing is in flight.
@@ -160,6 +161,19 @@ export async function startAgentLoop(config, options) {
160
161
  // orphaned worker can no longer commit claims owned by its successor.
161
162
  ...(workerMode ? { ownerId: workerMode.relay.workerInstanceId } : {}),
162
163
  });
164
+ // Thread task store (#1996): opened by the same queue owner at the same
165
+ // moment it recovers in-flight claims, and fenced by the same identity.
166
+ // Lab runs are single-shot and keep no task list. Off unless the local
167
+ // config opts in (`threadTasksEnabled: true`). Null means disabled for
168
+ // this process; everything else behaves exactly as before.
169
+ const threadTasks = labRuntimePolicy || !isThreadTasksEnabled(config)
170
+ ? null
171
+ : ThreadTaskRuntime.start({
172
+ threadId: executionContext.threadId,
173
+ writerId: workerMode ? workerMode.relay.workerInstanceId : randomUUID(),
174
+ config,
175
+ });
176
+ setThreadTaskRuntime(threadTasks);
163
177
  const channelManager = new ChannelManager(config, messageQueue);
164
178
  const activityTracker = new ActivityTracker();
165
179
  const mainActivityController = workerMode
@@ -231,6 +245,9 @@ export async function startAgentLoop(config, options) {
231
245
  catch (err) {
232
246
  logger.warn(`Graceful shutdown did not complete cleanly: ${err instanceof Error ? err.message : String(err)}`);
233
247
  }
248
+ // After the channels, so it never delays them. A short grace lets an
249
+ // in-flight sidecar call commit; unconsumed events wait for the next start.
250
+ await threadTasks?.close(2_000);
234
251
  messageQueue.close();
235
252
  logger.system("Graceful shutdown complete.");
236
253
  });
@@ -423,7 +440,6 @@ export async function startAgentLoop(config, options) {
423
440
  compacting: false,
424
441
  learning: false,
425
442
  gated: false,
426
- memoryEnabled: heartbeat.lastMemoryEnabled,
427
443
  submitFeedback: (input) => {
428
444
  const feedback = normalizeAgentFeedback(input);
429
445
  const persisted = feedbackOutbox.enqueue(feedback);
@@ -607,6 +623,26 @@ export async function startAgentLoop(config, options) {
607
623
  // Expose the wake function so out-of-loop components can trigger an
608
624
  // immediate wake without threading the closure through every call site.
609
625
  agentState.wakeMainLoop = wakeMainLoop;
626
+ // Thread task resumes (#1996 PR 5): after a wake the runtime queues the
627
+ // next runnable task as a system row and wakes the loop, so queued work
628
+ // continues without a new owner message, with proactive wakes off and in
629
+ // workers. It never queues while a wake runs or execution is gated; the
630
+ // row is still checked against the task when it is dequeued.
631
+ // TODO: a resume queued just before the service gate engages is discarded
632
+ // with the gated queue (main) or still runs (workers, which have no gate
633
+ // pass and whose system rows skip the gate reply). The window is tiny.
634
+ threadTasks?.enableResumes({
635
+ queue: messageQueue,
636
+ isBusy: () => agentState.busy || !messageQueue.isEmpty(),
637
+ isGated: () => readFundLeagueHold() !== null
638
+ // A worker's heartbeat holds the status from its start; the main
639
+ // process persists every change, so read that instead.
640
+ || (workerMode ? persistedServiceStopped(getConfigFile()) : shouldEnforceServiceGate(heartbeat.lastServiceStatus)),
641
+ wake: wakeMainLoop,
642
+ });
643
+ // Startup: work that was queued, or resumed and interrupted, before the
644
+ // previous process stopped continues now.
645
+ void threadTasks?.requestResume();
610
646
  const interruptHandler = new InterruptHandler({
611
647
  externalContextRegistry,
612
648
  session: session.activeSession,
@@ -1121,6 +1157,10 @@ export async function startAgentLoop(config, options) {
1121
1157
  continue;
1122
1158
  }
1123
1159
  }
1160
+ // Re-check a queued task resume against the task itself: a cancel,
1161
+ // change, wait or block since it was queued retires it unexecuted.
1162
+ if (retireStaleResume(messageQueue, threadTasks, msg))
1163
+ continue;
1124
1164
  const gateReply = msg.channel === "system" ? null : executionGateReply(heartbeat, resolveLocale(ownerConfig.language));
1125
1165
  if (gateReply !== null) {
1126
1166
  await answerAndDrop(channelManager, messageQueue, msg, gateReply, tuiAdapter);
@@ -1134,6 +1174,9 @@ export async function startAgentLoop(config, options) {
1134
1174
  releaseLifecycleRun("empty_message_batch");
1135
1175
  executionOwner.setBusy(false, "empty_message_batch", lifecycleRunId);
1136
1176
  heartbeat.nudge();
1177
+ // A retired stale resume ends here without a wake end; queue the next
1178
+ // runnable task (or the same one at its new version) instead.
1179
+ void threadTasks?.requestResume();
1137
1180
  continue;
1138
1181
  }
1139
1182
  const correlatedTuiMessage = messages.find((message) => typeof message.meta?.tuiRequestId === "string");
@@ -1149,10 +1192,16 @@ export async function startAgentLoop(config, options) {
1149
1192
  // other channels get the same cloud/local pipeline.
1150
1193
  if (trigger === "message" && !labRuntimePolicy) {
1151
1194
  for (const msg of messages) {
1195
+ // A task resume is internal: no "typing…" for the owner.
1196
+ if (isTaskResumeMessage(msg))
1197
+ continue;
1152
1198
  sendTypingToMessage(channelManager, msg).catch(() => { });
1153
1199
  }
1154
1200
  }
1155
1201
  await transcribeVoiceMessages(messages, ownerTranscriptionContext(ownerConfig));
1202
+ // Event first, sidecar second (#1996): after transcription so a voice
1203
+ // request is stored with its text. Idempotent and fail-safe.
1204
+ threadTasks?.recordMessages(messages.filter(isTaskRelevantMessage));
1156
1205
  for (const msg of messages) {
1157
1206
  agentState.replyMap.set(buildReplyMapKeyFromMessage(msg), buildReplyTarget(msg));
1158
1207
  }
@@ -1315,8 +1364,9 @@ export async function startAgentLoop(config, options) {
1315
1364
  // done its work: leave the claims in flight so the replacement process
1316
1365
  // replays them on the new engine (issue #2519).
1317
1366
  failoverRestartPending = !restartArmedBeforeWake && engineFallback.isRestartPending();
1318
- if (!failoverRestartPending)
1319
- messageQueue.markAllInFlightHandled();
1367
+ // Claims become handled only once each message is a durable task event,
1368
+ // so their follow-up survives the queue row (#1996). handled ≠ completed.
1369
+ endWakeThreadTasks(messageQueue, threadTasks, { failoverRestartPending });
1320
1370
  if (workerMode) {
1321
1371
  workerMode.relay.finishActivityRun(result.terminalState);
1322
1372
  }
@@ -1330,6 +1380,9 @@ export async function startAgentLoop(config, options) {
1330
1380
  // terminal boundary. A later wake must not inherit this turn's claims
1331
1381
  // and accidentally confirm them together with unrelated work.
1332
1382
  try {
1383
+ // Released before the requeue: a replayed resume for an interrupted
1384
+ // task must run when it comes back (#2664 review P1-B).
1385
+ threadTasks?.releaseResume(messageQueue.currentCycleClaims());
1333
1386
  messageQueue.requeueOwnedClaims();
1334
1387
  }
1335
1388
  catch (requeueErr) {
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,10 @@
1
1
  /**
2
2
  * Memory Protocol copy for the owner system prompt and the Claude coding
3
- * addendum. Wording follows {@link memoryEnabled}: when the gate is on, hot
4
- * files and the warm index are already injected; when it is off, nothing is.
3
+ * addendum. Long-term memory has one shape for every agent: files under
4
+ * `/memories` read on demand, the profile `AGENTS.md`, and transcript search.
5
+ * Nothing is injected into a wake automatically (#1996 PR 6 retired the
6
+ * layered hot/warm injection and its `memoryEnabled` switch).
5
7
  */
6
- export declare function resolveMemoryEnabledFromState(getState: () => {
7
- memoryEnabled: boolean;
8
- }): boolean;
9
- /**
10
- * Shared Memory Protocol section. Off-copy does not claim auto-injection.
11
- * Later default-on only changes this helper.
12
- */
13
- export declare function buildMemoryProtocolSection(memoryEnabled: boolean, agentsMdPath?: string): string;
8
+ /** The Memory Protocol section. `threadTasks`: thread tasks keep task progress (see {@link RECORD_PROGRESS}). */
9
+ export declare function buildMemoryProtocolSection(threadTasks: boolean, agentsMdPath?: string): string;
14
10
  //# sourceMappingURL=memory-protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-protocol.d.ts","sourceRoot":"","sources":["../../src/agent/memory-protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM;IAAE,aAAa,EAAE,OAAO,CAAA;CAAE,GACzC,OAAO,CAMT;AAwBD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,OAAO,EACtB,YAAY,GAAE,MAAsD,GACnE,MAAM,CA0CR"}
1
+ {"version":3,"file":"memory-protocol.d.ts","sourceRoot":"","sources":["../../src/agent/memory-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyCH,iHAAiH;AACjH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,OAAO,EACpB,YAAY,GAAE,MAAsD,GACnE,MAAM,CAwBR"}
@@ -1,18 +1,12 @@
1
1
  /**
2
2
  * Memory Protocol copy for the owner system prompt and the Claude coding
3
- * addendum. Wording follows {@link memoryEnabled}: when the gate is on, hot
4
- * files and the warm index are already injected; when it is off, nothing is.
3
+ * addendum. Long-term memory has one shape for every agent: files under
4
+ * `/memories` read on demand, the profile `AGENTS.md`, and transcript search.
5
+ * Nothing is injected into a wake automatically (#1996 PR 6 retired the
6
+ * layered hot/warm injection and its `memoryEnabled` switch).
5
7
  */
6
8
  import path from "node:path";
7
9
  import { getSharedProfileDir } from "../config/index.js";
8
- export function resolveMemoryEnabledFromState(getState) {
9
- try {
10
- return getState().memoryEnabled;
11
- }
12
- catch {
13
- return false;
14
- }
15
- }
16
10
  /**
17
11
  * The profile `AGENTS.md`, which both engines load as project context: Pi via
18
12
  * `DefaultResourceLoader` (`agentDir` = profile dir), Claude via
@@ -35,33 +29,24 @@ function buildAgentsMdSection(agentsMdPath) {
35
29
  `;
36
30
  }
37
31
  /**
38
- * Shared Memory Protocol section. Off-copy does not claim auto-injection.
39
- * Later default-on only changes this helper.
32
+ * Asks the agent to keep its own progress notes. Thread tasks (#1996) keep
33
+ * a checkpoint of every accepted task and restore it after compaction,
34
+ * refresh or restart, so with them on this rule is a second, competing copy
35
+ * of task state and is left out. Thread tasks are opt-in
36
+ * (`threadTasksEnabled`); without them this rule is the only one that keeps
37
+ * progress across a compaction, so it stays.
38
+ * TODO: drop this branch when thread tasks become the default.
40
39
  */
41
- export function buildMemoryProtocolSection(memoryEnabled, agentsMdPath = path.join(getSharedProfileDir(), "AGENTS.md")) {
42
- const agentsMdSection = buildAgentsMdSection(agentsMdPath);
43
- if (!memoryEnabled) {
44
- return `## Memory Protocol
45
-
46
- Layered hot/warm injection is off. Do not assume prior state is already in context. Use the \`memory\` tool when you need a specific file. Do not list the whole \`/memories\` tree on every heartbeat or greeting.
40
+ const RECORD_PROGRESS = `ASSUME INTERRUPTION: Your context window might be compacted at any moment, so you risk losing any progress that is not recorded in your memory directory. Keep memory content up-to-date, coherent, and organized. Delete files that are no longer relevant.
47
41
 
48
- ASSUME INTERRUPTION: Your context window might be compacted at any moment, so you risk losing any progress that is not recorded in your memory directory. Keep memory content up-to-date, coherent, and organized. Delete files that are no longer relevant.
49
-
50
- ${agentsMdSection}`;
51
- }
42
+ `;
43
+ /** The Memory Protocol section. `threadTasks`: thread tasks keep task progress (see {@link RECORD_PROGRESS}). */
44
+ export function buildMemoryProtocolSection(threadTasks, agentsMdPath = path.join(getSharedProfileDir(), "AGENTS.md")) {
52
45
  return `## Memory Protocol
53
46
 
54
- Hot files and the warm index are injected into each wake automatically. Do not \`memory\` view \`/memories\` at the start of the turn, and do not open \`identity.md\` unless the task needs those secrets.
55
-
56
- If a warm index line matches the current task, or injection is truncated or missing, \`memory\` view that specific path (\`/memories/warm/<slug>.md\` or a hot file) before acting. View a file before you edit it. Do not list the whole tree on every heartbeat or greeting.
57
-
58
- ASSUME INTERRUPTION: Your context window might be compacted at any moment, so you risk losing any progress that is not recorded in your memory directory. Keep memory content up-to-date, coherent, and organized. Delete files that are no longer relevant.
59
-
60
- ${agentsMdSection}
61
- ### Layered memory (hot / warm / cold)
62
-
63
- Your memory is organized in layers. \`/memories/hot/\` holds active task state and pending owner actions; \`/memories/warm/\` holds durable facts and lessons. Hot files and the warm index are recalled into each wake cycle automatically (you do not need to re-read those). Warm detail files are not injected — if an index line matches the current task, \`memory\` view \`/memories/warm/<slug>.md\` before acting. The warm index may be clamped. Older history lives in the transcript (cold layer); reach it with \`memory_transcript_search\`.
47
+ Nothing from \`/memories\` is put into your context automatically. Use the \`memory\` tool to view a specific file when the task needs it, and view a file before you edit it. Do not list the whole \`/memories\` tree on every heartbeat or greeting, and do not open \`identity.md\` unless the task needs those secrets.
64
48
 
49
+ ${threadTasks ? "" : RECORD_PROGRESS}${buildAgentsMdSection(agentsMdPath)}
65
50
  ### Trusting memory
66
51
 
67
52
  Memory is context for what was true at a point in time, never ground truth. Before answering or acting on a recalled note, verify it against the current state of the world — especially time-sensitive data: prices, earnings/release times, market calendars, deployment procedures, holdings. If a note conflicts with what you observe now, trust the observation, act on it, and correct the stale note rather than the other way around.
@@ -76,7 +61,7 @@ Your memory files capture what you explicitly saved. But many conversations, dec
76
61
  - You want context on a topic before starting work (e.g., prior attempts, user preferences expressed in conversation)
77
62
 
78
63
  **Choosing memory files vs transcript search:**
79
- - Check injected memory first — it is curated and already in context
64
+ - Check \`AGENTS.md\` and the memory files it points to first — they are curated
80
65
  - Use transcript search when memory files don't have what you need, or when the user asks about past conversations specifically
81
66
  - Transcript search covers everything discussed, not just what was explicitly saved
82
67
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-protocol.js","sourceRoot":"","sources":["../../src/agent/memory-protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,UAAU,6BAA6B,CAC3C,QAA0C;IAE1C,IAAI,CAAC;QACH,OAAO,QAAQ,EAAE,CAAC,aAAa,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAAC,YAAoB;IAChD,OAAO;;IAEL,YAAY;;;;;CAKf,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,aAAsB,EACtB,eAAuB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,WAAW,CAAC;IAEpE,MAAM,eAAe,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO;;;;;;EAMT,eAAe,EAAE,CAAC;IAClB,CAAC;IACD,OAAO;;;;;;;;EAQP,eAAe;;;;;;;;;;;;;;;;;;;;;;CAsBhB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"memory-protocol.js","sourceRoot":"","sources":["../../src/agent/memory-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAAC,YAAoB;IAChD,OAAO;;IAEL,YAAY;;;;;CAKf,CAAC;AACF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,eAAe,GAAG;;CAEvB,CAAC;AAEF,iHAAiH;AACjH,MAAM,UAAU,0BAA0B,CACxC,WAAoB,EACpB,eAAuB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,WAAW,CAAC;IAEpE,OAAO;;;;EAIP,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,oBAAoB,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;CAkBxE,CAAC;AACF,CAAC"}
@@ -95,8 +95,7 @@ export interface RunMemoryDreamingOptions {
95
95
  ownerPublicId?: string;
96
96
  /**
97
97
  * Whether vocabulary learning is enabled for this dreaming pass.
98
- * Defaults to true when an owner is available; this is independent of the
99
- * warm/hot memory feature gate.
98
+ * Defaults to true when an owner is available.
100
99
  */
101
100
  vocabularyLearningEnabled?: boolean;
102
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory-dreaming.d.ts","sourceRoot":"","sources":["../../../src/agent/nightly-maintenance/memory-dreaming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAuBxE;;;;;GAKG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAGnE;AAmBD,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;iBAepC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AA4B1D,MAAM,WAAW,wBAAwB;IACvC,mFAAmF;IACnF,kBAAkB,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC;IAC/D,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,+DAA+D;IAC/D,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EACJ,eAAe,GACf,sBAAsB,GACtB,sBAAsB,GACtB,iBAAiB,GACjB,OAAO,GACP,OAAO,CAAC;IACZ,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAoQD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzE;AAED,8EAA8E;AAC9E,wBAAsB,iBAAiB,CACrC,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAmGlC"}
1
+ {"version":3,"file":"memory-dreaming.d.ts","sourceRoot":"","sources":["../../../src/agent/nightly-maintenance/memory-dreaming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAuBxE;;;;;GAKG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAGnE;AAmBD,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;iBAepC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AA4B1D,MAAM,WAAW,wBAAwB;IACvC,mFAAmF;IACnF,kBAAkB,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC;IAC/D,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,+DAA+D;IAC/D,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EACJ,eAAe,GACf,sBAAsB,GACtB,sBAAsB,GACtB,iBAAiB,GACjB,OAAO,GACP,OAAO,CAAC;IACZ,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsQD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzE;AAED,8EAA8E;AAC9E,wBAAsB,iBAAiB,CACrC,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAkGlC"}
@@ -113,8 +113,10 @@ function buildDreamSystemPrompt(vocabularyLearningEnabled) {
113
113
  ? `${DREAM_SYSTEM_PROMPT}${VOCABULARY_CANDIDATES_PROMPT}`
114
114
  : DREAM_SYSTEM_PROMPT;
115
115
  }
116
- // These files contain credentials or are rewritten by critical-state-flush.
117
- // This is an ownership boundary, not a classification of agent-authored memory.
116
+ // These files contain credentials, or are task snapshots the retired
117
+ // critical-state flush wrote (#1996 PR 6 keeps them on disk for reference,
118
+ // read-only). This is an ownership boundary, not a classification of
119
+ // agent-authored memory.
118
120
  const PROTECTED_FILES = new Set([
119
121
  "identity.md", "credentials.md", "secrets.md", "passwords.md",
120
122
  "identity.txt", "credentials.txt", "secrets.txt", "passwords.txt",
@@ -418,8 +420,7 @@ export async function runMemoryDreaming(transcriptPath, config, options) {
418
420
  pruneDreamLog(memoriesDir, now);
419
421
  logger.system(`Memory dreaming tidied files (wrote=${applied.writes.length} deleted=${applied.delete_paths.length})`);
420
422
  }
421
- // Vocabulary learning follows dreaming and has its own optional gate. It
422
- // intentionally does not depend on the warm/hot memory feature gate. A
423
+ // Vocabulary learning follows dreaming and has its own optional gate. A
423
424
  // vocabulary-only pass is still a successful consolidation: otherwise we
424
425
  // would commit a glossary snapshot and then report the whole pass as a
425
426
  // no-op, which makes callers retry/diagnose it incorrectly.