create-merlin-brain 3.15.1 โ†’ 3.17.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.
@@ -28,6 +28,12 @@ export declare function getSessionHealth(): number;
28
28
  * For other tools: returns an escalating nudge based on drift level
29
29
  */
30
30
  export declare function getProtocolNudge(currentTool: string): string;
31
+ /**
32
+ * Generate additional proactive nudges beyond context drift.
33
+ * Surfaces smart-route, verification, workflow, and loop suggestions.
34
+ * Returns a single nudge string (rotated) or empty string.
35
+ */
36
+ export declare function getProactiveNudge(): string;
31
37
  /**
32
38
  * Get a compact protocol status line for tool responses
33
39
  * Shows: health %, drift level, last check time
@@ -65,6 +71,11 @@ export declare function getCoachStats(): {
65
71
  health: number;
66
72
  driftWarnings: number;
67
73
  sessionMinutes: number;
74
+ routeCount: number;
75
+ implementationEdits: number;
76
+ lastSmartRoute: number;
77
+ lastVerification: number;
78
+ lastWorkflow: number;
68
79
  };
69
80
  /**
70
81
  * Convenience: Wrap any tool response text with coaching.
@@ -1 +1 @@
1
- {"version":3,"file":"session-coach.d.ts","sourceRoot":"","sources":["../../src/server/session-coach.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwEH;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAsBrD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CA8BtC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAqBzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAsC5D;AAsCD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAiB1C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQvE;AAED,4EAA4E;AAC5E,UAAU,YAAY;IACpB,kBAAkB,CAAC,EAAE;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED,6GAA6G;AAC7G,wBAAgB,oBAAoB,IAAI,YAAY,CA+CnD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAWjC;AAED;;GAEG;AACH,wBAAgB,aAAa;;;;;;;;;;EAY5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhE"}
1
+ {"version":3,"file":"session-coach.d.ts","sourceRoot":"","sources":["../../src/server/session-coach.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsFH;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAyCrD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CA8BtC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAqBzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA6C5D;AAqBD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CA2B1C;AAsBD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAiB1C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQvE;AAED,4EAA4E;AAC5E,UAAU,YAAY;IACpB,kBAAkB,CAAC,EAAE;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED,6GAA6G;AAC7G,wBAAgB,oBAAoB,IAAI,YAAY,CA+CnD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAgBjC;AAED;;GAEG;AACH,wBAAgB,aAAa;;;;;;;;;;;;;;;EAiB5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhE"}
@@ -31,6 +31,9 @@ const EDIT_ADJACENT_TOOLS = new Set([
31
31
  'merlin_sync_task',
32
32
  'merlin_log_activity',
33
33
  ]);
34
+ const SMART_ROUTE_TOOLS = new Set(['merlin_smart_route']);
35
+ const VERIFICATION_TOOLS = new Set(['merlin_run_verification']);
36
+ const WORKFLOW_TOOLS = new Set(['merlin_route']); // merlin_route counts as workflow activity
34
37
  // State
35
38
  const state = {
36
39
  sessionStart: Date.now(),
@@ -43,6 +46,11 @@ const state = {
43
46
  driftWarnings: 0,
44
47
  externalEdits: [],
45
48
  editsSinceContext: 0,
49
+ lastSmartRoute: 0,
50
+ lastVerification: 0,
51
+ lastWorkflow: 0,
52
+ routeCount: 0,
53
+ implementationEdits: 0,
46
54
  };
47
55
  /**
48
56
  * Record a tool call. Called by every Merlin tool handler.
@@ -67,6 +75,21 @@ export function recordToolCall(toolName) {
67
75
  if (EDIT_ADJACENT_TOOLS.has(toolName)) {
68
76
  state.lastEditRelated = now;
69
77
  }
78
+ if (SMART_ROUTE_TOOLS.has(toolName)) {
79
+ state.lastSmartRoute = now;
80
+ state.routeCount = 0; // Reset direct route count after using smart_route
81
+ }
82
+ if (VERIFICATION_TOOLS.has(toolName)) {
83
+ state.lastVerification = now;
84
+ state.implementationEdits = 0; // Reset edit count after verification
85
+ }
86
+ if (WORKFLOW_TOOLS.has(toolName)) {
87
+ state.lastWorkflow = now;
88
+ }
89
+ // Track direct routing without smart_route
90
+ if (toolName === 'merlin_route' && state.lastSmartRoute === 0) {
91
+ state.routeCount++;
92
+ }
70
93
  }
71
94
  /**
72
95
  * Get the current drift level (0-3)
@@ -143,25 +166,31 @@ export function getProtocolNudge(currentTool) {
143
166
  return '\n\n---\n**โŸก๐Ÿ”ฎ MERLIN โ€บ** โœ“ Context fresh. Next check: before your next file edit.';
144
167
  }
145
168
  // For non-context tools, escalate based on drift
169
+ let baseNudge;
146
170
  switch (driftLevel) {
147
171
  case 0:
148
172
  // Green โ€” light reminder, rotate messages
149
- return getGreenNudge();
173
+ baseNudge = getGreenNudge();
174
+ break;
150
175
  case 1:
151
176
  // Yellow โ€” noticeable nudge
152
177
  state.driftWarnings++;
153
- return getYellowNudge();
178
+ baseNudge = getYellowNudge();
179
+ break;
154
180
  case 2:
155
181
  // Orange โ€” strong nudge
156
182
  state.driftWarnings++;
157
- return getOrangeNudge();
183
+ baseNudge = getOrangeNudge();
184
+ break;
158
185
  case 3:
159
186
  // Red โ€” hard interrupt
160
187
  state.driftWarnings++;
161
- return getRedNudge();
188
+ baseNudge = getRedNudge();
189
+ break;
162
190
  default:
163
- return '';
191
+ baseNudge = '';
164
192
  }
193
+ return baseNudge + getProactiveNudge();
165
194
  }
166
195
  /** Minutes since last context check (-1 if never) */
167
196
  function minutesSinceContext() {
@@ -172,11 +201,43 @@ function minutesSinceContext() {
172
201
  function getGreenNudge() {
173
202
  const nudges = [
174
203
  '`merlin_get_context` before modifying files.',
204
+ 'Use `merlin_smart_route` to find the best specialist for your task.',
205
+ 'Automated workflows available: feature-dev, bug-fix, security-audit, refactor, ui-build.',
206
+ 'Run `merlin_run_verification()` after implementation to validate changes.',
207
+ 'For parallel work, run multiple `merlin_route` calls simultaneously.',
175
208
  'Check Sights before creating new files to avoid duplicates.',
176
- 'Call `merlin_get_context("your task")` before each edit.',
177
209
  ];
178
210
  return `\n\n---\n**โŸก๐Ÿ”ฎ MERLIN โ€บ** ${nudges[state.totalCalls % nudges.length]}`;
179
211
  }
212
+ /**
213
+ * Generate additional proactive nudges beyond context drift.
214
+ * Surfaces smart-route, verification, workflow, and loop suggestions.
215
+ * Returns a single nudge string (rotated) or empty string.
216
+ */
217
+ export function getProactiveNudge() {
218
+ const nudges = [];
219
+ const sessionMinutes = Math.floor((Date.now() - state.sessionStart) / (1000 * 60));
220
+ // After 5+ direct routes without smart_route, suggest it
221
+ if (state.routeCount >= 5 && state.lastSmartRoute === 0) {
222
+ nudges.push('๐Ÿ’ก Try `merlin_smart_route(task="...")` โ€” searches 500+ community agents for better specialists.');
223
+ }
224
+ // After 10+ implementation edits without verification
225
+ if (state.implementationEdits >= 10 && state.lastVerification === 0) {
226
+ nudges.push('๐Ÿ’ก Run `merlin_run_verification()` to validate your changes before committing.');
227
+ }
228
+ // After 15+ minutes without a workflow
229
+ if (sessionMinutes >= 15 && state.lastWorkflow === 0 && state.totalCalls >= 15) {
230
+ nudges.push('๐Ÿ’ก For multi-step work, try automated workflows: `Skill("merlin:workflow", args=\'run feature-dev "..."\')`');
231
+ }
232
+ // After 30+ minutes, suggest loop patterns
233
+ if (sessionMinutes >= 30 && state.totalCalls >= 25) {
234
+ nudges.push('๐Ÿ’ก Long session detected. Consider `/loop 5m /merlin:progress` for continuous monitoring.');
235
+ }
236
+ if (nudges.length === 0)
237
+ return '';
238
+ // Only show ONE nudge at a time (rotate)
239
+ return `\n${nudges[state.totalCalls % nudges.length]}`;
240
+ }
180
241
  function getYellowNudge() {
181
242
  const m = minutesSinceContext();
182
243
  return `\n\n---\n**โŸก๐Ÿ”ฎ MERLIN โ€บ REFRESH CONTEXT** โ€” ${m}min since last check, ${state.callsSinceContext} calls without refresh.\n` +
@@ -282,6 +343,11 @@ export function resetCoach() {
282
343
  state.driftWarnings = 0;
283
344
  state.externalEdits = [];
284
345
  state.editsSinceContext = 0;
346
+ state.lastSmartRoute = 0;
347
+ state.lastVerification = 0;
348
+ state.lastWorkflow = 0;
349
+ state.routeCount = 0;
350
+ state.implementationEdits = 0;
285
351
  }
286
352
  /**
287
353
  * Get coach stats for debugging
@@ -297,6 +363,11 @@ export function getCoachStats() {
297
363
  health: getSessionHealth(),
298
364
  driftWarnings: state.driftWarnings,
299
365
  sessionMinutes: Math.floor((Date.now() - state.sessionStart) / (1000 * 60)),
366
+ routeCount: state.routeCount,
367
+ implementationEdits: state.implementationEdits,
368
+ lastSmartRoute: state.lastSmartRoute,
369
+ lastVerification: state.lastVerification,
370
+ lastWorkflow: state.lastWorkflow,
300
371
  };
301
372
  }
302
373
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"session-coach.js","sourceRoot":"","sources":["../../src/server/session-coach.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA6BH,aAAa;AACb,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,sCAAsC;AACtC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,oBAAoB;IACpB,eAAe;IACf,mBAAmB;IACnB,yBAAyB;IACzB,mBAAmB;IACnB,wBAAwB;IACxB,wBAAwB;IACxB,qBAAqB;IACrB,YAAY;CACb,CAAC,CAAC;AAEH,8DAA8D;AAC9D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,yBAAyB;IACzB,wBAAwB;IACxB,kBAAkB;IAClB,qBAAqB;CACtB,CAAC,CAAC;AAEH,QAAQ;AACR,MAAM,KAAK,GAAe;IACxB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;IACxB,SAAS,EAAE,EAAE;IACb,gBAAgB,EAAE,CAAC;IACnB,eAAe,EAAE,CAAC;IAClB,iBAAiB,EAAE,CAAC;IACpB,UAAU,EAAE,CAAC;IACb,iBAAiB,EAAE,CAAC;IACpB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,EAAE;IACjB,iBAAiB,EAAE,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,KAAK,CAAC,UAAU,EAAE,CAAC;IAEnB,mDAAmD;IACnD,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAChC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC;QAC7B,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC5B,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,kCAAkC;QAC/D,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,qEAAqE;IACrE,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,4DAA4D;IAC5D,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,mBAAmB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAEtC,iBAAiB;IACjB,IAAI,mBAAmB,IAAI,iBAAiB,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,4BAA4B;IAC5B,IAAI,mBAAmB,IAAI,oBAAoB,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;QACzE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,4BAA4B;IAC5B,IAAI,mBAAmB,IAAI,oBAAoB,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;QACzE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAEvC,yCAAyC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC;IAEzD,4DAA4D;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;IAE7D,sDAAsD;IACtD,MAAM,YAAY,GAAG,KAAK,CAAC,gBAAgB,GAAG,CAAC;QAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;QACrD,CAAC,CAAC,GAAG,CAAC;IAER,IAAI,cAAc,GAAG,GAAG,CAAC;IACzB,IAAI,YAAY,GAAG,EAAE;QAAE,cAAc,GAAG,EAAE,CAAC;SACtC,IAAI,YAAY,GAAG,EAAE;QAAE,cAAc,GAAG,EAAE,CAAC;SAC3C,IAAI,YAAY,GAAG,CAAC;QAAE,cAAc,GAAG,EAAE,CAAC;IAE/C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,kEAAkE;IAClE,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,EAAE,CAAC;YACjC,qCAAqC;YACrC,OAAO,8GAA8G,CAAC;QACxH,CAAC;QACD,6CAA6C;QAC7C,OAAO,oFAAoF,CAAC;IAC9F,CAAC;IAED,iDAAiD;IACjD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,CAAC;YACJ,0CAA0C;YAC1C,OAAO,aAAa,EAAE,CAAC;QAEzB,KAAK,CAAC;YACJ,4BAA4B;YAC5B,KAAK,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,cAAc,EAAE,CAAC;QAE1B,KAAK,CAAC;YACJ,wBAAwB;YACxB,KAAK,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,cAAc,EAAE,CAAC;QAE1B,KAAK,CAAC;YACJ,uBAAuB;YACvB,KAAK,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,WAAW,EAAE,CAAC;QAEvB;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,SAAS,mBAAmB;IAC1B,OAAO,KAAK,CAAC,gBAAgB,GAAG,CAAC;QAC/B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,MAAM,GAAG;QACb,8CAA8C;QAC9C,6DAA6D;QAC7D,0DAA0D;KAC3D,CAAC;IACF,OAAO,6BAA6B,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,CAAC,GAAG,mBAAmB,EAAE,CAAC;IAChC,OAAO,+CAA+C,CAAC,yBAAyB,KAAK,CAAC,iBAAiB,2BAA2B;QAChI,8EAA8E,CAAC;AACnF,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,CAAC,GAAG,mBAAmB,EAAE,CAAC;IAChC,OAAO,iDAAiD,CAAC,QAAQ,KAAK,CAAC,iBAAiB,0BAA0B;QAChH,uEAAuE;QACvE,6DAA6D,CAAC;AAClE,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,CAAC,GAAG,mBAAmB,EAAE,CAAC;IAChC,OAAO,oDAAoD,CAAC,gBAAgB,gBAAgB,EAAE,QAAQ;QACpG,GAAG,KAAK,CAAC,iBAAiB,sCAAsC;QAChE,oEAAoE,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;IAEvC,MAAM,YAAY,GAAG,KAAK,CAAC,gBAAgB,GAAG,CAAC;QAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEP,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC;QAChC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,YAAY,KAAK,CAAC;YACpB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,GAAG,YAAY,OAAO,CAAC;IAE3B,OAAO,GAAG,IAAI,kBAAkB,MAAM,qBAAqB,SAAS,mBAAmB,KAAK,CAAC,iBAAiB,EAAE,CAAC;AACnH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,IAAY;IAC/D,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1E,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAE1B,0BAA0B;IAC1B,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACpC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAWD,6GAA6G;AAC7G,MAAM,UAAU,oBAAoB;IAClC,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,gBAAgB,GAAG,CAAC;QAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC,CAAC,CAAC;IACP,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAEtC,sDAAsD;IACtD,iEAAiE;IACjE,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAElD,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,sDAAsD;QACtD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,OAAO,CAAC;IAE5E,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,kBAAkB,EAAE;gBAClB,aAAa,EAAE,YAAY;gBAC3B,kBAAkB,EAAE,OAAO;gBAC3B,iBAAiB,EAAE,6DAA6D,OAAO,KAAK,KAAK,0HAA0H;aAC5N;SACF,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,kBAAkB,EAAE;gBAClB,aAAa,EAAE,YAAY;gBAC3B,kBAAkB,EAAE,OAAO;gBAC3B,iBAAiB,EAAE,sDAAsD,OAAO,KAAK,KAAK,wLAAwL;aACnR;SACF,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,OAAO;QACL,kBAAkB,EAAE;YAClB,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,OAAO;YAC3B,iBAAiB,EAAE,wCAAwC,KAAK,uDAAuD,OAAO,+NAA+N;SAC9V;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;IACrB,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC3B,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;IAC1B,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC5B,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IACrB,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC5B,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;IACxB,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC;IACzB,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,aAAa,EAAE,KAAK,CAAC,iBAAiB;QACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM;QAC9C,UAAU,EAAE,aAAa,EAAE;QAC3B,MAAM,EAAE,gBAAgB,EAAE;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAY;IACtD,cAAc,CAAC,QAAQ,CAAC,CAAC;IACzB,OAAO,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"session-coach.js","sourceRoot":"","sources":["../../src/server/session-coach.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/server/tools/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAY9C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,QAoLlD"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/server/tools/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAY9C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,QAwMlD"}
@@ -16,7 +16,7 @@
16
16
  */
17
17
  import { z } from 'zod';
18
18
  import { spawn } from 'child_process';
19
- import { existsSync } from 'fs';
19
+ import { existsSync, readFileSync } from 'fs';
20
20
  import { join } from 'path';
21
21
  import { homedir } from 'os';
22
22
  import { classifyTask } from '../cost/classifier.js';
@@ -114,6 +114,20 @@ export function registerRouteTools(ctx) {
114
114
  handoffParts.push(`## Merlin Sights Context (pre-fetched)`, sightsContext, '');
115
115
  if (augmentation)
116
116
  handoffParts.push(...buildAugmentationSection(augmentation));
117
+ // 6b. Inject sidecar memory if present (~/.claude/agent-memory/{agent}.md)
118
+ const sidecarPath = join(homedir(), '.claude', 'agent-memory', `${agent}.md`);
119
+ if (existsSync(sidecarPath)) {
120
+ try {
121
+ const sidecarContent = readFileSync(sidecarPath, 'utf-8').trim();
122
+ if (sidecarContent) {
123
+ handoffParts.push(`## Agent Memory (your persistent preferences)`, sidecarContent, '', `> To update this memory, write to: \`${sidecarPath}\``, '');
124
+ console.error(`[merlin_route] Sidecar memory loaded for "${agent}" (${sidecarContent.length} chars)`);
125
+ }
126
+ }
127
+ catch {
128
+ // Non-fatal โ€” proceed without sidecar memory
129
+ }
130
+ }
117
131
  handoffParts.push(`## Instructions`, `- Complete the task described above`, `- Use Merlin Sights tools (merlin_get_context, merlin_find_files) for additional context`, `- Follow all coding rules and conventions from Sights`, `- Output a clear, concise summary of what you did and any files changed`);
118
132
  if (effortSuffix)
119
133
  handoffParts.push('', effortSuffix);
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/server/tools/route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/server/tools/route.ts"],"names":[],"mappings":"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"}
package/files/CLAUDE.md CHANGED
@@ -1,35 +1,169 @@
1
1
  <!-- โŸก๐Ÿ”ฎ MERLIN BRAIN โ€” MANDATORY PROTOCOL -->
2
2
 
3
- # โŸก๐Ÿ”ฎ MERLIN โ€บ STOP โ€” Execute These Steps BEFORE Responding
3
+ # โŸก๐Ÿ”ฎ MERLIN โ€บ STOP โ€” Boot Sequence BEFORE Every Response
4
4
 
5
5
  **Step 1** โ€” Call `merlin_get_selected_repo` to connect Merlin Sights.
6
6
  **Step 2** โ€” Call `merlin_get_project_status` to load project state.
7
- **Step 3** โ€” Show the user a `โŸก๐Ÿ”ฎ MERLIN` status summary with numbered options, THEN handle their request.
7
+ **Step 3** โ€” Call `merlin_get_rules` and `merlin_get_brief` in parallel to load rules and project context.
8
+ **Step 4** โ€” Auto-detect intent from the user's message. Apply the current operating mode (see below). Take action.
8
9
 
9
10
  Do NOT skip these steps. Do NOT start working without Merlin context.
10
11
 
12
+ ---
13
+
14
+ ## โŸก๐Ÿ”ฎ Operating Modes โ€” Two Ways to Work
15
+
16
+ Merlin has two operating modes. **AI Automation is the default.** The user can switch at any time.
17
+
18
+ ### ๐Ÿค– AI Automation (default)
19
+
20
+ Merlin detects intent, picks the best execution path, and runs the full pipeline autonomously. The user sees results, not menus.
21
+
22
+ - Auto-invoke workflows, agents, and commands based on intent
23
+ - Run multi-step pipelines without pausing for permission
24
+ - Pause only at genuine decision points (architecture choices, scope ambiguity, irreversible actions)
25
+ - Show what is happening, not what could happen
26
+
27
+ **Activate:** Default. Also: "autopilot", "auto mode", "AI mode", "Merlin mode", "just do it", "go"
28
+
29
+ ### ๐ŸŽฎ In Control
30
+
31
+ Merlin detects intent identically, but presents options before executing. The user picks.
32
+
33
+ - Same smart detection โ€” Merlin still identifies the best workflow/agent/command
34
+ - Present 3-5 numbered options with the recommended path marked as [1]
35
+ - Wait for user selection before executing
36
+ - Still auto-run Sights checks, verification, and learning (these never need permission)
37
+
38
+ **Activate:** "in control", "manual mode", "let me decide", "show me options", "I want to pick"
39
+
40
+ ### Showing the Mode
41
+
42
+ At session start, after boot, show the active mode:
43
+ ```
44
+ โŸก๐Ÿ”ฎ MERLIN ยท connected ยท [project name]
45
+ โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
46
+ ๐Ÿ“Š Status: [phase/milestone info]
47
+ ๐ŸŽฏ Mode: ๐Ÿค– AI Automation (say "in control" to switch)
48
+ ```
49
+
50
+ When user switches modes:
51
+ ```
52
+ โŸก๐Ÿ”ฎ MERLIN โ€บ Mode: ๐ŸŽฎ In Control โ€” I'll show you options before executing.
53
+ ```
54
+ ```
55
+ โŸก๐Ÿ”ฎ MERLIN โ€บ Mode: ๐Ÿค– AI Automation โ€” I'll detect, decide, and execute.
56
+ ```
57
+
58
+ ---
59
+
11
60
  ## โŸก๐Ÿ”ฎ Visual Identity โ€” THE MERLIN BADGE
12
61
 
13
- **Every single Merlin action MUST be prefixed with `โŸก๐Ÿ”ฎ MERLIN โ€บ`** โ€” routing, sights calls, saves, decisions, warnings, completions. No exceptions. This is how the user knows Merlin is engaged.
62
+ **Every Merlin action MUST be prefixed with `โŸก๐Ÿ”ฎ MERLIN โ€บ`** โ€” routing, sights calls, saves, decisions, warnings, completions. No exceptions.
14
63
 
15
- Examples:
16
64
  ```
17
65
  โŸก๐Ÿ”ฎ MERLIN โ€บ Routing โ†’ implementation-dev
18
66
  โŸก๐Ÿ”ฎ MERLIN โ€บ Sights found 3 files โœ…
19
- โŸก๐Ÿ”ฎ MERLIN โ€บ SAVED โ€บ Rule: "strict TypeScript"
67
+ โŸก๐Ÿ”ฎ MERLIN โ€บ ๐Ÿง  LEARNED โ€บ "Always use strict TypeScript"
20
68
  โŸก๐Ÿ”ฎ MERLIN โ€บ โš ๏ธ Context is stale, refreshing...
21
- โŸก๐Ÿ”ฎ MERLIN โ€บ โœ… Agent complete
69
+ โŸก๐Ÿ”ฎ MERLIN โ€บ โœ… Agent complete ยท $0.18 ยท 4min
22
70
  ```
23
71
 
24
72
  ---
25
73
 
26
- ## โŸก๐Ÿ”ฎ Routing โ€” Use Skill(), Never Raw claude Commands
74
+ ## โŸก๐Ÿ”ฎ Intent Detection โ€” The Brain
75
+
76
+ When the user sends a message, classify intent immediately. Then either execute (๐Ÿค– AI Automation) or present options (๐ŸŽฎ In Control).
77
+
78
+ ### Execution Intents โ€” Workflows & Agents
79
+
80
+ | User says | Detected intent | Action |
81
+ |---|---|---|
82
+ | Bug / crash / "not working" / error logs | Bug fix | `Skill("merlin:workflow", args='run bug-fix "<task>"')` |
83
+ | "build [feature]" / "add [feature]" | Feature | `Skill("merlin:workflow", args='run feature-dev "<task>"')` |
84
+ | "build the whole thing" / full product | Product build | `Skill("merlin:workflow", args='run product-dev "<task>"')` |
85
+ | "security audit" / "check security" | Security | `Skill("merlin:workflow", args='run security-audit')` |
86
+ | "refactor" / "cleanup" / "DRY" | Refactor | `Skill("merlin:workflow", args='run refactor "<task>"')` |
87
+ | "build UI" / "frontend" / "component" | UI build | `Skill("merlin:workflow", args='run ui-build "<task>"')` |
88
+ | "build API" / "backend" / "endpoint" | API build | `Skill("merlin:workflow", args='run api-build "<task>"')` |
89
+ | "design" / "spec" / "idea" โ†’ with clear scope | Spec to code | `Skill("merlin:workflow", args='run spec-to-code "<task>"')` |
90
+ | Small, isolated task | Direct route | `merlin_smart_route(task="...")` โ†’ `merlin_route()` |
91
+
92
+ ### Collaborative Intents โ€” Interactive Commands
93
+
94
+ These are commands that NEED user participation. Merlin auto-invokes them when the intent matches โ€” users never need to know the slash command.
95
+
96
+ | User says | Detected intent | Action |
97
+ |---|---|---|
98
+ | "brainstorm" / "explore ideas" / "let's think about" / "what if" | Brainstorm | `Skill("merlin:brainstorm")` |
99
+ | "let's discuss" / "talk through [phase]" / "think about approach" | Phase discussion | `Skill("merlin:discuss-phase")` |
100
+ | "what should we build next" / "next milestone" / milestone discussion | Milestone discussion | `Skill("merlin:discuss-milestone")` |
101
+ | New project, no PROJECT.md found | Project init | `Skill("merlin:map-codebase")` then `Skill("merlin:new-project")` |
102
+ | "what are the requirements" / "define requirements" / "what does done look like" | Requirements | `Skill("merlin:define-requirements")` |
103
+ | "create a roadmap" / "plan the phases" / "what's the roadmap" | Roadmap | `Skill("merlin:create-roadmap")` |
104
+ | "verify" / "check if it works" / "does it meet requirements" | Verification | `Skill("merlin:verify-work")` |
105
+ | "debug" / "investigate" / deep technical issue | Debug | `Skill("merlin:debug", args="<issue>")` |
106
+ | "the plan is wrong" / "we need to change direction" / "pivot" | Course correct | `Skill("merlin:course-correct")` |
107
+ | "what's next" / "where are we" / "what should I do" | Navigation | `Skill("merlin:next")` |
108
+ | "progress" / "status" / "how far along" | Progress | `Skill("merlin:progress")` |
109
+ | "standup" / "daily summary" / "what did we do" | Standup | `Skill("merlin:standup")` |
110
+ | "I'm back" / "resume" / "pick up where we left off" | Resume | `Skill("merlin:resume-work")` |
111
+ | "remind me" / "note to self" / "add a todo" / "we should also..." | Todo capture | `Skill("merlin:add-todo")` |
112
+ | "what's on the list" / "check todos" / "pending items" | Todo review | `Skill("merlin:check-todos")` |
113
+
114
+ ### Planning Intents โ€” Formal Planning Pipeline
115
+
116
+ | User says | Detected intent | Action |
117
+ |---|---|---|
118
+ | "plan [phase]" / "how should we implement" | Plan phase | `Skill("merlin:plan-phase")` |
119
+ | "execute [phase]" / "build phase X" / "run the plan" | Execute phase | `Skill("merlin:execute-phase")` |
120
+ | "execute this plan" / specific PLAN.md reference | Execute plan | `Skill("merlin:execute-plan", args="<path>")` |
121
+ | "research before building" / "what tech should we use" | Research | `Skill("merlin:research-phase")` |
122
+ | "audit the milestone" / "are we done" / "quality check" | Audit | `Skill("merlin:audit-milestone")` |
123
+ | "map the codebase" / "understand the code" / first time on project | Map codebase | `Skill("merlin:map-codebase")` |
124
+
125
+ ### Automation Intents โ€” Loops & Monitoring
126
+
127
+ | User says | Detected intent | Action |
128
+ |---|---|---|
129
+ | "watch for errors" / "monitor the build" | Loop: CI | `Skill("loop", args='2m check build status')` |
130
+ | "run tests continuously" / "keep testing" | Loop: Tests | `Skill("loop", args='3m run tests')` |
131
+ | "track progress" / "keep me updated" | Loop: Progress | `Skill("loop", args='5m /merlin:progress')` |
132
+ | "watch costs" / "how much am I spending" | Loop: Cost | `Skill("loop", args='15m /merlin:usage')` |
133
+
134
+ ---
135
+
136
+ ## โŸก๐Ÿ”ฎ In Control Mode โ€” Option Presentation Format
137
+
138
+ When in ๐ŸŽฎ In Control mode, after detecting intent, present options like this:
139
+
140
+ ```
141
+ โŸก๐Ÿ”ฎ MERLIN โ€บ Detected: bug/crash report
142
+ Best path: bug-fix workflow (7-step pipeline: analyze โ†’ debug โ†’ fix โ†’ verify โ†’ test โ†’ PR)
143
+
144
+ [1] ๐Ÿค– Run bug-fix workflow (recommended โ€” full automated pipeline)
145
+ [2] ๐Ÿ” Route to merlin-debugger for investigation only
146
+ [3] ๐Ÿ’ฌ Let's discuss the issue first (/merlin:brainstorm)
147
+ [4] ๐Ÿ”ง I'll handle it โ€” just give me context from Sights
148
+ ```
27
149
 
28
- Route specialist work via: `Skill("merlin:route", args='<agent> "<task>"')`
150
+ Always make [1] the recommended autonomous option. Always include a collaborative option when relevant.
29
151
 
30
- **โš ๏ธ NEVER run `claude --agent` via Bash โ€” it crashes inside Claude Code. Always use the Skill tool.**
152
+ ---
31
153
 
32
- | User intent | Route to |
154
+ ## โŸก๐Ÿ”ฎ Smart Route First โ€” Always
155
+
156
+ For ANY task routing, call `merlin_smart_route(task="...")` FIRST. It searches 500+ community agents before the static table.
157
+
158
+ ```
159
+ โŸก๐Ÿ”ฎ MERLIN โ€บ Found `prisma-expert` (A+ grade) in catalog โ€” augmenting your agent
160
+ ```
161
+
162
+ **โš ๏ธ NEVER run `claude --agent` via Bash. Always use `Skill("merlin:route")` or `merlin_route()`.**
163
+
164
+ Fallback routing table (when `merlin_smart_route` returns no match):
165
+
166
+ | Intent | Agent |
33
167
  |---|---|
34
168
  | Idea, product flow | `product-spec` |
35
169
  | Architecture, data models | `system-architect` |
@@ -42,37 +176,78 @@ Route specialist work via: `Skill("merlin:route", args='<agent> "<task>"')`
42
176
  | Video, Remotion | `remotion` |
43
177
  | React/Vue UI | `merlin-frontend` |
44
178
 
179
+ ---
180
+
181
+ ## โŸก๐Ÿ”ฎ Parallel Execution โ€” Always
182
+
183
+ When multiple independent agents or tasks can run simultaneously, ALWAYS run them in parallel:
184
+
185
+ ```
186
+ โŸก๐Ÿ”ฎ MERLIN โ€บ Running 3 agents in parallel:
187
+ โ”œโ”€ implementation-dev: Phase 1 โณ
188
+ โ”œโ”€ hardening-guard: Security review โณ
189
+ โ””โ”€ tests-qa: Test suite โณ
190
+ ```
191
+
192
+ ---
193
+
45
194
  ## โŸก๐Ÿ”ฎ Sights โ€” Check Before Every Edit
46
195
 
47
196
  Call `merlin_get_context("your task")` before writing or modifying code.
48
197
  Call `merlin_find_files("what you need")` before creating new files.
49
198
 
50
- **Show the badge after every Sights call:**
51
199
  ```
52
200
  โŸก๐Ÿ”ฎ MERLIN โ€บ get_context("payment processing")
53
201
  โœ… Found PaymentService.ts, StripeClient.ts
54
202
  ```
55
- Use โœ… (helped), โš ๏ธ (partial), โŒ (no match).
56
203
 
57
- ## โŸก๐Ÿ”ฎ Rules & Behaviors
204
+ ---
205
+
206
+ ## โŸก๐Ÿ”ฎ Rules & Learning
58
207
 
59
- - Rules from `merlin_get_rules` are **non-negotiable**. Follow them.
60
- - When user corrects you โ†’ save with `merlin_save_behavior`.
208
+ - Rules from `merlin_get_rules` are **non-negotiable**. Load at boot. Follow always.
209
+ - When user corrects you โ†’ immediately save with `merlin_save_behavior` and show:
210
+ ```
211
+ โŸก๐Ÿ”ฎ MERLIN โ€บ ๐Ÿง  LEARNED โ€บ "Always use strict TypeScript in this project"
212
+ Applied to: all future sessions
213
+ ```
61
214
  - When user says "always...", "never...", "I prefer..." โ†’ save with `merlin_save_rule`.
62
- - Before commits โ†’ run `merlin_run_verification`.
215
+ - Before commits โ†’ auto-run `merlin_run_verification`. No permission needed.
216
+
217
+ ---
218
+
219
+ ## โŸก๐Ÿ”ฎ Automatic Verification
220
+
221
+ After any implementation work, auto-run `merlin_run_verification()`. Never ask permission.
222
+
223
+ ---
63
224
 
64
- ## โŸก๐Ÿ”ฎ Decision Points โ€” Always Show Options
225
+ ## โŸก๐Ÿ”ฎ Proactive Feature Surfacing
65
226
 
66
- At session start, task completion, unclear requests, or errors โ€” show numbered options:
227
+ At natural moments, surface ONE relevant capability:
228
+
229
+ - After a bug fix: "I can set up continuous monitoring โ€” `/loop 2m`"
230
+ - After implementation: "I can run a security audit across the codebase"
231
+ - On a new project: "I can map your codebase and generate a phased roadmap"
232
+ - Complex context: "I can spawn parallel research agents"
233
+ - Emerging idea: "Want to capture that as a todo? I'll track it"
234
+ - Between phases: "Let's brainstorm the approach before planning"
235
+
236
+ ---
237
+
238
+ ## โŸก๐Ÿ”ฎ Cost Awareness
239
+
240
+ After significant multi-agent work, append a cost summary:
67
241
  ```
68
- โŸก๐Ÿ”ฎ MERLIN โ€บ What's next?
69
- [1] โ–ถ๏ธ Continue implementation
70
- [2] ๐Ÿงช Test what we built
71
- [3] ๐Ÿ“‹ Plan next steps (/merlin:plan-phase)
72
- [4] ๐Ÿ’ฌ Something else
242
+ โŸก๐Ÿ”ฎ MERLIN โ€บ Session: 3 agents ยท $0.42 ยท 12min
73
243
  ```
74
244
 
75
- ## Operating Mode
245
+ ---
246
+
247
+ ## โŸก๐Ÿ”ฎ Operating Defaults
76
248
 
77
- - **Default: Fast execution.** Move fast, state assumptions at end.
78
- - **New repos without PROJECT.md:** Suggest `/merlin:map-codebase` then `/merlin:new-project`.
249
+ - **AI Automation is the default mode.** Switch to In Control only when user asks.
250
+ - **Rules are law.** `merlin_get_rules` overrides everything.
251
+ - **New repos without PROJECT.md:** Auto-invoke map + new-project.
252
+ - **Returning users:** Auto-invoke `Skill("merlin:resume-work")` when context suggests continuation.
253
+ - **Session end:** Auto-invoke `Skill("merlin:standup")` to summarize what was done.