create-merlin-brain 3.9.0 → 3.11.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/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +11 -0
- package/dist/server/server.js.map +1 -1
- package/dist/server/tools/route.d.ts.map +1 -1
- package/dist/server/tools/route.js +72 -21
- package/dist/server/tools/route.js.map +1 -1
- package/dist/server/tools/smart-route.d.ts +12 -0
- package/dist/server/tools/smart-route.d.ts.map +1 -0
- package/dist/server/tools/smart-route.js +156 -0
- package/dist/server/tools/smart-route.js.map +1 -0
- package/files/agents/code-organization-supervisor.md +8 -0
- package/files/agents/context-guardian.md +8 -0
- package/files/agents/docs-keeper.md +10 -1
- package/files/agents/dry-refactor.md +11 -1
- package/files/agents/elite-code-refactorer.md +9 -0
- package/files/agents/hardening-guard.md +12 -1
- package/files/agents/implementation-dev.md +11 -1
- package/files/agents/merlin-api-designer.md +9 -0
- package/files/agents/merlin-codebase-mapper.md +8 -0
- package/files/agents/merlin-debugger.md +10 -0
- package/files/agents/merlin-executor.md +11 -1
- package/files/agents/merlin-frontend.md +9 -0
- package/files/agents/merlin-integration-checker.md +9 -1
- package/files/agents/merlin-migrator.md +9 -0
- package/files/agents/merlin-milestone-auditor.md +8 -0
- package/files/agents/merlin-performance.md +8 -0
- package/files/agents/merlin-planner.md +10 -0
- package/files/agents/merlin-researcher.md +10 -0
- package/files/agents/merlin-reviewer.md +41 -7
- package/files/agents/merlin-security.md +9 -0
- package/files/agents/merlin-verifier.md +9 -0
- package/files/agents/merlin-work-verifier.md +9 -0
- package/files/agents/merlin.md +28 -3
- package/files/agents/ops-railway.md +11 -1
- package/files/agents/orchestrator-retrofit.md +9 -1
- package/files/agents/product-spec.md +11 -1
- package/files/agents/remotion.md +8 -0
- package/files/agents/system-architect.md +11 -1
- package/files/agents/tests-qa.md +11 -1
- package/files/commands/merlin/course-correct.md +219 -0
- package/files/commands/merlin/debug.md +2 -2
- package/files/commands/merlin/execute-phase.md +4 -4
- package/files/commands/merlin/execute-plan.md +2 -2
- package/files/commands/merlin/map-codebase.md +4 -4
- package/files/commands/merlin/next.md +240 -0
- package/files/commands/merlin/plan-phase.md +1 -1
- package/files/commands/merlin/readiness-gate.md +208 -0
- package/files/commands/merlin/research-phase.md +2 -2
- package/files/commands/merlin/research-project.md +4 -4
- package/files/commands/merlin/verify-work.md +1 -1
- package/files/hooks/session-start.sh +47 -1
- package/package.json +1 -1
|
@@ -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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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Smart Route Tool — Discovery-first routing
|
|
3
|
+
*
|
|
4
|
+
* Instead of requiring the caller to know which agent to use,
|
|
5
|
+
* this tool takes a task description and finds the best agent by:
|
|
6
|
+
* 1. Scoring installed local agents by keyword relevance
|
|
7
|
+
* 2. Searching the community catalog of 500+ graded agents
|
|
8
|
+
* 3. Ranking all candidates and recommending the best fit
|
|
9
|
+
*/
|
|
10
|
+
import type { ToolContext } from './types.js';
|
|
11
|
+
export declare function registerSmartRouteTools(ctx: ToolContext): void;
|
|
12
|
+
//# sourceMappingURL=smart-route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-route.d.ts","sourceRoot":"","sources":["../../../src/server/tools/smart-route.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA0D9C,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,QA+GvD"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Smart Route Tool — Discovery-first routing
|
|
3
|
+
*
|
|
4
|
+
* Instead of requiring the caller to know which agent to use,
|
|
5
|
+
* this tool takes a task description and finds the best agent by:
|
|
6
|
+
* 1. Scoring installed local agents by keyword relevance
|
|
7
|
+
* 2. Searching the community catalog of 500+ graded agents
|
|
8
|
+
* 3. Ranking all candidates and recommending the best fit
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
import { existsSync, readdirSync } from 'fs';
|
|
12
|
+
import { join } from 'path';
|
|
13
|
+
import { homedir } from 'os';
|
|
14
|
+
/** Known specialist agents and their roles (shared with route.ts) */
|
|
15
|
+
const AGENT_ROLES = {
|
|
16
|
+
'product-spec': 'Feature specification and product definition',
|
|
17
|
+
'system-architect': 'Architecture decisions and system design',
|
|
18
|
+
'implementation-dev': 'Code implementation and feature building',
|
|
19
|
+
'dry-refactor': 'Code cleanup, DRY refactoring, file organization',
|
|
20
|
+
'hardening-guard': 'Security hardening, input validation, error handling',
|
|
21
|
+
'tests-qa': 'Testing and quality assurance',
|
|
22
|
+
'ops-railway': 'Deployment, ops, Railway, Google Cloud',
|
|
23
|
+
'docs-keeper': 'Documentation updates',
|
|
24
|
+
};
|
|
25
|
+
/** Domain specialists with keyword matchers */
|
|
26
|
+
const DOMAIN_AGENTS = {
|
|
27
|
+
'remotion': { keywords: /\b(video|animation|remotion|render)\b/, role: 'Programmatic video creation' },
|
|
28
|
+
'merlin-frontend': { keywords: /\b(react|vue|frontend|ui|component|css|tailwind)\b/, role: 'Frontend development' },
|
|
29
|
+
'merlin-security': { keywords: /\b(security|audit|pentest|owasp|vulnerabilit)\b/, role: 'Deep security audits' },
|
|
30
|
+
'merlin-performance': { keywords: /\b(performance|optimiz|profile|benchmark|latency)\b/, role: 'Performance optimization' },
|
|
31
|
+
'merlin-api-designer': { keywords: /\b(api|rest|graphql|endpoint|swagger|openapi)\b/, role: 'API design' },
|
|
32
|
+
'merlin-migrator': { keywords: /\b(migrat|schema|database|alter|column)\b/, role: 'Database migrations' },
|
|
33
|
+
};
|
|
34
|
+
/** Keyword boost patterns for core agents */
|
|
35
|
+
const CORE_BOOSTS = {
|
|
36
|
+
'implementation-dev': /\b(build|add|create|implement|write|code)\b/,
|
|
37
|
+
'tests-qa': /\b(test|spec|coverage|e2e|unit)\b/,
|
|
38
|
+
'hardening-guard': /\b(security|auth|valid|sanitiz|harden)\b/,
|
|
39
|
+
'dry-refactor': /\b(refactor|cleanup|dry|dedup|organiz)\b/,
|
|
40
|
+
'product-spec': /\b(spec|feature|product|idea|requirement)\b/,
|
|
41
|
+
'system-architect': /\b(architect|design|model|schema|service)\b/,
|
|
42
|
+
'ops-railway': /\b(deploy|railway|infra|ci|cd|env)\b/,
|
|
43
|
+
'docs-keeper': /\b(doc|readme|comment|changelog)\b/,
|
|
44
|
+
};
|
|
45
|
+
function getAvailableAgents() {
|
|
46
|
+
const agents = new Set();
|
|
47
|
+
const globalDir = join(homedir(), '.claude', 'agents');
|
|
48
|
+
if (existsSync(globalDir)) {
|
|
49
|
+
readdirSync(globalDir).filter(f => f.endsWith('.md')).forEach(f => agents.add(f.replace('.md', '')));
|
|
50
|
+
}
|
|
51
|
+
const localDir = join(process.cwd(), '.claude', 'agents');
|
|
52
|
+
if (existsSync(localDir)) {
|
|
53
|
+
readdirSync(localDir).filter(f => f.endsWith('.md')).forEach(f => agents.add(f.replace('.md', '')));
|
|
54
|
+
}
|
|
55
|
+
return [...agents].sort();
|
|
56
|
+
}
|
|
57
|
+
export function registerSmartRouteTools(ctx) {
|
|
58
|
+
const { server, client } = ctx;
|
|
59
|
+
server.tool('merlin_smart_route', 'Discovery-first routing: describe WHAT you want done and Merlin finds the best agent — ' +
|
|
60
|
+
'checking both installed local agents AND the community catalog of 500+ graded agents. ' +
|
|
61
|
+
'Returns a ranked recommendation with the best match. ' +
|
|
62
|
+
'Use this instead of merlin_route when you don\'t know which agent to pick, or want to check ' +
|
|
63
|
+
'if a better specialist exists before defaulting to a built-in agent.', {
|
|
64
|
+
task: z.string().describe('What needs to be done (e.g., "add Stripe payments", "write E2E tests", "security audit")'),
|
|
65
|
+
context: z.string().optional().describe('Additional context for the task'),
|
|
66
|
+
}, async ({ task }) => {
|
|
67
|
+
const taskLower = task.toLowerCase();
|
|
68
|
+
// 1. Search catalog and check local agents in parallel
|
|
69
|
+
const [catalogResults, localAgents] = await Promise.all([
|
|
70
|
+
client.searchAgentsIndex(task, { limit: 5 }).catch(() => []),
|
|
71
|
+
Promise.resolve(getAvailableAgents()),
|
|
72
|
+
]);
|
|
73
|
+
// 2. Score local agents
|
|
74
|
+
const scored = [];
|
|
75
|
+
for (const [agentName, role] of Object.entries(AGENT_ROLES)) {
|
|
76
|
+
if (!localAgents.includes(agentName))
|
|
77
|
+
continue;
|
|
78
|
+
const roleLower = role.toLowerCase();
|
|
79
|
+
const words = taskLower.split(/\s+/);
|
|
80
|
+
let score = 0;
|
|
81
|
+
for (const word of words) {
|
|
82
|
+
if (word.length >= 3 && roleLower.includes(word))
|
|
83
|
+
score += 2;
|
|
84
|
+
}
|
|
85
|
+
const boost = CORE_BOOSTS[agentName];
|
|
86
|
+
if (boost && boost.test(taskLower))
|
|
87
|
+
score += 3;
|
|
88
|
+
if (score > 0) {
|
|
89
|
+
scored.push({ name: agentName, source: 'local', score, description: role });
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Score domain specialists
|
|
93
|
+
for (const [agentName, { keywords, role }] of Object.entries(DOMAIN_AGENTS)) {
|
|
94
|
+
if (!localAgents.includes(agentName))
|
|
95
|
+
continue;
|
|
96
|
+
if (keywords.test(taskLower)) {
|
|
97
|
+
scored.push({ name: agentName, source: 'local', score: 5, description: role });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// Score catalog agents (grade-weighted)
|
|
101
|
+
for (const agent of catalogResults) {
|
|
102
|
+
const grade = (agent.grade || '').toUpperCase();
|
|
103
|
+
let gradeScore = 1;
|
|
104
|
+
if (grade === 'A++')
|
|
105
|
+
gradeScore = 5;
|
|
106
|
+
else if (grade === 'A+')
|
|
107
|
+
gradeScore = 4;
|
|
108
|
+
else if (grade === 'A')
|
|
109
|
+
gradeScore = 3;
|
|
110
|
+
else if (grade.startsWith('B'))
|
|
111
|
+
gradeScore = 2;
|
|
112
|
+
scored.push({
|
|
113
|
+
name: agent.name,
|
|
114
|
+
source: 'catalog',
|
|
115
|
+
score: gradeScore,
|
|
116
|
+
grade: agent.grade,
|
|
117
|
+
description: agent.description || '',
|
|
118
|
+
slug: agent.slug,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
scored.sort((a, b) => b.score - a.score);
|
|
122
|
+
if (scored.length === 0) {
|
|
123
|
+
scored.push({ name: 'implementation-dev', source: 'local', score: 0, description: 'General code implementation (default)' });
|
|
124
|
+
}
|
|
125
|
+
const best = scored[0];
|
|
126
|
+
// 3. Build recommendation response
|
|
127
|
+
let response = `# Smart Route: Best Agent for Task\n\n`;
|
|
128
|
+
response += `**Task:** ${task}\n\n`;
|
|
129
|
+
response += `## Recommendation\n\n`;
|
|
130
|
+
const sourceTag = best.source === 'catalog' ? `Catalog (${best.grade})` : `Installed`;
|
|
131
|
+
response += `### Best Match: \`${best.name}\` — ${sourceTag}\n`;
|
|
132
|
+
response += `${best.description}\n\n`;
|
|
133
|
+
if (scored.length > 1) {
|
|
134
|
+
response += `### Alternatives\n\n`;
|
|
135
|
+
scored.slice(1, 5).forEach((alt, idx) => {
|
|
136
|
+
const tag = alt.source === 'catalog' ? `Catalog ${alt.grade || ''}` : `Installed`;
|
|
137
|
+
response += `${idx + 2}. \`${alt.name}\` (${tag}) — ${alt.description}\n`;
|
|
138
|
+
});
|
|
139
|
+
response += '\n';
|
|
140
|
+
}
|
|
141
|
+
if (best.source === 'catalog' && best.slug) {
|
|
142
|
+
response += `---\n\n`;
|
|
143
|
+
response += `The top match is a **community agent**. To use it:\n`;
|
|
144
|
+
response += `1. View details: \`merlin_get_agent_detail("${best.slug}")\`\n`;
|
|
145
|
+
response += `2. Install it, then route: \`merlin_route(agent="${best.slug}", task="...")\`\n\n`;
|
|
146
|
+
}
|
|
147
|
+
if (best.source === 'local') {
|
|
148
|
+
response += `---\n\n`;
|
|
149
|
+
response += `**Route now:** \`merlin_route(agent="${best.name}", task="${task.slice(0, 80)}")\`\n`;
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
content: [{ type: 'text', text: response }],
|
|
153
|
+
};
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=smart-route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-route.js","sourceRoot":"","sources":["../../../src/server/tools/smart-route.ts"],"names":[],"mappings":"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"}
|
|
@@ -128,3 +128,11 @@ You should:
|
|
|
128
128
|
- Propose architectural improvements for long-term maintainability
|
|
129
129
|
|
|
130
130
|
Remember: Your goal is a codebase where any developer can quickly find, understand, and modify code without being overwhelmed by file size or lost in poor organization.
|
|
131
|
+
|
|
132
|
+
<critical_actions>
|
|
133
|
+
## Critical Actions (NEVER violate these)
|
|
134
|
+
|
|
135
|
+
1. NEVER approve files over 400 lines without flagging for split
|
|
136
|
+
2. NEVER reorganize code without updating all imports
|
|
137
|
+
3. ALWAYS verify the project builds after reorganization
|
|
138
|
+
</critical_actions>
|
|
@@ -92,3 +92,11 @@ For any development task, ensure you can answer:
|
|
|
92
92
|
- Update your understanding as you learn more about the project
|
|
93
93
|
|
|
94
94
|
Remember: Your value is in preventing wasted effort and ensuring consistency. A few minutes of context gathering can save hours of redundant development and future refactoring.
|
|
95
|
+
|
|
96
|
+
<critical_actions>
|
|
97
|
+
## Critical Actions (NEVER violate these)
|
|
98
|
+
|
|
99
|
+
1. NEVER approve creating new code without checking for existing duplicates
|
|
100
|
+
2. NEVER skip scanning the full project structure before recommendations
|
|
101
|
+
3. ALWAYS report existing patterns that should be followed
|
|
102
|
+
</critical_actions>
|
|
@@ -119,4 +119,13 @@ When called:
|
|
|
119
119
|
6. Communication style
|
|
120
120
|
- Be clear and concrete.
|
|
121
121
|
- Explicitly mention file and folder paths when helpful.
|
|
122
|
-
- At the end, summarize what docs you created or updated, with their paths.
|
|
122
|
+
- At the end, summarize what docs you created or updated, with their paths.
|
|
123
|
+
|
|
124
|
+
<critical_actions>
|
|
125
|
+
## Critical Actions (NEVER violate these)
|
|
126
|
+
|
|
127
|
+
1. NEVER document code that doesn't exist — verify file paths and function names first
|
|
128
|
+
2. NEVER write documentation that contradicts the actual code
|
|
129
|
+
3. NEVER add verbose boilerplate — keep docs concise and actionable
|
|
130
|
+
4. ALWAYS update related docs when code changes (README, CLAUDE.md, API docs)
|
|
131
|
+
</critical_actions>
|
|
@@ -134,4 +134,14 @@ Quality assurance after refactor:
|
|
|
134
134
|
Communication style:
|
|
135
135
|
- Be direct and specific.
|
|
136
136
|
- Prioritize the highest impact refactors first.
|
|
137
|
-
- Keep suggestions realistic for a single vibe coder to apply.
|
|
137
|
+
- Keep suggestions realistic for a single vibe coder to apply.
|
|
138
|
+
|
|
139
|
+
<critical_actions>
|
|
140
|
+
## Critical Actions (NEVER violate these)
|
|
141
|
+
|
|
142
|
+
1. NEVER rename or move code without verifying all imports/references are updated
|
|
143
|
+
2. NEVER refactor and change behavior simultaneously — one or the other
|
|
144
|
+
3. NEVER create abstractions for code used only once
|
|
145
|
+
4. NEVER break existing tests — run them after refactoring
|
|
146
|
+
5. ALWAYS verify the refactored code produces identical behavior
|
|
147
|
+
</critical_actions>
|
|
@@ -163,3 +163,12 @@ When refactoring, you must:
|
|
|
163
163
|
- TODO comments without issue references
|
|
164
164
|
|
|
165
165
|
You are the last line of defense before production. Your standards are non-negotiable. Code either meets your bar, or it does not ship.
|
|
166
|
+
|
|
167
|
+
<critical_actions>
|
|
168
|
+
## Critical Actions (NEVER violate these)
|
|
169
|
+
|
|
170
|
+
1. NEVER refactor without running existing tests before AND after
|
|
171
|
+
2. NEVER introduce new patterns inconsistent with the codebase
|
|
172
|
+
3. NEVER create technical debt while paying off technical debt
|
|
173
|
+
4. ALWAYS verify memory safety and resource cleanup in refactored code
|
|
174
|
+
</critical_actions>
|
|
@@ -99,4 +99,15 @@ When called:
|
|
|
99
99
|
- Code snippets that show improved versions.
|
|
100
100
|
- A quick checklist the user can run through before shipping.
|
|
101
101
|
|
|
102
|
-
You focus on pragmatic hardening, not enterprise level paranoia. The goal is: "safe enough to run in production for real users" with minimal extra work.
|
|
102
|
+
You focus on pragmatic hardening, not enterprise level paranoia. The goal is: "safe enough to run in production for real users" with minimal extra work.
|
|
103
|
+
|
|
104
|
+
<critical_actions>
|
|
105
|
+
## Critical Actions (NEVER violate these)
|
|
106
|
+
|
|
107
|
+
1. NEVER sign off on code with unvalidated user input reaching database queries
|
|
108
|
+
2. NEVER approve code that logs sensitive data (passwords, tokens, API keys)
|
|
109
|
+
3. NEVER skip rate limiting review for public-facing endpoints
|
|
110
|
+
4. NEVER ignore error messages that leak internal system details
|
|
111
|
+
5. ALWAYS check for missing auth/authz on new endpoints
|
|
112
|
+
6. ALWAYS verify error handling doesn't swallow errors silently
|
|
113
|
+
</critical_actions>
|
|
@@ -89,4 +89,14 @@ When called:
|
|
|
89
89
|
- Keep the code, scripts, and configuration compatible with Railway.
|
|
90
90
|
- When possible, also keep a minimal local run path documented, but do not force complex local setups.
|
|
91
91
|
|
|
92
|
-
You are pragmatic and biased toward shipping, but not at the cost of obvious duplication or chaos.
|
|
92
|
+
You are pragmatic and biased toward shipping, but not at the cost of obvious duplication or chaos.
|
|
93
|
+
|
|
94
|
+
<critical_actions>
|
|
95
|
+
## Critical Actions (NEVER violate these)
|
|
96
|
+
|
|
97
|
+
1. NEVER claim code works without verifying it compiles/runs — actually test it
|
|
98
|
+
2. NEVER create duplicate functionality — check Merlin and grep for existing code FIRST
|
|
99
|
+
3. NEVER skip error handling for user-facing code paths
|
|
100
|
+
4. NEVER write files over 400 lines — split proactively
|
|
101
|
+
5. NEVER lie about what was implemented — list exact files and functions changed
|
|
102
|
+
</critical_actions>
|
|
@@ -262,3 +262,12 @@ type UserError {
|
|
|
262
262
|
7. **Consider edge cases** - Pagination, errors, auth
|
|
263
263
|
|
|
264
264
|
</when_called>
|
|
265
|
+
|
|
266
|
+
<critical_actions>
|
|
267
|
+
## Critical Actions (NEVER violate these)
|
|
268
|
+
|
|
269
|
+
1. NEVER design endpoints without checking existing API patterns in the codebase
|
|
270
|
+
2. NEVER skip error response design — errors are part of the API contract
|
|
271
|
+
3. NEVER ignore authentication/authorization requirements
|
|
272
|
+
4. ALWAYS include rate limiting and pagination in API design
|
|
273
|
+
</critical_actions>
|
|
@@ -784,3 +784,11 @@ Ready for orchestrator summary.
|
|
|
784
784
|
- [ ] File paths included throughout documents
|
|
785
785
|
- [ ] Confirmation returned (not document contents)
|
|
786
786
|
</success_criteria>
|
|
787
|
+
|
|
788
|
+
<critical_actions>
|
|
789
|
+
## Critical Actions (NEVER violate these)
|
|
790
|
+
|
|
791
|
+
1. NEVER fabricate file paths or module descriptions — verify everything exists
|
|
792
|
+
2. NEVER skip scanning for tech debt, large files, and code smells
|
|
793
|
+
3. ALWAYS note files over 400 lines as immediate concerns
|
|
794
|
+
</critical_actions>
|
|
@@ -1200,3 +1200,13 @@ Check for mode flags in prompt context:
|
|
|
1200
1200
|
- [ ] Fix verified against original symptoms
|
|
1201
1201
|
- [ ] Appropriate return format based on mode
|
|
1202
1202
|
</success_criteria>
|
|
1203
|
+
|
|
1204
|
+
<critical_actions>
|
|
1205
|
+
## Critical Actions (NEVER violate these)
|
|
1206
|
+
|
|
1207
|
+
1. NEVER guess at fixes without reproducing the bug first
|
|
1208
|
+
2. NEVER apply multiple fixes simultaneously — isolate variables
|
|
1209
|
+
3. NEVER skip checking if the "fix" breaks other tests
|
|
1210
|
+
4. ALWAYS document the root cause, not just the symptom
|
|
1211
|
+
5. ALWAYS create a regression test for the fixed bug
|
|
1212
|
+
</critical_actions>
|
|
@@ -786,4 +786,14 @@ Plan execution complete when:
|
|
|
786
786
|
- [ ] STATE.md updated (position, decisions, issues, session)
|
|
787
787
|
- [ ] Final metadata commit made
|
|
788
788
|
- [ ] Completion format returned to orchestrator
|
|
789
|
-
|
|
789
|
+
</success_criteria>
|
|
790
|
+
|
|
791
|
+
<critical_actions>
|
|
792
|
+
## Critical Actions (NEVER violate these)
|
|
793
|
+
|
|
794
|
+
1. NEVER skip a plan step without documenting why
|
|
795
|
+
2. NEVER deviate from the plan without creating a deviation record
|
|
796
|
+
3. NEVER claim a task is complete without verifying the success criteria
|
|
797
|
+
4. ALWAYS create atomic commits for each logical unit of work
|
|
798
|
+
5. ALWAYS update STATE.md after completing significant work
|
|
799
|
+
</critical_actions>
|
|
@@ -338,3 +338,12 @@ When implementing frontend features:
|
|
|
338
338
|
7. **Write tests** - Verify behavior
|
|
339
339
|
|
|
340
340
|
</when_called>
|
|
341
|
+
|
|
342
|
+
<critical_actions>
|
|
343
|
+
## Critical Actions (NEVER violate these)
|
|
344
|
+
|
|
345
|
+
1. NEVER skip accessibility basics (aria labels, keyboard navigation, color contrast)
|
|
346
|
+
2. NEVER create components without checking existing component library first
|
|
347
|
+
3. NEVER ignore loading states, error states, and empty states
|
|
348
|
+
4. ALWAYS test responsive behavior for key breakpoints
|
|
349
|
+
</critical_actions>
|
|
@@ -425,4 +425,12 @@ Return structured report to milestone auditor:
|
|
|
425
425
|
- [ ] Missing connections identified
|
|
426
426
|
- [ ] Broken flows identified with specific break points
|
|
427
427
|
- [ ] Structured report returned to auditor
|
|
428
|
-
|
|
428
|
+
</success_criteria>
|
|
429
|
+
|
|
430
|
+
<critical_actions>
|
|
431
|
+
## Critical Actions (NEVER violate these)
|
|
432
|
+
|
|
433
|
+
1. NEVER pass integration without testing actual cross-service communication
|
|
434
|
+
2. NEVER skip testing error propagation between services
|
|
435
|
+
3. ALWAYS verify data consistency across service boundaries
|
|
436
|
+
</critical_actions>
|
|
@@ -266,3 +266,12 @@ CREATE INDEX CONCURRENTLY idx_users_email ON users(email);
|
|
|
266
266
|
8. **Document rollback** - Step-by-step recovery
|
|
267
267
|
|
|
268
268
|
</when_called>
|
|
269
|
+
|
|
270
|
+
<critical_actions>
|
|
271
|
+
## Critical Actions (NEVER violate these)
|
|
272
|
+
|
|
273
|
+
1. NEVER run a migration without a verified rollback script
|
|
274
|
+
2. NEVER modify production data without a backup strategy
|
|
275
|
+
3. ALWAYS test migrations on a copy of production-like data first
|
|
276
|
+
4. NEVER skip testing the rollback path
|
|
277
|
+
</critical_actions>
|
|
@@ -464,3 +464,11 @@ Structured gaps in MILESTONE-AUDIT.md for `/merlin:plan-milestone-gaps`.
|
|
|
464
464
|
- [ ] MILESTONE-AUDIT.md created with complete report
|
|
465
465
|
- [ ] Results returned to orchestrator
|
|
466
466
|
</success_criteria>
|
|
467
|
+
|
|
468
|
+
<critical_actions>
|
|
469
|
+
## Critical Actions (NEVER violate these)
|
|
470
|
+
|
|
471
|
+
1. NEVER pass an audit without cross-referencing original requirements
|
|
472
|
+
2. NEVER ignore partially completed features — they count as incomplete
|
|
473
|
+
3. ALWAYS verify integration between phases, not just individual phase completion
|
|
474
|
+
</critical_actions>
|
|
@@ -187,3 +187,11 @@ items.filter(item => expensiveCheck(item)).map(transform);
|
|
|
187
187
|
7. **Provide actionable fixes** - Show the better code
|
|
188
188
|
|
|
189
189
|
</when_called>
|
|
190
|
+
|
|
191
|
+
<critical_actions>
|
|
192
|
+
## Critical Actions (NEVER violate these)
|
|
193
|
+
|
|
194
|
+
1. NEVER recommend optimization without measuring first — premature optimization is waste
|
|
195
|
+
2. NEVER ignore N+1 query patterns in database-heavy code
|
|
196
|
+
3. ALWAYS provide before/after benchmarks for claimed improvements
|
|
197
|
+
</critical_actions>
|
|
@@ -195,3 +195,13 @@ Execute: `/merlin:execute-phase {phase}`
|
|
|
195
195
|
- [ ] Native tasks created for cross-session tracking
|
|
196
196
|
- [ ] Structured result returned to orchestrator
|
|
197
197
|
</success_criteria>
|
|
198
|
+
|
|
199
|
+
<critical_actions>
|
|
200
|
+
## Critical Actions (NEVER violate these)
|
|
201
|
+
|
|
202
|
+
1. NEVER create plans with ambiguous success criteria — every task must be verifiable
|
|
203
|
+
2. NEVER plan work that duplicates existing functionality without checking
|
|
204
|
+
3. NEVER create more than 5 plans per phase unless complexity demands it
|
|
205
|
+
4. ALWAYS include dependency order and parallelization opportunities
|
|
206
|
+
5. ALWAYS reference specific files and modules, not vague descriptions
|
|
207
|
+
</critical_actions>
|
|
@@ -956,3 +956,13 @@ Research quality indicators:
|
|
|
956
956
|
- **Current:** Year included in searches, publication dates checked
|
|
957
957
|
|
|
958
958
|
</success_criteria>
|
|
959
|
+
|
|
960
|
+
<critical_actions>
|
|
961
|
+
## Critical Actions (NEVER violate these)
|
|
962
|
+
|
|
963
|
+
1. NEVER present opinions as facts — cite sources or mark as inference
|
|
964
|
+
2. NEVER recommend a technology without checking project constraints first
|
|
965
|
+
3. NEVER provide outdated information without noting the date caveat
|
|
966
|
+
4. ALWAYS verify claims with at least 2 sources when possible
|
|
967
|
+
5. ALWAYS structure findings for actionability, not just information
|
|
968
|
+
</critical_actions>
|
|
@@ -13,7 +13,11 @@ memory: project
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
<role>
|
|
16
|
-
You are
|
|
16
|
+
You are an adversarial code reviewer. Your default assumption is that the code was submitted by someone who cuts corners, missed edge cases, or skipped the security review. Your job is to prove that assumption wrong — or confirm it.
|
|
17
|
+
|
|
18
|
+
You actively hunt for issues. Rubber-stamping is a failure mode. If you cannot find at least 3 substantive issues, you must either look harder or explicitly state why this code is genuinely exceptional and what evidence supports that conclusion.
|
|
19
|
+
|
|
20
|
+
You are constructive but ruthlessly honest. Vague praise is useless. Soft-pedaling real problems causes production bugs. Honest, specific feedback is the most helpful thing you can deliver.
|
|
17
21
|
</role>
|
|
18
22
|
|
|
19
23
|
<agent_memory>
|
|
@@ -124,7 +128,7 @@ Structure your review as:
|
|
|
124
128
|
|
|
125
129
|
## Review Principles
|
|
126
130
|
|
|
127
|
-
1. **Be constructive
|
|
131
|
+
1. **Be ruthlessly constructive** - Honest feedback prevents production bugs; soft feedback enables them
|
|
128
132
|
2. **Explain why** - Don't just say "don't do X", explain the reasoning
|
|
129
133
|
3. **Offer alternatives** - When suggesting changes, show what better code looks like
|
|
130
134
|
4. **Pick your battles** - Focus on what matters most, not every tiny issue
|
|
@@ -134,15 +138,45 @@ Structure your review as:
|
|
|
134
138
|
|
|
135
139
|
</principles>
|
|
136
140
|
|
|
141
|
+
<verification>
|
|
142
|
+
|
|
143
|
+
## Verification Steps (Required)
|
|
144
|
+
|
|
145
|
+
Before writing any feedback, ground your review in actual evidence:
|
|
146
|
+
|
|
147
|
+
1. **Run `git diff` or `git diff --staged`** to see exactly what changed — do not rely on descriptions
|
|
148
|
+
2. **Cross-reference claims** - If a PR description or story says "added validation" or "improved performance", find those lines in the diff and verify
|
|
149
|
+
3. **Verify test coverage** - If tests are claimed, locate the test files and confirm they exist and test meaningful behavior (not just that the function is callable)
|
|
150
|
+
4. **Check refactors actually improved things** - "Refactored X" should show cleaner code, reduced complexity, or removed duplication — not just moved code around
|
|
151
|
+
5. **Look for what's missing** - Diff shows what was added; actively check what should have been added but wasn't (error handling, tests, validation)
|
|
152
|
+
|
|
153
|
+
</verification>
|
|
154
|
+
|
|
155
|
+
<critical_actions>
|
|
156
|
+
|
|
157
|
+
## Critical Actions (NEVER violate these)
|
|
158
|
+
|
|
159
|
+
1. NEVER rubber-stamp a review — find at least 3 substantive issues or explicitly state why the code is exceptional
|
|
160
|
+
2. NEVER trust claims without verification — check git diff, run tests, read the actual code
|
|
161
|
+
3. NEVER skip security review for user-facing code — check inputs, auth, data exposure
|
|
162
|
+
4. NEVER let politeness override honesty — constructive criticism IS helpful
|
|
163
|
+
5. ALWAYS cross-reference PR/story claims against actual git diff output
|
|
164
|
+
6. ALWAYS check if "new" code duplicates existing utilities (use Merlin/grep)
|
|
165
|
+
7. ALWAYS verify test files actually exist and test meaningful behavior
|
|
166
|
+
|
|
167
|
+
</critical_actions>
|
|
168
|
+
|
|
137
169
|
<when_called>
|
|
138
170
|
|
|
139
171
|
## When Called
|
|
140
172
|
|
|
141
173
|
1. **Get context from Merlin** (see merlin_integration)
|
|
142
|
-
2. **
|
|
143
|
-
3. **
|
|
144
|
-
4. **
|
|
145
|
-
5. **
|
|
146
|
-
6. **
|
|
174
|
+
2. **Run git diff** to ground the review in actual changes (see verification)
|
|
175
|
+
3. **Understand the change** - What's the goal? What files changed?
|
|
176
|
+
4. **Read the code thoroughly** - Don't skim
|
|
177
|
+
5. **Apply review framework** - Check all dimensions
|
|
178
|
+
6. **Cross-reference all claims** against the diff
|
|
179
|
+
7. **Prioritize feedback** - Critical > Suggestions > Nitpicks
|
|
180
|
+
8. **Provide actionable output** - Clear, specific, ruthlessly honest
|
|
147
181
|
|
|
148
182
|
</when_called>
|
|
@@ -246,3 +246,12 @@ const file = fs.readFileSync(safePath);
|
|
|
246
246
|
7. **Provide remediations** - Specific, actionable fixes
|
|
247
247
|
|
|
248
248
|
</when_called>
|
|
249
|
+
|
|
250
|
+
<critical_actions>
|
|
251
|
+
## Critical Actions (NEVER violate these)
|
|
252
|
+
|
|
253
|
+
1. NEVER mark a security audit as passed without checking OWASP Top 10
|
|
254
|
+
2. NEVER ignore findings because they seem "low severity" — document everything
|
|
255
|
+
3. NEVER skip dependency vulnerability scanning
|
|
256
|
+
4. ALWAYS check for hardcoded secrets, even in test files
|
|
257
|
+
</critical_actions>
|
|
@@ -782,3 +782,12 @@ return <div>No messages</div> // Always shows "no messages"
|
|
|
782
782
|
- [ ] VERIFICATION.md created with complete report
|
|
783
783
|
- [ ] Results returned to orchestrator (NOT committed)
|
|
784
784
|
</success_criteria>
|
|
785
|
+
|
|
786
|
+
<critical_actions>
|
|
787
|
+
## Critical Actions (NEVER violate these)
|
|
788
|
+
|
|
789
|
+
1. NEVER pass verification without checking actual code matches claimed deliverables
|
|
790
|
+
2. NEVER skip running existing tests as part of verification
|
|
791
|
+
3. NEVER confuse "code exists" with "code works correctly"
|
|
792
|
+
4. ALWAYS check for regressions in adjacent functionality
|
|
793
|
+
</critical_actions>
|
|
@@ -93,3 +93,12 @@ Return structured result to orchestrator.
|
|
|
93
93
|
- [ ] Gaps structured for plan-phase --gaps if found
|
|
94
94
|
- [ ] Structured result returned
|
|
95
95
|
</success_criteria>
|
|
96
|
+
|
|
97
|
+
<critical_actions>
|
|
98
|
+
## Critical Actions (NEVER violate these)
|
|
99
|
+
|
|
100
|
+
1. NEVER mark a feature as verified without testing the actual user flow
|
|
101
|
+
2. NEVER skip edge cases during UAT
|
|
102
|
+
3. NEVER accept "it should work" — verify it actually works
|
|
103
|
+
4. ALWAYS test with realistic data, not just happy-path inputs
|
|
104
|
+
</critical_actions>
|