crewly 1.20.387 → 1.20.389

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 (174) hide show
  1. package/config/skills/agent/core/app-comments/execute.sh +3 -2
  2. package/config/skills/agent/core/app-comments/execute.test.sh +1 -1
  3. package/config/skills/team-leader/propose-tier-change/SKILL.md +16 -10
  4. package/config/skills/team-leader/propose-tier-change/execute.sh +4 -3
  5. package/dist/backend/backend/src/constants.d.ts +20 -0
  6. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  7. package/dist/backend/backend/src/constants.js +20 -0
  8. package/dist/backend/backend/src/constants.js.map +1 -1
  9. package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts +1 -1
  10. package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts.map +1 -1
  11. package/dist/backend/backend/src/controllers/apps/apps.controller.js +2 -2
  12. package/dist/backend/backend/src/controllers/apps/apps.controller.js.map +1 -1
  13. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  14. package/dist/backend/backend/src/controllers/chat/chat.controller.js +8 -0
  15. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  16. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.js +4 -1
  18. package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.js.map +1 -1
  19. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts +4 -3
  20. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts.map +1 -1
  21. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js +7 -3
  22. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js.map +1 -1
  23. package/dist/backend/backend/src/controllers/team/team-model-tiers.controller.d.ts +2 -2
  24. package/dist/backend/backend/src/controllers/team/team-model-tiers.controller.js +3 -3
  25. package/dist/backend/backend/src/controllers/team/team-model-tiers.controller.js.map +1 -1
  26. package/dist/backend/backend/src/index.d.ts.map +1 -1
  27. package/dist/backend/backend/src/index.js +30 -18
  28. package/dist/backend/backend/src/index.js.map +1 -1
  29. package/dist/backend/backend/src/services/agent/member-relaunch.d.ts +84 -0
  30. package/dist/backend/backend/src/services/agent/member-relaunch.d.ts.map +1 -0
  31. package/dist/backend/backend/src/services/agent/member-relaunch.js +96 -0
  32. package/dist/backend/backend/src/services/agent/member-relaunch.js.map +1 -0
  33. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  34. package/dist/backend/backend/src/services/ai/prompt-builder.service.js +2 -0
  35. package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  36. package/dist/backend/backend/src/services/ai/prompt-modules/model-tiers.module.d.ts +3 -2
  37. package/dist/backend/backend/src/services/ai/prompt-modules/model-tiers.module.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/ai/prompt-modules/model-tiers.module.js +11 -4
  39. package/dist/backend/backend/src/services/ai/prompt-modules/model-tiers.module.js.map +1 -1
  40. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +2 -0
  41. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  43. package/dist/backend/backend/src/services/apps/app-comment-room.service.d.ts +10 -1
  44. package/dist/backend/backend/src/services/apps/app-comment-room.service.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/apps/app-comment-room.service.js +15 -1
  46. package/dist/backend/backend/src/services/apps/app-comment-room.service.js.map +1 -1
  47. package/dist/backend/backend/src/services/apps/apps.service.d.ts +3 -2
  48. package/dist/backend/backend/src/services/apps/apps.service.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/apps/apps.service.js +3 -2
  50. package/dist/backend/backend/src/services/apps/apps.service.js.map +1 -1
  51. package/dist/backend/backend/src/services/apps/apps.wiring.js +2 -2
  52. package/dist/backend/backend/src/services/apps/apps.wiring.js.map +1 -1
  53. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +15 -0
  54. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +36 -0
  56. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  57. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts +1 -1
  58. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -1
  59. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js +4 -0
  60. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -1
  61. package/dist/backend/backend/src/services/decisions/decision-card.d.ts +14 -5
  62. package/dist/backend/backend/src/services/decisions/decision-card.d.ts.map +1 -1
  63. package/dist/backend/backend/src/services/decisions/decision-card.js +19 -3
  64. package/dist/backend/backend/src/services/decisions/decision-card.js.map +1 -1
  65. package/dist/backend/backend/src/services/drive/drive-agent.service.d.ts +6 -1
  66. package/dist/backend/backend/src/services/drive/drive-agent.service.d.ts.map +1 -1
  67. package/dist/backend/backend/src/services/drive/drive-agent.service.js +17 -0
  68. package/dist/backend/backend/src/services/drive/drive-agent.service.js.map +1 -1
  69. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +13 -0
  70. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  71. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +33 -2
  72. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  73. package/dist/backend/backend/src/services/model-tiers/model-tier.service.d.ts +107 -13
  74. package/dist/backend/backend/src/services/model-tiers/model-tier.service.d.ts.map +1 -1
  75. package/dist/backend/backend/src/services/model-tiers/model-tier.service.js +362 -37
  76. package/dist/backend/backend/src/services/model-tiers/model-tier.service.js.map +1 -1
  77. package/dist/backend/backend/src/services/model-tiers/model-tier.store.d.ts +7 -3
  78. package/dist/backend/backend/src/services/model-tiers/model-tier.store.d.ts.map +1 -1
  79. package/dist/backend/backend/src/services/model-tiers/model-tier.store.js.map +1 -1
  80. package/dist/backend/backend/src/services/model-tiers/model-tier.wiring.d.ts +33 -2
  81. package/dist/backend/backend/src/services/model-tiers/model-tier.wiring.d.ts.map +1 -1
  82. package/dist/backend/backend/src/services/model-tiers/model-tier.wiring.js +73 -2
  83. package/dist/backend/backend/src/services/model-tiers/model-tier.wiring.js.map +1 -1
  84. package/dist/backend/backend/src/services/orchestrator/onboarding/synthesize-hierarchy.d.ts +7 -1
  85. package/dist/backend/backend/src/services/orchestrator/onboarding/synthesize-hierarchy.d.ts.map +1 -1
  86. package/dist/backend/backend/src/services/orchestrator/onboarding/synthesize-hierarchy.js +3 -2
  87. package/dist/backend/backend/src/services/orchestrator/onboarding/synthesize-hierarchy.js.map +1 -1
  88. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts.map +1 -1
  89. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js +8 -37
  90. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js.map +1 -1
  91. package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts +10 -1
  92. package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts.map +1 -1
  93. package/dist/backend/backend/src/services/slack/slack-agent-post.service.js +18 -8
  94. package/dist/backend/backend/src/services/slack/slack-agent-post.service.js.map +1 -1
  95. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +7 -0
  96. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  97. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +16 -0
  98. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  99. package/dist/backend/backend/src/services/stall/stall-watcher.service.d.ts +2 -0
  100. package/dist/backend/backend/src/services/stall/stall-watcher.service.d.ts.map +1 -1
  101. package/dist/backend/backend/src/services/stall/stall-watcher.service.js +6 -0
  102. package/dist/backend/backend/src/services/stall/stall-watcher.service.js.map +1 -1
  103. package/dist/backend/backend/src/services/stall/stall-watcher.wiring.d.ts +14 -0
  104. package/dist/backend/backend/src/services/stall/stall-watcher.wiring.d.ts.map +1 -1
  105. package/dist/backend/backend/src/services/stall/stall-watcher.wiring.js +18 -2
  106. package/dist/backend/backend/src/services/stall/stall-watcher.wiring.js.map +1 -1
  107. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-post-log.d.ts +28 -0
  108. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-post-log.d.ts.map +1 -1
  109. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-post-log.js +40 -2
  110. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-post-log.js.map +1 -1
  111. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.d.ts +40 -1
  112. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.d.ts.map +1 -1
  113. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.js +52 -4
  114. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.js.map +1 -1
  115. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.d.ts +8 -0
  116. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.d.ts.map +1 -1
  117. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.js +17 -5
  118. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.js.map +1 -1
  119. package/dist/backend/backend/src/types/decision.types.d.ts +17 -2
  120. package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
  121. package/dist/backend/backend/src/types/index.d.ts +9 -0
  122. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  123. package/dist/backend/backend/src/types/index.js.map +1 -1
  124. package/dist/backend/backend/src/utils/model-tier.utils.d.ts +23 -1
  125. package/dist/backend/backend/src/utils/model-tier.utils.d.ts.map +1 -1
  126. package/dist/backend/backend/src/utils/model-tier.utils.js +28 -0
  127. package/dist/backend/backend/src/utils/model-tier.utils.js.map +1 -1
  128. package/dist/backend/build-info.json +2 -2
  129. package/dist/cli/backend/src/constants.d.ts +20 -0
  130. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  131. package/dist/cli/backend/src/constants.js +20 -0
  132. package/dist/cli/backend/src/constants.js.map +1 -1
  133. package/dist/cli/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  134. package/dist/cli/backend/src/services/ai/prompt-builder.service.js +2 -0
  135. package/dist/cli/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  136. package/dist/cli/backend/src/services/ai/prompt-modules/model-tiers.module.d.ts +3 -2
  137. package/dist/cli/backend/src/services/ai/prompt-modules/model-tiers.module.d.ts.map +1 -1
  138. package/dist/cli/backend/src/services/ai/prompt-modules/model-tiers.module.js +11 -4
  139. package/dist/cli/backend/src/services/ai/prompt-modules/model-tiers.module.js.map +1 -1
  140. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +2 -0
  141. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  142. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  143. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +15 -0
  144. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  145. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +36 -0
  146. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  147. package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.d.ts +1 -1
  148. package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -1
  149. package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.js +4 -0
  150. package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -1
  151. package/dist/cli/backend/src/services/decisions/decision-card.d.ts +14 -5
  152. package/dist/cli/backend/src/services/decisions/decision-card.d.ts.map +1 -1
  153. package/dist/cli/backend/src/services/decisions/decision-card.js +19 -3
  154. package/dist/cli/backend/src/services/decisions/decision-card.js.map +1 -1
  155. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +13 -0
  156. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  157. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +33 -2
  158. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  159. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +7 -0
  160. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  161. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +16 -0
  162. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  163. package/dist/cli/backend/src/types/decision.types.d.ts +17 -2
  164. package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -1
  165. package/dist/cli/backend/src/types/index.d.ts +9 -0
  166. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  167. package/dist/cli/backend/src/types/index.js.map +1 -1
  168. package/dist/cli/backend/src/utils/model-tier.utils.d.ts +23 -1
  169. package/dist/cli/backend/src/utils/model-tier.utils.d.ts.map +1 -1
  170. package/dist/cli/backend/src/utils/model-tier.utils.js +28 -0
  171. package/dist/cli/backend/src/utils/model-tier.utils.js.map +1 -1
  172. package/frontend/dist/assets/{index-778ed2d9.js → index-d60af958.js} +237 -237
  173. package/frontend/dist/index.html +1 -1
  174. package/package.json +1 -1
@@ -1,24 +1,30 @@
1
1
  /**
2
- * ModelTierService — model tiers and "Optimize usage" (crewly#1173 phase 1,
3
- * specs/2026-10-08-model-tiers.md).
2
+ * ModelTierService — model tiers and "Optimize usage" (crewly#1173 phases 1
3
+ * and 2, specs/2026-10-08-model-tiers.md).
4
4
  *
5
- * Recommendation mode: nothing here changes a member's tier on its own.
5
+ * Two change modes per team (`Team.tierChangeMode`, owner-only):
6
+ * `approve` (default) — the lead proposes, the owner approves each change;
7
+ * `auto` — the lead's changes apply at once and the owner gets a notice with
8
+ * one-tap Undo.
6
9
  *
7
10
  * 1. Review: weekly while a team has "Optimize usage" on (and on demand), the
8
11
  * team lead gets a compact usage report per member and is asked to
9
12
  * propose tier changes and task routing rules.
10
- * 2. Proposal: the lead adds changes with `propose-tier-change` and submits;
11
- * ONE owner card per review carries them all (Apply / Keep as is).
12
- * 3. Apply: only the owner's yes applies the tiers (and clears a member's
13
- * fixed model so the tier takes effect). Each member picks its new model up
14
- * at its next start.
13
+ * 2. Proposal: the lead adds changes with `propose-tier-change` and submits.
14
+ * Approve mode: ONE owner card per review carries them all (Apply / Keep
15
+ * as is). Auto mode: they apply right away, and ONE notice (Undo / Keep)
16
+ * goes to the same place.
17
+ * 3. Apply: the tiers are set (a member's fixed model is cleared so the tier
18
+ * takes effect). An idle member whose model changed is restarted so the
19
+ * new model takes effect now; a busy one picks it up at its next start.
15
20
  * 4. Quality guard: a member moved down is watched over its next settled work
16
- * items; when it is sent back clearly more often than before, a revert card
17
- * goes to the owner (again only applied on yes).
21
+ * items; when it is sent back clearly more often than before, approve mode
22
+ * sends a revert card, auto mode moves it back at once and tells the owner
23
+ * (with "Keep the lower tier" to undo the revert).
18
24
  *
19
25
  * @module services/model-tiers/model-tier.service
20
26
  */
21
- import type { ModelTier, Team, TeamTierModels } from '../../types/index.js';
27
+ import type { ModelTier, Team, TeamTierModels, TierChangeMode } from '../../types/index.js';
22
28
  import type { OwnerDecision, TierChangeEntry, TierChangeSubject } from '../../types/decision.types.js';
23
29
  import type { WorkItem } from '../../types/v2/work-item.types.js';
24
30
  import type { DecisionKindHandler, PrebuiltAsk } from '../decisions/decision.service.js';
@@ -40,6 +46,8 @@ export interface TierLogger {
40
46
  info(msg: string, meta?: Record<string, unknown>): void;
41
47
  warn(msg: string, meta?: Record<string, unknown>): void;
42
48
  }
49
+ /** What restarting an idle member after an apply did. */
50
+ export type TierRestartOutcome = 'restarted' | 'busy' | 'not_running' | 'failed';
43
51
  /** Collaborators. */
44
52
  export interface ModelTierDeps {
45
53
  store: ModelTierStore;
@@ -56,6 +64,12 @@ export interface ModelTierDeps {
56
64
  teamChannelOf?: (teamId: string) => Promise<string | null>;
57
65
  /** Absolute path of the team-leader skills */
58
66
  tlSkillsPath: string;
67
+ /**
68
+ * Restart a member whose model changed when it is idle (no running turn,
69
+ * no claimed work in progress), so the new model takes effect now. Never
70
+ * stops a busy member. Absent = members pick up the model at their next start.
71
+ */
72
+ restartIfIdle?: (session: string) => Promise<TierRestartOutcome>;
59
73
  now?: () => Date;
60
74
  logger?: TierLogger;
61
75
  }
@@ -63,6 +77,8 @@ export interface ModelTierDeps {
63
77
  export interface TierSettingsView {
64
78
  teamId: string;
65
79
  optimizeUsage: boolean;
80
+ /** `approve`: the owner approves each change; `auto`: the lead decides and tells the owner */
81
+ tierChangeMode: TierChangeMode;
66
82
  tierModels: TeamTierModels;
67
83
  routingRules: string[];
68
84
  /** Effective tier → model per runtime of the team's members */
@@ -87,6 +103,8 @@ export interface TierSettingsView {
87
103
  /** Settings patch (owner). */
88
104
  export interface TierSettingsPatch {
89
105
  optimizeUsage?: unknown;
106
+ /** `approve` | `auto` */
107
+ tierChangeMode?: unknown;
90
108
  tierModels?: unknown;
91
109
  /** memberId → tier, '' / null clears */
92
110
  memberTiers?: unknown;
@@ -109,6 +127,8 @@ export declare class ModelTierService implements DecisionKindHandler {
109
127
  private readonly deps;
110
128
  private timer;
111
129
  private ticking;
130
+ private restarts;
131
+ private readonly submitting;
112
132
  constructor(deps: ModelTierDeps);
113
133
  private now;
114
134
  /** Start the hourly tick (due reviews, stale drafts, quality guard). */
@@ -176,6 +196,30 @@ export declare class ModelTierService implements DecisionKindHandler {
176
196
  private entryFor;
177
197
  private updateDraft;
178
198
  private submit;
199
+ private submitOnce;
200
+ /**
201
+ * Auto mode: apply the lead's draft at once (the same apply path as the
202
+ * owner's Apply), then post ONE notice where the card would go, whose Undo
203
+ * puts back exactly these changes.
204
+ *
205
+ * @param ctx - The lead and its team
206
+ * @param draft - The submitted draft
207
+ * @returns What happened (for the skill output)
208
+ */
209
+ private applyNow;
210
+ /**
211
+ * Post an auto-mode notice: the change already happened; its one action
212
+ * (`APPLY_KEY`) applies `subject` — the undo. Default and plain "yes" = keep.
213
+ *
214
+ * @param team - Team
215
+ * @param asker - The lead (its bot posts it, it gets the outcome)
216
+ * @param subject - The undo the action applies
217
+ * @param done - What happened (the lead's changes, or the guard's move back)
218
+ * @param routing - Routing rules that went in (applied notices)
219
+ * @param saving - Weekly saving estimate of the lead's changes, or null
220
+ * @returns The notice decision
221
+ */
222
+ private postNotice;
179
223
  /** Post the owner card for a draft (review) or a revert. */
180
224
  private askOwner;
181
225
  /**
@@ -198,13 +242,41 @@ export declare class ModelTierService implements DecisionKindHandler {
198
242
  */
199
243
  onSettled(decision: OwnerDecision): Promise<string | null>;
200
244
  /**
201
- * Apply an approved subject to the team and record it for the guard.
245
+ * An auto-mode notice settled: its one action undoes what the notice is
246
+ * about; anything else (Keep, the deadline, skip) leaves it as it is.
247
+ *
248
+ * @param decision - The settled notice
249
+ * @param s - Its subject (the undo)
250
+ * @returns Note for the lead, or null
251
+ */
252
+ private onNoticeSettled;
253
+ /**
254
+ * Apply a subject to the team (owner's Apply, the lead's change in auto
255
+ * mode, an undo or a revert), record it for the guard, and restart idle
256
+ * members whose model changed.
257
+ *
258
+ * An `undo` changes only members still on the tier it expects (`from`): a
259
+ * member whose tier changed again since is left alone.
202
260
  *
203
261
  * @param s - Subject
204
- * @param decisionId - The approving decision
262
+ * @param decisionId - The approving decision, or the batch id of an auto apply
205
263
  * @returns The applied entries
206
264
  */
207
265
  apply(s: TierChangeSubject, decisionId: string): Promise<TierChangeEntry[]>;
266
+ /**
267
+ * Restart, one after another in the background, each member whose model
268
+ * changed and that is idle; busy or stopped members pick the model up at
269
+ * their next start.
270
+ *
271
+ * @param sessions - Members whose effective model changed
272
+ */
273
+ private restartIdle;
274
+ /**
275
+ * Resolves once the restarts scheduled so far are done (tests, shutdown).
276
+ *
277
+ * @returns Promise
278
+ */
279
+ restartsSettled(): Promise<void>;
208
280
  /**
209
281
  * Hourly: start due weekly reviews, send drafts the lead never submitted,
210
282
  * and run the quality guard.
@@ -216,6 +288,18 @@ export declare class ModelTierService implements DecisionKindHandler {
216
288
  autoSubmitted: string[];
217
289
  reverts: string[];
218
290
  }>;
291
+ /**
292
+ * Auto mode: move a member whose work got worse back at once (the revert
293
+ * the approve-mode card would apply), tell the lead, and post the owner a
294
+ * notice whose one action — "Keep the lower tier" — undoes the move back.
295
+ *
296
+ * @param team - Team
297
+ * @param lead - Its lead (posts the notice)
298
+ * @param a - The watched change
299
+ * @param back - The reverse entry
300
+ * @returns The notice id, or null when it could not be posted / nothing moved
301
+ */
302
+ private autoRevert;
219
303
  /**
220
304
  * Quality guard for one team: judge every watched (lowered) member and ask
221
305
  * the owner to move back the ones whose work got worse.
@@ -225,6 +309,16 @@ export declare class ModelTierService implements DecisionKindHandler {
225
309
  */
226
310
  guard(team: Team): Promise<string[]>;
227
311
  }
312
+ /**
313
+ * The entry that puts a change back: from its target to the tier (and fixed
314
+ * model) the member had before it.
315
+ *
316
+ * @param c - The change to reverse
317
+ * @param team - Team (tier map)
318
+ * @param reason - Why it is put back
319
+ * @returns The reverse entry
320
+ */
321
+ export declare function reverseEntry(c: TierChangeEntry, team: Pick<Team, 'members' | 'tierModels'>, reason: string): TierChangeEntry;
228
322
  /**
229
323
  * The tier a member effectively ran on before a change: its tier, else the
230
324
  * tier whose model it ran (a reviewed member on the Sonnet default = mid),
@@ -1 +1 @@
1
- {"version":3,"file":"model-tier.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/model-tiers/model-tier.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-tier.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/model-tiers/model-tier.service.ts"],"names":[],"mappings":"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"}