@jungjaehoon/mama-os 0.36.0 → 0.37.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 (158) hide show
  1. package/dist/agent/agent-loop.d.ts +2 -1
  2. package/dist/agent/agent-loop.d.ts.map +1 -1
  3. package/dist/agent/agent-loop.js +17 -12
  4. package/dist/agent/agent-loop.js.map +1 -1
  5. package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
  6. package/dist/agent/code-act/host-bridge.js +27 -2
  7. package/dist/agent/code-act/host-bridge.js.map +1 -1
  8. package/dist/agent/code-act/type-definition-generator.d.ts.map +1 -1
  9. package/dist/agent/code-act/type-definition-generator.js +3 -1
  10. package/dist/agent/code-act/type-definition-generator.js.map +1 -1
  11. package/dist/agent/context-compile-service.d.ts +2 -0
  12. package/dist/agent/context-compile-service.d.ts.map +1 -1
  13. package/dist/agent/context-compile-service.js +1 -1
  14. package/dist/agent/context-compile-service.js.map +1 -1
  15. package/dist/agent/drive-tools.d.ts +27 -1
  16. package/dist/agent/drive-tools.d.ts.map +1 -1
  17. package/dist/agent/drive-tools.js +68 -2
  18. package/dist/agent/drive-tools.js.map +1 -1
  19. package/dist/agent/gateway-tool-executor.d.ts +11 -6
  20. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  21. package/dist/agent/gateway-tool-executor.js +210 -37
  22. package/dist/agent/gateway-tool-executor.js.map +1 -1
  23. package/dist/agent/gateway-tools.md +2 -2
  24. package/dist/agent/tool-registry.js +2 -2
  25. package/dist/agent/tool-registry.js.map +1 -1
  26. package/dist/agent/types.d.ts +15 -0
  27. package/dist/agent/types.d.ts.map +1 -1
  28. package/dist/agent/types.js.map +1 -1
  29. package/dist/api/report-handler.d.ts +9 -5
  30. package/dist/api/report-handler.d.ts.map +1 -1
  31. package/dist/api/report-handler.js +26 -13
  32. package/dist/api/report-handler.js.map +1 -1
  33. package/dist/api/report-persistence.d.ts.map +1 -1
  34. package/dist/api/report-persistence.js +6 -3
  35. package/dist/api/report-persistence.js.map +1 -1
  36. package/dist/api/runtime-status-handler.d.ts +1 -0
  37. package/dist/api/runtime-status-handler.d.ts.map +1 -1
  38. package/dist/api/runtime-status-handler.js +1 -0
  39. package/dist/api/runtime-status-handler.js.map +1 -1
  40. package/dist/cli/commands/start.d.ts +14 -20
  41. package/dist/cli/commands/start.d.ts.map +1 -1
  42. package/dist/cli/commands/start.js +207 -248
  43. package/dist/cli/commands/start.js.map +1 -1
  44. package/dist/cli/commands/status.d.ts +6 -0
  45. package/dist/cli/commands/status.d.ts.map +1 -1
  46. package/dist/cli/commands/status.js +89 -0
  47. package/dist/cli/commands/status.js.map +1 -1
  48. package/dist/cli/config/types.d.ts +0 -21
  49. package/dist/cli/config/types.d.ts.map +1 -1
  50. package/dist/cli/config/types.js +0 -7
  51. package/dist/cli/config/types.js.map +1 -1
  52. package/dist/cli/index.js +2 -15
  53. package/dist/cli/index.js.map +1 -1
  54. package/dist/cli/runtime/agent-loop-init.d.ts +2 -2
  55. package/dist/cli/runtime/agent-loop-init.d.ts.map +1 -1
  56. package/dist/cli/runtime/agent-loop-init.js +3 -3
  57. package/dist/cli/runtime/agent-loop-init.js.map +1 -1
  58. package/dist/cli/runtime/api-routes-init.d.ts +7 -1
  59. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  60. package/dist/cli/runtime/api-routes-init.js +99 -38
  61. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  62. package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
  63. package/dist/cli/runtime/api-server-init.js +3 -0
  64. package/dist/cli/runtime/api-server-init.js.map +1 -1
  65. package/dist/gateways/message-router.js +10 -10
  66. package/dist/gateways/message-router.js.map +1 -1
  67. package/dist/gateways/telegram.d.ts +2 -2
  68. package/dist/gateways/telegram.d.ts.map +1 -1
  69. package/dist/gateways/telegram.js +13 -7
  70. package/dist/gateways/telegram.js.map +1 -1
  71. package/dist/multi-agent/agent-event-bus.d.ts +0 -5
  72. package/dist/multi-agent/agent-event-bus.d.ts.map +1 -1
  73. package/dist/multi-agent/agent-event-bus.js.map +1 -1
  74. package/dist/operator/action-verifier.d.ts +2 -0
  75. package/dist/operator/action-verifier.d.ts.map +1 -1
  76. package/dist/operator/action-verifier.js +3 -2
  77. package/dist/operator/action-verifier.js.map +1 -1
  78. package/dist/operator/board-reconcile.d.ts +2 -2
  79. package/dist/operator/board-reconcile.d.ts.map +1 -1
  80. package/dist/operator/board-reconcile.js +10 -2
  81. package/dist/operator/board-reconcile.js.map +1 -1
  82. package/dist/operator/board-refresh-gate.d.ts +34 -0
  83. package/dist/operator/board-refresh-gate.d.ts.map +1 -0
  84. package/dist/operator/board-refresh-gate.js +82 -0
  85. package/dist/operator/board-refresh-gate.js.map +1 -0
  86. package/dist/operator/briefs.d.ts.map +1 -1
  87. package/dist/operator/briefs.js +92 -4
  88. package/dist/operator/briefs.js.map +1 -1
  89. package/dist/operator/operator-trigger-loop.d.ts +7 -22
  90. package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
  91. package/dist/operator/operator-trigger-loop.js +33 -34
  92. package/dist/operator/operator-trigger-loop.js.map +1 -1
  93. package/dist/operator/owner-event-effects.d.ts +34 -0
  94. package/dist/operator/owner-event-effects.d.ts.map +1 -0
  95. package/dist/operator/owner-event-effects.js +131 -0
  96. package/dist/operator/owner-event-effects.js.map +1 -0
  97. package/dist/operator/{conductor-inbox.d.ts → owner-event-inbox.d.ts} +23 -12
  98. package/dist/operator/owner-event-inbox.d.ts.map +1 -0
  99. package/dist/operator/{conductor-inbox.js → owner-event-inbox.js} +97 -40
  100. package/dist/operator/owner-event-inbox.js.map +1 -0
  101. package/dist/operator/owner-event-loop.d.ts +59 -0
  102. package/dist/operator/owner-event-loop.d.ts.map +1 -0
  103. package/dist/operator/owner-event-loop.js +141 -0
  104. package/dist/operator/owner-event-loop.js.map +1 -0
  105. package/dist/operator/owner-event-outcome.d.ts +30 -0
  106. package/dist/operator/owner-event-outcome.d.ts.map +1 -0
  107. package/dist/operator/owner-event-outcome.js +108 -0
  108. package/dist/operator/owner-event-outcome.js.map +1 -0
  109. package/dist/operator/owner-event-policy.d.ts +20 -0
  110. package/dist/operator/owner-event-policy.d.ts.map +1 -0
  111. package/dist/operator/owner-event-policy.js +50 -0
  112. package/dist/operator/owner-event-policy.js.map +1 -0
  113. package/dist/operator/owner-event-prompt.d.ts +10 -0
  114. package/dist/operator/owner-event-prompt.d.ts.map +1 -0
  115. package/dist/operator/owner-event-prompt.js +63 -0
  116. package/dist/operator/owner-event-prompt.js.map +1 -0
  117. package/dist/operator/task-ledger.d.ts +2 -0
  118. package/dist/operator/task-ledger.d.ts.map +1 -1
  119. package/dist/operator/task-ledger.js +12 -1
  120. package/dist/operator/task-ledger.js.map +1 -1
  121. package/dist/operator/trigger-matcher.d.ts.map +1 -1
  122. package/dist/operator/trigger-matcher.js +4 -1
  123. package/dist/operator/trigger-matcher.js.map +1 -1
  124. package/dist/operator/trigger-registry.d.ts +1 -1
  125. package/dist/operator/trigger-registry.d.ts.map +1 -1
  126. package/dist/operator/trigger-registry.js +2 -2
  127. package/dist/operator/trigger-registry.js.map +1 -1
  128. package/dist/operator/trigger-types.d.ts +2 -0
  129. package/dist/operator/trigger-types.d.ts.map +1 -1
  130. package/dist/operator/workorder-hooks.d.ts +14 -0
  131. package/dist/operator/workorder-hooks.d.ts.map +1 -1
  132. package/dist/operator/workorder-hooks.js +64 -0
  133. package/dist/operator/workorder-hooks.js.map +1 -1
  134. package/dist/operator/workorder-publishers.d.ts +14 -4
  135. package/dist/operator/workorder-publishers.d.ts.map +1 -1
  136. package/dist/operator/workorder-publishers.js +51 -13
  137. package/dist/operator/workorder-publishers.js.map +1 -1
  138. package/dist/package-version.d.ts +3 -0
  139. package/dist/package-version.d.ts.map +1 -0
  140. package/dist/package-version.js +18 -0
  141. package/dist/package-version.js.map +1 -0
  142. package/package.json +2 -2
  143. package/public/viewer/js/modules/system.js +1 -0
  144. package/public/viewer/src/modules/system.ts +2 -0
  145. package/dist/operator/board-reground.d.ts +0 -19
  146. package/dist/operator/board-reground.d.ts.map +0 -1
  147. package/dist/operator/board-reground.js +0 -31
  148. package/dist/operator/board-reground.js.map +0 -1
  149. package/dist/operator/conductor-inbox.d.ts.map +0 -1
  150. package/dist/operator/conductor-inbox.js.map +0 -1
  151. package/dist/operator/conductor-session.d.ts +0 -55
  152. package/dist/operator/conductor-session.d.ts.map +0 -1
  153. package/dist/operator/conductor-session.js +0 -110
  154. package/dist/operator/conductor-session.js.map +0 -1
  155. package/dist/operator/conductor.d.ts +0 -69
  156. package/dist/operator/conductor.d.ts.map +0 -1
  157. package/dist/operator/conductor.js +0 -90
  158. package/dist/operator/conductor.js.map +0 -1
@@ -8,7 +8,7 @@
8
8
  * 1. Sets up closure-scoped reasoning state (reasoningLog, turnCount, autoRecallUsed)
9
9
  * 2. Checks persona completion and logs onboarding status
10
10
  * 3. Determines OS Agent mode and loads capabilities
11
- * 4. Resolves Code-Act config from conductor agent
11
+ * 4. Resolves Code-Act config from os-agent, with a legacy persona fallback
12
12
  * 5. Creates the main AgentLoop with all options
13
13
  * 6. Creates buildReasoningHeader() helper (closure-scoped)
14
14
  * 7. Creates agentLoopClient wrapper with run() and runWithContent() methods
@@ -30,7 +30,7 @@ export declare function appendToolResultReasoning(reasoningLog: string[], result
30
30
  export interface AgentLoopInitResult {
31
31
  agentLoop: AgentLoop;
32
32
  agentLoopClient: AgentLoopClient;
33
- /** Whether Code-Act is enabled (derived from conductor agent config) */
33
+ /** Whether Code-Act is enabled for the main agent. */
34
34
  useCodeAct: boolean;
35
35
  }
36
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop-init.d.ts","sourceRoot":"","sources":["../../../src/cli/runtime/agent-loop-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAGV,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AActD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAgB3D;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAiBvF;AAKD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,cAAc,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,EAC5C,YAAY,EAAE,mBAAmB,EACjC,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,qBAAqB,CAAC,EAAE,0BAA0B,CAAC,uBAAuB,CAAC,CAAC;IAC5E,kBAAkB,CAAC,EAAE,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;CACvE,GACA,mBAAmB,CAuRrB"}
1
+ {"version":3,"file":"agent-loop-init.d.ts","sourceRoot":"","sources":["../../../src/cli/runtime/agent-loop-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAGV,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AActD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAgB3D;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAiBvF;AAKD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,sDAAsD;IACtD,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,cAAc,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,EAC5C,YAAY,EAAE,mBAAmB,EACjC,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,qBAAqB,CAAC,EAAE,0BAA0B,CAAC,uBAAuB,CAAC,CAAC;IAC5E,kBAAkB,CAAC,EAAE,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;CACvE,GACA,mBAAmB,CAuRrB"}
@@ -9,7 +9,7 @@
9
9
  * 1. Sets up closure-scoped reasoning state (reasoningLog, turnCount, autoRecallUsed)
10
10
  * 2. Checks persona completion and logs onboarding status
11
11
  * 3. Determines OS Agent mode and loads capabilities
12
- * 4. Resolves Code-Act config from conductor agent
12
+ * 4. Resolves Code-Act config from os-agent, with a legacy persona fallback
13
13
  * 5. Creates the main AgentLoop with all options
14
14
  * 6. Creates buildReasoningHeader() helper (closure-scoped)
15
15
  * 7. Creates agentLoopClient wrapper with run() and runWithContent() methods
@@ -131,7 +131,7 @@ function initMainAgentLoop(config, oauthManager, db, metricsStore, runtimeBacken
131
131
  // Viewer frontdoor prefers an explicit os-agent value; conductor remains the
132
132
  // field-level fallback for normalized legacy installs.
133
133
  const osAgentUseCodeAct = config.multi_agent?.agents?.['os-agent']?.useCodeAct;
134
- const conductorUseCodeAct = config.multi_agent?.agents?.conductor?.useCodeAct ??
134
+ const legacyConductorUseCodeAct = config.multi_agent?.agents?.conductor?.useCodeAct ??
135
135
  config.multi_agent?.agents?.Conductor?.useCodeAct;
136
136
  // Backend-aware default (live incident 2026-07-27): the main claude chat is
137
137
  // persona-locked (--tools "", no MCP config), so outer Code-Act has NO
@@ -142,7 +142,7 @@ function initMainAgentLoop(config, oauthManager, db, metricsStore, runtimeBacken
142
142
  // An explicit per-agent useCodeAct in config still wins in both directions.
143
143
  const useCodeAct = options?.osAgentMode === true
144
144
  ? false
145
- : (osAgentUseCodeAct ?? conductorUseCodeAct ?? runtimeBackend !== 'claude');
145
+ : (osAgentUseCodeAct ?? legacyConductorUseCodeAct ?? runtimeBackend !== 'claude');
146
146
  // OS Agent mode: block sub-agent-specific tools to force delegation.
147
147
  // The OS agent must use delegate() instead of doing sub-agent work directly.
148
148
  const osAgentDisallowed = options?.osAgentMode
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop-init.js","sourceRoot":"","sources":["../../../src/cli/runtime/agent-loop-init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-loop-init.js","sourceRoot":"","sources":["../../../src/cli/runtime/agent-loop-init.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ import type { SlackGateway } from '../../gateways/slack.js';
17
17
  import type { MAMAConfig } from '../config/types.js';
18
18
  import type { MAMAApiShape } from './types.js';
19
19
  import type { AgentEventBus } from '../../multi-agent/agent-event-bus.js';
20
+ import type { BoardRefreshGate } from '../../operator/board-refresh-gate.js';
20
21
  import type { TaskLedger } from '../../operator/task-ledger.js';
21
22
  import type { WorkOrderConsumer } from '../../operator/workorder-consumer.js';
22
23
  import type { ExternalLifecycleCandidateSet } from '../../operator/external-lifecycle.js';
@@ -78,9 +79,14 @@ export interface RegisterApiRoutesParams {
78
79
  sessionsDb?: SQLiteDatabase;
79
80
  /** Stage-2 consumer: per-kind completion hooks register here (started by start.ts AFTER this returns). */
80
81
  workOrderConsumer?: WorkOrderConsumer;
82
+ /** Shared host-owned Board repair gate; null preserves reconcile-disabled legacy behavior. */
83
+ boardRefreshGate: BoardRefreshGate | null;
81
84
  /** TG-05/TG-06: owner-report context store for the operator recovery surface. */
82
85
  reportContextStore?: import('../../gateways/telegram-report-context-store.js').TelegramReportContextStore;
83
86
  }
84
- export declare function registerApiRoutes(params: RegisterApiRoutesParams): Promise<void>;
87
+ export interface ApiRoutesHandle {
88
+ stop(): void;
89
+ }
90
+ export declare function registerApiRoutes(params: RegisterApiRoutesParams): Promise<ApiRoutesHandle>;
85
91
  export {};
86
92
  //# sourceMappingURL=api-routes-init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-routes-init.d.ts","sourceRoot":"","sources":["../../../src/cli/runtime/api-routes-init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-routes-init.d.ts","sourceRoot":"","sources":["../../../src/cli/runtime/api-routes-init.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,7 @@ const debugLogger = __importStar(require("@jungjaehoon/mama-core/debug-logger"))
65
65
  const leg_cadence_js_1 = require("../../operator/leg-cadence.js");
66
66
  const { DebugLogger } = debugLogger;
67
67
  const routesLogger = new DebugLogger('api-routes');
68
+ const HOST_MANUAL_FULL_REPAIR_CHANNEL = 'host:api-report-agent-refresh';
68
69
  const MAX_RECONCILE_LIFECYCLE_DIAGNOSTICS = 100;
69
70
  /**
70
71
  * Construct the only lifecycle authority a reconcile work order may carry.
@@ -184,7 +185,10 @@ function registerKagemushaTaskRoute(app, policy, loadQuery = async () => (await
184
185
  });
185
186
  }
186
187
  async function registerApiRoutes(params) {
187
- const { config, apiServer, eventBus, oauthManager: _oauthManager, mamaApi: _mamaApi, messageRouter, agentLoop, toolExecutor, discordGateway, slackGateway, graphHandler, getAdapter, privateConnectorPolicy, rawConnectorScope, sessionsDb, workOrderConsumer, } = params;
188
+ const { config, apiServer, eventBus, oauthManager: _oauthManager, mamaApi: _mamaApi, messageRouter, agentLoop, toolExecutor, discordGateway, slackGateway, graphHandler, getAdapter, privateConnectorPolicy, rawConnectorScope, sessionsDb, workOrderConsumer, boardRefreshGate, } = params;
189
+ let boardBootTimeout = null;
190
+ let boardInterval = null;
191
+ let boardReconcileScheduler = null;
188
192
  // ── Stage-2 workorder publishers ──────────────────────────────────────
189
193
  // The ONLY system run path since v0.28.0: every scheduled/boot/manual run
190
194
  // below enqueues an occurrence-keyed workorder for the consumer lane (the
@@ -318,7 +322,7 @@ async function registerApiRoutes(params) {
318
322
  const { createReportPublisher } = await import('../../api/report-handler.js');
319
323
  toolExecutor.setReportPublisher(createReportPublisher(apiServer.reportStore, apiServer.reportSseClients));
320
324
  // S1-T4 artifact hub: the console READS the board it directs. Same store
321
- // the publisher writes - the conductor's status answers cite these slots
325
+ // the publisher writes - MAMA's status answers cite these slots
322
326
  // instead of re-deriving state from memory copies.
323
327
  toolExecutor.setReportReader(() => {
324
328
  const slots = apiServer.reportStore.getAll();
@@ -345,10 +349,28 @@ async function registerApiRoutes(params) {
345
349
  // Schedule/boot/manual all funnel here: one occurrence-keyed board
346
350
  // workorder per entry. An enqueue failure is logged loudly and the next
347
351
  // occurrence retries - there is no fallback run path.
352
+ const reconcileEnabled = boardRefreshGate !== null;
348
353
  const runDashboardAgent = (opts) => {
349
354
  try {
355
+ if (!opts?.force && boardRefreshGate && !boardRefreshGate.needsFullRepair()) {
356
+ return;
357
+ }
358
+ if (opts?.force && boardRefreshGate) {
359
+ // Host-owned manual dirt is captured before validation/enqueue can
360
+ // fail. It clears only through the full run-bound effect verifier.
361
+ boardRefreshGate.markChannelDirty(HOST_MANUAL_FULL_REPAIR_CHANNEL);
362
+ }
350
363
  const now = Date.now();
351
- enqueueWorkOrderOrThrow('board', opts?.force ? (0, workorder_publishers_js_1.boardManualKey)(now) : (0, workorder_publishers_js_1.boardFullKey)(now), { mode: 'full', ...(opts?.force ? { force: true } : {}) }, opts?.force ? 'high' : undefined);
364
+ const repair = boardRefreshGate?.captureFullRepair();
365
+ enqueueWorkOrderOrThrow('board', opts?.force
366
+ ? (0, workorder_publishers_js_1.boardManualKey)(now)
367
+ : boardRefreshGate
368
+ ? (0, workorder_publishers_js_1.boardRepairKey)()
369
+ : (0, workorder_publishers_js_1.boardFullKey)(now), {
370
+ mode: 'full',
371
+ ...(repair ?? {}),
372
+ ...(opts?.force ? { force: true } : {}),
373
+ }, opts?.force ? 'high' : undefined);
352
374
  }
353
375
  catch (err) {
354
376
  routesLogger.error('[stage2] board enqueue failed:', err instanceof Error ? err.message : err);
@@ -358,9 +380,9 @@ async function registerApiRoutes(params) {
358
380
  // ONE constant feeds both the timer and the declared cadence - if they
359
381
  // drift apart the watchdog pages on a schedule nobody is running.
360
382
  const DASHBOARD_AGENT_INTERVAL_MS = 30 * 60 * 1000;
361
- setTimeout(runDashboardAgent, 10_000);
383
+ boardBootTimeout = setTimeout(runDashboardAgent, 10_000);
362
384
  (0, leg_cadence_js_1.getLegCadence)()?.declare('dashboard-agent', DASHBOARD_AGENT_INTERVAL_MS);
363
- setInterval(() => {
385
+ boardInterval = setInterval(() => {
364
386
  (0, leg_cadence_js_1.getLegCadence)()?.beat('dashboard-agent');
365
387
  runDashboardAgent();
366
388
  }, DASHBOARD_AGENT_INTERVAL_MS);
@@ -370,10 +392,10 @@ async function registerApiRoutes(params) {
370
392
  runDashboardAgent({ force: true });
371
393
  res.json({ ok: true, message: 'Board refresh workorder enqueued (forced)' });
372
394
  });
373
- // -- M8 board reconcile leg (freshness layer; default OFF, opt-in like
374
- // MAMA_TRIGGER_LOOP). The trigger loop emits operator:channel-delta after
375
- // committing its cursor; the 30-min cron above remains the repair pass.
376
- if (process.env.MAMA_BOARD_RECONCILE === '1') {
395
+ // Manual Board reconcile remains available for an explicit operator
396
+ // request. Connector deltas belong to the MAMA owner-event agent and are
397
+ // no longer consumed by a parallel Board worker.
398
+ if (reconcileEnabled && boardRefreshGate) {
377
399
  const { ReconcileScheduler } = await import('../../operator/board-reconcile.js');
378
400
  const { captureSnapshot, verifyAfterRun } = await import('../../operator/action-verifier.js');
379
401
  // Verifier deps (M8 Phase 2): run-bound signals only -- notes from the
@@ -393,37 +415,61 @@ async function registerApiRoutes(params) {
393
415
  // (agent_activity has NO channel_id column; json_extract is the only
394
416
  // schema-supported key; agent_id re-keying is a green-test trap).
395
417
  if (workOrderConsumer) {
396
- const { buildWorkerTraceQueries, boardCandidateReceiptVerdict } = await import('../../operator/workorder-hooks.js');
397
- const workerVerifierDeps = {
418
+ const { applyBoardRefreshVerdict, buildFullBoardTraceQueries, buildWorkerTraceQueries, boardCandidateReceiptVerdict, } = await import('../../operator/workorder-hooks.js');
419
+ const reconcileVerifierDeps = {
398
420
  ...verifierDeps,
399
421
  ...buildWorkerTraceQueries(sessionsDb, 'worker:board'),
400
422
  };
423
+ const fullVerifierDepsFor = (attemptId) => ({
424
+ ...verifierDeps,
425
+ ...buildFullBoardTraceQueries(sessionsDb, 'worker:board', attemptId),
426
+ });
401
427
  workOrderConsumer.registerHook('board', {
402
428
  verdictRequired: true,
403
429
  before: (wo) => {
404
- if (wo.payload.mode !== 'reconcile')
405
- return null;
406
- return captureSnapshot(workerVerifierDeps, `reconcile:${String(wo.payload.channelKey)}`);
430
+ if (wo.payload.mode === 'reconcile') {
431
+ return captureSnapshot(reconcileVerifierDeps, `reconcile:${String(wo.payload.channelKey)}`);
432
+ }
433
+ if (wo.payload.mode === 'full' && typeof wo.payload.noUpdateScope === 'string') {
434
+ return captureSnapshot(fullVerifierDepsFor(wo.id), wo.payload.noUpdateScope);
435
+ }
436
+ return null;
407
437
  },
408
438
  after: (wo, response, beforeState) => {
409
- if (wo.payload.mode !== 'reconcile' || !beforeState) {
410
- // FULL runs are not bracket-verified (plan: reconcile mode only).
439
+ const receiptVerdict = boardCandidateReceiptVerdict(wo, reconcileLedger);
440
+ if (!beforeState) {
411
441
  if (response.includes('NO_UPDATE')) {
412
442
  console.log('[stage2] board worker: no changes detected, publish skipped');
413
443
  }
414
- return boardCandidateReceiptVerdict(wo, reconcileLedger);
444
+ return receiptVerdict;
415
445
  }
416
- const scope = `reconcile:${String(wo.payload.channelKey)}`;
417
- const verdict = verifyAfterRun(workerVerifierDeps, beforeState, scope);
418
- const outcome = verdict.verified ? 'reconcile_verified' : 'reconcile_unverified';
419
- console.log(`[stage2] ${outcome} channel=${String(wo.payload.channelKey)}${verdict.effects.length > 0 ? ` (${verdict.effects.join('; ')})` : ''}`);
446
+ const isReconcile = wo.payload.mode === 'reconcile';
447
+ const scope = isReconcile
448
+ ? `reconcile:${String(wo.payload.channelKey)}`
449
+ : String(wo.payload.noUpdateScope);
450
+ const verdict = verifyAfterRun(isReconcile ? reconcileVerifierDeps : fullVerifierDepsFor(wo.id), beforeState, scope);
451
+ // force:true is a request to rebuild/publish, so an exact no-op
452
+ // note cannot discharge it. Non-force scheduled repair may use
453
+ // the exact scope note when there is genuinely nothing to write.
454
+ const effectVerified = verdict.verified &&
455
+ !(wo.payload.mode === 'full' &&
456
+ wo.payload.force === true &&
457
+ verdict.obligatedTraceCount === 0);
458
+ const outcome = effectVerified
459
+ ? isReconcile
460
+ ? 'reconcile_verified'
461
+ : 'full_verified'
462
+ : isReconcile
463
+ ? 'reconcile_unverified'
464
+ : 'full_unverified';
465
+ console.log(`[stage2] ${outcome} scope=${scope}${verdict.effects.length > 0 ? ` (${verdict.effects.join('; ')})` : ''}`);
420
466
  try {
421
467
  if (sessionsDb) {
422
468
  (0, agent_store_js_1.logActivity)(sessionsDb, {
423
469
  agent_id: 'workorder-board',
424
470
  agent_version: 0,
425
471
  type: outcome,
426
- input_summary: `reconcile ${String(wo.payload.channelKey)}`,
472
+ input_summary: scope,
427
473
  output_summary: verdict.effects.join('; '),
428
474
  execution_status: 'completed',
429
475
  trigger_reason: 'workorder',
@@ -433,15 +479,15 @@ async function registerApiRoutes(params) {
433
479
  catch {
434
480
  /* telemetry only */
435
481
  }
436
- if (!verdict.verified) {
482
+ if (!effectVerified) {
437
483
  eventBus.emit({
438
484
  type: 'agent:action',
439
485
  agent: 'Dashboard Agent',
440
- action: 'reconcile_unverified',
441
- target: String(wo.payload.channelKey),
486
+ action: isReconcile ? 'reconcile_unverified' : 'full_unverified',
487
+ target: isReconcile ? String(wo.payload.channelKey) : scope,
442
488
  });
443
489
  }
444
- return boardCandidateReceiptVerdict(wo, reconcileLedger);
490
+ return applyBoardRefreshVerdict(wo, effectVerified, receiptVerdict, boardRefreshGate);
445
491
  },
446
492
  });
447
493
  }
@@ -450,7 +496,7 @@ async function registerApiRoutes(params) {
450
496
  maxWaitMs: Number(process.env.MAMA_RECONCILE_MAX_WAIT_MS) || undefined,
451
497
  globalMaxPerHour: Number(process.env.MAMA_RECONCILE_MAX_PER_HOUR) || undefined,
452
498
  log: (line) => console.log(line),
453
- run: (channelKey, deltaLines, eventIds) => {
499
+ run: (channelKey, deltaLines, eventIds, repairGeneration) => {
454
500
  // The reconcile leg is a board workorder; its bracket verification
455
501
  // runs in the consumer's completion hook (registered above).
456
502
  try {
@@ -461,6 +507,7 @@ async function registerApiRoutes(params) {
461
507
  // A private partition that boot did not authorize is consumed
462
508
  // without a generic board workorder. Rejecting would retain and
463
509
  // retry the private delta; enqueuing would leak its prose.
510
+ boardRefreshGate.consumeUnauthorizedPartition(channelKey, repairGeneration);
464
511
  return Promise.resolve();
465
512
  }
466
513
  const ledger = toolExecutor.getTaskLedger();
@@ -481,6 +528,7 @@ async function registerApiRoutes(params) {
481
528
  // The batch, carried structurally. It was already inside deltaLines as
482
529
  // `[id:evt_...]` text and could only be recovered by parsing prose.
483
530
  eventIds,
531
+ repairGeneration,
484
532
  // Host-authored structural authority. deltaLines remain untrusted,
485
533
  // human-readable context and never grant lifecycle mutations.
486
534
  candidates,
@@ -495,23 +543,24 @@ async function registerApiRoutes(params) {
495
543
  return Promise.resolve();
496
544
  },
497
545
  });
498
- eventBus.on('operator:channel-delta', (event) => {
499
- if (event.type === 'operator:channel-delta') {
500
- reconcileScheduler.enqueue(event.channelKey, event.lines, event.eventIds);
501
- }
502
- });
546
+ boardReconcileScheduler = reconcileScheduler;
503
547
  // Manual reconcile: lines from the body, or the caller must supply them
504
548
  // (no silent alternate data path -- M8 review #17).
505
549
  apiServer.app.post('/api/operator/reconcile', auth_middleware_js_1.requireAuth, (req, res) => {
506
550
  const { channelKey, lines } = (req.body ?? {});
507
- if (!channelKey || !Array.isArray(lines) || lines.length === 0) {
551
+ if (typeof channelKey !== 'string' ||
552
+ channelKey.length === 0 ||
553
+ channelKey.length > 1000 ||
554
+ !Array.isArray(lines) ||
555
+ lines.length === 0) {
508
556
  res.status(400).json({
509
557
  ok: false,
510
- error: 'channelKey and non-empty lines[] are required',
558
+ error: 'channelKey (1-1000 chars) and non-empty lines[] are required',
511
559
  });
512
560
  return;
513
561
  }
514
- reconcileScheduler.enqueue(channelKey, lines);
562
+ const repairGeneration = boardRefreshGate.markChannelDirty(channelKey);
563
+ reconcileScheduler.enqueue(channelKey, lines, [], repairGeneration);
515
564
  res.json({ ok: true, message: 'Reconcile queued (async; runs after debounce)' });
516
565
  });
517
566
  console.log('[reconcile] Board reconcile leg enabled (MAMA_BOARD_RECONCILE=1)');
@@ -686,7 +735,7 @@ async function registerApiRoutes(params) {
686
735
  console.log(`[Memory Promotion] Ready: every ${PROMOTION_INTERVAL_MS / 3_600_000}h, POST /api/memory/promote`);
687
736
  }
688
737
  // -- System Audit: hourly deterministic code checks ---------------------
689
- // Owner decision 2026-04-22 (mama_conductor_audit_code_based_read_only),
738
+ // Owner decision 2026-04-22 (legacy id: mama_conductor_audit_code_based_read_only),
690
739
  // landed 2026-07-17: the audit is fact collection and recording executed by
691
740
  // CODE - no LLM invocation, no auto-fix, no broad filesystem access. The
692
741
  // prior hourly LLM audit violated that decision and the 2026-05-14
@@ -758,7 +807,7 @@ async function registerApiRoutes(params) {
758
807
  }, AUDIT_INTERVAL_MS);
759
808
  }, AUDIT_INITIAL_DELAY_MS);
760
809
  // Manual trigger returns the full report (read-only, no LLM, fast)
761
- apiServer.app.post('/api/conductor/audit', auth_middleware_js_1.requireAuth, async (_req, res) => {
810
+ apiServer.app.post('/api/system/audit', auth_middleware_js_1.requireAuth, async (_req, res) => {
762
811
  const report = await runSystemAudit();
763
812
  if (report) {
764
813
  res.json({ ok: true, mode: 'code', report });
@@ -767,7 +816,7 @@ async function registerApiRoutes(params) {
767
816
  res.status(500).json({ ok: false, error: 'audit failed - see daemon.log' });
768
817
  }
769
818
  });
770
- routesLogger.info('[System Audit] Ready - deterministic code checks every 60 min, POST /api/conductor/audit for manual run');
819
+ routesLogger.info('[System Audit] Ready - deterministic code checks every 60 min, POST /api/system/audit for manual run');
771
820
  // ── Memory Agent stats API ────────────────────────────────────────────
772
821
  apiServer.app.get('/api/memory-agent/stats', auth_middleware_js_1.requireAuth, (_req, res) => {
773
822
  const stats = messageRouter.getMemoryAgentStats();
@@ -1404,5 +1453,17 @@ Keep the report under 2000 characters as it will be sent to Discord.`;
1404
1453
  }));
1405
1454
  console.log('✓ Viewer UI available at /viewer');
1406
1455
  console.log('✓ Setup wizard available at /setup');
1456
+ return {
1457
+ stop: () => {
1458
+ if (boardBootTimeout)
1459
+ clearTimeout(boardBootTimeout);
1460
+ boardBootTimeout = null;
1461
+ if (boardInterval)
1462
+ clearInterval(boardInterval);
1463
+ boardInterval = null;
1464
+ boardReconcileScheduler?.stop();
1465
+ boardReconcileScheduler = null;
1466
+ },
1467
+ };
1407
1468
  }
1408
1469
  //# sourceMappingURL=api-routes-init.js.map