nodebench-mcp 2.9.0 → 2.10.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/__tests__/evalHarness.test.js +62 -2
- package/dist/__tests__/evalHarness.test.js.map +1 -1
- package/dist/__tests__/tools.test.js +119 -5
- package/dist/__tests__/tools.test.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/tools/metaTools.js +122 -1
- package/dist/tools/metaTools.js.map +1 -1
- package/dist/tools/qualityGateTools.js +52 -0
- package/dist/tools/qualityGateTools.js.map +1 -1
- package/dist/tools/selfEvalTools.js +326 -0
- package/dist/tools/selfEvalTools.js.map +1 -1
- package/dist/tools/toolRegistry.js +55 -0
- package/dist/tools/toolRegistry.js.map +1 -1
- package/package.json +2 -2
|
@@ -1098,5 +1098,331 @@ export const selfEvalTools = [
|
|
|
1098
1098
|
return result;
|
|
1099
1099
|
},
|
|
1100
1100
|
},
|
|
1101
|
+
// ─── Tool 8: create_task_bank ───────────────────────────────────────
|
|
1102
|
+
{
|
|
1103
|
+
name: "create_task_bank",
|
|
1104
|
+
description: "Create or add to a fixed task bank for controlled agent evaluation. Each task defines: initial state (repo snapshot, config), success criteria (deterministic checks), forbidden behaviors, category (bugfix/refactor/integration/UI), and difficulty. The task bank is the foundation for ablation experiments comparing bare vs NodeBench-augmented agents. Based on Anthropic's eval harness methodology.",
|
|
1105
|
+
inputSchema: {
|
|
1106
|
+
type: "object",
|
|
1107
|
+
properties: {
|
|
1108
|
+
taskId: {
|
|
1109
|
+
type: "string",
|
|
1110
|
+
description: "Unique task identifier (e.g. 'bugfix-auth-jwt-001')",
|
|
1111
|
+
},
|
|
1112
|
+
title: {
|
|
1113
|
+
type: "string",
|
|
1114
|
+
description: "Short task description",
|
|
1115
|
+
},
|
|
1116
|
+
category: {
|
|
1117
|
+
type: "string",
|
|
1118
|
+
enum: ["bugfix", "refactor", "integration", "ui", "security", "performance", "migration"],
|
|
1119
|
+
description: "Task category for analysis grouping",
|
|
1120
|
+
},
|
|
1121
|
+
difficulty: {
|
|
1122
|
+
type: "string",
|
|
1123
|
+
enum: ["easy", "medium", "hard", "expert"],
|
|
1124
|
+
description: "Estimated difficulty level",
|
|
1125
|
+
},
|
|
1126
|
+
prompt: {
|
|
1127
|
+
type: "string",
|
|
1128
|
+
description: "The exact prompt given to the agent (what it must accomplish)",
|
|
1129
|
+
},
|
|
1130
|
+
initialState: {
|
|
1131
|
+
type: "string",
|
|
1132
|
+
description: "Description of repo snapshot, config, test env the agent starts with",
|
|
1133
|
+
},
|
|
1134
|
+
successCriteria: {
|
|
1135
|
+
type: "array",
|
|
1136
|
+
items: { type: "string" },
|
|
1137
|
+
description: "Deterministic success checks (e.g. 'tests pass', 'no lint errors', 'API returns 200')",
|
|
1138
|
+
},
|
|
1139
|
+
forbiddenBehaviors: {
|
|
1140
|
+
type: "array",
|
|
1141
|
+
items: { type: "string" },
|
|
1142
|
+
description: "Actions the agent must NOT take (e.g. 'skip tests', 'hardcode secrets', 'delete files')",
|
|
1143
|
+
},
|
|
1144
|
+
expectedTools: {
|
|
1145
|
+
type: "array",
|
|
1146
|
+
items: { type: "string" },
|
|
1147
|
+
description: "Tools a well-behaved agent should use for this task (for process grading)",
|
|
1148
|
+
},
|
|
1149
|
+
timeBudgetMinutes: {
|
|
1150
|
+
type: "number",
|
|
1151
|
+
description: "Maximum allowed time for this task (default: 30)",
|
|
1152
|
+
},
|
|
1153
|
+
tokenBudget: {
|
|
1154
|
+
type: "number",
|
|
1155
|
+
description: "Maximum allowed tokens for this task (optional)",
|
|
1156
|
+
},
|
|
1157
|
+
},
|
|
1158
|
+
required: ["taskId", "title", "category", "difficulty", "prompt", "successCriteria"],
|
|
1159
|
+
},
|
|
1160
|
+
handler: async (args) => {
|
|
1161
|
+
const db = getDb();
|
|
1162
|
+
// Ensure table exists
|
|
1163
|
+
db.exec(`CREATE TABLE IF NOT EXISTS eval_task_bank (
|
|
1164
|
+
id TEXT PRIMARY KEY,
|
|
1165
|
+
task_id TEXT UNIQUE NOT NULL,
|
|
1166
|
+
title TEXT NOT NULL,
|
|
1167
|
+
category TEXT NOT NULL,
|
|
1168
|
+
difficulty TEXT NOT NULL,
|
|
1169
|
+
prompt TEXT NOT NULL,
|
|
1170
|
+
initial_state TEXT,
|
|
1171
|
+
success_criteria TEXT NOT NULL,
|
|
1172
|
+
forbidden_behaviors TEXT,
|
|
1173
|
+
expected_tools TEXT,
|
|
1174
|
+
time_budget_minutes INTEGER DEFAULT 30,
|
|
1175
|
+
token_budget INTEGER,
|
|
1176
|
+
created_at TEXT DEFAULT (datetime('now')),
|
|
1177
|
+
run_count INTEGER DEFAULT 0,
|
|
1178
|
+
pass_count INTEGER DEFAULT 0
|
|
1179
|
+
)`);
|
|
1180
|
+
const existing = db.prepare("SELECT * FROM eval_task_bank WHERE task_id = ?").get(args.taskId);
|
|
1181
|
+
if (existing) {
|
|
1182
|
+
// Update existing task
|
|
1183
|
+
db.prepare(`UPDATE eval_task_bank SET title = ?, category = ?, difficulty = ?, prompt = ?,
|
|
1184
|
+
initial_state = ?, success_criteria = ?, forbidden_behaviors = ?, expected_tools = ?,
|
|
1185
|
+
time_budget_minutes = ?, token_budget = ? WHERE task_id = ?`).run(args.title, args.category, args.difficulty, args.prompt, args.initialState ?? null, JSON.stringify(args.successCriteria), args.forbiddenBehaviors ? JSON.stringify(args.forbiddenBehaviors) : null, args.expectedTools ? JSON.stringify(args.expectedTools) : null, args.timeBudgetMinutes ?? 30, args.tokenBudget ?? null, args.taskId);
|
|
1186
|
+
return {
|
|
1187
|
+
action: "updated",
|
|
1188
|
+
taskId: args.taskId,
|
|
1189
|
+
message: `Task '${args.taskId}' updated in task bank.`,
|
|
1190
|
+
};
|
|
1191
|
+
}
|
|
1192
|
+
// Insert new task
|
|
1193
|
+
db.prepare(`INSERT INTO eval_task_bank (id, task_id, title, category, difficulty, prompt,
|
|
1194
|
+
initial_state, success_criteria, forbidden_behaviors, expected_tools, time_budget_minutes, token_budget)
|
|
1195
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(genId("etb"), args.taskId, args.title, args.category, args.difficulty, args.prompt, args.initialState ?? null, JSON.stringify(args.successCriteria), args.forbiddenBehaviors ? JSON.stringify(args.forbiddenBehaviors) : null, args.expectedTools ? JSON.stringify(args.expectedTools) : null, args.timeBudgetMinutes ?? 30, args.tokenBudget ?? null);
|
|
1196
|
+
const total = db.prepare("SELECT COUNT(*) as cnt FROM eval_task_bank").get().cnt;
|
|
1197
|
+
return {
|
|
1198
|
+
action: "created",
|
|
1199
|
+
taskId: args.taskId,
|
|
1200
|
+
category: args.category,
|
|
1201
|
+
difficulty: args.difficulty,
|
|
1202
|
+
successCriteriaCount: args.successCriteria.length,
|
|
1203
|
+
forbiddenBehaviorCount: args.forbiddenBehaviors?.length ?? 0,
|
|
1204
|
+
totalTasksInBank: total,
|
|
1205
|
+
_quickRef: {
|
|
1206
|
+
nextAction: total < 30
|
|
1207
|
+
? `Task bank has ${total} tasks. Target 30-200 for statistical significance. Add more with create_task_bank.`
|
|
1208
|
+
: `Task bank has ${total} tasks — ready for ablation experiments. Run grade_agent_run to score agent sessions against tasks.`,
|
|
1209
|
+
nextTools: total < 30 ? ["create_task_bank"] : ["grade_agent_run", "start_eval_run"],
|
|
1210
|
+
},
|
|
1211
|
+
};
|
|
1212
|
+
},
|
|
1213
|
+
},
|
|
1214
|
+
// ─── Tool 9: grade_agent_run ────────────────────────────────────────
|
|
1215
|
+
{
|
|
1216
|
+
name: "grade_agent_run",
|
|
1217
|
+
description: "Grade a single agent run on both outcome quality (task success, regressions, time) and process quality (recon, risk, tests, gates, learnings). Combines deterministic grading from the task bank's success criteria with process grading from check_contract_compliance. Supports ablation metadata (condition: bare/lite/full/cold_kb/no_gates) for controlled experiments. Returns a unified score card with both axes.",
|
|
1218
|
+
inputSchema: {
|
|
1219
|
+
type: "object",
|
|
1220
|
+
properties: {
|
|
1221
|
+
taskId: {
|
|
1222
|
+
type: "string",
|
|
1223
|
+
description: "Task bank ID this run is for",
|
|
1224
|
+
},
|
|
1225
|
+
sessionId: {
|
|
1226
|
+
type: "string",
|
|
1227
|
+
description: "Tool call session ID for process grading",
|
|
1228
|
+
},
|
|
1229
|
+
condition: {
|
|
1230
|
+
type: "string",
|
|
1231
|
+
enum: ["bare", "lite", "full", "cold_kb", "no_gates"],
|
|
1232
|
+
description: "Ablation condition — which agent configuration was used",
|
|
1233
|
+
},
|
|
1234
|
+
trialNumber: {
|
|
1235
|
+
type: "number",
|
|
1236
|
+
description: "Trial number for multi-trial experiments (1-indexed)",
|
|
1237
|
+
},
|
|
1238
|
+
outcomeResults: {
|
|
1239
|
+
type: "array",
|
|
1240
|
+
description: "Results for each success criterion from the task bank",
|
|
1241
|
+
items: {
|
|
1242
|
+
type: "object",
|
|
1243
|
+
properties: {
|
|
1244
|
+
criterion: { type: "string", description: "Which success criterion" },
|
|
1245
|
+
passed: { type: "boolean" },
|
|
1246
|
+
evidence: { type: "string", description: "Evidence/output supporting the result" },
|
|
1247
|
+
},
|
|
1248
|
+
required: ["criterion", "passed"],
|
|
1249
|
+
},
|
|
1250
|
+
},
|
|
1251
|
+
forbiddenViolations: {
|
|
1252
|
+
type: "array",
|
|
1253
|
+
items: { type: "string" },
|
|
1254
|
+
description: "Any forbidden behaviors that were observed",
|
|
1255
|
+
},
|
|
1256
|
+
durationMinutes: {
|
|
1257
|
+
type: "number",
|
|
1258
|
+
description: "How long the run took",
|
|
1259
|
+
},
|
|
1260
|
+
totalToolCalls: {
|
|
1261
|
+
type: "number",
|
|
1262
|
+
description: "Total tool calls made during the run",
|
|
1263
|
+
},
|
|
1264
|
+
totalTokens: {
|
|
1265
|
+
type: "number",
|
|
1266
|
+
description: "Estimated total tokens consumed",
|
|
1267
|
+
},
|
|
1268
|
+
notes: {
|
|
1269
|
+
type: "string",
|
|
1270
|
+
description: "Observations about the run",
|
|
1271
|
+
},
|
|
1272
|
+
},
|
|
1273
|
+
required: ["taskId", "condition", "outcomeResults"],
|
|
1274
|
+
},
|
|
1275
|
+
handler: async (args) => {
|
|
1276
|
+
const db = getDb();
|
|
1277
|
+
// Ensure results table exists
|
|
1278
|
+
db.exec(`CREATE TABLE IF NOT EXISTS eval_run_results (
|
|
1279
|
+
id TEXT PRIMARY KEY,
|
|
1280
|
+
task_id TEXT NOT NULL,
|
|
1281
|
+
session_id TEXT,
|
|
1282
|
+
condition TEXT NOT NULL,
|
|
1283
|
+
trial_number INTEGER DEFAULT 1,
|
|
1284
|
+
outcome_score REAL,
|
|
1285
|
+
process_score REAL,
|
|
1286
|
+
combined_score REAL,
|
|
1287
|
+
outcome_results TEXT,
|
|
1288
|
+
forbidden_violations TEXT,
|
|
1289
|
+
duration_minutes REAL,
|
|
1290
|
+
total_tool_calls INTEGER,
|
|
1291
|
+
total_tokens INTEGER,
|
|
1292
|
+
notes TEXT,
|
|
1293
|
+
created_at TEXT DEFAULT (datetime('now'))
|
|
1294
|
+
)`);
|
|
1295
|
+
// Load task from bank (optional — if it exists, validate)
|
|
1296
|
+
db.exec(`CREATE TABLE IF NOT EXISTS eval_task_bank (
|
|
1297
|
+
id TEXT PRIMARY KEY, task_id TEXT UNIQUE NOT NULL, title TEXT NOT NULL,
|
|
1298
|
+
category TEXT NOT NULL, difficulty TEXT NOT NULL, prompt TEXT NOT NULL,
|
|
1299
|
+
initial_state TEXT, success_criteria TEXT NOT NULL, forbidden_behaviors TEXT,
|
|
1300
|
+
expected_tools TEXT, time_budget_minutes INTEGER DEFAULT 30, token_budget INTEGER,
|
|
1301
|
+
created_at TEXT DEFAULT (datetime('now')), run_count INTEGER DEFAULT 0, pass_count INTEGER DEFAULT 0
|
|
1302
|
+
)`);
|
|
1303
|
+
const task = db.prepare("SELECT * FROM eval_task_bank WHERE task_id = ?").get(args.taskId);
|
|
1304
|
+
// ── Outcome scoring (50pts) ──
|
|
1305
|
+
const outcomes = args.outcomeResults ?? [];
|
|
1306
|
+
const outcomesPassed = outcomes.filter((o) => o.passed).length;
|
|
1307
|
+
const outcomesTotal = outcomes.length;
|
|
1308
|
+
const outcomeRate = outcomesTotal > 0 ? outcomesPassed / outcomesTotal : 0;
|
|
1309
|
+
const outcomeScore = Math.round(outcomeRate * 40);
|
|
1310
|
+
// Forbidden behavior penalty (up to -10)
|
|
1311
|
+
const violations = args.forbiddenViolations ?? [];
|
|
1312
|
+
const forbiddenPenalty = Math.min(violations.length * 5, 10);
|
|
1313
|
+
// Budget compliance (10pts)
|
|
1314
|
+
let budgetScore = 10;
|
|
1315
|
+
if (task) {
|
|
1316
|
+
const timeBudget = task.time_budget_minutes ?? 30;
|
|
1317
|
+
if (args.durationMinutes && args.durationMinutes > timeBudget * 1.5) {
|
|
1318
|
+
budgetScore -= 5; // Over time by 50%+
|
|
1319
|
+
}
|
|
1320
|
+
if (task.token_budget && args.totalTokens && args.totalTokens > task.token_budget * 1.5) {
|
|
1321
|
+
budgetScore -= 5; // Over token budget by 50%+
|
|
1322
|
+
}
|
|
1323
|
+
}
|
|
1324
|
+
const totalOutcomeScore = Math.max(outcomeScore + budgetScore - forbiddenPenalty, 0);
|
|
1325
|
+
// ── Process scoring (50pts) — reuse check_contract_compliance logic ──
|
|
1326
|
+
let processScore = 0;
|
|
1327
|
+
if (args.sessionId) {
|
|
1328
|
+
// Get tool call data for process scoring
|
|
1329
|
+
try {
|
|
1330
|
+
const rows = db
|
|
1331
|
+
.prepare("SELECT * FROM tool_call_log WHERE session_id = ? ORDER BY created_at ASC")
|
|
1332
|
+
.all(args.sessionId);
|
|
1333
|
+
if (rows.length > 0) {
|
|
1334
|
+
const toolNames = rows.map((r) => r.tool_name);
|
|
1335
|
+
const toolSet = new Set(toolNames);
|
|
1336
|
+
const errors = rows.filter((r) => r.result_status === "error").length;
|
|
1337
|
+
// Front-door (12pts)
|
|
1338
|
+
const FRONT_DOOR = new Set(["search_all_knowledge", "getMethodology", "discover_tools", "get_workflow_chain", "search_learnings", "findTools"]);
|
|
1339
|
+
if (toolNames.some((t) => FRONT_DOOR.has(t)))
|
|
1340
|
+
processScore += 8;
|
|
1341
|
+
if (toolNames.findIndex((t) => FRONT_DOOR.has(t)) === 0)
|
|
1342
|
+
processScore += 4;
|
|
1343
|
+
// Recon + risk (10pts)
|
|
1344
|
+
if (toolSet.has("run_recon") || toolSet.has("search_all_knowledge") || toolSet.has("check_framework_updates"))
|
|
1345
|
+
processScore += 5;
|
|
1346
|
+
if (toolSet.has("assess_risk"))
|
|
1347
|
+
processScore += 5;
|
|
1348
|
+
// Tests + gates (18pts)
|
|
1349
|
+
if (toolSet.has("log_test_result") || toolSet.has("run_closed_loop"))
|
|
1350
|
+
processScore += 6;
|
|
1351
|
+
if (toolSet.has("run_quality_gate"))
|
|
1352
|
+
processScore += 4;
|
|
1353
|
+
if (toolSet.has("run_mandatory_flywheel"))
|
|
1354
|
+
processScore += 4;
|
|
1355
|
+
if (toolSet.has("record_learning"))
|
|
1356
|
+
processScore += 4;
|
|
1357
|
+
// Efficiency (10pts)
|
|
1358
|
+
const errorRate = rows.length > 0 ? errors / rows.length : 0;
|
|
1359
|
+
if (errorRate <= 0.1)
|
|
1360
|
+
processScore += 5;
|
|
1361
|
+
if (toolSet.size >= 5)
|
|
1362
|
+
processScore += 5;
|
|
1363
|
+
}
|
|
1364
|
+
}
|
|
1365
|
+
catch { /* tool_call_log table may not exist */ }
|
|
1366
|
+
}
|
|
1367
|
+
else {
|
|
1368
|
+
processScore = 25; // No session = half credit (can't grade process)
|
|
1369
|
+
}
|
|
1370
|
+
const totalProcessScore = Math.min(processScore, 50);
|
|
1371
|
+
const combinedScore = totalOutcomeScore + totalProcessScore;
|
|
1372
|
+
// Grade
|
|
1373
|
+
let grade;
|
|
1374
|
+
if (combinedScore >= 90)
|
|
1375
|
+
grade = "A (Exemplary)";
|
|
1376
|
+
else if (combinedScore >= 80)
|
|
1377
|
+
grade = "B (Good)";
|
|
1378
|
+
else if (combinedScore >= 70)
|
|
1379
|
+
grade = "C (Acceptable)";
|
|
1380
|
+
else if (combinedScore >= 55)
|
|
1381
|
+
grade = "D (Needs Improvement)";
|
|
1382
|
+
else
|
|
1383
|
+
grade = "F (Non-Compliant)";
|
|
1384
|
+
// Persist result
|
|
1385
|
+
const resultId = genId("err");
|
|
1386
|
+
db.prepare(`INSERT INTO eval_run_results (id, task_id, session_id, condition, trial_number,
|
|
1387
|
+
outcome_score, process_score, combined_score, outcome_results, forbidden_violations,
|
|
1388
|
+
duration_minutes, total_tool_calls, total_tokens, notes) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(resultId, args.taskId, args.sessionId ?? null, args.condition, args.trialNumber ?? 1, totalOutcomeScore, totalProcessScore, combinedScore, JSON.stringify(outcomes), violations.length > 0 ? JSON.stringify(violations) : null, args.durationMinutes ?? null, args.totalToolCalls ?? null, args.totalTokens ?? null, args.notes ?? null);
|
|
1389
|
+
// Update task bank stats
|
|
1390
|
+
if (task) {
|
|
1391
|
+
db.prepare("UPDATE eval_task_bank SET run_count = run_count + 1, pass_count = pass_count + ? WHERE task_id = ?")
|
|
1392
|
+
.run(outcomeRate >= 0.8 ? 1 : 0, args.taskId);
|
|
1393
|
+
}
|
|
1394
|
+
// Get ablation comparison if other conditions exist
|
|
1395
|
+
const allConditions = db.prepare("SELECT condition, AVG(combined_score) as avg_score, COUNT(*) as trials FROM eval_run_results WHERE task_id = ? GROUP BY condition").all(args.taskId);
|
|
1396
|
+
return {
|
|
1397
|
+
resultId,
|
|
1398
|
+
taskId: args.taskId,
|
|
1399
|
+
condition: args.condition,
|
|
1400
|
+
trial: args.trialNumber ?? 1,
|
|
1401
|
+
grade,
|
|
1402
|
+
scores: {
|
|
1403
|
+
outcome: { score: totalOutcomeScore, max: 50, breakdown: { criteria: outcomeScore, budget: budgetScore, forbiddenPenalty: -forbiddenPenalty } },
|
|
1404
|
+
process: { score: totalProcessScore, max: 50 },
|
|
1405
|
+
combined: { score: combinedScore, max: 100 },
|
|
1406
|
+
},
|
|
1407
|
+
outcomeDetails: {
|
|
1408
|
+
passed: outcomesPassed,
|
|
1409
|
+
total: outcomesTotal,
|
|
1410
|
+
rate: Math.round(outcomeRate * 100),
|
|
1411
|
+
forbiddenViolations: violations,
|
|
1412
|
+
},
|
|
1413
|
+
ablationComparison: allConditions.length > 1
|
|
1414
|
+
? allConditions.map((c) => ({ condition: c.condition, avgScore: Math.round(c.avg_score), trials: c.trials }))
|
|
1415
|
+
: null,
|
|
1416
|
+
_quickRef: {
|
|
1417
|
+
nextAction: allConditions.length < 2
|
|
1418
|
+
? `Run the same task with a different condition (bare/lite/full/cold_kb/no_gates) to compare.`
|
|
1419
|
+
: `${allConditions.length} conditions tested. Use compare_eval_runs or get_ablation_report for cross-condition analysis.`,
|
|
1420
|
+
nextTools: allConditions.length < 2
|
|
1421
|
+
? ["grade_agent_run", "create_task_bank"]
|
|
1422
|
+
: ["compare_eval_runs", "get_self_eval_report"],
|
|
1423
|
+
},
|
|
1424
|
+
};
|
|
1425
|
+
},
|
|
1426
|
+
},
|
|
1101
1427
|
];
|
|
1102
1428
|
//# sourceMappingURL=selfEvalTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selfEvalTools.js","sourceRoot":"","sources":["../../src/tools/selfEvalTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selfEvalTools.js","sourceRoot":"","sources":["../../src/tools/selfEvalTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -955,6 +955,30 @@ const REGISTRY_ENTRIES = [
|
|
|
955
955
|
},
|
|
956
956
|
phase: "verify",
|
|
957
957
|
},
|
|
958
|
+
{
|
|
959
|
+
name: "create_task_bank",
|
|
960
|
+
category: "self_eval",
|
|
961
|
+
tags: ["task", "bank", "eval", "ablation", "benchmark", "bugfix", "refactor", "controlled", "experiment", "harness"],
|
|
962
|
+
quickRef: {
|
|
963
|
+
nextAction: "Task added. Target 30-200 tasks for statistical significance. Use grade_agent_run to score runs against tasks.",
|
|
964
|
+
nextTools: ["create_task_bank", "grade_agent_run", "start_eval_run"],
|
|
965
|
+
methodology: "controlled_evaluation",
|
|
966
|
+
tip: "Each task should have deterministic success criteria, forbidden behaviors, and a time budget. Categories: bugfix/refactor/integration/ui/security/performance/migration.",
|
|
967
|
+
},
|
|
968
|
+
phase: "research",
|
|
969
|
+
},
|
|
970
|
+
{
|
|
971
|
+
name: "grade_agent_run",
|
|
972
|
+
category: "self_eval",
|
|
973
|
+
tags: ["grade", "run", "outcome", "process", "ablation", "comparison", "bare", "lite", "full", "score", "agent-eval"],
|
|
974
|
+
quickRef: {
|
|
975
|
+
nextAction: "Run graded. Compare with other conditions (bare/lite/full/cold_kb/no_gates) to isolate NodeBench MCP's value.",
|
|
976
|
+
nextTools: ["grade_agent_run", "compare_eval_runs", "check_contract_compliance"],
|
|
977
|
+
methodology: "controlled_evaluation",
|
|
978
|
+
tip: "Run the same task under multiple conditions (ablations) and multiple trials to get statistically meaningful comparisons.",
|
|
979
|
+
},
|
|
980
|
+
phase: "verify",
|
|
981
|
+
},
|
|
958
982
|
// ═══ PARALLEL AGENTS ═══
|
|
959
983
|
{
|
|
960
984
|
name: "claim_agent_task",
|
|
@@ -2192,5 +2216,36 @@ export const WORKFLOW_CHAINS = {
|
|
|
2192
2216
|
{ tool: "run_quality_gate", action: "Run contract_compliance as a formal quality gate with boolean rules per dimension" },
|
|
2193
2217
|
],
|
|
2194
2218
|
},
|
|
2219
|
+
ablation_eval: {
|
|
2220
|
+
name: "Ablation Evaluation (Prove NodeBench MCP Value)",
|
|
2221
|
+
description: "Run controlled experiments comparing agent performance with vs without NodeBench MCP. Based on Anthropic's eval harness methodology. Tests 5 conditions (bare/lite/full/cold_kb/no_gates) across a fixed task bank with multi-trial statistics.",
|
|
2222
|
+
steps: [
|
|
2223
|
+
{ tool: "create_task_bank", action: "Step 1: Define tasks with deterministic success criteria, forbidden behaviors, and budgets. Target 30-200 tasks." },
|
|
2224
|
+
{ tool: "get_gate_preset", action: "Step 2: Load agent_comparison gate preset — 10 boolean rules covering outcome + process quality" },
|
|
2225
|
+
{ tool: "grade_agent_run", action: "Step 3: Run task with condition=bare and grade both outcome (50pts) and process (50pts)" },
|
|
2226
|
+
{ tool: "grade_agent_run", action: "Step 4: Run same task with condition=lite and grade" },
|
|
2227
|
+
{ tool: "grade_agent_run", action: "Step 5: Run same task with condition=full and grade" },
|
|
2228
|
+
{ tool: "grade_agent_run", action: "Step 6: (Optional) Run with condition=cold_kb (no prior knowledge) to test knowledge value" },
|
|
2229
|
+
{ tool: "grade_agent_run", action: "Step 7: (Optional) Run with condition=no_gates (gates disabled) to test gate contribution" },
|
|
2230
|
+
{ tool: "run_quality_gate", action: "Step 8: Run agent_comparison gate to validate process quality for each condition" },
|
|
2231
|
+
{ tool: "compare_eval_runs", action: "Step 9: Compare across conditions — NodeBench must win on outcome AND process to ship" },
|
|
2232
|
+
{ tool: "record_learning", action: "Step 10: Bank findings — which tools, gates, and knowledge types contributed most" },
|
|
2233
|
+
],
|
|
2234
|
+
},
|
|
2235
|
+
task_bank_setup: {
|
|
2236
|
+
name: "Task Bank Setup (50-Task Starter Kit)",
|
|
2237
|
+
description: "Build a statistically meaningful task bank for agent evaluation. Covers 7 categories (bugfix/refactor/integration/ui/security/performance/migration) × 4 difficulty levels with deterministic grading criteria.",
|
|
2238
|
+
steps: [
|
|
2239
|
+
{ tool: "search_all_knowledge", action: "Step 1: Search past learnings and recon findings for real bugs/tasks to include" },
|
|
2240
|
+
{ tool: "create_task_bank", action: "Step 2: Add 10 bugfix tasks (easy→expert) with test-based success criteria" },
|
|
2241
|
+
{ tool: "create_task_bank", action: "Step 3: Add 8 refactor tasks with lint/type/test criteria" },
|
|
2242
|
+
{ tool: "create_task_bank", action: "Step 4: Add 8 integration tasks with API/DB/auth criteria" },
|
|
2243
|
+
{ tool: "create_task_bank", action: "Step 5: Add 8 UI tasks with responsive/accessible/visual criteria" },
|
|
2244
|
+
{ tool: "create_task_bank", action: "Step 6: Add 6 security tasks with vulnerability/secret/injection criteria" },
|
|
2245
|
+
{ tool: "create_task_bank", action: "Step 7: Add 5 performance tasks with latency/memory/bundle criteria" },
|
|
2246
|
+
{ tool: "create_task_bank", action: "Step 8: Add 5 migration tasks with backward-compat/rollback criteria" },
|
|
2247
|
+
{ tool: "record_learning", action: "Step 9: Record task bank design patterns for future expansion" },
|
|
2248
|
+
],
|
|
2249
|
+
},
|
|
2195
2250
|
};
|
|
2196
2251
|
//# sourceMappingURL=toolRegistry.js.map
|