nodebench-mcp 2.39.0 → 2.41.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/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  [![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io)
8
8
  [![Tools](https://img.shields.io/badge/Tools-338-orange.svg)](https://www.npmjs.com/package/nodebench-mcp)
9
9
 
10
- **Operating intelligence for founders — turn messy context into decision-ready packets, memos, and delegation briefs.**
10
+ **Entity intelligence for any company, market, or question — turn messy context into decision-ready packets, memos, and delegation briefs.**
11
11
 
12
12
  338 tools across 55 domains. You start with 15 (starter preset). Call `discover_tools` to find what you need, then `load_toolset` to activate it. No context bloat, no IDE crashes.
13
13
 
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * dogfoodJudge.ts — Judge all 7 dogfood scenarios and compute global metrics
4
+ *
5
+ * For each scenario: start_dogfood_session -> judge_session -> end_dogfood_session
6
+ * Then: get_repeat_cognition_metrics + get_regression_gate for global summary.
7
+ *
8
+ * Usage:
9
+ * cd packages/mcp-local && npx tsx src/benchmarks/dogfoodJudge.ts
10
+ */
11
+ export {};
@@ -0,0 +1,288 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * dogfoodJudge.ts — Judge all 7 dogfood scenarios and compute global metrics
4
+ *
5
+ * For each scenario: start_dogfood_session -> judge_session -> end_dogfood_session
6
+ * Then: get_repeat_cognition_metrics + get_regression_gate for global summary.
7
+ *
8
+ * Usage:
9
+ * cd packages/mcp-local && npx tsx src/benchmarks/dogfoodJudge.ts
10
+ */
11
+ import { dogfoodJudgeTools } from "../tools/dogfoodJudgeTools.js";
12
+ import { getDb } from "../db.js";
13
+ import { _setDbAccessor } from "../tools/toolRegistry.js";
14
+ // ── Wire up shared DB accessor ──────────────────────────────────────────
15
+ _setDbAccessor(getDb);
16
+ // ── Helpers ─────────────────────────────────────────────────────────────
17
+ function findTool(name) {
18
+ const t = dogfoodJudgeTools.find((t) => t.name === name);
19
+ if (!t)
20
+ throw new Error(`Tool "${name}" not found in dogfoodJudgeTools`);
21
+ return t;
22
+ }
23
+ async function callTool(tool, args = {}) {
24
+ const start = Date.now();
25
+ try {
26
+ const result = await tool.handler(args);
27
+ return { ok: true, result, ms: Date.now() - start };
28
+ }
29
+ catch (err) {
30
+ return { ok: false, result: null, error: err?.message ?? String(err), ms: Date.now() - start };
31
+ }
32
+ }
33
+ const scenarios = [
34
+ {
35
+ scenarioId: "mcp_setup_sanity",
36
+ loopType: "pre_delegation",
37
+ scores: {
38
+ truthQuality: 5,
39
+ compressionQuality: 5,
40
+ anticipationQuality: 4,
41
+ outputQuality: 5,
42
+ delegationQuality: 5,
43
+ trustQuality: 5,
44
+ },
45
+ failureClasses: [],
46
+ notes: "Setup works perfectly — tool discovery, preset loading, health checks all pass",
47
+ delegationSucceeded: true,
48
+ packetExported: true,
49
+ },
50
+ {
51
+ scenarioId: "founder_weekly_reset",
52
+ loopType: "weekly_reset",
53
+ scores: {
54
+ truthQuality: 4,
55
+ compressionQuality: 3,
56
+ anticipationQuality: 2,
57
+ outputQuality: 4,
58
+ delegationQuality: 3,
59
+ trustQuality: 3,
60
+ },
61
+ failureClasses: ["stale_entity", "missing_change"],
62
+ notes: "Packet generates but uses input text as-is, no real memory. Compression is low — restates rather than distills. Anticipation weak without live data.",
63
+ delegationSucceeded: false,
64
+ packetExported: true,
65
+ },
66
+ {
67
+ scenarioId: "banker_anthropic_search",
68
+ loopType: "company_search",
69
+ scores: {
70
+ truthQuality: 3,
71
+ compressionQuality: 2,
72
+ anticipationQuality: 1,
73
+ outputQuality: 3,
74
+ delegationQuality: 2,
75
+ trustQuality: 2,
76
+ },
77
+ failureClasses: ["missing_change", "wrong_priority", "stale_entity"],
78
+ notes: "No live web data — recon is placeholder. Cannot anticipate without real signals. Trust is low because evidence chain is synthetic.",
79
+ delegationSucceeded: false,
80
+ packetExported: false,
81
+ },
82
+ {
83
+ scenarioId: "public_doc_drift",
84
+ loopType: "pre_delegation",
85
+ scores: {
86
+ truthQuality: 4,
87
+ compressionQuality: 4,
88
+ anticipationQuality: 3,
89
+ outputQuality: 4,
90
+ delegationQuality: 4,
91
+ trustQuality: 4,
92
+ },
93
+ failureClasses: [],
94
+ notes: "Correctly identifies drift between versions, produces actionable memo. Good compression of diff into narrative.",
95
+ delegationSucceeded: true,
96
+ packetExported: true,
97
+ },
98
+ {
99
+ scenarioId: "operator_causal_replay",
100
+ loopType: "pre_delegation",
101
+ scores: {
102
+ truthQuality: 5,
103
+ compressionQuality: 4,
104
+ anticipationQuality: 3,
105
+ outputQuality: 4,
106
+ delegationQuality: 4,
107
+ trustQuality: 5,
108
+ },
109
+ failureClasses: [],
110
+ notes: "Causal memory write/read works perfectly. Event ledger and trajectory summary provide strong evidence chain. Trust is high due to causal traceability.",
111
+ delegationSucceeded: true,
112
+ packetExported: true,
113
+ },
114
+ {
115
+ scenarioId: "researcher_supermemory",
116
+ loopType: "company_search",
117
+ scores: {
118
+ truthQuality: 3,
119
+ compressionQuality: 2,
120
+ anticipationQuality: 1,
121
+ outputQuality: 3,
122
+ delegationQuality: 2,
123
+ trustQuality: 2,
124
+ },
125
+ failureClasses: ["missing_change", "stale_entity"],
126
+ notes: "No live web enrichment — countermodels are synthetic. Learning record works but inputs are canned. Cannot anticipate without real research feeds.",
127
+ delegationSucceeded: false,
128
+ packetExported: false,
129
+ },
130
+ {
131
+ scenarioId: "engine_api_trace",
132
+ loopType: "pre_delegation",
133
+ scores: {
134
+ truthQuality: 5,
135
+ compressionQuality: 5,
136
+ anticipationQuality: 4,
137
+ outputQuality: 5,
138
+ delegationQuality: 5,
139
+ trustQuality: 5,
140
+ },
141
+ failureClasses: [],
142
+ notes: "Engine surface verified, milestone recorded, flywheel status confirmed. Full tool chain works end-to-end.",
143
+ delegationSucceeded: true,
144
+ packetExported: true,
145
+ },
146
+ ];
147
+ // ── Main ────────────────────────────────────────────────────────────────
148
+ async function main() {
149
+ console.log("=== DOGFOOD JUDGE: Scoring 7 scenarios ===\n");
150
+ const sessionIds = [];
151
+ let totalScore = 0;
152
+ let totalDimensions = 0;
153
+ let passCount = 0;
154
+ for (const s of scenarios) {
155
+ const tag = `[${s.scenarioId}]`;
156
+ // 1. Start session
157
+ const startRes = await callTool(findTool("start_dogfood_session"), {
158
+ loopType: s.loopType,
159
+ });
160
+ if (!startRes.ok) {
161
+ console.error(`${tag} start_dogfood_session FAILED: ${startRes.error}`);
162
+ continue;
163
+ }
164
+ const sessionId = startRes.result?.sessionId;
165
+ if (!sessionId) {
166
+ console.error(`${tag} No sessionId returned`);
167
+ continue;
168
+ }
169
+ sessionIds.push(sessionId);
170
+ // 2. Judge session
171
+ const judgeRes = await callTool(findTool("judge_session"), {
172
+ sessionId,
173
+ ...s.scores,
174
+ notes: s.notes,
175
+ failureClasses: s.failureClasses,
176
+ });
177
+ if (!judgeRes.ok) {
178
+ console.error(`${tag} judge_session FAILED: ${judgeRes.error}`);
179
+ }
180
+ // 3. End session
181
+ const endRes = await callTool(findTool("end_dogfood_session"), {
182
+ sessionId,
183
+ notes: s.notes,
184
+ delegationSucceeded: s.delegationSucceeded,
185
+ packetExported: s.packetExported,
186
+ });
187
+ if (!endRes.ok) {
188
+ console.error(`${tag} end_dogfood_session FAILED: ${endRes.error}`);
189
+ }
190
+ // Tally
191
+ const dims = Object.values(s.scores);
192
+ const avg = dims.reduce((a, b) => a + b, 0) / dims.length;
193
+ totalScore += dims.reduce((a, b) => a + b, 0);
194
+ totalDimensions += dims.length;
195
+ const passed = avg >= 2.5;
196
+ if (passed)
197
+ passCount++;
198
+ console.log(`${tag} avg=${avg.toFixed(1)}/5 ${passed ? "PASS" : "FAIL"} (${judgeRes.ms}ms)`);
199
+ }
200
+ const overallAvg = totalScore / totalDimensions;
201
+ // ── Global metrics ──────────────────────────────────────────────────
202
+ console.log("\n--- Global Metrics ---\n");
203
+ // Repeat cognition metrics
204
+ const cognRes = await callTool(findTool("get_repeat_cognition_metrics"));
205
+ let cognitionMetrics = {};
206
+ if (cognRes.ok) {
207
+ cognitionMetrics = cognRes.result;
208
+ }
209
+ else {
210
+ console.error(`get_repeat_cognition_metrics FAILED: ${cognRes.error}`);
211
+ }
212
+ // Regression gate
213
+ const gateRes = await callTool(findTool("get_regression_gate"));
214
+ let regressionGate = {};
215
+ if (gateRes.ok) {
216
+ regressionGate = gateRes.result;
217
+ }
218
+ else {
219
+ console.error(`get_regression_gate FAILED: ${gateRes.error}`);
220
+ }
221
+ // ── Identify weakest dimension across all scenarios ─────────────────
222
+ const dimSums = {};
223
+ for (const s of scenarios) {
224
+ for (const [dim, val] of Object.entries(s.scores)) {
225
+ if (!dimSums[dim])
226
+ dimSums[dim] = { total: 0, count: 0 };
227
+ dimSums[dim].total += val;
228
+ dimSums[dim].count++;
229
+ }
230
+ }
231
+ const dimAvgs = Object.entries(dimSums)
232
+ .map(([dim, { total, count }]) => ({ dim, avg: total / count }))
233
+ .sort((a, b) => a.avg - b.avg);
234
+ const weakest = dimAvgs[0];
235
+ // ── Identify weakest scenario ───────────────────────────────────────
236
+ const scenarioAvgs = scenarios.map((s) => {
237
+ const vals = Object.values(s.scores);
238
+ return { id: s.scenarioId, avg: vals.reduce((a, b) => a + b, 0) / vals.length };
239
+ }).sort((a, b) => a.avg - b.avg);
240
+ const weakestScenario = scenarioAvgs[0];
241
+ // ── Recommendation ──────────────────────────────────────────────────
242
+ let nextFix;
243
+ if (weakest.avg < 2.5) {
244
+ nextFix = `Improve ${weakest.dim} (avg ${weakest.avg.toFixed(1)}/5) — weakest across all scenarios. Primary blocker: ${weakestScenario.id}`;
245
+ }
246
+ else if (weakestScenario.avg < 3.0) {
247
+ nextFix = `Fix ${weakestScenario.id} (avg ${weakestScenario.avg.toFixed(1)}/5) — needs live web data integration to move past placeholder outputs`;
248
+ }
249
+ else {
250
+ nextFix = `All scenarios above 3.0. Focus on live data integration for company_search and researcher loops to push from B to A grade.`;
251
+ }
252
+ // ── Final summary ───────────────────────────────────────────────────
253
+ console.log(`
254
+ === DOGFOOD CYCLE 1 COMPLETE ===
255
+ Scenarios: ${passCount}/${scenarios.length} passed
256
+ Average judge score: ${overallAvg.toFixed(1)}/5
257
+ Regression gate: ${regressionGate.passed ? "PASS" : "FAIL"}
258
+ - Founder weekly reset: ${regressionGate.weeklyResetScore ?? "N/A"}/5
259
+ - Pre-delegation brief: ${regressionGate.preDelegationScore ?? "N/A"}/5
260
+ - Company search: ${regressionGate.companySearchScore ?? "N/A"}/5
261
+ Repeat cognition metrics:
262
+ - compoundScore: ${cognitionMetrics.compoundScore ?? "N/A"}
263
+ - repeatQuestionRate: ${cognitionMetrics.repeatQuestionRate ?? "N/A"}
264
+ - packetAbandonmentRate: ${cognitionMetrics.packetAbandonmentRate ?? "N/A"}
265
+ Top failure class: ${weakest.dim} (avg ${weakest.avg.toFixed(1)}/5)
266
+ Next priority fix: ${nextFix}
267
+ `);
268
+ // ── Per-dimension breakdown ─────────────────────────────────────────
269
+ console.log("--- Dimension Averages ---");
270
+ for (const d of dimAvgs) {
271
+ const bar = "\u2588".repeat(Math.round(d.avg));
272
+ const empty = "\u2591".repeat(5 - Math.round(d.avg));
273
+ console.log(` ${d.dim.padEnd(22)} ${d.avg.toFixed(1)}/5 ${bar}${empty}`);
274
+ }
275
+ // ── Per-scenario breakdown ──────────────────────────────────────────
276
+ console.log("\n--- Scenario Averages ---");
277
+ for (const s of scenarioAvgs) {
278
+ const bar = "\u2588".repeat(Math.round(s.avg));
279
+ const empty = "\u2591".repeat(5 - Math.round(s.avg));
280
+ console.log(` ${s.id.padEnd(28)} ${s.avg.toFixed(1)}/5 ${bar}${empty}`);
281
+ }
282
+ console.log("\nDone.");
283
+ }
284
+ main().catch((err) => {
285
+ console.error("Fatal:", err);
286
+ process.exit(1);
287
+ });
288
+ //# sourceMappingURL=dogfoodJudge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dogfoodJudge.js","sourceRoot":"","sources":["../../src/benchmarks/dogfoodJudge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * dogfoodRunner.ts — 7-scenario MCP dogfood harness
4
+ *
5
+ * Imports tool handlers directly (no MCP transport), runs each scenario
6
+ * sequentially, records telemetry via record_dogfood_telemetry, and
7
+ * prints a summary table.
8
+ *
9
+ * Usage:
10
+ * cd packages/mcp-local && npx tsx src/benchmarks/dogfoodRunner.ts
11
+ */
12
+ export {};
@@ -0,0 +1,709 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * dogfoodRunner.ts — 7-scenario MCP dogfood harness
4
+ *
5
+ * Imports tool handlers directly (no MCP transport), runs each scenario
6
+ * sequentially, records telemetry via record_dogfood_telemetry, and
7
+ * prints a summary table.
8
+ *
9
+ * Usage:
10
+ * cd packages/mcp-local && npx tsx src/benchmarks/dogfoodRunner.ts
11
+ */
12
+ import { dogfoodJudgeTools } from "../tools/dogfoodJudgeTools.js";
13
+ import { createMetaTools } from "../tools/metaTools.js";
14
+ import { createProgressiveDiscoveryTools } from "../tools/progressiveDiscoveryTools.js";
15
+ import { loadToolsets, ALL_DOMAIN_KEYS, TOOLSET_MAP } from "../toolsetRegistry.js";
16
+ import { getDb } from "../db.js";
17
+ import { _setDbAccessor } from "../tools/toolRegistry.js";
18
+ // ── Helpers ──────────────────────────────────────────────────────────────
19
+ /** Find a tool by name in a flat array */
20
+ function findTool(tools, name) {
21
+ const t = tools.find((t) => t.name === name);
22
+ if (!t)
23
+ throw new Error(`Tool "${name}" not found. Available: ${tools.map((t) => t.name).join(", ").slice(0, 200)}...`);
24
+ return t;
25
+ }
26
+ /** Safely call a handler, returning { ok, result, error, ms } */
27
+ async function callTool(tool, args = {}) {
28
+ const start = Date.now();
29
+ try {
30
+ const result = await tool.handler(args);
31
+ return { ok: true, result, ms: Date.now() - start };
32
+ }
33
+ catch (err) {
34
+ return {
35
+ ok: false,
36
+ result: null,
37
+ error: err?.message ?? String(err),
38
+ ms: Date.now() - start,
39
+ };
40
+ }
41
+ }
42
+ /** Extract text from MCP content blocks */
43
+ function extractText(result) {
44
+ if (!result)
45
+ return "(null)";
46
+ if (typeof result === "string")
47
+ return result;
48
+ if (Array.isArray(result)) {
49
+ const texts = result
50
+ .filter((b) => b?.type === "text")
51
+ .map((b) => b.text);
52
+ if (texts.length)
53
+ return texts.join("\n");
54
+ }
55
+ if (typeof result === "object") {
56
+ return JSON.stringify(result).slice(0, 500);
57
+ }
58
+ return String(result);
59
+ }
60
+ // ── Main ─────────────────────────────────────────────────────────────────
61
+ async function main() {
62
+ console.log("=== NodeBench MCP Dogfood Runner ===\n");
63
+ // Init DB (creates ~/.nodebench/ if needed)
64
+ getDb();
65
+ _setDbAccessor(getDb);
66
+ // Load all toolsets so we have the full catalog for meta/discovery tools
67
+ console.log("Loading all toolsets...");
68
+ const domainTools = await loadToolsets(ALL_DOMAIN_KEYS);
69
+ console.log(` Loaded ${domainTools.length} domain tools across ${ALL_DOMAIN_KEYS.length} domains\n`);
70
+ // Build meta tools (check_mcp_setup etc.)
71
+ const metaTools = createMetaTools(domainTools);
72
+ // Build progressive discovery tools
73
+ const allToolsFlat = [...domainTools, ...metaTools, ...dogfoodJudgeTools];
74
+ const discoveryTools = createProgressiveDiscoveryTools(allToolsFlat.map((t) => ({ name: t.name, description: t.description })));
75
+ // Grand combined tool list
76
+ const allTools = [...allToolsFlat, ...discoveryTools];
77
+ console.log(`Total tools assembled: ${allTools.length}\n`);
78
+ const results = [];
79
+ // ════════════════════════════════════════════════════════════════════
80
+ // Scenario 1: Setup sanity + preset confirmation
81
+ // ════════════════════════════════════════════════════════════════════
82
+ {
83
+ console.log("── Scenario 1: Setup sanity + preset confirmation ──");
84
+ const scenarioStart = Date.now();
85
+ const errors = [];
86
+ let toolCalls = 0;
87
+ // 1a. check_mcp_setup
88
+ const setup = await callTool(findTool(allTools, "check_mcp_setup"), {});
89
+ toolCalls++;
90
+ if (!setup.ok)
91
+ errors.push(`check_mcp_setup: ${setup.error}`);
92
+ else
93
+ console.log(` check_mcp_setup: OK (${setup.ms}ms)`);
94
+ // 1b. list_available_toolsets — this tool is inline in index.ts,
95
+ // so we simulate it by listing TOOLSET_MAP keys
96
+ const toolsetNames = ALL_DOMAIN_KEYS;
97
+ const loadedToolsets = Object.keys(TOOLSET_MAP);
98
+ toolCalls++;
99
+ console.log(` list_available_toolsets (simulated): ${loadedToolsets.length} loaded of ${toolsetNames.length} total (${0}ms)`);
100
+ // 1c. discover_tools
101
+ const discover = await callTool(findTool(allTools, "discover_tools"), {
102
+ query: "preset recommendation founder operator banker researcher starter",
103
+ });
104
+ toolCalls++;
105
+ if (!discover.ok)
106
+ errors.push(`discover_tools: ${discover.error}`);
107
+ else
108
+ console.log(` discover_tools: OK (${discover.ms}ms)`);
109
+ // 1d. Record telemetry
110
+ const telemetry = await callTool(findTool(allTools, "record_dogfood_telemetry"), {
111
+ scenarioId: "mcp_setup_sanity",
112
+ userRole: "founder",
113
+ primaryPrompt: "Setup sanity check: verify MCP health, list presets, discover preset-related tools",
114
+ surface: "mcp",
115
+ toolsInvoked: ["check_mcp_setup", "list_available_toolsets", "discover_tools"],
116
+ toolCallCount: toolCalls,
117
+ latencyMs: Date.now() - scenarioStart,
118
+ });
119
+ toolCalls++;
120
+ if (!telemetry.ok)
121
+ errors.push(`record_dogfood_telemetry: ${telemetry.error}`);
122
+ const totalMs = Date.now() - scenarioStart;
123
+ const pass = errors.length === 0;
124
+ results.push({ scenarioId: "mcp_setup_sanity", userRole: "founder", surface: "mcp", toolCalls, totalMs, errors, pass });
125
+ console.log(` Result: ${pass ? "PASS" : "FAIL"} (${totalMs}ms, ${toolCalls} calls, ${errors.length} errors)\n`);
126
+ }
127
+ // ════════════════════════════════════════════════════════════════════
128
+ // Scenario 2: Founder preset weekly reset
129
+ // ════════════════════════════════════════════════════════════════════
130
+ {
131
+ console.log("── Scenario 2: Founder preset weekly reset ──");
132
+ const scenarioStart = Date.now();
133
+ const errors = [];
134
+ let toolCalls = 0;
135
+ // 2a. founder_deep_context_gather
136
+ const gather = await callTool(findTool(allTools, "founder_deep_context_gather"), {
137
+ rawInput: "NodeBench is the local-first operating-memory and entity-context layer for agent-native businesses. We just shipped Phase 10-14: causal memory, ambient intelligence, provider bus, dogfood judge system, dynamic imports, starter preset. Main contradiction: too many surfaces before proving the 3 core habits (weekly reset, pre-delegation brief, important-change review). Public narrative still lags internal thesis.",
138
+ });
139
+ toolCalls++;
140
+ if (!gather.ok)
141
+ errors.push(`founder_deep_context_gather: ${gather.error}`);
142
+ else
143
+ console.log(` founder_deep_context_gather: OK (${gather.ms}ms)`);
144
+ // 2b. extract_variables
145
+ const extractVars = await callTool(findTool(allTools, "extract_variables"), {
146
+ context: extractText(gather.result),
147
+ });
148
+ toolCalls++;
149
+ if (!extractVars.ok)
150
+ errors.push(`extract_variables: ${extractVars.error}`);
151
+ else
152
+ console.log(` extract_variables: OK (${extractVars.ms}ms)`);
153
+ // 2c. build_claim_graph
154
+ const claimGraph = await callTool(findTool(allTools, "build_claim_graph"), {
155
+ variables: extractText(extractVars.result),
156
+ });
157
+ toolCalls++;
158
+ if (!claimGraph.ok)
159
+ errors.push(`build_claim_graph: ${claimGraph.error}`);
160
+ else
161
+ console.log(` build_claim_graph: OK (${claimGraph.ms}ms)`);
162
+ // 2d. rank_interventions
163
+ const rankInt = await callTool(findTool(allTools, "rank_interventions"), {
164
+ claimGraph: extractText(claimGraph.result),
165
+ });
166
+ toolCalls++;
167
+ if (!rankInt.ok)
168
+ errors.push(`rank_interventions: ${rankInt.error}`);
169
+ else
170
+ console.log(` rank_interventions: OK (${rankInt.ms}ms)`);
171
+ // 2e. render_decision_memo
172
+ const memo = await callTool(findTool(allTools, "render_decision_memo"), {
173
+ interventions: extractText(rankInt.result),
174
+ context: extractText(gather.result),
175
+ });
176
+ toolCalls++;
177
+ if (!memo.ok)
178
+ errors.push(`render_decision_memo: ${memo.error}`);
179
+ else
180
+ console.log(` render_decision_memo: OK (${memo.ms}ms)`);
181
+ // 2f. founder_packet_validate
182
+ // This tool requires Convex gateway. Treat gateway-missing as soft pass.
183
+ const validate = await callTool(findTool(allTools, "founder_packet_validate"), {
184
+ packet: extractText(memo.result),
185
+ });
186
+ toolCalls++;
187
+ if (!validate.ok) {
188
+ const isGatewayMissing = validate.error?.includes("Cannot call Deep Sim backend") || validate.error?.includes("CONVEX");
189
+ if (isGatewayMissing) {
190
+ console.log(` founder_packet_validate: SKIP (no Convex gateway — expected in local-only mode, ${validate.ms}ms)`);
191
+ }
192
+ else {
193
+ errors.push(`founder_packet_validate: ${validate.error}`);
194
+ }
195
+ }
196
+ else {
197
+ // Also handle gateway error returned as a successful result with error flag
198
+ const resultStr = JSON.stringify(validate.result);
199
+ if (resultStr.includes('"error":true') && resultStr.includes("Cannot call Deep Sim backend")) {
200
+ console.log(` founder_packet_validate: SKIP (no Convex gateway — expected in local-only mode, ${validate.ms}ms)`);
201
+ }
202
+ else {
203
+ console.log(` founder_packet_validate: OK (${validate.ms}ms)`);
204
+ }
205
+ }
206
+ // 2g. Record telemetry
207
+ const telemetry = await callTool(findTool(allTools, "record_dogfood_telemetry"), {
208
+ scenarioId: "founder_weekly_reset",
209
+ userRole: "founder",
210
+ primaryPrompt: "Founder weekly reset: deep context gather -> extract variables -> claim graph -> rank interventions -> decision memo -> validate",
211
+ surface: "mcp",
212
+ toolsInvoked: [
213
+ "founder_deep_context_gather", "extract_variables", "build_claim_graph",
214
+ "rank_interventions", "render_decision_memo", "founder_packet_validate",
215
+ ],
216
+ toolCallCount: toolCalls,
217
+ latencyMs: Date.now() - scenarioStart,
218
+ });
219
+ toolCalls++;
220
+ if (!telemetry.ok)
221
+ errors.push(`record_dogfood_telemetry: ${telemetry.error}`);
222
+ const totalMs = Date.now() - scenarioStart;
223
+ const pass = errors.length === 0;
224
+ results.push({ scenarioId: "founder_weekly_reset", userRole: "founder", surface: "mcp", toolCalls, totalMs, errors, pass });
225
+ console.log(` Result: ${pass ? "PASS" : "FAIL"} (${totalMs}ms, ${toolCalls} calls, ${errors.length} errors)\n`);
226
+ }
227
+ // ════════════════════════════════════════════════════════════════════
228
+ // Scenario 3: Banker blank-state company search
229
+ // ════════════════════════════════════════════════════════════════════
230
+ {
231
+ console.log("── Scenario 3: Banker blank-state company search ──");
232
+ const scenarioStart = Date.now();
233
+ const errors = [];
234
+ let toolCalls = 0;
235
+ // 3a. run_recon
236
+ const recon = await callTool(findTool(allTools, "run_recon"), {
237
+ target: "Anthropic",
238
+ scope: "company",
239
+ });
240
+ toolCalls++;
241
+ if (!recon.ok)
242
+ errors.push(`run_recon: ${recon.error}`);
243
+ else
244
+ console.log(` run_recon: OK (${recon.ms}ms)`);
245
+ // 3b. extract_variables
246
+ const extractVars = await callTool(findTool(allTools, "extract_variables"), {
247
+ context: extractText(recon.result),
248
+ });
249
+ toolCalls++;
250
+ if (!extractVars.ok)
251
+ errors.push(`extract_variables: ${extractVars.error}`);
252
+ else
253
+ console.log(` extract_variables: OK (${extractVars.ms}ms)`);
254
+ // 3c. build_claim_graph
255
+ const claimGraph = await callTool(findTool(allTools, "build_claim_graph"), {
256
+ variables: extractText(extractVars.result),
257
+ });
258
+ toolCalls++;
259
+ if (!claimGraph.ok)
260
+ errors.push(`build_claim_graph: ${claimGraph.error}`);
261
+ else
262
+ console.log(` build_claim_graph: OK (${claimGraph.ms}ms)`);
263
+ // 3d. rank_interventions
264
+ const rankInt = await callTool(findTool(allTools, "rank_interventions"), {
265
+ claimGraph: extractText(claimGraph.result),
266
+ });
267
+ toolCalls++;
268
+ if (!rankInt.ok)
269
+ errors.push(`rank_interventions: ${rankInt.error}`);
270
+ else
271
+ console.log(` rank_interventions: OK (${rankInt.ms}ms)`);
272
+ // 3e. render_decision_memo (banker lens)
273
+ const memo = await callTool(findTool(allTools, "render_decision_memo"), {
274
+ interventions: extractText(rankInt.result),
275
+ context: extractText(recon.result),
276
+ lens: "banker",
277
+ });
278
+ toolCalls++;
279
+ if (!memo.ok)
280
+ errors.push(`render_decision_memo: ${memo.error}`);
281
+ else
282
+ console.log(` render_decision_memo: OK (${memo.ms}ms)`);
283
+ // 3f. Record telemetry
284
+ const telemetry = await callTool(findTool(allTools, "record_dogfood_telemetry"), {
285
+ scenarioId: "banker_anthropic_search",
286
+ userRole: "banker",
287
+ primaryPrompt: "Banker blank-state company search: recon Anthropic -> extract variables -> claim graph -> rank interventions -> decision memo (banker lens)",
288
+ surface: "mcp",
289
+ toolsInvoked: [
290
+ "run_recon", "extract_variables", "build_claim_graph",
291
+ "rank_interventions", "render_decision_memo",
292
+ ],
293
+ toolCallCount: toolCalls,
294
+ latencyMs: Date.now() - scenarioStart,
295
+ });
296
+ toolCalls++;
297
+ if (!telemetry.ok)
298
+ errors.push(`record_dogfood_telemetry: ${telemetry.error}`);
299
+ const totalMs = Date.now() - scenarioStart;
300
+ const pass = errors.length === 0;
301
+ results.push({ scenarioId: "banker_anthropic_search", userRole: "banker", surface: "mcp", toolCalls, totalMs, errors, pass });
302
+ console.log(` Result: ${pass ? "PASS" : "FAIL"} (${totalMs}ms, ${toolCalls} calls, ${errors.length} errors)\n`);
303
+ }
304
+ // ════════════════════════════════════════════════════════════════════
305
+ // Scenario 4: Public-doc drift detection
306
+ // ════════════════════════════════════════════════════════════════════
307
+ {
308
+ console.log("── Scenario 4: Public-doc drift detection ──");
309
+ const scenarioStart = Date.now();
310
+ const errors = [];
311
+ let toolCalls = 0;
312
+ // 4a. founder_deep_context_gather
313
+ const gather = await callTool(findTool(allTools, "founder_deep_context_gather"), {
314
+ rawInput: "Internal thesis: NodeBench is the operating memory for agent-native businesses — local-first, MCP-native, 304 tools with progressive discovery. Public positioning (README, landing page, npm description): still says 'Development Methodology Edition' and '6-Phase Verification'. The internal product has evolved past the public narrative. Need to detect and flag this drift before it causes confusion with early adopters.",
315
+ });
316
+ toolCalls++;
317
+ if (!gather.ok)
318
+ errors.push(`founder_deep_context_gather: ${gather.error}`);
319
+ else
320
+ console.log(` founder_deep_context_gather: OK (${gather.ms}ms)`);
321
+ // 4b. extract_variables
322
+ const extractVars = await callTool(findTool(allTools, "extract_variables"), {
323
+ context: extractText(gather.result),
324
+ });
325
+ toolCalls++;
326
+ if (!extractVars.ok)
327
+ errors.push(`extract_variables: ${extractVars.error}`);
328
+ else
329
+ console.log(` extract_variables: OK (${extractVars.ms}ms)`);
330
+ // 4c. build_claim_graph
331
+ const claimGraph = await callTool(findTool(allTools, "build_claim_graph"), {
332
+ variables: extractText(extractVars.result),
333
+ });
334
+ toolCalls++;
335
+ if (!claimGraph.ok)
336
+ errors.push(`build_claim_graph: ${claimGraph.error}`);
337
+ else
338
+ console.log(` build_claim_graph: OK (${claimGraph.ms}ms)`);
339
+ // 4d. render_decision_memo
340
+ const memo = await callTool(findTool(allTools, "render_decision_memo"), {
341
+ claimGraph: extractText(claimGraph.result),
342
+ context: extractText(gather.result),
343
+ });
344
+ toolCalls++;
345
+ if (!memo.ok)
346
+ errors.push(`render_decision_memo: ${memo.error}`);
347
+ else
348
+ console.log(` render_decision_memo: OK (${memo.ms}ms)`);
349
+ // 4e. flag_important_change
350
+ const flag = await callTool(findTool(allTools, "flag_important_change"), {
351
+ changeCategory: "contradiction_found",
352
+ impactScore: 0.85,
353
+ impactReason: "Internal product thesis (operating memory for agent-native businesses, 304 tools, progressive discovery, causal memory) has diverged from public-facing copy (Development Methodology Edition, 6-Phase Verification). Public narrative lags by ~3 major phases.",
354
+ affectedEntities: [
355
+ { entityType: "document", entityId: "nodebench-readme" },
356
+ { entityType: "document", entityId: "nodebench-landing-page" },
357
+ { entityType: "document", entityId: "npm-package-description" },
358
+ ],
359
+ suggestedAction: "Update README, landing page hero copy, and npm description to reflect current product identity: operating memory for agent-native businesses.",
360
+ });
361
+ toolCalls++;
362
+ if (!flag.ok)
363
+ errors.push(`flag_important_change: ${flag.error}`);
364
+ else
365
+ console.log(` flag_important_change: OK (${flag.ms}ms)`);
366
+ // 4f. Record telemetry
367
+ const telemetry = await callTool(findTool(allTools, "record_dogfood_telemetry"), {
368
+ scenarioId: "public_doc_drift",
369
+ userRole: "founder",
370
+ primaryPrompt: "Public-doc drift detection: deep context gather about internal vs public positioning mismatch -> extract variables -> claim graph -> decision memo -> flag important change",
371
+ surface: "mcp",
372
+ toolsInvoked: [
373
+ "founder_deep_context_gather", "extract_variables", "build_claim_graph",
374
+ "render_decision_memo", "flag_important_change",
375
+ ],
376
+ toolCallCount: toolCalls,
377
+ latencyMs: Date.now() - scenarioStart,
378
+ });
379
+ toolCalls++;
380
+ if (!telemetry.ok)
381
+ errors.push(`record_dogfood_telemetry: ${telemetry.error}`);
382
+ const totalMs = Date.now() - scenarioStart;
383
+ const pass = errors.length === 0;
384
+ results.push({ scenarioId: "public_doc_drift", userRole: "founder", surface: "mcp", toolCalls, totalMs, errors, pass });
385
+ console.log(` Result: ${pass ? "PASS" : "FAIL"} (${totalMs}ms, ${toolCalls} calls, ${errors.length} errors)\n`);
386
+ }
387
+ // ════════════════════════════════════════════════════════════════════
388
+ // Scenario 5: Operator preset causal-memory replay
389
+ // ════════════════════════════════════════════════════════════════════
390
+ {
391
+ console.log("── Scenario 5: Operator preset causal-memory replay ──");
392
+ const scenarioStart = Date.now();
393
+ const errors = [];
394
+ let toolCalls = 0;
395
+ // 5a. record_event
396
+ const recordEvent = await callTool(findTool(allTools, "record_event"), {
397
+ eventType: "product.phase.completed",
398
+ actorType: "user",
399
+ entityId: "nodebench",
400
+ entityType: "company",
401
+ summary: "Phase 14 tool decoupling shipped",
402
+ });
403
+ toolCalls++;
404
+ if (!recordEvent.ok)
405
+ errors.push(`record_event: ${recordEvent.error}`);
406
+ else
407
+ console.log(` record_event: OK (${recordEvent.ms}ms)`);
408
+ // 5b. record_path_step
409
+ const recordPath = await callTool(findTool(allTools, "record_path_step"), {
410
+ sessionId: "dogfood-run-1",
411
+ surfaceType: "view",
412
+ surfaceRef: "/causal-memory",
413
+ surfaceLabel: "CausalMemory",
414
+ });
415
+ toolCalls++;
416
+ if (!recordPath.ok)
417
+ errors.push(`record_path_step: ${recordPath.error}`);
418
+ else
419
+ console.log(` record_path_step: OK (${recordPath.ms}ms)`);
420
+ // 5c. record_state_diff
421
+ const recordDiff = await callTool(findTool(allTools, "record_state_diff"), {
422
+ entityId: "nodebench",
423
+ entityType: "company",
424
+ changeType: "structural",
425
+ changedFields: ["toolCount", "presetStructure"],
426
+ beforeState: { toolCount: 338, presetStructure: "flat" },
427
+ afterState: { toolCount: 340, presetStructure: "hierarchical" },
428
+ reason: "Phase 14 refactor",
429
+ });
430
+ toolCalls++;
431
+ if (!recordDiff.ok)
432
+ errors.push(`record_state_diff: ${recordDiff.error}`);
433
+ else
434
+ console.log(` record_state_diff: OK (${recordDiff.ms}ms)`);
435
+ // 5d. get_event_ledger
436
+ const ledger = await callTool(findTool(allTools, "get_event_ledger"), {
437
+ limit: 5,
438
+ });
439
+ toolCalls++;
440
+ if (!ledger.ok)
441
+ errors.push(`get_event_ledger: ${ledger.error}`);
442
+ else
443
+ console.log(` get_event_ledger: OK (${ledger.ms}ms)`);
444
+ // 5e. get_trajectory_summary
445
+ const trajectory = await callTool(findTool(allTools, "get_trajectory_summary"), {});
446
+ toolCalls++;
447
+ if (!trajectory.ok)
448
+ errors.push(`get_trajectory_summary: ${trajectory.error}`);
449
+ else
450
+ console.log(` get_trajectory_summary: OK (${trajectory.ms}ms)`);
451
+ // 5f. flag_important_change
452
+ const flagChange = await callTool(findTool(allTools, "flag_important_change"), {
453
+ changeCategory: "architecture",
454
+ impactScore: 8,
455
+ impactReason: "Tool loading changed from static to dynamic imports with preset hierarchy",
456
+ affectedEntities: "nodebench-mcp",
457
+ });
458
+ toolCalls++;
459
+ if (!flagChange.ok)
460
+ errors.push(`flag_important_change: ${flagChange.error}`);
461
+ else
462
+ console.log(` flag_important_change: OK (${flagChange.ms}ms)`);
463
+ // 5g. Record telemetry
464
+ const telemetry5 = await callTool(findTool(allTools, "record_dogfood_telemetry"), {
465
+ scenarioId: "operator_causal_replay",
466
+ userRole: "operator",
467
+ primaryPrompt: "Operator causal-memory replay: record event, path step, state diff -> query event ledger + trajectory summary -> flag important change",
468
+ surface: "mcp",
469
+ toolsInvoked: [
470
+ "record_event", "record_path_step", "record_state_diff",
471
+ "get_event_ledger", "get_trajectory_summary", "flag_important_change",
472
+ ],
473
+ toolCallCount: toolCalls,
474
+ latencyMs: Date.now() - scenarioStart,
475
+ });
476
+ toolCalls++;
477
+ if (!telemetry5.ok)
478
+ errors.push(`record_dogfood_telemetry: ${telemetry5.error}`);
479
+ const totalMs5 = Date.now() - scenarioStart;
480
+ const pass5 = errors.length === 0;
481
+ results.push({ scenarioId: "operator_causal_replay", userRole: "operator", surface: "mcp", toolCalls, totalMs: totalMs5, errors, pass: pass5 });
482
+ console.log(` Result: ${pass5 ? "PASS" : "FAIL"} (${totalMs5}ms, ${toolCalls} calls, ${errors.length} errors)\n`);
483
+ }
484
+ // ════════════════════════════════════════════════════════════════════
485
+ // Scenario 6: Researcher preset competitor brief (Supermemory)
486
+ // ════════════════════════════════════════════════════════════════════
487
+ {
488
+ console.log("── Scenario 6: Researcher preset competitor brief (Supermemory) ──");
489
+ const scenarioStart = Date.now();
490
+ const errors = [];
491
+ let toolCalls = 0;
492
+ // 6a. run_recon
493
+ const recon = await callTool(findTool(allTools, "run_recon"), {
494
+ target: "Supermemory competitor analysis for NodeBench",
495
+ scope: "market",
496
+ });
497
+ toolCalls++;
498
+ if (!recon.ok)
499
+ errors.push(`run_recon: ${recon.error}`);
500
+ else
501
+ console.log(` run_recon: OK (${recon.ms}ms)`);
502
+ // 6b. extract_variables
503
+ const extractVars = await callTool(findTool(allTools, "extract_variables"), {
504
+ context: extractText(recon.result),
505
+ });
506
+ toolCalls++;
507
+ if (!extractVars.ok)
508
+ errors.push(`extract_variables: ${extractVars.error}`);
509
+ else
510
+ console.log(` extract_variables: OK (${extractVars.ms}ms)`);
511
+ // 6c. build_claim_graph
512
+ const claimGraph = await callTool(findTool(allTools, "build_claim_graph"), {
513
+ variables: extractText(extractVars.result),
514
+ });
515
+ toolCalls++;
516
+ if (!claimGraph.ok)
517
+ errors.push(`build_claim_graph: ${claimGraph.error}`);
518
+ else
519
+ console.log(` build_claim_graph: OK (${claimGraph.ms}ms)`);
520
+ // 6d. generate_countermodels
521
+ const countermodels = await callTool(findTool(allTools, "generate_countermodels"), {
522
+ claimGraph: extractText(claimGraph.result),
523
+ });
524
+ toolCalls++;
525
+ if (!countermodels.ok)
526
+ errors.push(`generate_countermodels: ${countermodels.error}`);
527
+ else
528
+ console.log(` generate_countermodels: OK (${countermodels.ms}ms)`);
529
+ // 6e. rank_interventions
530
+ const rankInt = await callTool(findTool(allTools, "rank_interventions"), {
531
+ claimGraph: extractText(countermodels.result),
532
+ });
533
+ toolCalls++;
534
+ if (!rankInt.ok)
535
+ errors.push(`rank_interventions: ${rankInt.error}`);
536
+ else
537
+ console.log(` rank_interventions: OK (${rankInt.ms}ms)`);
538
+ // 6f. render_decision_memo
539
+ const memo = await callTool(findTool(allTools, "render_decision_memo"), {
540
+ interventions: extractText(rankInt.result),
541
+ context: extractText(recon.result),
542
+ });
543
+ toolCalls++;
544
+ if (!memo.ok)
545
+ errors.push(`render_decision_memo: ${memo.error}`);
546
+ else
547
+ console.log(` render_decision_memo: OK (${memo.ms}ms)`);
548
+ // 6g. record_learning
549
+ const learning = await callTool(findTool(allTools, "record_learning"), {
550
+ key: "dogfood-supermemory-positioning",
551
+ content: "Supermemory owns universal memory infra. NodeBench should sit above as operating memory + packets + artifacts.",
552
+ category: "pattern",
553
+ tags: ["competitor", "strategy", "supermemory"],
554
+ });
555
+ toolCalls++;
556
+ if (!learning.ok)
557
+ errors.push(`record_learning: ${learning.error}`);
558
+ else
559
+ console.log(` record_learning: OK (${learning.ms}ms)`);
560
+ // 6h. Record telemetry
561
+ const telemetry6 = await callTool(findTool(allTools, "record_dogfood_telemetry"), {
562
+ scenarioId: "researcher_supermemory",
563
+ userRole: "researcher",
564
+ primaryPrompt: "Researcher competitor brief: recon Supermemory -> extract variables -> claim graph -> countermodels -> rank interventions -> decision memo -> record learning",
565
+ surface: "mcp",
566
+ toolsInvoked: [
567
+ "run_recon", "extract_variables", "build_claim_graph",
568
+ "generate_countermodels", "rank_interventions", "render_decision_memo",
569
+ "record_learning",
570
+ ],
571
+ toolCallCount: toolCalls,
572
+ latencyMs: Date.now() - scenarioStart,
573
+ });
574
+ toolCalls++;
575
+ if (!telemetry6.ok)
576
+ errors.push(`record_dogfood_telemetry: ${telemetry6.error}`);
577
+ const totalMs6 = Date.now() - scenarioStart;
578
+ const pass6 = errors.length === 0;
579
+ results.push({ scenarioId: "researcher_supermemory", userRole: "researcher", surface: "mcp", toolCalls, totalMs: totalMs6, errors, pass: pass6 });
580
+ console.log(` Result: ${pass6 ? "PASS" : "FAIL"} (${totalMs6}ms, ${toolCalls} calls, ${errors.length} errors)\n`);
581
+ }
582
+ // ════════════════════════════════════════════════════════════════════
583
+ // Scenario 7: Engine API trace run
584
+ // ════════════════════════════════════════════════════════════════════
585
+ {
586
+ console.log("── Scenario 7: Engine API trace run ──");
587
+ const scenarioStart = Date.now();
588
+ const errors = [];
589
+ let toolCalls = 0;
590
+ // 7a. check_mcp_setup
591
+ const setup = await callTool(findTool(allTools, "check_mcp_setup"), {});
592
+ toolCalls++;
593
+ if (!setup.ok)
594
+ errors.push(`check_mcp_setup: ${setup.error}`);
595
+ else
596
+ console.log(` check_mcp_setup: OK (${setup.ms}ms)`);
597
+ // 7b. list_available_toolsets (simulated — inline in index.ts)
598
+ const toolsetNames = ALL_DOMAIN_KEYS;
599
+ const loadedToolsets = Object.keys(TOOLSET_MAP);
600
+ toolCalls++;
601
+ console.log(` list_available_toolsets (simulated): ${loadedToolsets.length} loaded of ${toolsetNames.length} total (0ms)`);
602
+ // 7c. get_flywheel_status (may not be loaded — soft fail)
603
+ const flywheelTool = allTools.find((t) => t.name === "get_flywheel_status");
604
+ if (flywheelTool) {
605
+ const flywheel = await callTool(flywheelTool, {});
606
+ toolCalls++;
607
+ if (!flywheel.ok) {
608
+ console.log(` get_flywheel_status: SOFT FAIL (${flywheel.error?.slice(0, 80)}, ${flywheel.ms}ms)`);
609
+ }
610
+ else {
611
+ console.log(` get_flywheel_status: OK (${flywheel.ms}ms)`);
612
+ }
613
+ }
614
+ else {
615
+ toolCalls++;
616
+ console.log(` get_flywheel_status: SKIP (not loaded in current toolset)`);
617
+ }
618
+ // 7d. record_event
619
+ const traceEvent = await callTool(findTool(allTools, "record_event"), {
620
+ eventType: "engine.trace.completed",
621
+ actorType: "system",
622
+ entityId: "nodebench",
623
+ entityType: "system",
624
+ summary: "Engine API trace dogfood run completed",
625
+ });
626
+ toolCalls++;
627
+ if (!traceEvent.ok)
628
+ errors.push(`record_event: ${traceEvent.error}`);
629
+ else
630
+ console.log(` record_event: OK (${traceEvent.ms}ms)`);
631
+ // 7e. track_milestone
632
+ const milestone = await callTool(findTool(allTools, "track_milestone"), {
633
+ title: "Dogfood cycle 1 complete",
634
+ category: "dogfood",
635
+ description: "All 7 dogfood scenarios pass — causal memory, researcher brief, engine trace verified",
636
+ evidence: "dogfoodRunner.ts scenario 7 pass",
637
+ });
638
+ toolCalls++;
639
+ if (!milestone.ok)
640
+ errors.push(`track_milestone: ${milestone.error}`);
641
+ else
642
+ console.log(` track_milestone: OK (${milestone.ms}ms)`);
643
+ // 7f. Record telemetry
644
+ const telemetry7 = await callTool(findTool(allTools, "record_dogfood_telemetry"), {
645
+ scenarioId: "engine_api_trace",
646
+ userRole: "founder",
647
+ primaryPrompt: "Engine API trace: check MCP setup -> list toolsets -> get flywheel status -> record event -> track milestone",
648
+ surface: "engine_api",
649
+ toolsInvoked: [
650
+ "check_mcp_setup", "list_available_toolsets", "get_flywheel_status",
651
+ "record_event", "track_milestone",
652
+ ],
653
+ toolCallCount: toolCalls,
654
+ latencyMs: Date.now() - scenarioStart,
655
+ });
656
+ toolCalls++;
657
+ if (!telemetry7.ok)
658
+ errors.push(`record_dogfood_telemetry: ${telemetry7.error}`);
659
+ const totalMs7 = Date.now() - scenarioStart;
660
+ const pass7 = errors.length === 0;
661
+ results.push({ scenarioId: "engine_api_trace", userRole: "founder", surface: "engine_api", toolCalls, totalMs: totalMs7, errors, pass: pass7 });
662
+ console.log(` Result: ${pass7 ? "PASS" : "FAIL"} (${totalMs7}ms, ${toolCalls} calls, ${errors.length} errors)\n`);
663
+ }
664
+ // ════════════════════════════════════════════════════════════════════
665
+ // Query historical telemetry for combined table
666
+ // ════════════════════════════════════════════════════════════════════
667
+ {
668
+ const histTelemetry = await callTool(findTool(allTools, "get_dogfood_telemetry"), { limit: 20 });
669
+ if (histTelemetry.ok) {
670
+ console.log("── Historical telemetry (from get_dogfood_telemetry) ──");
671
+ console.log(extractText(histTelemetry.result).slice(0, 2000));
672
+ console.log();
673
+ }
674
+ }
675
+ // ════════════════════════════════════════════════════════════════════
676
+ // Summary Table
677
+ // ════════════════════════════════════════════════════════════════════
678
+ console.log("╔══════════════════════════════╦═══════════╦═══════════╦════════════╦════════╗");
679
+ console.log("║ Scenario ║ Tool Calls║ Latency ║ Errors ║ Result ║");
680
+ console.log("╠══════════════════════════════╬═══════════╬═══════════╬════════════╬════════╣");
681
+ for (const r of results) {
682
+ const name = r.scenarioId.padEnd(28);
683
+ const calls = String(r.toolCalls).padStart(9);
684
+ const ms = `${r.totalMs}ms`.padStart(9);
685
+ const errs = String(r.errors.length).padStart(10);
686
+ const status = r.pass ? " PASS " : " FAIL ";
687
+ console.log(`║ ${name} ║${calls} ║${ms} ║${errs} ║${status}║`);
688
+ }
689
+ console.log("╚══════════════════════════════╩═══════════╩═══════════╩════════════╩════════╝");
690
+ const totalPass = results.filter((r) => r.pass).length;
691
+ const totalFail = results.filter((r) => !r.pass).length;
692
+ console.log(`\nTotal: ${totalPass} passed, ${totalFail} failed out of ${results.length} scenarios`);
693
+ // Print errors if any
694
+ for (const r of results) {
695
+ if (r.errors.length > 0) {
696
+ console.log(`\n Errors in ${r.scenarioId}:`);
697
+ for (const e of r.errors) {
698
+ console.log(` - ${e}`);
699
+ }
700
+ }
701
+ }
702
+ console.log("\nDone. Telemetry recorded to ~/.nodebench/nodebench.db");
703
+ process.exit(totalFail > 0 ? 1 : 0);
704
+ }
705
+ main().catch((err) => {
706
+ console.error("Fatal error:", err);
707
+ process.exit(2);
708
+ });
709
+ //# sourceMappingURL=dogfoodRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dogfoodRunner.js","sourceRoot":"","sources":["../../src/benchmarks/dogfoodRunner.ts"],"names":[],"mappings":"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"}
@@ -138,6 +138,7 @@ export const founderTrackingTools = [
138
138
  "decision",
139
139
  "config",
140
140
  "test",
141
+ "dogfood",
141
142
  ],
142
143
  description: "Action category",
143
144
  },
@@ -161,19 +162,26 @@ export const founderTrackingTools = [
161
162
  impactLevel: {
162
163
  type: "string",
163
164
  enum: ["minor", "moderate", "major", "critical"],
164
- description: "Impact level of the action",
165
+ description: "Impact level of the action (also accepts 'impact' as alias)",
166
+ },
167
+ impact: {
168
+ type: "string",
169
+ enum: ["minor", "moderate", "major", "critical", "high", "medium", "low"],
170
+ description: "Alias for impactLevel — accepts high/medium/low or minor/moderate/major/critical",
165
171
  },
166
172
  },
167
- required: ["action", "category", "impactLevel"],
173
+ required: ["action", "category"],
168
174
  },
169
175
  handler: async (args) => {
170
176
  ensureSchema();
171
177
  const db = getDb();
172
178
  const meta = temporalMeta();
173
179
  const actionId = genId("act");
180
+ // Accept 'impact' as alias for 'impactLevel' (common agent shorthand)
181
+ const resolvedImpact = args.impactLevel ?? args.impact ?? "moderate";
174
182
  db.prepare(`INSERT INTO tracking_actions
175
183
  (actionId, sessionId, timestamp, action, category, beforeState, afterState, reasoning, filesChanged, impactLevel, dayOfWeek, weekNumber, month, quarter, year)
176
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(actionId, SESSION_ID, meta.timestamp, args.action, args.category, args.beforeState ?? null, args.afterState ?? null, args.reasoning ?? null, args.filesChanged ? JSON.stringify(args.filesChanged) : null, args.impactLevel, meta.dayOfWeek, meta.weekNumber, meta.month, meta.quarter, meta.year);
184
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(actionId, SESSION_ID, meta.timestamp, args.action, args.category, args.beforeState ?? null, args.afterState ?? null, args.reasoning ?? null, args.filesChanged ? JSON.stringify(args.filesChanged) : null, resolvedImpact, meta.dayOfWeek, meta.weekNumber, meta.month, meta.quarter, meta.year);
177
185
  return {
178
186
  actionId,
179
187
  sessionId: SESSION_ID,
@@ -203,8 +211,10 @@ export const founderTrackingTools = [
203
211
  "launch",
204
212
  "pivot",
205
213
  "decision",
214
+ "dogfood",
215
+ "benchmark",
206
216
  ],
207
- description: "Milestone category",
217
+ description: "Milestone category (required)",
208
218
  },
209
219
  evidence: {
210
220
  type: "string",
@@ -212,7 +222,7 @@ export const founderTrackingTools = [
212
222
  },
213
223
  metrics: {
214
224
  type: "object",
215
- description: "Key metrics at milestone time (e.g. {tools: 304, tests: 1510})",
225
+ description: "Key metrics at milestone time (e.g. {tools: 338, tests: 1510})",
216
226
  },
217
227
  },
218
228
  required: ["title", "description", "category"],
@@ -1 +1 @@
1
- {"version":3,"file":"founderTrackingTools.js","sourceRoot":"","sources":["../../src/tools/founderTrackingTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"founderTrackingTools.js","sourceRoot":"","sources":["../../src/tools/founderTrackingTools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "nodebench-mcp",
3
- "version": "2.39.0",
3
+ "version": "2.41.0",
4
4
  "mcpName": "io.github.HomenShum/nodebench",
5
- "description": "338 MCP tools across 55 domains. Operating intelligence for founders: decision packets, structured research, agent verification, quality gates, progressive discovery with 8-mode hybrid search + neural embeddings, TOON encoding, Agent-as-a-Graph bipartite search. Starter: 15 tools. Core: 81 tools. Full: 338 tools.",
5
+ "description": "340 MCP tools across 55 domains. Operating intelligence for founders: decision packets, structured research, agent verification, quality gates, progressive discovery with 8-mode hybrid search + neural embeddings, TOON encoding, Agent-as-a-Graph bipartite search. Starter: 15 tools. Core: 81 tools. Full: 340 tools.",
6
6
  "type": "module",
7
7
  "bin": {
8
8
  "nodebench-mcp": "./dist/index.js"