@jungjaehoon/mama-os 0.24.2 → 0.26.0

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 (160) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +46 -23
  3. package/dist/agent/agent-loop.d.ts.map +1 -1
  4. package/dist/agent/agent-loop.js +10 -0
  5. package/dist/agent/agent-loop.js.map +1 -1
  6. package/dist/agent/code-act/constants.js +2 -2
  7. package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
  8. package/dist/agent/code-act/host-bridge.js +91 -4
  9. package/dist/agent/code-act/host-bridge.js.map +1 -1
  10. package/dist/agent/code-act/tool-policy.d.ts +3 -1
  11. package/dist/agent/code-act/tool-policy.d.ts.map +1 -1
  12. package/dist/agent/code-act/tool-policy.js +3 -1
  13. package/dist/agent/code-act/tool-policy.js.map +1 -1
  14. package/dist/agent/code-act/type-definition-generator.d.ts.map +1 -1
  15. package/dist/agent/code-act/type-definition-generator.js +2 -4
  16. package/dist/agent/code-act/type-definition-generator.js.map +1 -1
  17. package/dist/agent/context-compile-service.d.ts +2 -0
  18. package/dist/agent/context-compile-service.d.ts.map +1 -1
  19. package/dist/agent/context-compile-service.js +26 -7
  20. package/dist/agent/context-compile-service.js.map +1 -1
  21. package/dist/agent/drive-tools.d.ts +53 -0
  22. package/dist/agent/drive-tools.d.ts.map +1 -0
  23. package/dist/agent/drive-tools.js +261 -0
  24. package/dist/agent/drive-tools.js.map +1 -0
  25. package/dist/agent/gateway-tool-executor.d.ts +3 -0
  26. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  27. package/dist/agent/gateway-tool-executor.js +362 -19
  28. package/dist/agent/gateway-tool-executor.js.map +1 -1
  29. package/dist/agent/gateway-tools.md +9 -3
  30. package/dist/agent/tool-registry.d.ts.map +1 -1
  31. package/dist/agent/tool-registry.js +38 -3
  32. package/dist/agent/tool-registry.js.map +1 -1
  33. package/dist/agent/types.d.ts +45 -6
  34. package/dist/agent/types.d.ts.map +1 -1
  35. package/dist/agent/types.js.map +1 -1
  36. package/dist/api/operator-tasks-handler.d.ts.map +1 -1
  37. package/dist/api/operator-tasks-handler.js +23 -1
  38. package/dist/api/operator-tasks-handler.js.map +1 -1
  39. package/dist/cli/commands/start.d.ts +7 -3
  40. package/dist/cli/commands/start.d.ts.map +1 -1
  41. package/dist/cli/commands/start.js +113 -65
  42. package/dist/cli/commands/start.js.map +1 -1
  43. package/dist/cli/config/types.d.ts.map +1 -1
  44. package/dist/cli/config/types.js +7 -3
  45. package/dist/cli/config/types.js.map +1 -1
  46. package/dist/cli/runtime/agent-loop-init.d.ts +2 -0
  47. package/dist/cli/runtime/agent-loop-init.d.ts.map +1 -1
  48. package/dist/cli/runtime/agent-loop-init.js +37 -12
  49. package/dist/cli/runtime/agent-loop-init.js.map +1 -1
  50. package/dist/cli/runtime/api-routes-init.js +3 -3
  51. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  52. package/dist/cli/runtime/envelope-bootstrap.d.ts.map +1 -1
  53. package/dist/cli/runtime/envelope-bootstrap.js +8 -1
  54. package/dist/cli/runtime/envelope-bootstrap.js.map +1 -1
  55. package/dist/cli/runtime/temporal-init.d.ts +28 -0
  56. package/dist/cli/runtime/temporal-init.d.ts.map +1 -0
  57. package/dist/cli/runtime/temporal-init.js +74 -0
  58. package/dist/cli/runtime/temporal-init.js.map +1 -0
  59. package/dist/connectors/drive/index.d.ts +1 -1
  60. package/dist/connectors/drive/index.d.ts.map +1 -1
  61. package/dist/connectors/drive/index.js +100 -56
  62. package/dist/connectors/drive/index.js.map +1 -1
  63. package/dist/connectors/framework/gws-utils.d.ts +3 -0
  64. package/dist/connectors/framework/gws-utils.d.ts.map +1 -1
  65. package/dist/connectors/framework/gws-utils.js +17 -0
  66. package/dist/connectors/framework/gws-utils.js.map +1 -1
  67. package/dist/db/migrations/operator-task-temporal.d.ts +8 -0
  68. package/dist/db/migrations/operator-task-temporal.d.ts.map +1 -0
  69. package/dist/db/migrations/operator-task-temporal.js +209 -0
  70. package/dist/db/migrations/operator-task-temporal.js.map +1 -0
  71. package/dist/envelope/enforcer.d.ts.map +1 -1
  72. package/dist/envelope/enforcer.js +24 -9
  73. package/dist/envelope/enforcer.js.map +1 -1
  74. package/dist/envelope/reactive-config.d.ts +1 -1
  75. package/dist/envelope/reactive-config.d.ts.map +1 -1
  76. package/dist/envelope/reactive-config.js +10 -2
  77. package/dist/envelope/reactive-config.js.map +1 -1
  78. package/dist/envelope/types.d.ts +1 -1
  79. package/dist/envelope/types.d.ts.map +1 -1
  80. package/dist/envelope/types.js.map +1 -1
  81. package/dist/gateways/message-router.d.ts +1 -0
  82. package/dist/gateways/message-router.d.ts.map +1 -1
  83. package/dist/gateways/message-router.js +7 -1
  84. package/dist/gateways/message-router.js.map +1 -1
  85. package/dist/gateways/telegram-media.d.ts +28 -0
  86. package/dist/gateways/telegram-media.d.ts.map +1 -0
  87. package/dist/gateways/telegram-media.js +165 -0
  88. package/dist/gateways/telegram-media.js.map +1 -0
  89. package/dist/gateways/telegram-response-presenter.d.ts +31 -0
  90. package/dist/gateways/telegram-response-presenter.d.ts.map +1 -0
  91. package/dist/gateways/telegram-response-presenter.js +153 -0
  92. package/dist/gateways/telegram-response-presenter.js.map +1 -0
  93. package/dist/gateways/telegram.d.ts +10 -3
  94. package/dist/gateways/telegram.d.ts.map +1 -1
  95. package/dist/gateways/telegram.js +174 -90
  96. package/dist/gateways/telegram.js.map +1 -1
  97. package/dist/gateways/types.d.ts +4 -2
  98. package/dist/gateways/types.d.ts.map +1 -1
  99. package/dist/multi-agent/dashboard-agent-persona.d.ts.map +1 -1
  100. package/dist/multi-agent/dashboard-agent-persona.js +9 -4
  101. package/dist/multi-agent/dashboard-agent-persona.js.map +1 -1
  102. package/dist/operator/action-verifier.d.ts +23 -0
  103. package/dist/operator/action-verifier.d.ts.map +1 -1
  104. package/dist/operator/action-verifier.js +76 -0
  105. package/dist/operator/action-verifier.js.map +1 -1
  106. package/dist/operator/board-reconcile.d.ts.map +1 -1
  107. package/dist/operator/board-reconcile.js +3 -0
  108. package/dist/operator/board-reconcile.js.map +1 -1
  109. package/dist/operator/board-slot-instructions.d.ts +3 -3
  110. package/dist/operator/board-slot-instructions.d.ts.map +1 -1
  111. package/dist/operator/board-slot-instructions.js +17 -8
  112. package/dist/operator/board-slot-instructions.js.map +1 -1
  113. package/dist/operator/briefs.d.ts.map +1 -1
  114. package/dist/operator/briefs.js +3 -0
  115. package/dist/operator/briefs.js.map +1 -1
  116. package/dist/operator/task-ledger.d.ts +134 -8
  117. package/dist/operator/task-ledger.d.ts.map +1 -1
  118. package/dist/operator/task-ledger.js +1166 -65
  119. package/dist/operator/task-ledger.js.map +1 -1
  120. package/dist/operator/task-temporal.d.ts +21 -0
  121. package/dist/operator/task-temporal.d.ts.map +1 -0
  122. package/dist/operator/task-temporal.js +111 -0
  123. package/dist/operator/task-temporal.js.map +1 -0
  124. package/dist/operator/temporal-effect.d.ts +62 -0
  125. package/dist/operator/temporal-effect.d.ts.map +1 -0
  126. package/dist/operator/temporal-effect.js +71 -0
  127. package/dist/operator/temporal-effect.js.map +1 -0
  128. package/dist/operator/temporal-reconcile.d.ts +48 -0
  129. package/dist/operator/temporal-reconcile.d.ts.map +1 -0
  130. package/dist/operator/temporal-reconcile.js +215 -0
  131. package/dist/operator/temporal-reconcile.js.map +1 -0
  132. package/dist/operator/temporal-runtime.d.ts +54 -0
  133. package/dist/operator/temporal-runtime.d.ts.map +1 -0
  134. package/dist/operator/temporal-runtime.js +110 -0
  135. package/dist/operator/temporal-runtime.js.map +1 -0
  136. package/dist/operator/temporal-worker.d.ts +19 -0
  137. package/dist/operator/temporal-worker.d.ts.map +1 -0
  138. package/dist/operator/temporal-worker.js +105 -0
  139. package/dist/operator/temporal-worker.js.map +1 -0
  140. package/dist/operator/worker-run.d.ts +6 -2
  141. package/dist/operator/worker-run.d.ts.map +1 -1
  142. package/dist/operator/worker-run.js +14 -0
  143. package/dist/operator/worker-run.js.map +1 -1
  144. package/dist/operator/workorder-consumer.d.ts +27 -10
  145. package/dist/operator/workorder-consumer.d.ts.map +1 -1
  146. package/dist/operator/workorder-consumer.js +195 -14
  147. package/dist/operator/workorder-consumer.js.map +1 -1
  148. package/dist/operator/workorder-hooks.d.ts +3 -0
  149. package/dist/operator/workorder-hooks.d.ts.map +1 -1
  150. package/dist/operator/workorder-hooks.js +23 -0
  151. package/dist/operator/workorder-hooks.js.map +1 -1
  152. package/dist/operator/workorder-publishers.d.ts +10 -1
  153. package/dist/operator/workorder-publishers.d.ts.map +1 -1
  154. package/dist/operator/workorder-publishers.js +40 -3
  155. package/dist/operator/workorder-publishers.js.map +1 -1
  156. package/package.json +1 -1
  157. package/public/ui/assets/{index-OSgiwL24.js → index-BDXDGEV6.js} +15 -15
  158. package/public/ui/assets/index-po2tN0xq.css +1 -0
  159. package/public/ui/index.html +2 -2
  160. package/public/ui/assets/index-CKOJQYXA.css +0 -1
@@ -20,7 +20,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.OBLIGATED_TOOLS = void 0;
21
21
  exports.captureSnapshot = captureSnapshot;
22
22
  exports.verifyAfterRun = verifyAfterRun;
23
+ exports.captureTemporalEffectSnapshot = captureTemporalEffectSnapshot;
24
+ exports.verifyTemporalEffect = verifyTemporalEffect;
23
25
  const node_crypto_1 = require("node:crypto");
26
+ const temporal_effect_js_1 = require("./temporal-effect.js");
24
27
  exports.OBLIGATED_TOOLS = [
25
28
  'report_publish',
26
29
  'task_create',
@@ -65,4 +68,77 @@ function verifyAfterRun(deps, before, scope) {
65
68
  }
66
69
  return { verified, effects };
67
70
  }
71
+ function captureTemporalEffectSnapshot(deps, attemptId) {
72
+ const context = deps.loadTemporalWorkContext(attemptId);
73
+ if (context.attemptId !== attemptId) {
74
+ throw new Error(`temporal verifier context attempt mismatch for ${attemptId}`);
75
+ }
76
+ return Object.freeze({
77
+ ...context,
78
+ scopedNoteMaxId: deps.getScopedNoteMaxId((0, temporal_effect_js_1.temporalNoUpdateScope)(context)),
79
+ });
80
+ }
81
+ function verifyTemporalEffect(deps, before) {
82
+ const effects = [];
83
+ const receipt = deps.getTemporalEffect(before.attemptId);
84
+ if (!receipt)
85
+ return temporalFailure('temporal effect receipt missing', effects);
86
+ const receiptError = (0, temporal_effect_js_1.temporalReceiptInvariantError)(receipt, {
87
+ attemptId: before.attemptId,
88
+ taskId: before.taskId,
89
+ generationKey: before.generationKey,
90
+ occurrenceKey: before.occurrenceKey,
91
+ beforeRevision: before.revision,
92
+ });
93
+ if (receiptError)
94
+ return temporalFailure(receiptError, effects);
95
+ const generation = deps.getTemporalGeneration(before.generationKey);
96
+ if (!generation ||
97
+ generation.generationKey !== before.generationKey ||
98
+ generation.taskId !== before.taskId ||
99
+ generation.temporalEpoch !== before.temporalEpoch ||
100
+ generation.occurrenceKey !== before.occurrenceKey ||
101
+ generation.checkAt !== before.checkAt ||
102
+ generation.lastWorkOrderId !== before.attemptId ||
103
+ generation.disposition !== receipt.outcome) {
104
+ return temporalFailure('temporal generation invariant failed', effects);
105
+ }
106
+ const requiresNote = receipt.outcome === 'final_no_update' || receipt.outcome === 'deferred';
107
+ if (requiresNote &&
108
+ deps.getScopedNoteMaxId((0, temporal_effect_js_1.temporalNoUpdateScope)(before)) <= before.scopedNoteMaxId) {
109
+ return temporalFailure('exact-scope temporal no-update note missing', effects);
110
+ }
111
+ const task = deps.getTask(before.taskId);
112
+ if (!task)
113
+ return temporalFailure('temporal receipt owner task missing', effects);
114
+ if (task.id !== before.taskId) {
115
+ return temporalFailure('temporal owner task identity mismatch', effects);
116
+ }
117
+ if (task.revision < receipt.afterRevision) {
118
+ return temporalFailure('temporal owner task revision precedes receipt', effects);
119
+ }
120
+ effects.push(`receipt:${receipt.workorderAttemptId}`);
121
+ effects.push(`outcome:${receipt.outcome}`);
122
+ if (task.revision > receipt.afterRevision) {
123
+ effects.push(`owner task advanced to revision ${task.revision}`);
124
+ return { verified: true, outcome: 'verified_superseded', effects };
125
+ }
126
+ if (task.lastTemporalAttemptId !== before.attemptId ||
127
+ task.lastTemporalCheckedAt !== receipt.createdAt) {
128
+ return temporalFailure('temporal owner task attempt marker mismatch', effects);
129
+ }
130
+ if (receipt.outcome === 'resolved' || receipt.outcome === 'final_no_update') {
131
+ if (task.temporalReconciledOccurrenceKey !== before.occurrenceKey ||
132
+ task.nextTemporalCheckAt !== null) {
133
+ return temporalFailure('temporal owner task final markers are invalid', effects);
134
+ }
135
+ }
136
+ else if (task.nextTemporalCheckAt !== receipt.nextTemporalCheckAt) {
137
+ return temporalFailure('temporal owner task deferred check mismatch', effects);
138
+ }
139
+ return { verified: true, outcome: receipt.outcome, effects };
140
+ }
141
+ function temporalFailure(reason, effects) {
142
+ return { verified: false, reason, effects };
143
+ }
68
144
  //# sourceMappingURL=action-verifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-verifier.js","sourceRoot":"","sources":["../../src/operator/action-verifier.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAwCH,0CAWC;AAED,wCAmCC;AAtFD,6CAAyC;AAE5B,QAAA,eAAe,GAAG;IAC7B,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,oBAAoB;CACZ,CAAC;AA+BX,SAAgB,eAAe,CAAC,IAAkB,EAAE,KAAa;IAC/D,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IACD,OAAO;QACL,UAAU;QACV,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;QAChC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;QAC/C,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;KACjC,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,IAAkB,EAClB,MAAsB,EACtB,KAAa;IAEb,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,yEAAyE;IACzE,MAAM,eAAe,GAAG,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7E,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,0BAA0B,eAAe,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,sEAAsE;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,UAAU,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QACxC,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,kCAAkC,KAAK,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,iEAAiE;IACjE,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CACpF,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CACvD,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,kBAAkB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"action-verifier.js","sourceRoot":"","sources":["../../src/operator/action-verifier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"board-reconcile.d.ts","sourceRoot":"","sources":["../../src/operator/board-reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,yFAAyF;AACzF,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAwBxE;AAED,MAAM,WAAW,yBAAyB;IACxC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAQD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmC;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmC;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IAEnC,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,yBAAyB;IAU3C,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAwBlD,4EAA4E;IAC5E,aAAa,IAAI,MAAM,EAAE;IAMzB,IAAI,IAAI,IAAI;IAUZ,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;YAcP,IAAI;CA+BnB"}
1
+ {"version":3,"file":"board-reconcile.d.ts","sourceRoot":"","sources":["../../src/operator/board-reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,yFAAyF;AACzF,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CA2BxE;AAED,MAAM,WAAW,yBAAyB;IACxC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAQD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmC;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmC;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IAEnC,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,yBAAyB;IAU3C,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAwBlD,4EAA4E;IAC5E,aAAa,IAAI,MAAM,EAAE;IAMzB,IAAI,IAAI,IAAI;IAUZ,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;YAcP,IAAI;CA+BnB"}
@@ -38,6 +38,9 @@ function buildReconcilePrompt(input) {
38
38
  '5. Finish with exactly one line: RECONCILED <comma-separated slots or none>.',
39
39
  '',
40
40
  'Constraints: do not rewrite unaffected slots; no mama_save; no follow-up questions.',
41
+ '- Set due_at only from trusted, unambiguous time and time zone evidence; otherwise retain date-only precision.',
42
+ '- Never infer completion from calendar disappearance.',
43
+ '- Never copy Trello or Kagemusha lifecycle status into the native ledger.',
41
44
  '',
42
45
  `<latest-delta channel="${input.channelKey}">`,
43
46
  ...input.deltaLines,
@@ -1 +1 @@
1
- {"version":3,"file":"board-reconcile.js","sourceRoot":"","sources":["../../src/operator/board-reconcile.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAeH,oDAwBC;AA3BD,yFAAyF;AAC5E,QAAA,mBAAmB,GAAG,eAAe,CAAC;AAEnD,SAAgB,oBAAoB,CAAC,KAA2B;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,UAAU,CAAC;IACrD,MAAM,KAAK,GAAG,aAAa,KAAK,CAAC,UAAU,EAAE,CAAC;IAC9C,OAAO;QACL,GAAG,2BAAmB,gBAAgB,KAAK,KAAK,KAAK,CAAC,UAAU,eAAe,KAAK,CAAC,QAAQ,GAAG;QAChG,wFAAwF;QACxF,wCAAwC;QACxC,gCAAgC;QAChC,yCAAyC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,yFAAyF,CAAC,CAAC,CAAC,EAAE,GAAG;QACnK,wFAAwF;QACxF,gFAAgF;QAChF,mFAAmF;QACnF,mFAAmF;QACnF,qFAAqF;QACrF,mFAAmF;QACnF,wDAAwD,KAAK,cAAc;QAC3E,8EAA8E;QAC9E,EAAE;QACF,qFAAqF;QACrF,EAAE;QACF,0BAA0B,KAAK,CAAC,UAAU,IAAI;QAC9C,GAAG,KAAK,CAAC,UAAU;QACnB,iBAAiB;KAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAsBD,MAAa,kBAAkB;IACZ,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,gBAAgB,CAAS;IACzB,eAAe,CAAS;IACxB,GAAG,CAAmC;IACtC,GAAG,CAAmC;IACtC,GAAG,CAAe;IAE3B,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC3C,aAAa,GAAa,EAAE,CAAC;IAC7B,UAAU,GAAyC,IAAI,CAAC;IACxD,OAAO,GAAG,KAAK,CAAC;IAExB,YAAY,IAA+B;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,UAAkB,EAAE,KAAe;QACzC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI;YAC7C,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,IAAI;YACnB,eAAe,EAAE,IAAI;SACtB,CAAC;QACF,KAAK,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpF,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI;YAAE,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAErC,IAAI,KAAK,CAAC,aAAa;YAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3D,qEAAqE;QACrE,mEAAmE;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;YAC3B,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,4EAA4E;IAC5E,aAAa;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;aAC5C,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,aAAa;gBAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC3D,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,UAAU;YAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAEO,eAAe;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAC3D,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa;oBAAE,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,UAAkB;QACnC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEtD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC5B,4EAA4E;YAC5E,IAAI,CAAC,GAAG,CACN,wCAAwC,IAAI,CAAC,gBAAgB,kBAAkB,UAAU,KAAK,KAAK,CAAC,YAAY,CAAC,MAAM,cAAc,CACtI,CAAC;YACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;QACjC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yEAAyE;YACzE,KAAK,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpF,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI;gBAAE,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvE,IAAI,CAAC,GAAG,CACN,8BAA8B,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CACtH,CAAC;YACF,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF;AApHD,gDAoHC"}
1
+ {"version":3,"file":"board-reconcile.js","sourceRoot":"","sources":["../../src/operator/board-reconcile.ts"],"names":[],"mappings":"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"}
@@ -16,9 +16,9 @@ export declare function buildBoardHtmlVocabulary(): string[];
16
16
  /**
17
17
  * Pipeline slot = item tracker projection (M8 Phase 3). Injected into EVERY
18
18
  * board writer (dashboard persona, cron prompt, the trigger loop's full
19
- * report) so both writers project the same tracker. D-day arithmetic uses the
20
- * "Today is <date>" line each RUN PROMPT carries -- personas are static files
21
- * and must never bake in a date.
19
+ * report) so both writers project the same tracker. The server-derived
20
+ * temporal_state is the canonical time category; personas are static files
21
+ * and must never recompute it from a baked-in date.
22
22
  */
23
23
  export declare function buildPipelineTrackerInstructions(): string[];
24
24
  /** Instruction block that makes a report run also publish the board slots. */
@@ -1 +1 @@
1
- {"version":3,"file":"board-slot-instructions.d.ts","sourceRoot":"","sources":["../../src/operator/board-slot-instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,gBAAgB,mEAAoE,CAAC;AAElG,8DAA8D;AAC9D,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAenD;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,IAAI,MAAM,EAAE,CAe3D;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAcjD"}
1
+ {"version":3,"file":"board-slot-instructions.d.ts","sourceRoot":"","sources":["../../src/operator/board-slot-instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,gBAAgB,mEAAoE,CAAC;AAElG,8DAA8D;AAC9D,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAiBnD;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,IAAI,MAAM,EAAE,CAsB3D;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAcjD"}
@@ -28,8 +28,10 @@ function buildBoardHtmlVocabulary() {
28
28
  ' <span class="card-badge badge-warning">STATE</span></div>',
29
29
  ' <div class="card-tags"><span class="tag tag-channel">CHANNEL</span></div>',
30
30
  ' <div class="card-action">CONCRETE NEXT ACTION</div></div>',
31
- '- Badge classes by state: badge-danger (blocked/overdue), badge-warning (waiting/needs confirmation),',
31
+ '- Workflow badge classes: badge-danger (blocked), badge-warning (waiting/needs confirmation),',
32
32
  ' badge-info (in progress), badge-success (done/quiet).',
33
+ '- Temporal badges are separate facts: badge-danger (overdue), badge-warning (due today),',
34
+ ' badge-info (upcoming), badge-success (closed).',
33
35
  '- Pipeline table: <table class="report-table"><thead><tr><th>...</th></tr></thead><tbody>rows</tbody></table>',
34
36
  'No <script>, <iframe>, or event handlers: the board sanitizes them out and the CSP blocks them.',
35
37
  ];
@@ -37,19 +39,26 @@ function buildBoardHtmlVocabulary() {
37
39
  /**
38
40
  * Pipeline slot = item tracker projection (M8 Phase 3). Injected into EVERY
39
41
  * board writer (dashboard persona, cron prompt, the trigger loop's full
40
- * report) so both writers project the same tracker. D-day arithmetic uses the
41
- * "Today is <date>" line each RUN PROMPT carries -- personas are static files
42
- * and must never bake in a date.
42
+ * report) so both writers project the same tracker. The server-derived
43
+ * temporal_state is the canonical time category; personas are static files
44
+ * and must never recompute it from a baked-in date.
43
45
  */
44
46
  function buildPipelineTrackerInstructions() {
45
47
  return [
46
48
  'The pipeline slot is an ITEM TRACKER, not a summary. Build it from',
47
49
  'task_list({order: "deadline_priority", limit: 12}) -- the native task ledger is the',
48
50
  'projection source. Render one report-table with a row per open item:',
49
- ' #id | title | status badge | assignee (or "unassigned") | D-day | source | latest event',
50
- '- D-day: compute from the item\'s deadline against the run prompt\'s "Today is" date',
51
- ' (D-3 = due in 3 days, D+2 = 2 days overdue). No deadline -> "-".',
52
- '- Overdue -> badge-danger. Unassigned AND due within 7 days -> badge-warning with the',
51
+ ' #id | title | workflow status | temporal fact | D-day | assignee (or "unassigned") | source | latest event',
52
+ '- Temporal fact: use temporal_state as the canonical category. Show exact_overdue as',
53
+ ' "overdue since <due_at>" and date_overdue as "overdue since <deadline>".',
54
+ '- Workflow judgment: render status independently; overdue never changes status to blocked.',
55
+ '- System condition: report reconciliation retrying/authority unavailable separately; never',
56
+ ' turn an infrastructure condition into a task lifecycle status.',
57
+ '- D-day is an optional display aid computed from deadline and the run date; never use it',
58
+ ' to replace or recompute temporal_state.',
59
+ '- Never infer completion from calendar disappearance.',
60
+ '- Never copy Trello or Kagemusha lifecycle status into the native ledger.',
61
+ '- Unassigned AND due within 7 days -> badge-warning with the',
53
62
  ' literal word "unassigned" visible.',
54
63
  '- Items with auto_created true and confirmed false render "(unconfirmed)" after the title',
55
64
  ' so model-created items are visually distinct from owner-confirmed ones.',
@@ -1 +1 @@
1
- {"version":3,"file":"board-slot-instructions.js","sourceRoot":"","sources":["../../src/operator/board-slot-instructions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAKH,4DAeC;AASD,4EAeC;AAGD,wDAcC;AA3DY,QAAA,gBAAgB,GAAG,CAAC,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAU,CAAC;AAElG,8DAA8D;AAC9D,SAAgB,wBAAwB;IACtC,OAAO;QACL,qGAAqG;QACrG,sFAAsF;QACtF,oIAAoI;QACpI,oEAAoE;QACpE,oGAAoG;QACpG,6DAA6D;QAC7D,6EAA6E;QAC7E,6DAA6D;QAC7D,uGAAuG;QACvG,yDAAyD;QACzD,+GAA+G;QAC/G,iGAAiG;KAClG,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gCAAgC;IAC9C,OAAO;QACL,oEAAoE;QACpE,qFAAqF;QACrF,sEAAsE;QACtE,2FAA2F;QAC3F,sFAAsF;QACtF,oEAAoE;QACpE,uFAAuF;QACvF,sCAAsC;QACtC,2FAA2F;QAC3F,2EAA2E;QAC3E,sCAAsC;QACtC,wFAAwF;KACzF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAgB,sBAAsB;IACpC,OAAO;QACL,qFAAqF;QACrF,gDAAgD;QAChD,yHAAyH;QACzH,iHAAiH;QACjH,iHAAiH;QACjH,yGAAyG;QACzG,0DAA0D;QAC1D,GAAG,gCAAgC,EAAE;QACrC,GAAG,wBAAwB,EAAE;QAC7B,gGAAgG;QAChG,iFAAiF;KAClF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"board-slot-instructions.js","sourceRoot":"","sources":["../../src/operator/board-slot-instructions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAKH,4DAiBC;AASD,4EAsBC;AAGD,wDAcC;AApEY,QAAA,gBAAgB,GAAG,CAAC,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAU,CAAC;AAElG,8DAA8D;AAC9D,SAAgB,wBAAwB;IACtC,OAAO;QACL,qGAAqG;QACrG,sFAAsF;QACtF,oIAAoI;QACpI,oEAAoE;QACpE,oGAAoG;QACpG,6DAA6D;QAC7D,6EAA6E;QAC7E,6DAA6D;QAC7D,+FAA+F;QAC/F,yDAAyD;QACzD,0FAA0F;QAC1F,kDAAkD;QAClD,+GAA+G;QAC/G,iGAAiG;KAClG,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gCAAgC;IAC9C,OAAO;QACL,oEAAoE;QACpE,qFAAqF;QACrF,sEAAsE;QACtE,8GAA8G;QAC9G,sFAAsF;QACtF,4EAA4E;QAC5E,4FAA4F;QAC5F,4FAA4F;QAC5F,kEAAkE;QAClE,0FAA0F;QAC1F,2CAA2C;QAC3C,uDAAuD;QACvD,2EAA2E;QAC3E,8DAA8D;QAC9D,sCAAsC;QACtC,2FAA2F;QAC3F,2EAA2E;QAC3E,sCAAsC;QACtC,wFAAwF;KACzF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAgB,sBAAsB;IACpC,OAAO;QACL,qFAAqF;QACrF,gDAAgD;QAChD,yHAAyH;QACzH,iHAAiH;QACjH,iHAAiH;QACjH,yGAAyG;QACzG,0DAA0D;QAC1D,GAAG,gCAAgC,EAAE;QACrC,GAAG,wBAAwB,EAAE;QAC7B,gGAAgG;QAChG,iFAAiF;KAClF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"briefs.d.ts","sourceRoot":"","sources":["../../src/operator/briefs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMvE,wBAAgB,SAAS,CAAC,OAAO,GAAE,MAAkB,GAAG,MAAM,CAE7D;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,MAAkB,GAAG,MAAM,CAElF;AAED,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,MAAkB,GAAG,MAAM,GAAG,IAAI,CAIzF;AA6DD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAS7D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,MAAkB,GAAG,aAAa,EAAE,CAgBzE"}
1
+ {"version":3,"file":"briefs.d.ts","sourceRoot":"","sources":["../../src/operator/briefs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOvE,wBAAgB,SAAS,CAAC,OAAO,GAAE,MAAkB,GAAG,MAAM,CAE7D;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,MAAkB,GAAG,MAAM,CAElF;AAED,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,MAAkB,GAAG,MAAM,GAAG,IAAI,CAIzF;AA6DD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAW7D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,MAAkB,GAAG,aAAa,EAAE,CAgBzE"}
@@ -24,6 +24,7 @@ const task_ledger_js_1 = require("./task-ledger.js");
24
24
  // relocate INTO this file when the persona modules are deleted at cutover.
25
25
  const dashboard_agent_persona_js_1 = require("../multi-agent/dashboard-agent-persona.js");
26
26
  const wiki_agent_persona_js_1 = require("../multi-agent/wiki-agent-persona.js");
27
+ const temporal_worker_js_1 = require("./temporal-worker.js");
27
28
  function briefsDir(homeDir = (0, node_os_1.homedir)()) {
28
29
  return (0, node_path_1.join)(homeDir, '.mama', 'briefs');
29
30
  }
@@ -99,6 +100,8 @@ function buildDefaultBrief(kind) {
99
100
  return `${stripManagedMarker(wiki_agent_persona_js_1.WIKI_AGENT_PERSONA)}\n${WIKI_WORKORDER_CONTRACT}`;
100
101
  case 'memory-curation':
101
102
  return PROMOTION_BRIEF;
103
+ case 'temporal':
104
+ return (0, temporal_worker_js_1.buildTemporalWorkerBrief)();
102
105
  }
103
106
  }
104
107
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"briefs.js","sourceRoot":"","sources":["../../src/operator/briefs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAWH,8BAEC;AAED,8BAEC;AAGD,8BAIC;AA6DD,8CASC;AASD,oCAgBC;AArHD,qCAAyF;AACzF,qCAAkC;AAClC,yCAAiC;AACjC,qDAAuE;AACvE,2EAA2E;AAC3E,2EAA2E;AAC3E,0FAAoF;AACpF,gFAA0E;AAE1E,SAAgB,SAAS,CAAC,UAAkB,IAAA,iBAAO,GAAE;IACnD,OAAO,IAAA,gBAAI,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,SAAS,CAAC,IAAmB,EAAE,UAAkB,IAAA,iBAAO,GAAE;IACxE,OAAO,IAAA,gBAAI,EAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,IAAI,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,iFAAiF;AACjF,SAAgB,SAAS,CAAC,IAAmB,EAAE,UAAkB,IAAA,iBAAO,GAAE;IACxE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,IAAA,sBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAU,EAAE,CACrD,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;AAEzD,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBhC,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;CAM/B,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBvB,CAAC;AAEF,SAAgB,iBAAiB,CAAC,IAAmB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,GAAG,kBAAkB,CAAC,oDAAuB,CAAC,KAAK,wBAAwB,EAAE,CAAC;QACvF,KAAK,MAAM;YACT,OAAO,GAAG,kBAAkB,CAAC,0CAAkB,CAAC,KAAK,uBAAuB,EAAE,CAAC;QACjF,KAAK,iBAAiB;YACpB,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,UAAkB,IAAA,iBAAO,GAAE;IACtD,IAAA,mBAAS,EAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,gCAAe,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,oEAAoE;YACpE,2DAA2D;YAC3D,MAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC;YAC9B,IAAA,uBAAa,EAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACzD,IAAA,oBAAU,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"briefs.js","sourceRoot":"","sources":["../../src/operator/briefs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAYH,8BAEC;AAED,8BAEC;AAGD,8BAIC;AA6DD,8CAWC;AASD,oCAgBC;AAxHD,qCAAyF;AACzF,qCAAkC;AAClC,yCAAiC;AACjC,qDAAuE;AACvE,2EAA2E;AAC3E,2EAA2E;AAC3E,0FAAoF;AACpF,gFAA0E;AAC1E,6DAAgE;AAEhE,SAAgB,SAAS,CAAC,UAAkB,IAAA,iBAAO,GAAE;IACnD,OAAO,IAAA,gBAAI,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,SAAS,CAAC,IAAmB,EAAE,UAAkB,IAAA,iBAAO,GAAE;IACxE,OAAO,IAAA,gBAAI,EAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,IAAI,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,iFAAiF;AACjF,SAAgB,SAAS,CAAC,IAAmB,EAAE,UAAkB,IAAA,iBAAO,GAAE;IACxE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,IAAA,sBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAU,EAAE,CACrD,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;AAEzD,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBhC,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;CAM/B,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBvB,CAAC;AAEF,SAAgB,iBAAiB,CAAC,IAAmB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,GAAG,kBAAkB,CAAC,oDAAuB,CAAC,KAAK,wBAAwB,EAAE,CAAC;QACvF,KAAK,MAAM;YACT,OAAO,GAAG,kBAAkB,CAAC,0CAAkB,CAAC,KAAK,uBAAuB,EAAE,CAAC;QACjF,KAAK,iBAAiB;YACpB,OAAO,eAAe,CAAC;QACzB,KAAK,UAAU;YACb,OAAO,IAAA,6CAAwB,GAAE,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,UAAkB,IAAA,iBAAO,GAAE;IACtD,IAAA,mBAAS,EAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,gCAAe,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,oEAAoE;YACpE,2DAA2D;YAC3D,MAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC;YAC9B,IAAA,uBAAa,EAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACzD,IAAA,oBAAU,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,15 +1,15 @@
1
1
  /**
2
2
  * TaskLedger - the operator-owned native work-item ledger (M8 Task 0.1).
3
3
  *
4
- * Ports the SHAPE of Kagemusha's proven task store (11 columns: id/title/status/
5
- * priority/deadline/source/auto_created/confirmed/timestamps) plus `assignee`
6
- * and an idempotency key. Implements the pre-existing `TaskSource` interface
7
- * (operator-interfaces.ts) so the board projects ONE task model, not two.
4
+ * Extends the shape of Kagemusha's proven task store with assignment,
5
+ * idempotency, temporal scheduling, durable generation, effect receipt, and
6
+ * workorder state. Implements the pre-existing `TaskSource` interface
7
+ * (operator-interfaces.ts) so the board projects one task model, not two.
8
8
  *
9
9
  * Reconcile runs create/update rows through the task_create/task_update gateway
10
10
  * tools; the pipeline board slot is a projection of `list({order:
11
- * 'deadline_priority'})`. The AGENT makes every judgment about what becomes a
12
- * task; this store only persists.
11
+ * 'deadline_priority'})`. The agent proposes task changes, while this ledger
12
+ * enforces revisions, temporal ownership, idempotency, and atomic receipts.
13
13
  *
14
14
  * Schema-extension note: CREATE TABLE IF NOT EXISTS is a no-op on existing
15
15
  * tables. Any post-ship column addition needs an explicit ALTER TABLE guarded
@@ -20,14 +20,17 @@
20
20
  */
21
21
  import type { SQLiteDatabase } from '../sqlite.js';
22
22
  import type { OperatorTask, TaskSource } from './operator-interfaces.js';
23
+ import { type TemporalEffectReceipt, type TemporalEvidenceAttestation, type TemporalReconcileInput, type TemporalWorkContext } from './temporal-effect.js';
24
+ import { type TemporalState } from './task-temporal.js';
23
25
  export declare const TASK_STATUSES: readonly ["pending", "in_progress", "review", "blocked", "done", "cancelled", "failed"];
24
26
  export type TaskStatus = (typeof TASK_STATUSES)[number];
25
27
  export declare const TASK_PRIORITIES: readonly ["high", "normal", "low"];
26
28
  export type TaskPriority = (typeof TASK_PRIORITIES)[number];
27
29
  export declare const TASK_KINDS: readonly ["owner", "system"];
28
30
  export type TaskKind = (typeof TASK_KINDS)[number];
29
- export declare const WORKORDER_KINDS: readonly ["board", "wiki", "memory-curation"];
31
+ export declare const WORKORDER_KINDS: readonly ["board", "wiki", "memory-curation", "temporal"];
30
32
  export type WorkOrderKind = (typeof WORKORDER_KINDS)[number];
33
+ export declare const TEMPORAL_WORKORDER_MAX_ATTEMPTS = 3;
31
34
  /** source_channel namespace for workorder rows: 'workorder:<workKind>'. */
32
35
  export declare const WORKORDER_CHANNEL_PREFIX = "workorder:";
33
36
  export interface EnqueueWorkOrderInput {
@@ -38,6 +41,16 @@ export interface EnqueueWorkOrderInput {
38
41
  input: Record<string, unknown>;
39
42
  priority?: TaskPriority;
40
43
  }
44
+ export interface EnqueueTemporalGenerationInput {
45
+ generationKey: string;
46
+ taskId: number;
47
+ temporalEpoch: number;
48
+ occurrenceKey: string;
49
+ checkAt: number;
50
+ sourceChannel: string | null;
51
+ sourceEventId: string | null;
52
+ priority?: TaskPriority;
53
+ }
41
54
  export interface WorkOrderRecord {
42
55
  id: number;
43
56
  workKind: WorkOrderKind;
@@ -64,7 +77,59 @@ export interface TaskRecord extends OperatorTask {
64
77
  latestEvent: string | null;
65
78
  autoCreated: boolean;
66
79
  confirmed: boolean;
80
+ dueAt: number | null;
81
+ deadlineOffsetMinutes: number | null;
82
+ revision: number;
83
+ temporalEpoch: number;
84
+ temporalReconciledOccurrenceKey: string | null;
85
+ lastTemporalCheckedAt: number | null;
86
+ nextTemporalCheckAt: number | null;
87
+ lastTemporalAttemptId: number | null;
88
+ temporalState: TemporalState;
89
+ }
90
+ export interface TaskLedgerOptions {
91
+ now?: () => number;
92
+ timeZone?: string;
93
+ }
94
+ export type TemporalGenerationDisposition = 'active' | 'resolved' | 'final_no_update' | 'deferred' | 'exhausted' | 'superseded';
95
+ export interface TemporalGenerationRecord {
96
+ generationKey: string;
97
+ taskId: number;
98
+ temporalEpoch: number;
99
+ occurrenceKey: string;
100
+ checkAt: number;
101
+ disposition: TemporalGenerationDisposition;
102
+ lastWorkOrderId: number | null;
103
+ reason: string | null;
104
+ createdAt: number;
105
+ updatedAt: number;
106
+ }
107
+ export type { TemporalWorkContext } from './temporal-effect.js';
108
+ export interface TemporalGenerationEnqueueResult {
109
+ generation: TemporalGenerationRecord;
110
+ workOrder: WorkOrderRecord;
111
+ created: boolean;
67
112
  }
113
+ /** Authoritative terminal-arbitration view for one temporal attempt. */
114
+ export interface TemporalAttemptState {
115
+ workOrder: WorkOrderRecord;
116
+ generation: TemporalGenerationRecord;
117
+ receipt: TemporalEffectReceipt | null;
118
+ }
119
+ export type TemporalWorkFailureResult = {
120
+ disposition: 'requeued';
121
+ replacement: WorkOrderRecord;
122
+ attempt: number;
123
+ maxAttempts: number;
124
+ } | {
125
+ disposition: 'exhausted';
126
+ attempt: number;
127
+ maxAttempts: number;
128
+ } | {
129
+ disposition: 'superseded';
130
+ attempt: number;
131
+ maxAttempts: number;
132
+ };
68
133
  export interface CreateTaskInput {
69
134
  title: string;
70
135
  status?: TaskStatus;
@@ -72,6 +137,8 @@ export interface CreateTaskInput {
72
137
  assignee?: string;
73
138
  /** ISO YYYY-MM-DD */
74
139
  deadline?: string;
140
+ /** RFC 3339 with an explicit Z or numeric offset. */
141
+ due_at?: string;
75
142
  /** channelKey: "<connector>:<channelId>" */
76
143
  source_channel?: string;
77
144
  /** Idempotency key from the connector event; duplicate (channel, event) UPSERTS. */
@@ -84,6 +151,8 @@ export interface UpdateTaskInput {
84
151
  priority?: TaskPriority;
85
152
  assignee?: string | null;
86
153
  deadline?: string | null;
154
+ /** RFC 3339 with an explicit Z or numeric offset. */
155
+ due_at?: string | null;
87
156
  latest_event?: string;
88
157
  confirmed?: boolean;
89
158
  title?: string;
@@ -98,7 +167,10 @@ export interface ListTasksFilter {
98
167
  }
99
168
  export declare class TaskLedger implements TaskSource {
100
169
  private db;
101
- constructor(db: SQLiteDatabase);
170
+ private now;
171
+ private timeZone;
172
+ constructor(db: SQLiteDatabase, options?: TaskLedgerOptions);
173
+ private toRecord;
102
174
  private runMigration;
103
175
  /** Full current column set - single source for CREATE and the rebuild copy. */
104
176
  private static readonly TABLE_COLUMNS_SQL;
@@ -114,6 +186,11 @@ export declare class TaskLedger implements TaskSource {
114
186
  getTasks(): OperatorTask[];
115
187
  countOpenUnconfirmed(): number;
116
188
  list(filter?: ListTasksFilter): TaskRecord[];
189
+ /** Internal bounded page for temporal reconciliation; excludes rows that can never be candidates. */
190
+ listTemporalScanPage(input: {
191
+ limit: number;
192
+ afterId: number;
193
+ }): TaskRecord[];
117
194
  /** Owner rows only - system workorder rows are invisible to external reads. */
118
195
  getById(id: number): TaskRecord | null;
119
196
  /** Internal fetch without the kind filter (guards and workorder paths). */
@@ -125,6 +202,8 @@ export declare class TaskLedger implements TaskSource {
125
202
  */
126
203
  create(input: CreateTaskInput): TaskRecord;
127
204
  update(id: number, patch: UpdateTaskInput): TaskRecord;
205
+ private supersedeTemporalGenerationsInTransaction;
206
+ private supersedeAllActiveTemporalGenerationsInTransaction;
128
207
  /**
129
208
  * Stable hash over ordered OWNER rows - the Phase-2 verifier's ledger
130
209
  * snapshot. kind filter keeps concurrent system enqueues from shaking the
@@ -137,6 +216,50 @@ export declare class TaskLedger implements TaskSource {
137
216
  * unique index excludes terminal statuses) and a fresh row is inserted.
138
217
  */
139
218
  enqueueWorkOrder(order: EnqueueWorkOrderInput): WorkOrderRecord;
219
+ private insertWorkOrder;
220
+ enqueueTemporalGeneration(input: EnqueueTemporalGenerationInput): TemporalGenerationEnqueueResult;
221
+ getTemporalGeneration(generationKey: string): TemporalGenerationRecord | null;
222
+ loadTemporalWorkContext(attemptId: number): TemporalWorkContext;
223
+ assertTemporalWorkContextActive(suppliedContext: TemporalWorkContext): TemporalWorkContext;
224
+ getTemporalEffect(attemptId: number): TemporalEffectReceipt | null;
225
+ /**
226
+ * Read and validate the durable state that decides a temporal attempt's
227
+ * terminal outcome. This intentionally does not require an active attempt:
228
+ * consumers must be able to arbitrate committed, superseded, and exhausted
229
+ * attempts after runner/auditor failures and daemon restarts.
230
+ */
231
+ inspectTemporalAttempt(attemptId: number): TemporalAttemptState;
232
+ applyTemporalEffect(suppliedContext: TemporalWorkContext, input: TemporalReconcileInput, evidence: TemporalEvidenceAttestation, now?: number): TemporalEffectReceipt;
233
+ requeueTemporalWorkOrder(attemptId: number, reason: string): WorkOrderRecord;
234
+ exhaustTemporalWorkOrder(attemptId: number, reason: string): void;
235
+ failTemporalWorkOrder(attemptId: number, reason: string): TemporalWorkFailureResult;
236
+ private repairClosedTemporalOwnershipInTransaction;
237
+ /** Repair pre-fix databases where a terminal owner still has active temporal ownership. */
238
+ repairClosedTemporalGenerations(): number;
239
+ /** Control-plane pause: cancel open attempts but keep generations resumable. */
240
+ pauseActiveTemporalWork(reason: string): number;
241
+ /** Resume paused active generations without spending another model attempt. */
242
+ resumePausedTemporalWork(): WorkOrderRecord[];
243
+ private requeueTemporalWorkOrderInTransaction;
244
+ private exhaustTemporalWorkOrderInTransaction;
245
+ supersedeTemporalGenerations(taskId: number, currentEpoch: number, excludeGenerationKey?: string): void;
246
+ private validateTemporalGenerationInput;
247
+ /**
248
+ * Workorder payloads carry only bounded references to owner-source identifiers.
249
+ * Owner rows created by older releases may contain empty or arbitrarily long
250
+ * connector identifiers; hashing preserves exact identity without making one
251
+ * legacy row able to abort temporal boot or inflate every retry payload.
252
+ */
253
+ private temporalSourceIdentifierRef;
254
+ private validateTemporalEffectInput;
255
+ private assertTemporalContextMatches;
256
+ private loadTemporalWorkContextInternal;
257
+ private assertTemporalPayloadMatches;
258
+ private requirePayloadString;
259
+ private requireNullablePayloadString;
260
+ private requirePayloadInteger;
261
+ private assertTemporalReason;
262
+ private temporalAuditText;
140
263
  /**
141
264
  * Claim the next pending workorder: priority high>normal>low, then id ASC
142
265
  * (plan D2/E2 - CASE mapping, never lexicographic on the TEXT enum).
@@ -154,6 +277,8 @@ export declare class TaskLedger implements TaskSource {
154
277
  completeWorkOrder(id: number): void;
155
278
  failWorkOrder(id: number, reason: string): void;
156
279
  countPendingWorkOrders(): number;
280
+ countOpenWorkOrders(kind?: WorkOrderKind): number;
281
+ findTemporalGenerationKeys(generationKeys: readonly string[]): Set<string>;
157
282
  /** In-progress system rows at boot = crash artifacts (single serial consumer). */
158
283
  listStaleClaims(): WorkOrderRecord[];
159
284
  /**
@@ -178,6 +303,7 @@ export declare class TaskLedger implements TaskSource {
178
303
  recordNoUpdate(scope: string, reason: string): {
179
304
  id: number;
180
305
  };
306
+ private insertNoUpdateNote;
181
307
  /** Max no-update note id, optionally scoped - the verifier's note snapshot. */
182
308
  maxNoUpdateId(scope?: string): number;
183
309
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-ledger.d.ts","sourceRoot":"","sources":["../../src/operator/task-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-ledger.d.ts","sourceRoot":"","sources":["../../src/operator/task-ledger.ts"],"names":[],"mappings":"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"}