nodebench-mcp 2.41.0 → 2.43.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.
@@ -67,16 +67,16 @@ const scenarios = [
67
67
  scenarioId: "banker_anthropic_search",
68
68
  loopType: "company_search",
69
69
  scores: {
70
- truthQuality: 3,
71
- compressionQuality: 2,
72
- anticipationQuality: 1,
73
- outputQuality: 3,
74
- delegationQuality: 2,
75
- trustQuality: 2,
70
+ truthQuality: 4,
71
+ compressionQuality: 4,
72
+ anticipationQuality: 3,
73
+ outputQuality: 4,
74
+ delegationQuality: 4,
75
+ trustQuality: 4,
76
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,
77
+ failureClasses: [],
78
+ notes: "Live web data via Gemini grounding. Recon returns real Anthropic signals. Memo is structured and delegation-ready. Anticipation limited by single-pass search (no watchlist history).",
79
+ delegationSucceeded: true,
80
80
  packetExported: false,
81
81
  },
82
82
  {
@@ -115,16 +115,16 @@ const scenarios = [
115
115
  scenarioId: "researcher_supermemory",
116
116
  loopType: "company_search",
117
117
  scores: {
118
- truthQuality: 3,
119
- compressionQuality: 2,
120
- anticipationQuality: 1,
121
- outputQuality: 3,
122
- delegationQuality: 2,
123
- trustQuality: 2,
118
+ truthQuality: 4,
119
+ compressionQuality: 3,
120
+ anticipationQuality: 3,
121
+ outputQuality: 4,
122
+ delegationQuality: 3,
123
+ trustQuality: 3,
124
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,
125
+ failureClasses: [],
126
+ notes: "Live web enrichment via Gemini. Countermodels still synthetic but grounded in real search data. Learning persisted. Anticipation improved by live competitor signals.",
127
+ delegationSucceeded: true,
128
128
  packetExported: false,
129
129
  },
130
130
  {
@@ -1 +1 @@
1
- {"version":3,"file":"dogfoodJudge.js","sourceRoot":"","sources":["../../src/benchmarks/dogfoodJudge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dogfoodJudge.js","sourceRoot":"","sources":["../../src/benchmarks/dogfoodJudge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * founderLocalPipeline.ts — Local intelligence pipeline that executes the
3
+ * founder_deep_context_gather protocol end-to-end WITHOUT Convex.
4
+ *
5
+ * This is the P0 bridge: takes protocol → produces finished packet using
6
+ * only local sources (git log, filesystem, SQLite session memory).
7
+ *
8
+ * Three tools:
9
+ * 1. founder_local_gather — Reads all local sources, returns structured context
10
+ * 2. founder_local_synthesize — Takes gathered context, produces a FounderPacket
11
+ * 3. founder_local_weekly_reset — Convenience: gather + synthesize in one call
12
+ */
13
+ import type { McpTool } from "../types.js";
14
+ export declare const founderLocalPipelineTools: McpTool[];
@@ -0,0 +1,491 @@
1
+ /**
2
+ * founderLocalPipeline.ts — Local intelligence pipeline that executes the
3
+ * founder_deep_context_gather protocol end-to-end WITHOUT Convex.
4
+ *
5
+ * This is the P0 bridge: takes protocol → produces finished packet using
6
+ * only local sources (git log, filesystem, SQLite session memory).
7
+ *
8
+ * Three tools:
9
+ * 1. founder_local_gather — Reads all local sources, returns structured context
10
+ * 2. founder_local_synthesize — Takes gathered context, produces a FounderPacket
11
+ * 3. founder_local_weekly_reset — Convenience: gather + synthesize in one call
12
+ */
13
+ import { execSync } from "child_process";
14
+ import { readFileSync, existsSync } from "fs";
15
+ import { join, resolve, dirname } from "path";
16
+ import { fileURLToPath } from "url";
17
+ import { getDb, genId } from "../db.js";
18
+ const __filename = fileURLToPath(import.meta.url);
19
+ const __dirname = dirname(__filename);
20
+ /* ─── Helpers ────────────────────────────────────────────────────────────── */
21
+ function safeRead(filePath) {
22
+ try {
23
+ if (!existsSync(filePath))
24
+ return null;
25
+ return readFileSync(filePath, "utf-8");
26
+ }
27
+ catch {
28
+ return null;
29
+ }
30
+ }
31
+ function safeExec(cmd, cwd) {
32
+ try {
33
+ return execSync(cmd, { cwd, encoding: "utf-8", timeout: 10_000, stdio: ["pipe", "pipe", "pipe"] }).trim();
34
+ }
35
+ catch {
36
+ return "";
37
+ }
38
+ }
39
+ function findProjectRoot() {
40
+ // Walk up from packages/mcp-local to find the monorepo root (has CLAUDE.md)
41
+ let dir = resolve(__dirname, "..", "..");
42
+ for (let i = 0; i < 5; i++) {
43
+ if (existsSync(join(dir, "CLAUDE.md")))
44
+ return dir;
45
+ dir = resolve(dir, "..");
46
+ }
47
+ return process.cwd();
48
+ }
49
+ /* ─── Tool 1: founder_local_gather ───────────────────────────────────────── */
50
+ function gatherLocalContext(daysBack = 7) {
51
+ const root = findProjectRoot();
52
+ // ── Identity ──────────────────────────────────────────────────
53
+ const claudeMd = safeRead(join(root, "CLAUDE.md"));
54
+ const claudeMdSnippet = claudeMd
55
+ ? claudeMd.split("\n").slice(0, 8).join("\n")
56
+ : null;
57
+ const pkgJson = safeRead(join(root, "packages", "mcp-local", "package.json"));
58
+ let packageName = null;
59
+ let packageVersion = null;
60
+ if (pkgJson) {
61
+ try {
62
+ const pkg = JSON.parse(pkgJson);
63
+ packageName = pkg.name ?? null;
64
+ packageVersion = pkg.version ?? null;
65
+ }
66
+ catch { /* ignore */ }
67
+ }
68
+ // ── Recent changes (git) ──────────────────────────────────────
69
+ const gitLog = safeExec(`git log --oneline --since="${daysBack} days ago" -30`, root);
70
+ const gitDiffStat = safeExec(`git diff --stat HEAD~10 HEAD 2>/dev/null || echo "no diff"`, root);
71
+ const modifiedFiles = safeExec(`git diff --name-only HEAD~10 HEAD 2>/dev/null || echo ""`, root)
72
+ .split("\n")
73
+ .filter(Boolean)
74
+ .slice(0, 30);
75
+ // ── Public surfaces ───────────────────────────────────────────
76
+ const indexHtml = safeRead(join(root, "index.html"));
77
+ let indexHtmlTitle = null;
78
+ let indexHtmlOgDescription = null;
79
+ if (indexHtml) {
80
+ const titleMatch = indexHtml.match(/<title>([^<]+)<\/title>/);
81
+ indexHtmlTitle = titleMatch?.[1] ?? null;
82
+ const ogDescMatch = indexHtml.match(/og:description[^>]+content="([^"]+)"/);
83
+ indexHtmlOgDescription = ogDescMatch?.[1] ?? null;
84
+ }
85
+ const serverJson = safeRead(join(root, "packages", "mcp-local", "server.json"));
86
+ let serverJsonDescription = null;
87
+ if (serverJson) {
88
+ try {
89
+ serverJsonDescription = JSON.parse(serverJson).description ?? null;
90
+ }
91
+ catch { /* ignore */ }
92
+ }
93
+ const readme = safeRead(join(root, "packages", "mcp-local", "README.md"));
94
+ const readmeTagline = readme
95
+ ? (readme.match(/\*\*([^*]+)\*\*/)?.[1] ?? null)
96
+ : null;
97
+ // ── Session memory (SQLite) ───────────────────────────────────
98
+ let recentActions = [];
99
+ let recentMilestones = [];
100
+ let totalActions7d = 0;
101
+ let totalMilestones7d = 0;
102
+ try {
103
+ const db = getDb();
104
+ const sevenDaysAgo = new Date(Date.now() - daysBack * 86_400_000).toISOString().slice(0, 10);
105
+ const actions = db.prepare(`SELECT action, category, impactLevel, timestamp FROM tracking_actions
106
+ WHERE date(timestamp) >= ? ORDER BY timestamp DESC LIMIT 20`).all(sevenDaysAgo);
107
+ recentActions = actions.map((a) => ({
108
+ action: a.action, category: a.category, impact: a.impactLevel, timestamp: a.timestamp,
109
+ }));
110
+ const milestones = db.prepare(`SELECT title, category, timestamp FROM tracking_milestones
111
+ WHERE date(timestamp) >= ? ORDER BY timestamp DESC LIMIT 10`).all(sevenDaysAgo);
112
+ recentMilestones = milestones.map((m) => ({
113
+ title: m.title, category: m.category, timestamp: m.timestamp,
114
+ }));
115
+ totalActions7d = db.prepare(`SELECT COUNT(*) as c FROM tracking_actions WHERE date(timestamp) >= ?`).get(sevenDaysAgo)?.c ?? 0;
116
+ totalMilestones7d = db.prepare(`SELECT COUNT(*) as c FROM tracking_milestones WHERE date(timestamp) >= ?`).get(sevenDaysAgo)?.c ?? 0;
117
+ }
118
+ catch {
119
+ // SQLite tables may not exist yet — that's fine
120
+ }
121
+ // ── Dogfood findings ──────────────────────────────────────────
122
+ const docsDir = join(root, "docs");
123
+ let latestDogfoodFile = null;
124
+ let dogfoodVerdict = null;
125
+ let p0Count = 0;
126
+ let p1Count = 0;
127
+ const dogfoodFindings = [];
128
+ try {
129
+ const files = safeExec(`ls -1t "${docsDir}"/dogfood-findings-*.json 2>/dev/null || echo ""`, root)
130
+ .split("\n")
131
+ .filter(Boolean);
132
+ if (files.length > 0) {
133
+ latestDogfoodFile = files[0];
134
+ const content = safeRead(files[0]);
135
+ if (content) {
136
+ const parsed = JSON.parse(content);
137
+ dogfoodVerdict = parsed.verdict ?? null;
138
+ const allFindings = parsed.runs?.flatMap((r) => r.findings ?? []) ?? parsed.global_findings ?? [];
139
+ for (const f of allFindings) {
140
+ if (f.severity === "P0")
141
+ p0Count++;
142
+ if (f.severity === "P1")
143
+ p1Count++;
144
+ dogfoodFindings.push(`[${f.severity}] ${f.description?.slice(0, 120) ?? f.title?.slice(0, 120) ?? "unknown"}`);
145
+ }
146
+ }
147
+ }
148
+ }
149
+ catch { /* ignore */ }
150
+ // ── Architecture docs ─────────────────────────────────────────
151
+ const archDir = join(root, "docs", "architecture");
152
+ const architectureDocs = [];
153
+ try {
154
+ const archFiles = safeExec(`ls -1t "${archDir}"/*.md 2>/dev/null | head -10`, root)
155
+ .split("\n")
156
+ .filter(Boolean);
157
+ for (const f of archFiles) {
158
+ const name = f.split("/").pop() ?? f;
159
+ architectureDocs.push(name);
160
+ }
161
+ }
162
+ catch { /* ignore */ }
163
+ const prd = safeRead(join(archDir, "NODEBENCH_AI_APP_PRD_V1.md"));
164
+ const prdSnippet = prd ? prd.split("\n").slice(0, 12).join("\n") : null;
165
+ const runbook = safeRead(join(archDir, "DOGFOOD_RUNBOOK_V1.md"));
166
+ const dogfoodRunbookSnippet = runbook ? runbook.split("\n").slice(0, 12).join("\n") : null;
167
+ return {
168
+ identity: { projectRoot: root, claudeMdSnippet, packageName, packageVersion },
169
+ recentChanges: { gitLogOneline: gitLog.split("\n").filter(Boolean), gitDiffStat, modifiedFiles, daysBack },
170
+ publicSurfaces: { indexHtmlTitle, indexHtmlOgDescription, serverJsonDescription, readmeTagline },
171
+ sessionMemory: { recentActions, recentMilestones, totalActions7d, totalMilestones7d },
172
+ dogfoodFindings: { latestFile: latestDogfoodFile, verdict: dogfoodVerdict, p0Count, p1Count, findings: dogfoodFindings },
173
+ docs: { prdSnippet, dogfoodRunbookSnippet, architectureDocs },
174
+ };
175
+ }
176
+ /* ─── Tool 2: founder_local_synthesize ───────────────────────────────────── */
177
+ function synthesizePacket(ctx, packetType) {
178
+ const packetId = genId("pkt");
179
+ // ── Extract identity from CLAUDE.md ───────────────────────────
180
+ const claudeMd = ctx.identity.claudeMdSnippet ?? "";
181
+ let canonicalMission = "Unknown";
182
+ let wedge = "Unknown";
183
+ // Parse the overview line from CLAUDE.md
184
+ const overviewMatch = claudeMd.match(/NodeBench\s*[—–-]\s*(.+?)(?:\.\s|$)/m);
185
+ if (overviewMatch) {
186
+ canonicalMission = overviewMatch[1].trim();
187
+ }
188
+ const toolCountMatch = claudeMd.match(/(\d+)-tool/);
189
+ if (toolCountMatch) {
190
+ wedge = `${toolCountMatch[1]}-tool MCP server with entity intelligence`;
191
+ }
192
+ // ── Detect what changed from git ──────────────────────────────
193
+ const whatChanged = ctx.recentChanges.gitLogOneline.slice(0, 8).map((line) => {
194
+ const hash = line.slice(0, 8);
195
+ const msg = line.slice(9);
196
+ return { description: msg, date: "this week", source: `git:${hash}` };
197
+ });
198
+ // ── Detect contradictions ─────────────────────────────────────
199
+ const contradictions = [];
200
+ // Check: CLAUDE.md mission vs index.html title
201
+ if (ctx.publicSurfaces.indexHtmlTitle && canonicalMission) {
202
+ const titleLower = ctx.publicSurfaces.indexHtmlTitle.toLowerCase();
203
+ const missionLower = canonicalMission.toLowerCase();
204
+ // Simple word overlap check
205
+ const missionWords = new Set(missionLower.split(/\s+/).filter(w => w.length > 3));
206
+ const titleWords = new Set(titleLower.split(/\s+/).filter(w => w.length > 3));
207
+ const overlap = [...missionWords].filter(w => titleWords.has(w)).length;
208
+ if (overlap < 2) {
209
+ contradictions.push({
210
+ claim: `CLAUDE.md says: "${canonicalMission}"`,
211
+ evidence: `index.html title says: "${ctx.publicSurfaces.indexHtmlTitle}"`,
212
+ severity: "medium",
213
+ });
214
+ }
215
+ }
216
+ // Check: server.json vs README tagline alignment
217
+ if (ctx.publicSurfaces.serverJsonDescription && ctx.publicSurfaces.readmeTagline) {
218
+ const sjLower = ctx.publicSurfaces.serverJsonDescription.toLowerCase();
219
+ const rdLower = ctx.publicSurfaces.readmeTagline.toLowerCase();
220
+ if (!sjLower.includes("entity") && rdLower.includes("entity")) {
221
+ contradictions.push({
222
+ claim: "README positions as entity intelligence",
223
+ evidence: `server.json description doesn't mention 'entity': "${ctx.publicSurfaces.serverJsonDescription.slice(0, 80)}..."`,
224
+ severity: "low",
225
+ });
226
+ }
227
+ }
228
+ // Check: dogfood findings indicate unresolved P0s
229
+ if (ctx.dogfoodFindings.p0Count > 0) {
230
+ contradictions.push({
231
+ claim: `${ctx.dogfoodFindings.p0Count} P0 dogfood findings unresolved`,
232
+ evidence: ctx.dogfoodFindings.findings.filter(f => f.startsWith("[P0]")).join("; "),
233
+ severity: "high",
234
+ });
235
+ }
236
+ // Check: many surfaces but few tracked actions (building without proving)
237
+ if (ctx.recentChanges.modifiedFiles.length > 20 && ctx.sessionMemory.totalActions7d < 5) {
238
+ contradictions.push({
239
+ claim: `${ctx.recentChanges.modifiedFiles.length} files modified this week but only ${ctx.sessionMemory.totalActions7d} tracked actions`,
240
+ evidence: "Building is outpacing tracking — habits may not be proven yet",
241
+ severity: "medium",
242
+ });
243
+ }
244
+ // ── Rank next actions from dogfood + changes ──────────────────
245
+ const nextActions = [];
246
+ let priority = 1;
247
+ // P0 dogfood findings become top actions
248
+ for (const finding of ctx.dogfoodFindings.findings.filter(f => f.startsWith("[P0]"))) {
249
+ nextActions.push({
250
+ action: `Fix: ${finding.replace("[P0] ", "").slice(0, 100)}`,
251
+ priority: priority++,
252
+ reasoning: "P0 dogfood finding — blocks core habit loop",
253
+ });
254
+ }
255
+ // P1 dogfood findings next
256
+ for (const finding of ctx.dogfoodFindings.findings.filter(f => f.startsWith("[P1]")).slice(0, 3)) {
257
+ nextActions.push({
258
+ action: `Fix: ${finding.replace("[P1] ", "").slice(0, 100)}`,
259
+ priority: priority++,
260
+ reasoning: "P1 dogfood finding — degrades tool reliability",
261
+ });
262
+ }
263
+ // If few actions, add defaults
264
+ if (nextActions.length < 3) {
265
+ if (contradictions.length > 0) {
266
+ nextActions.push({
267
+ action: "Resolve top contradiction: " + contradictions[0].claim.slice(0, 80),
268
+ priority: priority++,
269
+ reasoning: "Unresolved contradiction weakens canonical truth",
270
+ });
271
+ }
272
+ nextActions.push({
273
+ action: "Run full dogfood cycle (13 scenarios) and log pass/fail",
274
+ priority: priority++,
275
+ reasoning: "Proves the three core habits work end-to-end",
276
+ });
277
+ nextActions.push({
278
+ action: "Publish updated package with fixed tracking tools and local pipeline",
279
+ priority: priority++,
280
+ reasoning: "Public package should match internal capabilities",
281
+ });
282
+ }
283
+ // ── Signals from git activity ─────────────────────────────────
284
+ const signals = [];
285
+ const commitCount = ctx.recentChanges.gitLogOneline.length;
286
+ signals.push({
287
+ name: `${commitCount} commits in last ${ctx.recentChanges.daysBack} days`,
288
+ direction: commitCount > 5 ? "up" : commitCount > 0 ? "neutral" : "down",
289
+ impact: "medium",
290
+ });
291
+ signals.push({
292
+ name: `${ctx.recentChanges.modifiedFiles.length} files modified`,
293
+ direction: ctx.recentChanges.modifiedFiles.length > 10 ? "up" : "neutral",
294
+ impact: "medium",
295
+ });
296
+ signals.push({
297
+ name: `${ctx.sessionMemory.totalActions7d} tracked actions / ${ctx.sessionMemory.totalMilestones7d} milestones`,
298
+ direction: ctx.sessionMemory.totalActions7d > 5 ? "up" : "neutral",
299
+ impact: "high",
300
+ });
301
+ if (ctx.dogfoodFindings.verdict) {
302
+ signals.push({
303
+ name: `Dogfood verdict: ${ctx.dogfoodFindings.verdict.slice(0, 60)}`,
304
+ direction: ctx.dogfoodFindings.verdict.toLowerCase().includes("pass") ? "up" : "down",
305
+ impact: "high",
306
+ });
307
+ }
308
+ // ── Public narrative check ────────────────────────────────────
309
+ const publicMismatches = [];
310
+ if (ctx.publicSurfaces.indexHtmlTitle && !ctx.publicSurfaces.indexHtmlTitle.toLowerCase().includes("entity")) {
311
+ publicMismatches.push(`index.html title doesn't mention 'entity intelligence': "${ctx.publicSurfaces.indexHtmlTitle}"`);
312
+ }
313
+ if (ctx.publicSurfaces.serverJsonDescription && ctx.publicSurfaces.serverJsonDescription.includes("304")) {
314
+ publicMismatches.push("server.json still references '304' tools");
315
+ }
316
+ if (ctx.publicSurfaces.readmeTagline && ctx.publicSurfaces.readmeTagline.includes("Operating intelligence")) {
317
+ publicMismatches.push("README still uses 'Operating intelligence' instead of 'Entity intelligence'");
318
+ }
319
+ // ── Generate memo ─────────────────────────────────────────────
320
+ const memoLines = [
321
+ `# NodeBench Founder Weekly Reset`,
322
+ `**Generated:** ${new Date().toISOString().slice(0, 10)} by founder_local_pipeline`,
323
+ `**Package:** ${ctx.identity.packageName}@${ctx.identity.packageVersion}`,
324
+ ``,
325
+ `## What We Are Building`,
326
+ canonicalMission,
327
+ ``,
328
+ `## What Changed This Week`,
329
+ ...whatChanged.slice(0, 5).map((c, i) => `${i + 1}. ${c.description}`),
330
+ ``,
331
+ `## Contradictions (${contradictions.length})`,
332
+ ...contradictions.map((c) => `- **[${c.severity}]** ${c.claim}\n Evidence: ${c.evidence}`),
333
+ ``,
334
+ `## Next 3 Moves`,
335
+ ...nextActions.slice(0, 3).map((a) => `${a.priority}. **${a.action}**\n ${a.reasoning}`),
336
+ ``,
337
+ `## Signals`,
338
+ ...signals.map((s) => `- ${s.direction === "up" ? "+" : s.direction === "down" ? "-" : "="} ${s.name} (${s.impact})`),
339
+ ``,
340
+ `## Public Narrative`,
341
+ publicMismatches.length === 0
342
+ ? "All public surfaces aligned with internal thesis."
343
+ : publicMismatches.map((m) => `- MISMATCH: ${m}`).join("\n"),
344
+ ``,
345
+ `## Session Memory`,
346
+ `- ${ctx.sessionMemory.totalActions7d} actions tracked / ${ctx.sessionMemory.totalMilestones7d} milestones in last 7 days`,
347
+ `- Dogfood: ${ctx.dogfoodFindings.verdict ?? "no runs yet"}`,
348
+ ];
349
+ return {
350
+ packetId,
351
+ packetType,
352
+ generatedAt: new Date().toISOString(),
353
+ generatedBy: "founder_local_pipeline",
354
+ canonicalEntity: {
355
+ name: "NodeBench",
356
+ canonicalMission,
357
+ wedge,
358
+ companyState: "building",
359
+ identityConfidence: contradictions.length === 0 ? 85 : Math.max(50, 85 - contradictions.length * 10),
360
+ },
361
+ whatChanged,
362
+ contradictions,
363
+ nextActions,
364
+ signals,
365
+ publicNarrativeCheck: {
366
+ aligned: publicMismatches.length === 0,
367
+ mismatches: publicMismatches,
368
+ },
369
+ sessionStats: {
370
+ actionsTracked7d: ctx.sessionMemory.totalActions7d,
371
+ milestonesTracked7d: ctx.sessionMemory.totalMilestones7d,
372
+ dogfoodVerdict: ctx.dogfoodFindings.verdict,
373
+ },
374
+ memo: memoLines.join("\n"),
375
+ };
376
+ }
377
+ /* ─── Exported Tools ─────────────────────────────────────────────────────── */
378
+ export const founderLocalPipelineTools = [
379
+ {
380
+ name: "founder_local_gather",
381
+ description: "Gathers all locally-available context for a founder packet: git log, " +
382
+ "CLAUDE.md identity, public surface state (index.html, server.json, README), " +
383
+ "SQLite session memory (tracked actions + milestones), dogfood findings, and " +
384
+ "architecture docs. Returns structured GatheredContext. No Convex or external " +
385
+ "APIs required. Use this as the first step of a local intelligence pipeline.",
386
+ inputSchema: {
387
+ type: "object",
388
+ properties: {
389
+ daysBack: {
390
+ type: "number",
391
+ description: "How many days of history to gather (default: 7)",
392
+ },
393
+ },
394
+ },
395
+ annotations: { readOnlyHint: true },
396
+ handler: async (args) => {
397
+ const ctx = gatherLocalContext(args.daysBack ?? 7);
398
+ return {
399
+ gathered: true,
400
+ identity: ctx.identity,
401
+ recentChanges: {
402
+ commitCount: ctx.recentChanges.gitLogOneline.length,
403
+ modifiedFileCount: ctx.recentChanges.modifiedFiles.length,
404
+ daysBack: ctx.recentChanges.daysBack,
405
+ topCommits: ctx.recentChanges.gitLogOneline.slice(0, 5),
406
+ },
407
+ publicSurfaces: ctx.publicSurfaces,
408
+ sessionMemory: {
409
+ actions7d: ctx.sessionMemory.totalActions7d,
410
+ milestones7d: ctx.sessionMemory.totalMilestones7d,
411
+ recentActions: ctx.sessionMemory.recentActions.slice(0, 5),
412
+ },
413
+ dogfoodFindings: {
414
+ verdict: ctx.dogfoodFindings.verdict,
415
+ p0: ctx.dogfoodFindings.p0Count,
416
+ p1: ctx.dogfoodFindings.p1Count,
417
+ topFindings: ctx.dogfoodFindings.findings.slice(0, 5),
418
+ },
419
+ architectureDocs: ctx.docs.architectureDocs.slice(0, 8),
420
+ };
421
+ },
422
+ },
423
+ {
424
+ name: "founder_local_synthesize",
425
+ description: "Takes gathered local context and synthesizes a complete Founder Artifact Packet. " +
426
+ "Detects contradictions between CLAUDE.md identity, public surfaces, and dogfood " +
427
+ "findings. Ranks next actions by dogfood severity. Generates a readable memo. " +
428
+ "No Convex or external APIs required. Call founder_local_gather first, or use " +
429
+ "founder_local_weekly_reset for the full pipeline in one call.",
430
+ inputSchema: {
431
+ type: "object",
432
+ properties: {
433
+ packetType: {
434
+ type: "string",
435
+ enum: ["weekly_reset", "pre_delegation", "important_change"],
436
+ description: "Type of artifact packet to produce",
437
+ },
438
+ daysBack: {
439
+ type: "number",
440
+ description: "How many days of history to include (default: 7)",
441
+ },
442
+ },
443
+ required: ["packetType"],
444
+ },
445
+ handler: async (args) => {
446
+ const packetType = args.packetType;
447
+ const ctx = gatherLocalContext(args.daysBack ?? 7);
448
+ const packet = synthesizePacket(ctx, packetType);
449
+ return packet;
450
+ },
451
+ },
452
+ {
453
+ name: "founder_local_weekly_reset",
454
+ description: "One-call convenience: gathers all local context and produces a complete " +
455
+ "weekly founder reset packet with: canonical truth, what changed (from git), " +
456
+ "contradictions (comparing CLAUDE.md vs public surfaces vs dogfood findings), " +
457
+ "ranked next actions, signals, public narrative alignment check, and a " +
458
+ "human-readable memo. No Convex, no external APIs, no agent loop needed. " +
459
+ "This is the first habit: messy context → canonical truth → change/contradiction " +
460
+ "→ ranked interpretation → Artifact Packet.",
461
+ inputSchema: {
462
+ type: "object",
463
+ properties: {
464
+ daysBack: {
465
+ type: "number",
466
+ description: "How many days of history to include (default: 7)",
467
+ },
468
+ },
469
+ },
470
+ handler: async (args) => {
471
+ const ctx = gatherLocalContext(args.daysBack ?? 7);
472
+ const packet = synthesizePacket(ctx, "weekly_reset");
473
+ // Also track this as a milestone
474
+ try {
475
+ const db = getDb();
476
+ const now = new Date();
477
+ const m = now.getMonth() + 1;
478
+ const y = now.getFullYear();
479
+ const dayNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
480
+ db.prepare(`INSERT OR IGNORE INTO tracking_milestones
481
+ (milestoneId, sessionId, timestamp, title, description, category, evidence, metrics, dayOfWeek, weekNumber, month, quarter, year)
482
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(packet.packetId, `pipeline_${Date.now()}`, now.toISOString(), "Weekly founder reset generated", `Contradictions: ${packet.contradictions.length}, Next actions: ${packet.nextActions.length}, Signals: ${packet.signals.length}`, "dogfood", null, JSON.stringify({ contradictions: packet.contradictions.length, nextActions: packet.nextActions.length }), dayNames[now.getDay()], Math.ceil((now.getTime() - new Date(y, 0, 1).getTime()) / 604800000), `${y}-${String(m).padStart(2, "0")}`, `${y}-Q${Math.ceil(m / 3)}`, y);
483
+ }
484
+ catch {
485
+ // Non-fatal — packet is the primary output
486
+ }
487
+ return packet;
488
+ },
489
+ },
490
+ ];
491
+ //# sourceMappingURL=founderLocalPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"founderLocalPipeline.js","sourceRoot":"","sources":["../../src/tools/founderLocalPipeline.ts"],"names":[],"mappings":"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"}