create-merlin-brain 3.11.0 → 3.13.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.
- package/bin/install.cjs +156 -32
- package/bin/runtime-adapters.cjs +396 -0
- package/dist/server/api/types.d.ts +7 -0
- package/dist/server/api/types.d.ts.map +1 -1
- package/dist/server/cost/tracker.d.ts +38 -2
- package/dist/server/cost/tracker.d.ts.map +1 -1
- package/dist/server/cost/tracker.js +87 -15
- package/dist/server/cost/tracker.js.map +1 -1
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +74 -30
- package/dist/server/server.js.map +1 -1
- package/dist/server/tools/__tests__/augmentation.test.d.ts +8 -0
- package/dist/server/tools/__tests__/augmentation.test.d.ts.map +1 -0
- package/dist/server/tools/__tests__/augmentation.test.js +76 -0
- package/dist/server/tools/__tests__/augmentation.test.js.map +1 -0
- package/dist/server/tools/__tests__/route-helpers.test.d.ts +5 -0
- package/dist/server/tools/__tests__/route-helpers.test.d.ts.map +1 -0
- package/dist/server/tools/__tests__/route-helpers.test.js +49 -0
- package/dist/server/tools/__tests__/route-helpers.test.js.map +1 -0
- package/dist/server/tools/adaptive.js +1 -1
- package/dist/server/tools/adaptive.js.map +1 -1
- package/dist/server/tools/agent-spawn.d.ts +25 -0
- package/dist/server/tools/agent-spawn.d.ts.map +1 -0
- package/dist/server/tools/agent-spawn.js +95 -0
- package/dist/server/tools/agent-spawn.js.map +1 -0
- package/dist/server/tools/agents-index.js +3 -3
- package/dist/server/tools/agents-index.js.map +1 -1
- package/dist/server/tools/agents.js +5 -5
- package/dist/server/tools/agents.js.map +1 -1
- package/dist/server/tools/augmentation.d.ts +45 -0
- package/dist/server/tools/augmentation.d.ts.map +1 -0
- package/dist/server/tools/augmentation.js +167 -0
- package/dist/server/tools/augmentation.js.map +1 -0
- package/dist/server/tools/behaviors.js +4 -4
- package/dist/server/tools/behaviors.js.map +1 -1
- package/dist/server/tools/context.js +7 -7
- package/dist/server/tools/context.js.map +1 -1
- package/dist/server/tools/cost.d.ts +3 -1
- package/dist/server/tools/cost.d.ts.map +1 -1
- package/dist/server/tools/cost.js +66 -13
- package/dist/server/tools/cost.js.map +1 -1
- package/dist/server/tools/discoveries.js +6 -6
- package/dist/server/tools/discoveries.js.map +1 -1
- package/dist/server/tools/index.d.ts +4 -0
- package/dist/server/tools/index.d.ts.map +1 -1
- package/dist/server/tools/index.js +4 -0
- package/dist/server/tools/index.js.map +1 -1
- package/dist/server/tools/learning.d.ts +12 -0
- package/dist/server/tools/learning.d.ts.map +1 -0
- package/dist/server/tools/learning.js +269 -0
- package/dist/server/tools/learning.js.map +1 -0
- package/dist/server/tools/project.js +7 -7
- package/dist/server/tools/project.js.map +1 -1
- package/dist/server/tools/promote.d.ts +11 -0
- package/dist/server/tools/promote.d.ts.map +1 -0
- package/dist/server/tools/promote.js +315 -0
- package/dist/server/tools/promote.js.map +1 -0
- package/dist/server/tools/route-helpers.d.ts +45 -0
- package/dist/server/tools/route-helpers.d.ts.map +1 -0
- package/dist/server/tools/route-helpers.js +93 -0
- package/dist/server/tools/route-helpers.js.map +1 -0
- package/dist/server/tools/route.d.ts +4 -3
- package/dist/server/tools/route.d.ts.map +1 -1
- package/dist/server/tools/route.js +80 -284
- package/dist/server/tools/route.js.map +1 -1
- package/dist/server/tools/session-restore.d.ts +18 -0
- package/dist/server/tools/session-restore.d.ts.map +1 -0
- package/dist/server/tools/session-restore.js +154 -0
- package/dist/server/tools/session-restore.js.map +1 -0
- package/dist/server/tools/session-search.d.ts +16 -0
- package/dist/server/tools/session-search.d.ts.map +1 -0
- package/dist/server/tools/session-search.js +240 -0
- package/dist/server/tools/session-search.js.map +1 -0
- package/dist/server/tools/sights-index.js +2 -2
- package/dist/server/tools/sights-index.js.map +1 -1
- package/dist/server/tools/smart-route.d.ts.map +1 -1
- package/dist/server/tools/smart-route.js +4 -5
- package/dist/server/tools/smart-route.js.map +1 -1
- package/dist/server/tools/verification.js +1 -1
- package/dist/server/tools/verification.js.map +1 -1
- package/files/agents/code-organization-supervisor.md +1 -0
- package/files/agents/context-guardian.md +1 -0
- package/files/agents/docs-keeper.md +1 -0
- package/files/agents/dry-refactor.md +1 -0
- package/files/agents/elite-code-refactorer.md +1 -0
- package/files/agents/hardening-guard.md +1 -0
- package/files/agents/implementation-dev.md +1 -0
- package/files/agents/merlin-access-control-reviewer.md +248 -0
- package/files/agents/merlin-codebase-mapper.md +1 -1
- package/files/agents/merlin-dependency-auditor.md +216 -0
- package/files/agents/merlin-executor.md +1 -0
- package/files/agents/merlin-input-validator.md +247 -0
- package/files/agents/merlin-reviewer.md +1 -0
- package/files/agents/merlin-sast-reviewer.md +182 -0
- package/files/agents/merlin-secret-scanner.md +203 -0
- package/files/agents/tests-qa.md +1 -0
- package/files/commands/merlin/execute-phase.md +94 -197
- package/files/commands/merlin/execute-plan.md +116 -180
- package/files/commands/merlin/health.md +385 -0
- package/files/commands/merlin/loop-recipes.md +93 -36
- package/files/commands/merlin/optimize-prompts.md +158 -0
- package/files/commands/merlin/profiles.md +215 -0
- package/files/commands/merlin/promote.md +176 -0
- package/files/commands/merlin/quick.md +229 -0
- package/files/commands/merlin/resume-work.md +27 -1
- package/files/commands/merlin/route.md +43 -1
- package/files/commands/merlin/sandbox.md +359 -0
- package/files/commands/merlin/usage.md +55 -0
- package/files/docker/Dockerfile.merlin +20 -0
- package/files/docker/docker-compose.merlin.yml +23 -0
- package/files/hook-templates/auto-commit.sh +64 -0
- package/files/hook-templates/auto-format.sh +95 -0
- package/files/hook-templates/auto-test.sh +117 -0
- package/files/hook-templates/branch-protection.sh +72 -0
- package/files/hook-templates/changelog-reminder.sh +76 -0
- package/files/hook-templates/complexity-check.sh +112 -0
- package/files/hook-templates/import-audit.sh +83 -0
- package/files/hook-templates/license-header.sh +84 -0
- package/files/hook-templates/pr-description.sh +100 -0
- package/files/hook-templates/todo-tracker.sh +80 -0
- package/files/hooks/check-file-size.sh +17 -4
- package/files/hooks/config-change.sh +44 -16
- package/files/hooks/instructions-loaded.sh +22 -5
- package/files/hooks/notify-desktop.sh +157 -0
- package/files/hooks/notify-webhook.sh +141 -0
- package/files/hooks/pre-edit-sights-check.sh +76 -9
- package/files/hooks/security-scanner.sh +153 -0
- package/files/hooks/session-end-memory-sync.sh +97 -0
- package/files/hooks/session-end.sh +274 -1
- package/files/hooks/session-start.sh +19 -6
- package/files/hooks/smart-approve.sh +270 -0
- package/files/hooks/teammate-idle-verify.sh +87 -12
- package/files/hooks/worktree-create.sh +20 -3
- package/files/hooks/worktree-remove.sh +21 -3
- package/files/merlin/references/plan-format.md +37 -9
- package/files/merlin/sandbox.json +9 -0
- package/files/merlin/security.json +11 -0
- package/files/merlin/templates/ci/docs-update.yml +81 -0
- package/files/merlin/templates/ci/pr-review.yml +50 -0
- package/files/merlin/templates/ci/security-audit.yml +74 -0
- package/files/merlin/templates/config.json +9 -1
- package/files/rules/api-rules.md +30 -0
- package/files/rules/frontend-rules.md +25 -0
- package/files/rules/hooks-rules.md +36 -0
- package/files/rules/mcp-rules.md +30 -0
- package/files/rules/worker-rules.md +29 -0
- package/package.json +5 -2
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt Learning Engine — RL-inspired agent effectiveness analysis
|
|
3
|
+
*
|
|
4
|
+
* Reads outcomes.jsonl (written by session-end hook) and produces per-agent
|
|
5
|
+
* success-rate scores with 30-day recency weighting. Identifies low-scoring
|
|
6
|
+
* agents and generates actionable prompt-improvement suggestions.
|
|
7
|
+
*
|
|
8
|
+
* NEVER modifies prompts — suggestions only, user must apply manually.
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
import { createReadStream, existsSync } from 'fs';
|
|
12
|
+
import { createInterface } from 'readline';
|
|
13
|
+
import { join } from 'path';
|
|
14
|
+
import { homedir } from 'os';
|
|
15
|
+
/** Threshold below which an agent is flagged for prompt improvement */
|
|
16
|
+
const LOW_SCORE_THRESHOLD = 70;
|
|
17
|
+
/** Recency window for boosted scoring (days) */
|
|
18
|
+
const RECENCY_WINDOW_DAYS = 30;
|
|
19
|
+
/** Minimum sessions before we trust the score */
|
|
20
|
+
const MIN_SESSIONS_FOR_SCORE = 3;
|
|
21
|
+
/** High-confidence behavior threshold (matches promote.ts) */
|
|
22
|
+
const HIGH_CONFIDENCE_BEHAVIOR = 0.85;
|
|
23
|
+
// ── Parsing helpers ──────────────────────────────────────────────────────────
|
|
24
|
+
/**
|
|
25
|
+
* Read outcomes.jsonl line by line.
|
|
26
|
+
* Returns parsed records, silently skips malformed lines.
|
|
27
|
+
*/
|
|
28
|
+
async function readOutcomes() {
|
|
29
|
+
const file = join(homedir(), '.claude', 'merlin', 'learning', 'outcomes.jsonl');
|
|
30
|
+
if (!existsSync(file))
|
|
31
|
+
return [];
|
|
32
|
+
const records = [];
|
|
33
|
+
const rl = createInterface({ input: createReadStream(file), crlfDelay: Infinity });
|
|
34
|
+
for await (const line of rl) {
|
|
35
|
+
const trimmed = line.trim();
|
|
36
|
+
if (!trimmed)
|
|
37
|
+
continue;
|
|
38
|
+
try {
|
|
39
|
+
const parsed = JSON.parse(trimmed);
|
|
40
|
+
if (typeof parsed.timestamp === 'string' &&
|
|
41
|
+
typeof parsed.agent === 'string' &&
|
|
42
|
+
(parsed.outcome === 'success' || parsed.outcome === 'partial' || parsed.outcome === 'failure')) {
|
|
43
|
+
records.push({
|
|
44
|
+
timestamp: parsed.timestamp,
|
|
45
|
+
agent: parsed.agent,
|
|
46
|
+
outcome: parsed.outcome,
|
|
47
|
+
files_changed: typeof parsed.files_changed === 'number' ? parsed.files_changed : 0,
|
|
48
|
+
duration: typeof parsed.duration === 'number' ? parsed.duration : 0,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// Skip malformed line
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return records;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Compute per-agent stats with 30-day recency weighting.
|
|
60
|
+
* Score = (allTimeSuccessRate * 0.6) + (recentSuccessRate * 0.4)
|
|
61
|
+
* Falls back to allTimeSuccessRate when recent window has < MIN_SESSIONS records.
|
|
62
|
+
*/
|
|
63
|
+
function computeAgentStats(records) {
|
|
64
|
+
const now = Date.now();
|
|
65
|
+
const recentCutoff = now - RECENCY_WINDOW_DAYS * 24 * 60 * 60 * 1000;
|
|
66
|
+
const byAgent = new Map();
|
|
67
|
+
for (const r of records) {
|
|
68
|
+
if (r.agent === 'unknown')
|
|
69
|
+
continue;
|
|
70
|
+
let s = byAgent.get(r.agent);
|
|
71
|
+
if (!s) {
|
|
72
|
+
s = { total: 0, successes: 0, partials: 0, failures: 0, recentTotal: 0, recentSuccesses: 0, failureEpochs: [] };
|
|
73
|
+
byAgent.set(r.agent, s);
|
|
74
|
+
}
|
|
75
|
+
s.total++;
|
|
76
|
+
if (r.outcome === 'success')
|
|
77
|
+
s.successes++;
|
|
78
|
+
else if (r.outcome === 'partial')
|
|
79
|
+
s.partials++;
|
|
80
|
+
else
|
|
81
|
+
s.failures++;
|
|
82
|
+
const epoch = new Date(r.timestamp).getTime();
|
|
83
|
+
const isRecent = !isNaN(epoch) && epoch >= recentCutoff;
|
|
84
|
+
if (isRecent) {
|
|
85
|
+
s.recentTotal++;
|
|
86
|
+
if (r.outcome === 'success')
|
|
87
|
+
s.recentSuccesses++;
|
|
88
|
+
}
|
|
89
|
+
if (r.outcome === 'failure' || r.outcome === 'partial') {
|
|
90
|
+
if (!isNaN(epoch))
|
|
91
|
+
s.failureEpochs.push(epoch);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const stats = [];
|
|
95
|
+
for (const [agent, s] of byAgent) {
|
|
96
|
+
const allTimeRate = s.total > 0 ? (s.successes / s.total) * 100 : 0;
|
|
97
|
+
const recentRate = s.recentTotal >= MIN_SESSIONS_FOR_SCORE
|
|
98
|
+
? (s.recentSuccesses / s.recentTotal) * 100
|
|
99
|
+
: null;
|
|
100
|
+
const score = recentRate !== null
|
|
101
|
+
? allTimeRate * 0.6 + recentRate * 0.4
|
|
102
|
+
: allTimeRate;
|
|
103
|
+
stats.push({
|
|
104
|
+
agent,
|
|
105
|
+
total: s.total,
|
|
106
|
+
successes: s.successes,
|
|
107
|
+
partials: s.partials,
|
|
108
|
+
failures: s.failures,
|
|
109
|
+
recentTotal: s.recentTotal,
|
|
110
|
+
recentSuccesses: s.recentSuccesses,
|
|
111
|
+
score: Math.round(score),
|
|
112
|
+
recentScore: recentRate !== null ? Math.round(recentRate) : null,
|
|
113
|
+
failureEpochs: s.failureEpochs,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
// Sort by score ascending (worst first in the low-score section)
|
|
117
|
+
return stats.sort((a, b) => a.score - b.score);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* For a low-scoring agent, generate a prompt improvement suggestion.
|
|
121
|
+
* Based purely on observable stats — no AI analysis.
|
|
122
|
+
*/
|
|
123
|
+
function generateSuggestion(stats) {
|
|
124
|
+
const failureRate = stats.total > 0 ? Math.round((stats.failures / stats.total) * 100) : 0;
|
|
125
|
+
const partialRate = stats.total > 0 ? Math.round((stats.partials / stats.total) * 100) : 0;
|
|
126
|
+
// Determine dominant failure pattern
|
|
127
|
+
let text;
|
|
128
|
+
let evidence;
|
|
129
|
+
let confidence;
|
|
130
|
+
if (failureRate >= 40) {
|
|
131
|
+
// Mostly hard failures (no files changed)
|
|
132
|
+
text = `Add explicit scope guidance: "Always confirm the working directory and targeted files before making changes."`;
|
|
133
|
+
evidence = `${stats.failures} of ${stats.total} sessions ended with no file changes (${failureRate}% failure rate)`;
|
|
134
|
+
confidence = failureRate >= 60 ? 'high' : 'medium';
|
|
135
|
+
}
|
|
136
|
+
else if (partialRate >= 30) {
|
|
137
|
+
// Mostly partials — work done but with errors
|
|
138
|
+
text = `Add error-handling reminder: "After completing the task, verify no errors remain. Fix any issues before ending the session."`;
|
|
139
|
+
evidence = `${stats.partials} of ${stats.total} sessions ended with warnings or errors (${partialRate}% partial rate)`;
|
|
140
|
+
confidence = partialRate >= 50 ? 'high' : 'medium';
|
|
141
|
+
}
|
|
142
|
+
else if (stats.recentScore !== null && stats.recentScore < stats.score - 15) {
|
|
143
|
+
// Score degrading recently
|
|
144
|
+
text = `Score degraded recently. Review recent tasks for pattern: the agent may need updated context about recent codebase changes.`;
|
|
145
|
+
evidence = `All-time score ${stats.score}% but last-30d score dropped to ${stats.recentScore}%`;
|
|
146
|
+
confidence = 'medium';
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
// General low score
|
|
150
|
+
text = `Add a verification step: "Before ending the session, run a quick sanity check (e.g., lint, type-check, or test) and confirm the primary goal was achieved."`;
|
|
151
|
+
evidence = `${stats.total} sessions tracked, composite score ${stats.score}% is below threshold`;
|
|
152
|
+
confidence = 'low';
|
|
153
|
+
}
|
|
154
|
+
return { agent: stats.agent, score: stats.score, recentScore: stats.recentScore, text, evidence, confidence };
|
|
155
|
+
}
|
|
156
|
+
// ── Report formatter ──────────────────────────────────────────────────────────
|
|
157
|
+
function formatReport(stats, suggestions, behaviorHints) {
|
|
158
|
+
if (stats.length === 0) {
|
|
159
|
+
return [
|
|
160
|
+
'## Agent Effectiveness Scores',
|
|
161
|
+
'',
|
|
162
|
+
'No outcome data yet. Outcome tracking begins automatically at session end.',
|
|
163
|
+
'Run a few sessions with `/merlin:route` to start collecting data.',
|
|
164
|
+
].join('\n');
|
|
165
|
+
}
|
|
166
|
+
// Sort for table: highest score first
|
|
167
|
+
const tableStats = [...stats].sort((a, b) => b.score - a.score);
|
|
168
|
+
let out = '## Agent Effectiveness Scores\n\n';
|
|
169
|
+
out += '| Agent | Score | Routings | Last 30d |\n';
|
|
170
|
+
out += '|-------|-------|----------|----------|\n';
|
|
171
|
+
for (const s of tableStats) {
|
|
172
|
+
const recentCell = s.recentScore !== null
|
|
173
|
+
? `${s.recentScore}%${s.recentScore < LOW_SCORE_THRESHOLD ? ' ⚠️' : ''}`
|
|
174
|
+
: `_< ${MIN_SESSIONS_FOR_SCORE} sessions_`;
|
|
175
|
+
const scoreCell = `${s.score}%${s.total < MIN_SESSIONS_FOR_SCORE ? ' *' : ''}`;
|
|
176
|
+
out += `| ${s.agent} | ${scoreCell} | ${s.total} | ${recentCell} |\n`;
|
|
177
|
+
}
|
|
178
|
+
if (stats.some(s => s.total < MIN_SESSIONS_FOR_SCORE)) {
|
|
179
|
+
out += `\n_* Score based on fewer than ${MIN_SESSIONS_FOR_SCORE} sessions — low confidence._\n`;
|
|
180
|
+
}
|
|
181
|
+
if (suggestions.length > 0) {
|
|
182
|
+
out += '\n## Suggestions\n';
|
|
183
|
+
for (const sg of suggestions) {
|
|
184
|
+
out += `\n### ${sg.agent} (score: ${sg.score}%)\n`;
|
|
185
|
+
if (sg.recentScore !== null) {
|
|
186
|
+
out += `- **Last 30d score:** ${sg.recentScore}%\n`;
|
|
187
|
+
}
|
|
188
|
+
out += `- **Suggestion:** ${sg.text}\n`;
|
|
189
|
+
out += `- **Evidence:** ${sg.evidence}\n`;
|
|
190
|
+
out += `- **Confidence:** ${sg.confidence}\n`;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
out += '\n## Suggestions\n\nAll tracked agents are performing above the threshold. No prompt changes needed.\n';
|
|
195
|
+
}
|
|
196
|
+
if (behaviorHints.length > 0) {
|
|
197
|
+
out += '\n## High-Confidence Behaviors Ready for Agent Prompts\n\n';
|
|
198
|
+
for (const hint of behaviorHints) {
|
|
199
|
+
out += `- ${hint}\n`;
|
|
200
|
+
}
|
|
201
|
+
out += `\nConsider adding these to the relevant agent's .md file to encode proven patterns permanently.\n`;
|
|
202
|
+
out += `Use \`/merlin:promote\` to convert them into skills first, then reference from the agent prompt.\n`;
|
|
203
|
+
}
|
|
204
|
+
return out;
|
|
205
|
+
}
|
|
206
|
+
// ── Tool registration ─────────────────────────────────────────────────────────
|
|
207
|
+
export function registerLearningTools(ctx) {
|
|
208
|
+
const { server, client, resolveRepoId } = ctx;
|
|
209
|
+
// ── DEFERRED tool: on-demand prompt optimization analysis ─────────────────
|
|
210
|
+
// Tool: merlin_prompt_suggestions
|
|
211
|
+
server.tool('merlin_prompt_suggestions', 'Analyze agent prompt effectiveness and suggest improvements. Shows per-agent success rates (scored from ~/.claude/merlin/learning/outcomes.jsonl) and actionable suggestions based on failure patterns. Also surfaces high-confidence learned behaviors that are ready to be embedded into agent prompts. Use to optimize your Merlin setup. NEVER auto-modifies prompts — suggestions only.', {
|
|
212
|
+
agentFilter: z.string().optional().describe('Filter report to a specific agent name (optional)'),
|
|
213
|
+
repoUrl: z.string().optional().describe('GitHub URL of the repository (for behavior hints)'),
|
|
214
|
+
}, async ({ agentFilter, repoUrl }) => {
|
|
215
|
+
try {
|
|
216
|
+
// 1. Read and compute outcome stats
|
|
217
|
+
const allRecords = await readOutcomes();
|
|
218
|
+
const filtered = agentFilter
|
|
219
|
+
? allRecords.filter(r => r.agent === agentFilter)
|
|
220
|
+
: allRecords;
|
|
221
|
+
let stats = computeAgentStats(filtered);
|
|
222
|
+
// If filtering, limit table to that one agent
|
|
223
|
+
if (agentFilter && stats.length === 0) {
|
|
224
|
+
return {
|
|
225
|
+
content: [{
|
|
226
|
+
type: 'text',
|
|
227
|
+
text: `No outcome data found for agent "${agentFilter}". Data is collected automatically at session end.`,
|
|
228
|
+
}],
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
// 2. Identify low-scoring agents that have enough data
|
|
232
|
+
const lowScoring = stats.filter(s => s.total >= MIN_SESSIONS_FOR_SCORE && s.score < LOW_SCORE_THRESHOLD);
|
|
233
|
+
const suggestions = lowScoring.map(generateSuggestion);
|
|
234
|
+
// 3. Fetch high-confidence behavior hints (best-effort, non-blocking)
|
|
235
|
+
const behaviorHints = [];
|
|
236
|
+
try {
|
|
237
|
+
const repoId = await resolveRepoId(repoUrl);
|
|
238
|
+
if (repoId) {
|
|
239
|
+
const result = await client.getBehaviors(repoId, { minConfidence: HIGH_CONFIDENCE_BEHAVIOR });
|
|
240
|
+
if (result.behaviors && result.behaviors.length > 0) {
|
|
241
|
+
for (const b of result.behaviors.slice(0, 5)) {
|
|
242
|
+
const confidencePct = Math.round(b.confidence * 100);
|
|
243
|
+
behaviorHints.push(`Behavior "${b.pattern}" has ${confidencePct}% confidence. ` +
|
|
244
|
+
`Consider adding to ${agentFilter ?? 'relevant agent'} prompt: "${b.action}"`);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
catch {
|
|
250
|
+
// Behavior hints are optional — never block the report
|
|
251
|
+
}
|
|
252
|
+
// 4. Format and return report
|
|
253
|
+
const report = formatReport(stats, suggestions, behaviorHints);
|
|
254
|
+
return {
|
|
255
|
+
content: [{ type: 'text', text: report }],
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
return {
|
|
260
|
+
content: [{
|
|
261
|
+
type: 'text',
|
|
262
|
+
text: `Error generating prompt suggestions: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
263
|
+
}],
|
|
264
|
+
isError: true,
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
//# sourceMappingURL=learning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning.js","sourceRoot":"","sources":["../../../src/server/tools/learning.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
|
|
|
19
19
|
// ============================================================
|
|
20
20
|
// TOOL: merlin_sync_planning
|
|
21
21
|
// ============================================================
|
|
22
|
-
server.tool('merlin_sync_planning', 'Sync local .planning/ folder (PROJECT.md, ROADMAP.md, REQUIREMENTS.md) to Merlin cloud storage. Enables team
|
|
22
|
+
server.tool('merlin_sync_planning', 'Sync local .planning/ folder (PROJECT.md, ROADMAP.md, REQUIREMENTS.md) to/from Merlin cloud storage. Enables team handoff, cross-session resume, and cross-machine coordination. Supports push (local to cloud), pull (cloud to local), or bidirectional merge. Also cleans up stale cloud entries when local files are deleted. Call after creating or updating planning documents.', {
|
|
23
23
|
direction: z.enum(['push', 'pull', 'both']).optional().default('push')
|
|
24
24
|
.describe('push: local→cloud, pull: cloud→local, both: bidirectional merge'),
|
|
25
25
|
repoUrl: z.string().optional().describe('GitHub URL of the repository'),
|
|
@@ -136,7 +136,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
|
|
|
136
136
|
// ============================================================
|
|
137
137
|
// TOOL: merlin_get_project_status
|
|
138
138
|
// ============================================================
|
|
139
|
-
server.tool('merlin_get_project_status', 'CALL THIS SECOND at session start (after merlin_get_selected_repo). Returns
|
|
139
|
+
server.tool('merlin_get_project_status', 'CALL THIS SECOND at session start (after merlin_get_selected_repo). Returns full project health snapshot: task backlog progress (pending/in-progress/completed counts + progress bar), planning artifact status (PROJECT.md, ROADMAP.md, REQUIREMENTS.md), active blockers, last checkpoint for resuming interrupted work, and recommended next action command. Show results to the user before starting any work.', {
|
|
140
140
|
repoUrl: z.string().optional().describe('GitHub URL of the repository'),
|
|
141
141
|
}, async ({ repoUrl }) => {
|
|
142
142
|
try {
|
|
@@ -246,7 +246,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
|
|
|
246
246
|
// ============================================================
|
|
247
247
|
// TOOL: merlin_get_next_task
|
|
248
248
|
// ============================================================
|
|
249
|
-
server.tool('merlin_get_next_task', 'Get the highest-priority unblocked pending task
|
|
249
|
+
server.tool('merlin_get_next_task', 'Get the highest-priority unblocked pending task ready for immediate execution. Returns task title, description, phase, plan number, relevant spec section from REQUIREMENTS.md, and a Sights how-to guide pre-assembled. Call when beginning implementation work to pick up the correct next task without reading the entire backlog. Resumes in-progress tasks if any exist.', {
|
|
250
250
|
repoUrl: z.string().optional().describe('GitHub URL of the repository'),
|
|
251
251
|
}, async ({ repoUrl }) => {
|
|
252
252
|
try {
|
|
@@ -331,7 +331,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
|
|
|
331
331
|
// ============================================================
|
|
332
332
|
// TOOL: merlin_ensure_tasks
|
|
333
333
|
// ============================================================
|
|
334
|
-
server.tool('merlin_ensure_tasks', '
|
|
334
|
+
server.tool('merlin_ensure_tasks', 'Health check: verify the task backlog is non-empty before continuing autonomous loop execution. If the backlog is empty but the project is not marked complete, returns a blocking warning to trigger milestone planning via /merlin:discuss-milestone. Returns pending/in-progress/total counts when healthy. Use periodically during long autonomous sessions to prevent stalling when tasks run out.', {
|
|
335
335
|
repoUrl: z.string().optional().describe('GitHub URL of the repository'),
|
|
336
336
|
}, async ({ repoUrl }) => {
|
|
337
337
|
try {
|
|
@@ -392,7 +392,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
|
|
|
392
392
|
// ============================================================
|
|
393
393
|
// TOOL: merlin_save_checkpoint
|
|
394
394
|
// ============================================================
|
|
395
|
-
server.tool('merlin_save_checkpoint', 'Save a resumable checkpoint before
|
|
395
|
+
server.tool('merlin_save_checkpoint', 'Save a resumable checkpoint before ending a session mid-task. Records current task, exact stopping point, next steps, open files being edited, blockers encountered, and decisions made this session. Any future agent or team member resumes from exactly this checkpoint via merlin_get_project_status. ALWAYS call before ending an incomplete session.', {
|
|
396
396
|
currentTask: z.string().describe('What task/work is currently in progress'),
|
|
397
397
|
phase: z.string().optional().describe('Current phase'),
|
|
398
398
|
plan: z.string().optional().describe('Current plan'),
|
|
@@ -469,7 +469,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
|
|
|
469
469
|
// ============================================================
|
|
470
470
|
// TOOL: merlin_mark_complete
|
|
471
471
|
// ============================================================
|
|
472
|
-
server.tool('merlin_mark_complete', 'Mark
|
|
472
|
+
server.tool('merlin_mark_complete', 'Mark a project milestone or entire project as fully complete after all planned work is verified. Records completion summary, milestones delivered, and lessons learned. Stops the backlog-enforcement loop that requires tasks to always exist. Only call when ALL work is confirmed done — this cannot be undone without manual state edits. Use after merlin_run_verification passes.', {
|
|
473
473
|
summary: z.string().describe('Summary of what was built'),
|
|
474
474
|
milestonesCompleted: z.array(z.string()).optional().describe('List of completed milestones'),
|
|
475
475
|
lessonsLearned: z.array(z.string()).optional().describe('Key lessons from this project'),
|
|
@@ -521,7 +521,7 @@ export function registerProjectTools(server, getClient, resolveRepoId, getRepoRo
|
|
|
521
521
|
// ============================================================
|
|
522
522
|
// TOOL: merlin_sync_native_tasks
|
|
523
523
|
// ============================================================
|
|
524
|
-
server.tool('merlin_sync_native_tasks', 'Sync Claude Code native task lists (~/.claude/tasks
|
|
524
|
+
server.tool('merlin_sync_native_tasks', 'Sync Claude Code native task lists (~/.claude/tasks/*.json) with Merlin cloud storage for team visibility and cross-machine coordination. Supports push (native → cloud), pull (cloud → native task list), or bidirectional sync. Requires CLAUDE_CODE_TASK_LIST_ID env var or taskListId parameter. Call after planning sessions, when switching machines, or to share task progress with team members.', {
|
|
525
525
|
taskListId: z.string().optional().describe('Claude task list ID (auto-detected from CLAUDE_CODE_TASK_LIST_ID env var if not provided)'),
|
|
526
526
|
direction: z.enum(['push', 'pull', 'both']).optional().default('push')
|
|
527
527
|
.describe('push: local→cloud, pull: cloud→local, both: bidirectional'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/server/tools/project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/server/tools/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Behavior → Skill Promotion
|
|
3
|
+
* MCP tool for promoting high-confidence learned behaviors into reusable skills/agents.
|
|
4
|
+
* Behaviors at confidence >= 0.85 are flagged as promotion candidates.
|
|
5
|
+
*
|
|
6
|
+
* Clustering: behaviors with overlapping trigger keywords are grouped into
|
|
7
|
+
* a single skill with multiple actions, keeping the agent catalog focused.
|
|
8
|
+
*/
|
|
9
|
+
import type { ToolContext } from './types.js';
|
|
10
|
+
export declare function registerPromoteTools(ctx: ToolContext): void;
|
|
11
|
+
//# sourceMappingURL=promote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../../src/server/tools/promote.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAwL9C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAyL3D"}
|