nodebench-mcp 2.69.0 → 3.0.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.
Files changed (214) hide show
  1. package/README.md +95 -39
  2. package/dist/agents/alertRouter.d.ts +38 -0
  3. package/dist/agents/alertRouter.js +151 -0
  4. package/dist/agents/alertRouter.js.map +1 -0
  5. package/dist/agents/entityMemory.d.ts +40 -0
  6. package/dist/agents/entityMemory.js +64 -0
  7. package/dist/agents/entityMemory.js.map +1 -0
  8. package/dist/agents/subAgents.d.ts +35 -0
  9. package/dist/agents/subAgents.js +62 -0
  10. package/dist/agents/subAgents.js.map +1 -0
  11. package/dist/benchmarks/benchmarkRunner.js +14 -0
  12. package/dist/benchmarks/benchmarkRunner.js.map +1 -1
  13. package/dist/benchmarks/chainEval.js +107 -0
  14. package/dist/benchmarks/chainEval.js.map +1 -1
  15. package/dist/benchmarks/llmJudgeEval.js +85 -0
  16. package/dist/benchmarks/llmJudgeEval.js.map +1 -1
  17. package/dist/benchmarks/searchQualityEval.js +118 -5
  18. package/dist/benchmarks/searchQualityEval.js.map +1 -1
  19. package/dist/cli/search.d.ts +13 -0
  20. package/dist/cli/search.js +130 -0
  21. package/dist/cli/search.js.map +1 -0
  22. package/dist/db.d.ts +6 -2
  23. package/dist/db.js +470 -3
  24. package/dist/db.js.map +1 -1
  25. package/dist/index.js +349 -64
  26. package/dist/index.js.map +1 -1
  27. package/dist/profiler/behaviorStore.d.ts +97 -0
  28. package/dist/profiler/behaviorStore.js +276 -0
  29. package/dist/profiler/behaviorStore.js.map +1 -0
  30. package/dist/profiler/eventCollector.d.ts +119 -0
  31. package/dist/profiler/eventCollector.js +267 -0
  32. package/dist/profiler/eventCollector.js.map +1 -0
  33. package/dist/profiler/index.d.ts +15 -0
  34. package/dist/profiler/index.js +16 -0
  35. package/dist/profiler/index.js.map +1 -0
  36. package/dist/profiler/mcpProxy.d.ts +49 -0
  37. package/dist/profiler/mcpProxy.js +123 -0
  38. package/dist/profiler/mcpProxy.js.map +1 -0
  39. package/dist/profiler/modelRouter.d.ts +30 -0
  40. package/dist/profiler/modelRouter.js +99 -0
  41. package/dist/profiler/modelRouter.js.map +1 -0
  42. package/dist/profiler/otelReceiver.d.ts +17 -0
  43. package/dist/profiler/otelReceiver.js +62 -0
  44. package/dist/profiler/otelReceiver.js.map +1 -0
  45. package/dist/profiler/proofEngine.d.ts +41 -0
  46. package/dist/profiler/proofEngine.js +93 -0
  47. package/dist/profiler/proofEngine.js.map +1 -0
  48. package/dist/profiler/workflowTemplates.d.ts +41 -0
  49. package/dist/profiler/workflowTemplates.js +95 -0
  50. package/dist/profiler/workflowTemplates.js.map +1 -0
  51. package/dist/providers/localMemoryProvider.js +3 -2
  52. package/dist/providers/localMemoryProvider.js.map +1 -1
  53. package/dist/runtimeConfig.d.ts +11 -0
  54. package/dist/runtimeConfig.js +27 -0
  55. package/dist/runtimeConfig.js.map +1 -0
  56. package/dist/security/auditLog.js +8 -3
  57. package/dist/security/auditLog.js.map +1 -1
  58. package/dist/subconscious/blocks.d.ts +43 -0
  59. package/dist/subconscious/blocks.js +158 -0
  60. package/dist/subconscious/blocks.js.map +1 -0
  61. package/dist/subconscious/classifier.d.ts +22 -0
  62. package/dist/subconscious/classifier.js +118 -0
  63. package/dist/subconscious/classifier.js.map +1 -0
  64. package/dist/subconscious/graphEngine.d.ts +65 -0
  65. package/dist/subconscious/graphEngine.js +234 -0
  66. package/dist/subconscious/graphEngine.js.map +1 -0
  67. package/dist/subconscious/index.d.ts +19 -0
  68. package/dist/subconscious/index.js +20 -0
  69. package/dist/subconscious/index.js.map +1 -0
  70. package/dist/subconscious/tools.d.ts +5 -0
  71. package/dist/subconscious/tools.js +255 -0
  72. package/dist/subconscious/tools.js.map +1 -0
  73. package/dist/subconscious/whisperPolicy.d.ts +20 -0
  74. package/dist/subconscious/whisperPolicy.js +171 -0
  75. package/dist/subconscious/whisperPolicy.js.map +1 -0
  76. package/dist/sweep/engine.d.ts +27 -0
  77. package/dist/sweep/engine.js +244 -0
  78. package/dist/sweep/engine.js.map +1 -0
  79. package/dist/sweep/index.d.ts +9 -0
  80. package/dist/sweep/index.js +8 -0
  81. package/dist/sweep/index.js.map +1 -0
  82. package/dist/sweep/sources/github_trending.d.ts +6 -0
  83. package/dist/sweep/sources/github_trending.js +37 -0
  84. package/dist/sweep/sources/github_trending.js.map +1 -0
  85. package/dist/sweep/sources/hackernews.d.ts +7 -0
  86. package/dist/sweep/sources/hackernews.js +57 -0
  87. package/dist/sweep/sources/hackernews.js.map +1 -0
  88. package/dist/sweep/sources/openbb_finance.d.ts +9 -0
  89. package/dist/sweep/sources/openbb_finance.js +46 -0
  90. package/dist/sweep/sources/openbb_finance.js.map +1 -0
  91. package/dist/sweep/sources/producthunt.d.ts +6 -0
  92. package/dist/sweep/sources/producthunt.js +41 -0
  93. package/dist/sweep/sources/producthunt.js.map +1 -0
  94. package/dist/sweep/sources/web_signals.d.ts +7 -0
  95. package/dist/sweep/sources/web_signals.js +63 -0
  96. package/dist/sweep/sources/web_signals.js.map +1 -0
  97. package/dist/sweep/sources/yahoo_finance.d.ts +6 -0
  98. package/dist/sweep/sources/yahoo_finance.js +47 -0
  99. package/dist/sweep/sources/yahoo_finance.js.map +1 -0
  100. package/dist/sweep/types.d.ts +50 -0
  101. package/dist/sweep/types.js +9 -0
  102. package/dist/sweep/types.js.map +1 -0
  103. package/dist/sync/founderEpisodeStore.d.ts +98 -0
  104. package/dist/sync/founderEpisodeStore.js +230 -0
  105. package/dist/sync/founderEpisodeStore.js.map +1 -0
  106. package/dist/sync/hyperloopArchive.d.ts +51 -0
  107. package/dist/sync/hyperloopArchive.js +153 -0
  108. package/dist/sync/hyperloopArchive.js.map +1 -0
  109. package/dist/sync/hyperloopEval.d.ts +123 -0
  110. package/dist/sync/hyperloopEval.js +389 -0
  111. package/dist/sync/hyperloopEval.js.map +1 -0
  112. package/dist/sync/hyperloopEval.test.d.ts +4 -0
  113. package/dist/sync/hyperloopEval.test.js +60 -0
  114. package/dist/sync/hyperloopEval.test.js.map +1 -0
  115. package/dist/sync/protocol.d.ts +172 -0
  116. package/dist/sync/protocol.js +9 -0
  117. package/dist/sync/protocol.js.map +1 -0
  118. package/dist/sync/sessionMemory.d.ts +47 -0
  119. package/dist/sync/sessionMemory.js +138 -0
  120. package/dist/sync/sessionMemory.js.map +1 -0
  121. package/dist/sync/store.d.ts +384 -0
  122. package/dist/sync/store.js +1435 -0
  123. package/dist/sync/store.js.map +1 -0
  124. package/dist/sync/store.test.d.ts +4 -0
  125. package/dist/sync/store.test.js +43 -0
  126. package/dist/sync/store.test.js.map +1 -0
  127. package/dist/sync/syncBridgeClient.d.ts +30 -0
  128. package/dist/sync/syncBridgeClient.js +172 -0
  129. package/dist/sync/syncBridgeClient.js.map +1 -0
  130. package/dist/tools/autonomousDeliveryTools.d.ts +2 -0
  131. package/dist/tools/autonomousDeliveryTools.js +1104 -0
  132. package/dist/tools/autonomousDeliveryTools.js.map +1 -0
  133. package/dist/tools/claudeCodeIngestTools.d.ts +10 -0
  134. package/dist/tools/claudeCodeIngestTools.js +347 -0
  135. package/dist/tools/claudeCodeIngestTools.js.map +1 -0
  136. package/dist/tools/coreWorkflowTools.d.ts +2 -0
  137. package/dist/tools/coreWorkflowTools.js +488 -0
  138. package/dist/tools/coreWorkflowTools.js.map +1 -0
  139. package/dist/tools/deltaTools.d.ts +15 -0
  140. package/dist/tools/deltaTools.js +1522 -0
  141. package/dist/tools/deltaTools.js.map +1 -0
  142. package/dist/tools/entityLookupTools.d.ts +14 -0
  143. package/dist/tools/entityLookupTools.js +159 -0
  144. package/dist/tools/entityLookupTools.js.map +1 -0
  145. package/dist/tools/entityTemporalTools.d.ts +12 -0
  146. package/dist/tools/entityTemporalTools.js +330 -0
  147. package/dist/tools/entityTemporalTools.js.map +1 -0
  148. package/dist/tools/founderLocalPipeline.d.ts +215 -0
  149. package/dist/tools/founderLocalPipeline.js +1516 -2
  150. package/dist/tools/founderLocalPipeline.js.map +1 -1
  151. package/dist/tools/founderOperatingModel.d.ts +120 -0
  152. package/dist/tools/founderOperatingModel.js +469 -0
  153. package/dist/tools/founderOperatingModel.js.map +1 -0
  154. package/dist/tools/founderOperatingModelTools.d.ts +2 -0
  155. package/dist/tools/founderOperatingModelTools.js +169 -0
  156. package/dist/tools/founderOperatingModelTools.js.map +1 -0
  157. package/dist/tools/founderStrategicOpsTools.d.ts +2 -0
  158. package/dist/tools/founderStrategicOpsTools.js +1310 -0
  159. package/dist/tools/founderStrategicOpsTools.js.map +1 -0
  160. package/dist/tools/graphifyTools.d.ts +19 -0
  161. package/dist/tools/graphifyTools.js +375 -0
  162. package/dist/tools/graphifyTools.js.map +1 -0
  163. package/dist/tools/index.d.ts +3 -0
  164. package/dist/tools/index.js +4 -0
  165. package/dist/tools/index.js.map +1 -1
  166. package/dist/tools/monteCarloTools.d.ts +16 -0
  167. package/dist/tools/monteCarloTools.js +225 -0
  168. package/dist/tools/monteCarloTools.js.map +1 -0
  169. package/dist/tools/packetCompilerTools.d.ts +12 -0
  170. package/dist/tools/packetCompilerTools.js +322 -0
  171. package/dist/tools/packetCompilerTools.js.map +1 -0
  172. package/dist/tools/planSynthesisTools.d.ts +15 -0
  173. package/dist/tools/planSynthesisTools.js +455 -0
  174. package/dist/tools/planSynthesisTools.js.map +1 -0
  175. package/dist/tools/profilerTools.d.ts +20 -0
  176. package/dist/tools/profilerTools.js +364 -0
  177. package/dist/tools/profilerTools.js.map +1 -0
  178. package/dist/tools/savingsTools.d.ts +11 -0
  179. package/dist/tools/savingsTools.js +155 -0
  180. package/dist/tools/savingsTools.js.map +1 -0
  181. package/dist/tools/scenarioCompilerTools.d.ts +14 -0
  182. package/dist/tools/scenarioCompilerTools.js +290 -0
  183. package/dist/tools/scenarioCompilerTools.js.map +1 -0
  184. package/dist/tools/sharedContextTools.d.ts +2 -0
  185. package/dist/tools/sharedContextTools.js +423 -0
  186. package/dist/tools/sharedContextTools.js.map +1 -0
  187. package/dist/tools/sitemapTools.d.ts +15 -0
  188. package/dist/tools/sitemapTools.js +560 -0
  189. package/dist/tools/sitemapTools.js.map +1 -0
  190. package/dist/tools/sweepTools.d.ts +9 -0
  191. package/dist/tools/sweepTools.js +112 -0
  192. package/dist/tools/sweepTools.js.map +1 -0
  193. package/dist/tools/syncBridgeTools.d.ts +2 -0
  194. package/dist/tools/syncBridgeTools.js +258 -0
  195. package/dist/tools/syncBridgeTools.js.map +1 -0
  196. package/dist/tools/toolRegistry.js +1216 -49
  197. package/dist/tools/toolRegistry.js.map +1 -1
  198. package/dist/tools/workspaceTools.d.ts +19 -0
  199. package/dist/tools/workspaceTools.js +762 -0
  200. package/dist/tools/workspaceTools.js.map +1 -0
  201. package/dist/toolsetRegistry.js +88 -2
  202. package/dist/toolsetRegistry.js.map +1 -1
  203. package/package.json +36 -36
  204. package/rules/nodebench-agentic-reliability.md +32 -0
  205. package/rules/nodebench-analyst-diagnostic.md +25 -0
  206. package/rules/nodebench-auto-qa.md +31 -0
  207. package/rules/nodebench-completion-traceability.md +22 -0
  208. package/rules/nodebench-flywheel-continuous.md +25 -0
  209. package/rules/nodebench-pre-release-review.md +24 -0
  210. package/rules/nodebench-qa-dogfood.md +26 -0
  211. package/rules/nodebench-scenario-testing.md +30 -0
  212. package/rules/nodebench-self-direction.md +23 -0
  213. package/rules/nodebench-self-judge-loop.md +24 -0
  214. package/scripts/install.sh +215 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"founderEpisodeStore.js","sourceRoot":"","sources":["../../src/sync/founderEpisodeStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * hyperloopArchive.ts — Archive of historically successful variants.
3
+ *
4
+ * Meta HyperAgent pattern: keep a population of successful variants
5
+ * as stepping stones for improvement. Each entry is a packet template,
6
+ * workflow path, routing policy, or signal recipe that worked.
7
+ *
8
+ * SQLite-backed. Bounded (MAX_ARCHIVE entries with eviction by lowest score).
9
+ */
10
+ export type ArchiveEntryType = "packet_template" | "workflow_path" | "routing_policy" | "signal_recipe" | "export_adapter" | "delegation_shape";
11
+ export type ArchiveEntryStatus = "candidate" | "validated" | "promoted" | "retired";
12
+ export interface ArchiveEntry {
13
+ id: string;
14
+ type: ArchiveEntryType;
15
+ name: string;
16
+ description: string;
17
+ content: string;
18
+ sourceEpisodeId: string;
19
+ sourceQuery: string;
20
+ sourceLens: string;
21
+ sourceEntity: string | null;
22
+ evidenceCoverage: number;
23
+ contradictionsCaught: number;
24
+ userEditDistance: number;
25
+ wasExported: boolean;
26
+ wasDelegated: boolean;
27
+ qualityScore: number;
28
+ improvementDelta: number;
29
+ status: ArchiveEntryStatus;
30
+ usageCount: number;
31
+ createdAt: string;
32
+ updatedAt: string;
33
+ }
34
+ export declare function initHyperloopTables(): void;
35
+ export declare function addArchiveEntry(entry: Omit<ArchiveEntry, "id" | "status" | "usageCount" | "updatedAt">): ArchiveEntry;
36
+ /** Find the best archive entry for a given type + query context. */
37
+ export declare function lookupBestVariant(type: ArchiveEntryType, lens?: string, entity?: string): ArchiveEntry | null;
38
+ /** Validate entries that meet thresholds. Promotion is human-gated in Convex. */
39
+ export declare function runPromotionCycle(): {
40
+ promoted: number;
41
+ validated: number;
42
+ };
43
+ /** Get archive stats. */
44
+ export declare function getArchiveStats(): {
45
+ total: number;
46
+ byType: Record<string, number>;
47
+ byStatus: Record<string, number>;
48
+ avgQuality: number;
49
+ };
50
+ /** List top archive entries. */
51
+ export declare function listTopEntries(type?: ArchiveEntryType, limit?: number): ArchiveEntry[];
@@ -0,0 +1,153 @@
1
+ /**
2
+ * hyperloopArchive.ts — Archive of historically successful variants.
3
+ *
4
+ * Meta HyperAgent pattern: keep a population of successful variants
5
+ * as stepping stones for improvement. Each entry is a packet template,
6
+ * workflow path, routing policy, or signal recipe that worked.
7
+ *
8
+ * SQLite-backed. Bounded (MAX_ARCHIVE entries with eviction by lowest score).
9
+ */
10
+ import { getDb, genId } from "../db.js";
11
+ // ─── Constants ───────────────────────────────────────────────────
12
+ const MAX_ARCHIVE = 200;
13
+ const PROMOTE_USAGE_THRESHOLD = 5;
14
+ const VALIDATE_USAGE_THRESHOLD = 3;
15
+ const PROMOTE_QUALITY_THRESHOLD = 0.7;
16
+ // ─── Schema init ─────────────────────────────────────────────────
17
+ export function initHyperloopTables() {
18
+ const db = getDb();
19
+ db.exec(`
20
+ CREATE TABLE IF NOT EXISTS hyperloop_archive (
21
+ id TEXT PRIMARY KEY,
22
+ type TEXT NOT NULL,
23
+ name TEXT NOT NULL,
24
+ description TEXT NOT NULL,
25
+ content TEXT NOT NULL,
26
+ source_episode_id TEXT NOT NULL,
27
+ source_query TEXT NOT NULL,
28
+ source_lens TEXT NOT NULL,
29
+ source_entity TEXT,
30
+ evidence_coverage REAL NOT NULL DEFAULT 0,
31
+ contradictions_caught INTEGER NOT NULL DEFAULT 0,
32
+ user_edit_distance REAL NOT NULL DEFAULT 1,
33
+ was_exported INTEGER NOT NULL DEFAULT 0,
34
+ was_delegated INTEGER NOT NULL DEFAULT 0,
35
+ quality_score REAL NOT NULL DEFAULT 0,
36
+ improvement_delta REAL NOT NULL DEFAULT 0,
37
+ status TEXT NOT NULL DEFAULT 'candidate',
38
+ usage_count INTEGER NOT NULL DEFAULT 0,
39
+ created_at TEXT NOT NULL,
40
+ updated_at TEXT NOT NULL
41
+ );
42
+
43
+ CREATE INDEX IF NOT EXISTS idx_archive_type_status ON hyperloop_archive(type, status);
44
+ CREATE INDEX IF NOT EXISTS idx_archive_quality ON hyperloop_archive(quality_score DESC);
45
+ CREATE INDEX IF NOT EXISTS idx_archive_type_quality ON hyperloop_archive(type, quality_score DESC);
46
+ `);
47
+ }
48
+ // ─── CRUD ────────────────────────────────────────────────────────
49
+ export function addArchiveEntry(entry) {
50
+ const db = getDb();
51
+ initHyperloopTables();
52
+ const id = genId("hyp");
53
+ const now = new Date().toISOString();
54
+ // Bounded: evict lowest quality if over limit
55
+ const countRow = db.prepare("SELECT COUNT(*) as cnt FROM hyperloop_archive").get();
56
+ if ((countRow?.cnt ?? 0) >= MAX_ARCHIVE) {
57
+ db.prepare("DELETE FROM hyperloop_archive WHERE id IN (SELECT id FROM hyperloop_archive WHERE status = 'candidate' ORDER BY quality_score ASC LIMIT 10)").run();
58
+ }
59
+ db.prepare(`
60
+ INSERT INTO hyperloop_archive (id, type, name, description, content, source_episode_id, source_query, source_lens, source_entity, evidence_coverage, contradictions_caught, user_edit_distance, was_exported, was_delegated, quality_score, improvement_delta, status, usage_count, created_at, updated_at)
61
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'candidate', 0, ?, ?)
62
+ `).run(id, entry.type, entry.name, entry.description, entry.content, entry.sourceEpisodeId, entry.sourceQuery, entry.sourceLens, entry.sourceEntity ?? null, entry.evidenceCoverage, entry.contradictionsCaught, entry.userEditDistance, entry.wasExported ? 1 : 0, entry.wasDelegated ? 1 : 0, entry.qualityScore, entry.improvementDelta, entry.createdAt, now);
63
+ return { ...entry, id, status: "candidate", usageCount: 0, updatedAt: now };
64
+ }
65
+ /** Find the best archive entry for a given type + query context. */
66
+ export function lookupBestVariant(type, lens, entity) {
67
+ const db = getDb();
68
+ initHyperloopTables();
69
+ // Prefer promoted > validated > candidate. Match lens/entity if possible.
70
+ let row = null;
71
+ if (entity) {
72
+ row = db.prepare("SELECT * FROM hyperloop_archive WHERE type = ? AND status = 'promoted' AND source_entity = ? ORDER BY quality_score DESC LIMIT 1").get(type, entity);
73
+ }
74
+ if (!row && lens) {
75
+ row = db.prepare("SELECT * FROM hyperloop_archive WHERE type = ? AND status = 'promoted' AND source_lens = ? ORDER BY quality_score DESC LIMIT 1").get(type, lens);
76
+ }
77
+ if (!row) {
78
+ row = db.prepare("SELECT * FROM hyperloop_archive WHERE type = ? AND status IN ('promoted', 'validated') ORDER BY quality_score DESC LIMIT 1").get(type);
79
+ }
80
+ if (!row)
81
+ return null;
82
+ // Increment usage count
83
+ db.prepare("UPDATE hyperloop_archive SET usage_count = usage_count + 1, updated_at = ? WHERE id = ?")
84
+ .run(new Date().toISOString(), row.id);
85
+ return rowToEntry(row);
86
+ }
87
+ /** Validate entries that meet thresholds. Promotion is human-gated in Convex. */
88
+ export function runPromotionCycle() {
89
+ const db = getDb();
90
+ initHyperloopTables();
91
+ // Candidate → Validated: usage >= 3, quality > 0.6
92
+ const validated = db.prepare("UPDATE hyperloop_archive SET status = 'validated', updated_at = ? WHERE status = 'candidate' AND usage_count >= ? AND quality_score > 0.6").run(new Date().toISOString(), VALIDATE_USAGE_THRESHOLD);
93
+ // Validated → Promoted: usage >= 5, quality > 0.7, improvement_delta > 0
94
+ // Promotion is deliberately not automatic here. Use the Convex HyperLoop
95
+ // promotion mutation so reviewer id and deterministic gates are preserved.
96
+ const promoted = { changes: 0 };
97
+ return {
98
+ promoted: promoted.changes,
99
+ validated: validated.changes,
100
+ };
101
+ }
102
+ /** Get archive stats. */
103
+ export function getArchiveStats() {
104
+ const db = getDb();
105
+ initHyperloopTables();
106
+ const total = db.prepare("SELECT COUNT(*) as cnt FROM hyperloop_archive").get()?.cnt ?? 0;
107
+ const typeRows = db.prepare("SELECT type, COUNT(*) as cnt FROM hyperloop_archive GROUP BY type").all();
108
+ const byType = {};
109
+ for (const r of typeRows)
110
+ byType[r.type] = r.cnt;
111
+ const statusRows = db.prepare("SELECT status, COUNT(*) as cnt FROM hyperloop_archive GROUP BY status").all();
112
+ const byStatus = {};
113
+ for (const r of statusRows)
114
+ byStatus[r.status] = r.cnt;
115
+ const avgRow = db.prepare("SELECT AVG(quality_score) as avg FROM hyperloop_archive").get();
116
+ const avgQuality = avgRow?.avg ?? 0;
117
+ return { total, byType, byStatus, avgQuality: Math.round(avgQuality * 100) / 100 };
118
+ }
119
+ /** List top archive entries. */
120
+ export function listTopEntries(type, limit = 10) {
121
+ const db = getDb();
122
+ initHyperloopTables();
123
+ const rows = type
124
+ ? db.prepare("SELECT * FROM hyperloop_archive WHERE type = ? ORDER BY quality_score DESC LIMIT ?").all(type, limit)
125
+ : db.prepare("SELECT * FROM hyperloop_archive ORDER BY quality_score DESC LIMIT ?").all(limit);
126
+ return rows.map(rowToEntry);
127
+ }
128
+ // ─── Helpers ─────────────────────────────────────────────────────
129
+ function rowToEntry(row) {
130
+ return {
131
+ id: row.id,
132
+ type: row.type,
133
+ name: row.name,
134
+ description: row.description,
135
+ content: row.content,
136
+ sourceEpisodeId: row.source_episode_id,
137
+ sourceQuery: row.source_query,
138
+ sourceLens: row.source_lens,
139
+ sourceEntity: row.source_entity,
140
+ evidenceCoverage: row.evidence_coverage,
141
+ contradictionsCaught: row.contradictions_caught,
142
+ userEditDistance: row.user_edit_distance,
143
+ wasExported: !!row.was_exported,
144
+ wasDelegated: !!row.was_delegated,
145
+ qualityScore: row.quality_score,
146
+ improvementDelta: row.improvement_delta,
147
+ status: row.status,
148
+ usageCount: row.usage_count,
149
+ createdAt: row.created_at,
150
+ updatedAt: row.updated_at,
151
+ };
152
+ }
153
+ //# sourceMappingURL=hyperloopArchive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperloopArchive.js","sourceRoot":"","sources":["../../src/sync/hyperloopArchive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * hyperloopEval.ts — Per-task evaluation metrics + improvement@k tracking.
3
+ *
4
+ * Runs after every task to compute quality metrics.
5
+ * Compares against archive reference variant to compute improvement delta.
6
+ * Tracks improvement@k across generations for cross-domain transfer measurement.
7
+ */
8
+ export interface TaskEvaluation {
9
+ evalId: string;
10
+ episodeId: string;
11
+ query: string;
12
+ lens: string;
13
+ entity: string | null;
14
+ classification: string;
15
+ evidenceCoverage: number;
16
+ contradictionRate: number;
17
+ groundingRate: number;
18
+ userEditDistance: number;
19
+ wasExported: boolean;
20
+ wasDelegated: boolean;
21
+ latencyMs: number;
22
+ costUsd: number;
23
+ toolCallCount: number;
24
+ qualityScore: number;
25
+ rubricVersion: string;
26
+ scoreComponents: HyperloopScoreComponent[];
27
+ gates: HyperloopGateResult[];
28
+ policyAction: "archive_only" | "candidate";
29
+ llmJudge?: HyperloopLlmJudgeSummary;
30
+ referenceVariantId: string | null;
31
+ improvementDelta: number;
32
+ timestamp: string;
33
+ }
34
+ export interface HyperloopScoreComponent {
35
+ key: string;
36
+ label: string;
37
+ weight: number;
38
+ rawValue: number;
39
+ normalizedScore: number;
40
+ weightedContribution: number;
41
+ detail: string;
42
+ }
43
+ export interface HyperloopGateResult {
44
+ key: string;
45
+ label: string;
46
+ passed: boolean;
47
+ critical: boolean;
48
+ reason: string;
49
+ }
50
+ export interface HyperloopLlmJudgeSummary {
51
+ verdict: string;
52
+ score?: string;
53
+ failingCriteria: string[];
54
+ fixSuggestions: string[];
55
+ reasoningSummary: string;
56
+ }
57
+ export declare function initEvalTables(): void;
58
+ export declare function buildHyperloopScorecard(metrics: {
59
+ evidenceCoverage: number;
60
+ groundingRate: number;
61
+ contradictionRate: number;
62
+ userEditDistance: number;
63
+ wasExported: boolean;
64
+ wasDelegated: boolean;
65
+ latencyMs: number;
66
+ }): {
67
+ qualityScore: number;
68
+ scoreComponents: HyperloopScoreComponent[];
69
+ gates: HyperloopGateResult[];
70
+ policyAction: "archive_only" | "candidate";
71
+ };
72
+ export declare function evaluateTask(input: {
73
+ episodeId: string;
74
+ query: string;
75
+ lens: string;
76
+ entity: string | null;
77
+ classification: string;
78
+ totalSignals: number;
79
+ verifiedSignals: number;
80
+ totalClaims: number;
81
+ groundedClaims: number;
82
+ contradictionsCaught: number;
83
+ userEditDistance: number;
84
+ wasExported: boolean;
85
+ wasDelegated: boolean;
86
+ latencyMs: number;
87
+ costUsd: number;
88
+ toolCallCount: number;
89
+ llmJudge?: {
90
+ verdict?: string;
91
+ score?: string;
92
+ failingCriteria?: string[];
93
+ fixSuggestions?: string[];
94
+ } | null;
95
+ }): TaskEvaluation;
96
+ export interface ImprovementAtK {
97
+ classification: string;
98
+ k: number;
99
+ avgQuality: number;
100
+ avgImprovement: number;
101
+ sampleSize: number;
102
+ }
103
+ export interface RecentEvaluationSummary {
104
+ evalId: string;
105
+ query: string;
106
+ classification: string;
107
+ qualityScore: number;
108
+ improvementDelta: number;
109
+ evidenceCoverage: number;
110
+ groundingRate: number;
111
+ latencyMs: number;
112
+ toolCallCount: number;
113
+ timestamp: string;
114
+ rubricVersion: string;
115
+ policyAction: "archive_only" | "candidate";
116
+ scoreComponents: HyperloopScoreComponent[];
117
+ gates: HyperloopGateResult[];
118
+ llmJudge?: HyperloopLlmJudgeSummary;
119
+ }
120
+ /** Compute improvement@k for a classification type. */
121
+ export declare function computeImprovementAtK(classification: string, k?: number): ImprovementAtK[];
122
+ export declare function listRecentEvaluations(limit?: number): RecentEvaluationSummary[];
123
+ export declare function listTrackedClassifications(limit?: number): string[];