@devflow-tools/benchmark 0.17.7 → 0.18.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 (130) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -2
  3. package/dist/accuracy-command-options.d.ts +3 -0
  4. package/dist/accuracy-command-options.d.ts.map +1 -0
  5. package/dist/accuracy-command-options.js +17 -0
  6. package/dist/accuracy-command-options.js.map +1 -0
  7. package/dist/context-symbol-quality-command.d.ts +59 -0
  8. package/dist/context-symbol-quality-command.d.ts.map +1 -0
  9. package/dist/context-symbol-quality-command.js +482 -0
  10. package/dist/context-symbol-quality-command.js.map +1 -0
  11. package/dist/evaluation-bundle-builder.d.ts +48 -0
  12. package/dist/evaluation-bundle-builder.d.ts.map +1 -0
  13. package/dist/evaluation-bundle-builder.js +496 -0
  14. package/dist/evaluation-bundle-builder.js.map +1 -0
  15. package/dist/evaluation-bundle-command.d.ts +2 -0
  16. package/dist/evaluation-bundle-command.d.ts.map +1 -0
  17. package/dist/evaluation-bundle-command.js +15 -0
  18. package/dist/evaluation-bundle-command.js.map +1 -0
  19. package/dist/evaluation-bundle.d.ts +55 -0
  20. package/dist/evaluation-bundle.d.ts.map +1 -0
  21. package/dist/evaluation-bundle.js +272 -0
  22. package/dist/evaluation-bundle.js.map +1 -0
  23. package/dist/evaluation-run-state.d.ts +23 -0
  24. package/dist/evaluation-run-state.d.ts.map +1 -0
  25. package/dist/evaluation-run-state.js +115 -0
  26. package/dist/evaluation-run-state.js.map +1 -0
  27. package/dist/evidence-quality-metrics.d.ts +15 -0
  28. package/dist/evidence-quality-metrics.d.ts.map +1 -1
  29. package/dist/evidence-quality-metrics.js +51 -1
  30. package/dist/evidence-quality-metrics.js.map +1 -1
  31. package/dist/graders/deterministic.d.ts.map +1 -1
  32. package/dist/graders/deterministic.js +5 -3
  33. package/dist/graders/deterministic.js.map +1 -1
  34. package/dist/index.d.ts +15 -2
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +12 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/release-quality-bundle-command.d.ts +3 -0
  39. package/dist/release-quality-bundle-command.d.ts.map +1 -0
  40. package/dist/release-quality-bundle-command.js +72 -0
  41. package/dist/release-quality-bundle-command.js.map +1 -0
  42. package/dist/release-quality-bundle-evaluator.d.ts +61 -0
  43. package/dist/release-quality-bundle-evaluator.d.ts.map +1 -0
  44. package/dist/release-quality-bundle-evaluator.js +321 -0
  45. package/dist/release-quality-bundle-evaluator.js.map +1 -0
  46. package/dist/release-quality-bundle-materializer.d.ts +79 -0
  47. package/dist/release-quality-bundle-materializer.d.ts.map +1 -0
  48. package/dist/release-quality-bundle-materializer.js +395 -0
  49. package/dist/release-quality-bundle-materializer.js.map +1 -0
  50. package/dist/release-quality-comparison.d.ts +34 -0
  51. package/dist/release-quality-comparison.d.ts.map +1 -0
  52. package/dist/release-quality-comparison.js +60 -0
  53. package/dist/release-quality-comparison.js.map +1 -0
  54. package/dist/release-quality-evaluation-command.d.ts +42 -0
  55. package/dist/release-quality-evaluation-command.d.ts.map +1 -0
  56. package/dist/release-quality-evaluation-command.js +91 -0
  57. package/dist/release-quality-evaluation-command.js.map +1 -0
  58. package/dist/release-quality-host-proof.d.ts +30 -0
  59. package/dist/release-quality-host-proof.d.ts.map +1 -0
  60. package/dist/release-quality-host-proof.js +109 -0
  61. package/dist/release-quality-host-proof.js.map +1 -0
  62. package/dist/release-quality-output-cleanup.d.ts +2 -0
  63. package/dist/release-quality-output-cleanup.d.ts.map +1 -0
  64. package/dist/release-quality-output-cleanup.js +18 -0
  65. package/dist/release-quality-output-cleanup.js.map +1 -0
  66. package/dist/release-quality-policy.d.ts +87 -0
  67. package/dist/release-quality-policy.d.ts.map +1 -0
  68. package/dist/release-quality-policy.js +179 -0
  69. package/dist/release-quality-policy.js.map +1 -0
  70. package/dist/release-quality-query-sampling.d.ts +36 -0
  71. package/dist/release-quality-query-sampling.d.ts.map +1 -0
  72. package/dist/release-quality-query-sampling.js +87 -0
  73. package/dist/release-quality-query-sampling.js.map +1 -0
  74. package/dist/release-quality-source-snapshot.d.ts +18 -0
  75. package/dist/release-quality-source-snapshot.d.ts.map +1 -0
  76. package/dist/release-quality-source-snapshot.js +46 -0
  77. package/dist/release-quality-source-snapshot.js.map +1 -0
  78. package/dist/retrieval-quality-corpus.d.ts +0 -1
  79. package/dist/retrieval-quality-corpus.d.ts.map +1 -1
  80. package/dist/retrieval-quality-corpus.js +1 -1
  81. package/dist/retrieval-quality-corpus.js.map +1 -1
  82. package/dist/retrieval-quality.d.ts.map +1 -1
  83. package/dist/retrieval-quality.js +29 -26
  84. package/dist/retrieval-quality.js.map +1 -1
  85. package/dist/run-accuracy-tests.js +82 -2
  86. package/dist/run-accuracy-tests.js.map +1 -1
  87. package/dist/suite-runner.js +1 -1
  88. package/dist/suite-runner.js.map +1 -1
  89. package/dist/unified-runtime-corpus.d.ts +64 -0
  90. package/dist/unified-runtime-corpus.d.ts.map +1 -0
  91. package/dist/unified-runtime-corpus.js +161 -0
  92. package/dist/unified-runtime-corpus.js.map +1 -0
  93. package/dist/unified-runtime-evaluation.d.ts +133 -0
  94. package/dist/unified-runtime-evaluation.d.ts.map +1 -0
  95. package/dist/unified-runtime-evaluation.js +388 -0
  96. package/dist/unified-runtime-evaluation.js.map +1 -0
  97. package/dist/unified-runtime-observation.d.ts +101 -0
  98. package/dist/unified-runtime-observation.d.ts.map +1 -0
  99. package/dist/unified-runtime-observation.js +2 -0
  100. package/dist/unified-runtime-observation.js.map +1 -0
  101. package/dist/unified-runtime-runner.d.ts +73 -0
  102. package/dist/unified-runtime-runner.d.ts.map +1 -0
  103. package/dist/unified-runtime-runner.js +620 -0
  104. package/dist/unified-runtime-runner.js.map +1 -0
  105. package/fixtures/evidence-runtime-corpus.json +0 -100
  106. package/fixtures/release-quality/bundles.json +1 -0
  107. package/fixtures/release-quality/calibration.json +602 -0
  108. package/fixtures/release-quality/ecc/corpus.json +257 -0
  109. package/fixtures/release-quality/ecc/input.json +62 -0
  110. package/fixtures/release-quality/llm-wiki/corpus.json +263 -0
  111. package/fixtures/release-quality/llm-wiki/input.json +72 -0
  112. package/fixtures/release-quality/mem0/corpus.json +288 -0
  113. package/fixtures/release-quality/mem0/input.json +68 -0
  114. package/fixtures/release-quality/projects.json +29 -0
  115. package/fixtures/release-quality/release-quality-policy.json +232 -0
  116. package/fixtures/release-quality/rsbuild-react/corpus.json +263 -0
  117. package/fixtures/release-quality/rsbuild-react/input.json +62 -0
  118. package/fixtures/retrieval-quality-corpus.json +7 -7
  119. package/fixtures/semantic-regex-inventory.json +3 -10
  120. package/fixtures/unified-runtime/baselines/2026-08-08.json +37 -0
  121. package/fixtures/unified-runtime/context.json +206 -0
  122. package/fixtures/unified-runtime/knowledge.json +224 -0
  123. package/fixtures/unified-runtime/memory.json +224 -0
  124. package/fixtures/unified-runtime/real-projects/rsbuild-react-2026-08-07/context.json +32 -0
  125. package/fixtures/unified-runtime/real-projects/rsbuild-react-2026-08-07/knowledge.json +32 -0
  126. package/fixtures/unified-runtime/real-projects/rsbuild-react-2026-08-07/memory.json +32 -0
  127. package/fixtures/unified-runtime/real-projects/rsbuild-react-2026-08-07/semantic.json +409 -0
  128. package/fixtures/unified-runtime/runs/rsbuild-react-2026-08-05.json +54 -0
  129. package/fixtures/unified-runtime/semantic.json +409 -0
  130. package/package.json +24 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-symbol-quality-command.js","sourceRoot":"","sources":["../src/context-symbol-quality-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { type EvaluationBundleManifestV1, type EvaluationChannel } from '@devflow-tools/sdk';
2
+ import { type EvaluationProfilesV1 } from './evaluation-bundle.js';
3
+ export interface EvaluationBundleBuildInput {
4
+ projectId: string;
5
+ projectRoot: string;
6
+ outputPath: string;
7
+ channels: {
8
+ context: {
9
+ databasePath: string;
10
+ vectorDatabasePath: string;
11
+ };
12
+ memory: {
13
+ databasePath: string;
14
+ };
15
+ knowledge: {
16
+ databasePath: string;
17
+ vectorPath: string;
18
+ };
19
+ };
20
+ corpusPath: string;
21
+ labelPaths: Record<EvaluationChannel, string>;
22
+ builderIdentity: string;
23
+ profiles: EvaluationProfilesV1;
24
+ }
25
+ export type EvaluationBundlePrepareInput = Omit<EvaluationBundleBuildInput, 'labelPaths' | 'builderIdentity' | 'profiles'>;
26
+ export interface EvaluationBundlePreparation {
27
+ schemaVersion: 'devflow.evaluation-bundle-preparation.v1';
28
+ path: string;
29
+ projectId: string;
30
+ projectSnapshotId: string;
31
+ channelSnapshotHashes: Record<EvaluationChannel, string>;
32
+ corpusHash: string;
33
+ inventories: Record<EvaluationChannel, string[]>;
34
+ }
35
+ export interface EvaluationBundleFinalizeInput {
36
+ preparationPath: string;
37
+ labelPaths: Record<EvaluationChannel, string>;
38
+ builderIdentity: string;
39
+ profiles: EvaluationProfilesV1;
40
+ }
41
+ export interface EvaluationBundleBuildResult {
42
+ path: string;
43
+ manifest: EvaluationBundleManifestV1;
44
+ }
45
+ export declare function buildEvaluationBundle(input: EvaluationBundleBuildInput): Promise<EvaluationBundleBuildResult>;
46
+ export declare function prepareEvaluationBundle(input: EvaluationBundlePrepareInput): Promise<EvaluationBundlePreparation>;
47
+ export declare function finalizeEvaluationBundle(input: EvaluationBundleFinalizeInput): EvaluationBundleBuildResult;
48
+ //# sourceMappingURL=evaluation-bundle-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluation-bundle-builder.d.ts","sourceRoot":"","sources":["../src/evaluation-bundle-builder.ts"],"names":[],"mappings":"AAgBA,OAAO,EASL,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EASL,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE;QACR,OAAO,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,kBAAkB,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9D,MAAM,EAAE;YAAE,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;QACjC,SAAS,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;KACzD,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,0BAA0B,EAC1B,YAAY,GAAG,iBAAiB,GAAG,UAAU,CAC9C,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,0CAA0C,CAAC;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,0BAA0B,CAAC;CACtC;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAyBnH;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,2BAA2B,CAAC,CAwFtC;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,GAAG,2BAA2B,CAqF1G"}
@@ -0,0 +1,496 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import { chmodSync, cpSync, existsSync, lstatSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, writeFileSync, } from 'node:fs';
3
+ import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
4
+ import Database from 'better-sqlite3';
5
+ import * as sqliteVec from 'sqlite-vec';
6
+ import { EVALUATION_BUNDLE_SCHEMA, assetTreeHash, channelSnapshotHash, datasetHash, evaluationBundleId, labelHash, projectSnapshotId, stableRuntimeJson, } from '@devflow-tools/sdk';
7
+ import { assertCleanGitProject, collectBundleAssets, extractEvaluationStableRefs, logicalDatabaseHash, readProjectSnapshotIdentity, vectorAssetIdentity, } from './evaluation-bundle.js';
8
+ export async function buildEvaluationBundle(input) {
9
+ const projectRoot = resolve(input.projectRoot);
10
+ const outputPath = resolve(input.outputPath);
11
+ assertOutputOutsideProject(projectRoot, outputPath);
12
+ if (existsSync(outputPath))
13
+ throw new Error('EVALUATION_BUNDLE_OUTPUT_EXISTS');
14
+ try {
15
+ await prepareEvaluationBundle({
16
+ projectId: input.projectId,
17
+ projectRoot,
18
+ outputPath,
19
+ channels: input.channels,
20
+ corpusPath: input.corpusPath,
21
+ });
22
+ const result = finalizeEvaluationBundle({
23
+ preparationPath: outputPath,
24
+ labelPaths: input.labelPaths,
25
+ builderIdentity: input.builderIdentity,
26
+ profiles: input.profiles,
27
+ });
28
+ return { path: outputPath, manifest: result.manifest };
29
+ }
30
+ catch (error) {
31
+ thawBundle(outputPath);
32
+ rmSync(outputPath, { recursive: true, force: true });
33
+ throw error;
34
+ }
35
+ }
36
+ export async function prepareEvaluationBundle(input) {
37
+ const projectRoot = resolve(input.projectRoot);
38
+ const outputPath = resolve(input.outputPath);
39
+ assertOutputOutsideProject(projectRoot, outputPath);
40
+ assertCleanGitProject(projectRoot);
41
+ if (existsSync(outputPath))
42
+ throw new Error('EVALUATION_BUNDLE_OUTPUT_EXISTS');
43
+ for (const path of [
44
+ input.channels.context.databasePath,
45
+ input.channels.context.vectorDatabasePath,
46
+ input.channels.memory.databasePath,
47
+ input.channels.knowledge.databasePath,
48
+ input.channels.knowledge.vectorPath,
49
+ input.corpusPath,
50
+ ]) {
51
+ if (!existsSync(path))
52
+ throw new Error(`EVALUATION_BUNDLE_INPUT_MISSING:${path}`);
53
+ }
54
+ mkdirSync(outputPath, { recursive: true });
55
+ try {
56
+ const project = readProjectSnapshotIdentity(projectRoot);
57
+ const projectId = required(input.projectId, 'EVALUATION_PROJECT_ID_REQUIRED');
58
+ const snapshotId = projectSnapshotId(project);
59
+ writeJson(join(outputPath, 'project.json'), project);
60
+ exportTrackedSource(projectRoot, join(outputPath, 'source'), project.trackedFiles);
61
+ const channelDirectory = join(outputPath, 'channels');
62
+ mkdirSync(channelDirectory, { recursive: true });
63
+ const databasePaths = {
64
+ context: join(channelDirectory, 'codegraph.db'),
65
+ memory: join(channelDirectory, 'memory.db'),
66
+ knowledge: join(channelDirectory, 'knowledge.db'),
67
+ };
68
+ const contextVectorDatabasePath = join(channelDirectory, 'context-symbols.db');
69
+ await backupDatabase(input.channels.context.databasePath, databasePaths.context, 'context', projectRoot, project);
70
+ await backupDatabase(input.channels.context.vectorDatabasePath, contextVectorDatabasePath, 'context', projectRoot, project);
71
+ await backupDatabase(input.channels.memory.databasePath, databasePaths.memory, 'memory', projectRoot, project);
72
+ await backupDatabase(input.channels.knowledge.databasePath, databasePaths.knowledge, 'knowledge', projectRoot, project);
73
+ cpSync(input.channels.knowledge.vectorPath, join(channelDirectory, 'knowledge-assets'), {
74
+ recursive: true,
75
+ dereference: false,
76
+ errorOnExist: true,
77
+ });
78
+ const channelSnapshotHashes = readChannelSnapshotHashes(outputPath, databasePaths);
79
+ const corpus = readJson(input.corpusPath);
80
+ assertCorpus(corpus);
81
+ const corpusHash = datasetHash(corpus);
82
+ writeJson(join(outputPath, 'corpus.json'), corpus);
83
+ const inventories = extractInventories({
84
+ bundlePath: outputPath,
85
+ databasePaths,
86
+ projectSnapshotId: snapshotId,
87
+ channelSnapshotHashes,
88
+ });
89
+ mkdirSync(join(outputPath, 'inventories'));
90
+ for (const channel of ['context', 'memory', 'knowledge']) {
91
+ writeJson(join(outputPath, 'inventories', `${channel}.json`), inventories[channel]);
92
+ }
93
+ const preparation = {
94
+ schemaVersion: 'devflow.evaluation-bundle-preparation.v1',
95
+ path: outputPath,
96
+ projectId,
97
+ projectSnapshotId: snapshotId,
98
+ channelSnapshotHashes,
99
+ corpusHash,
100
+ inventories,
101
+ };
102
+ writeJson(join(outputPath, 'preparation.json'), {
103
+ schemaVersion: preparation.schemaVersion,
104
+ projectId: preparation.projectId,
105
+ projectSnapshotId: preparation.projectSnapshotId,
106
+ channelSnapshotHashes: preparation.channelSnapshotHashes,
107
+ corpusHash: preparation.corpusHash,
108
+ inventories: preparation.inventories,
109
+ });
110
+ return preparation;
111
+ }
112
+ catch (error) {
113
+ thawBundle(outputPath);
114
+ rmSync(outputPath, { recursive: true, force: true });
115
+ throw error;
116
+ }
117
+ }
118
+ export function finalizeEvaluationBundle(input) {
119
+ const preparationPath = resolve(input.preparationPath);
120
+ if (!existsSync(preparationPath))
121
+ throw new Error('EVALUATION_BUNDLE_PREPARATION_MISSING');
122
+ if (existsSync(join(preparationPath, 'manifest.json')))
123
+ throw new Error('EVALUATION_BUNDLE_ALREADY_FINALIZED');
124
+ for (const path of Object.values(input.labelPaths)) {
125
+ if (!existsSync(path))
126
+ throw new Error(`EVALUATION_BUNDLE_INPUT_MISSING:${path}`);
127
+ }
128
+ const project = readJson(join(preparationPath, 'project.json'));
129
+ const snapshotId = projectSnapshotId(project);
130
+ const databasePaths = {
131
+ context: join(preparationPath, 'channels/codegraph.db'),
132
+ memory: join(preparationPath, 'channels/memory.db'),
133
+ knowledge: join(preparationPath, 'channels/knowledge.db'),
134
+ };
135
+ const channelSnapshotHashes = readChannelSnapshotHashes(preparationPath, databasePaths);
136
+ const corpus = readJson(join(preparationPath, 'corpus.json'));
137
+ assertCorpus(corpus);
138
+ const corpusHash = datasetHash(corpus);
139
+ const inventories = extractInventories({
140
+ bundlePath: preparationPath,
141
+ databasePaths,
142
+ projectSnapshotId: snapshotId,
143
+ channelSnapshotHashes,
144
+ });
145
+ const recordedPreparation = readJson(join(preparationPath, 'preparation.json'));
146
+ if (recordedPreparation.schemaVersion !== 'devflow.evaluation-bundle-preparation.v1'
147
+ || !recordedPreparation.projectId?.trim()
148
+ || recordedPreparation.projectSnapshotId !== snapshotId
149
+ || stableRuntimeJson(recordedPreparation.channelSnapshotHashes) !== stableRuntimeJson(channelSnapshotHashes)
150
+ || recordedPreparation.corpusHash !== corpusHash
151
+ || stableRuntimeJson(recordedPreparation.inventories) !== stableRuntimeJson(inventories)) {
152
+ throw new Error('EVALUATION_BUNDLE_PREPARATION_CHANGED');
153
+ }
154
+ const labels = Object.fromEntries(['context', 'memory', 'knowledge'].map(channel => [
155
+ channel,
156
+ readJson(input.labelPaths[channel]),
157
+ ]));
158
+ validateLabels({ labels, inventories, corpus, corpusHash, projectSnapshotId: snapshotId, channelSnapshotHashes });
159
+ try {
160
+ mkdirSync(join(preparationPath, 'labels'));
161
+ const labelHashes = Object.fromEntries(['context', 'memory', 'knowledge'].map(channel => {
162
+ writeJson(join(preparationPath, 'labels', `${channel}.json`), labels[channel]);
163
+ return [channel, labelHash(labels[channel])];
164
+ }));
165
+ const profilesHash = datasetHash(input.profiles);
166
+ writeJson(join(preparationPath, 'profiles.json'), input.profiles);
167
+ const assets = collectBundleAssets(preparationPath);
168
+ const manifestBody = {
169
+ schemaVersion: EVALUATION_BUNDLE_SCHEMA,
170
+ projectId: recordedPreparation.projectId,
171
+ projectSnapshotId: snapshotId,
172
+ channelSnapshotHashes,
173
+ corpusHash,
174
+ labelHashes,
175
+ assets,
176
+ builderIdentity: required(input.builderIdentity, 'EVALUATION_BUNDLE_BUILDER_IDENTITY_REQUIRED'),
177
+ profilesHash,
178
+ };
179
+ const manifest = {
180
+ ...manifestBody,
181
+ bundleId: evaluationBundleId({
182
+ schemaVersion: EVALUATION_BUNDLE_SCHEMA,
183
+ projectId: manifestBody.projectId,
184
+ project,
185
+ channels: channelSnapshotHashes,
186
+ corpusHash,
187
+ labelHashes,
188
+ assetTreeHash: assetTreeHash(assets),
189
+ builderIdentity: manifestBody.builderIdentity,
190
+ profilesHash,
191
+ }),
192
+ };
193
+ writeJson(join(preparationPath, 'manifest.json'), manifest);
194
+ freezeBundle(preparationPath);
195
+ return { path: preparationPath, manifest };
196
+ }
197
+ catch (error) {
198
+ rmSync(join(preparationPath, 'labels'), { recursive: true, force: true });
199
+ rmSync(join(preparationPath, 'profiles.json'), { force: true });
200
+ rmSync(join(preparationPath, 'manifest.json'), { force: true });
201
+ throw error;
202
+ }
203
+ }
204
+ function readChannelSnapshotHashes(bundlePath, databasePaths) {
205
+ const databaseHashes = {
206
+ context: logicalDatabaseHash(databasePaths.context),
207
+ memory: logicalDatabaseHash(databasePaths.memory),
208
+ knowledge: logicalDatabaseHash(databasePaths.knowledge),
209
+ };
210
+ return {
211
+ context: channelSnapshotHash({
212
+ databaseHash: databaseHashes.context,
213
+ vectorDatabaseHash: logicalDatabaseHash(join(bundlePath, 'channels/context-symbols.db')),
214
+ }),
215
+ memory: databaseHashes.memory,
216
+ knowledge: channelSnapshotHash({
217
+ databaseHash: databaseHashes.knowledge,
218
+ vectorAssets: vectorAssetIdentity(bundlePath),
219
+ }),
220
+ };
221
+ }
222
+ function extractInventories(input) {
223
+ return Object.fromEntries(['context', 'memory', 'knowledge'].map(channel => [
224
+ channel,
225
+ extractEvaluationStableRefs({
226
+ channel,
227
+ databasePath: input.databasePaths[channel],
228
+ projectRoot: join(input.bundlePath, 'source'),
229
+ projectSnapshotId: input.projectSnapshotId,
230
+ channelSnapshotHash: input.channelSnapshotHashes[channel],
231
+ }),
232
+ ]));
233
+ }
234
+ async function backupDatabase(sourcePath, destinationPath, channel, projectRoot, project) {
235
+ const before = logicalDatabaseHash(sourcePath);
236
+ const source = new Database(sourcePath, { readonly: true, fileMustExist: true });
237
+ try {
238
+ await source.backup(destinationPath);
239
+ }
240
+ finally {
241
+ source.close();
242
+ }
243
+ const after = logicalDatabaseHash(sourcePath);
244
+ if (before !== after)
245
+ throw new Error('EVALUATION_DATABASE_CHANGED_DURING_BACKUP');
246
+ canonicalizeDatabasePaths(destinationPath, channel, projectRoot, project);
247
+ if (!logicalDatabaseHash(destinationPath))
248
+ throw new Error('EVALUATION_DATABASE_BACKUP_INVALID');
249
+ }
250
+ function canonicalizeDatabasePaths(databasePath, channel, projectRoot, project) {
251
+ const database = new Database(databasePath);
252
+ try {
253
+ sqliteVec.load(database);
254
+ database.transaction(() => {
255
+ const tables = database.prepare(`SELECT name FROM sqlite_master
256
+ WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name`).all();
257
+ for (const { name } of tables) {
258
+ const columns = new Set(database.pragma(`table_info(${quoteIdentifier(name)})`)
259
+ .map(column => column.name));
260
+ if (columns.has('project_root')) {
261
+ const values = database.prepare(`SELECT DISTINCT project_root AS value FROM ${quoteIdentifier(name)}
262
+ WHERE project_root IS NOT NULL AND project_root <> ''`).all();
263
+ for (const { value } of values)
264
+ assertProjectRoot(value, projectRoot, project);
265
+ database.prepare(`UPDATE ${quoteIdentifier(name)} SET project_root = '.'
266
+ WHERE project_root IS NOT NULL AND project_root <> ''`).run();
267
+ }
268
+ }
269
+ if (channel === 'context' && tableHasColumns(database, 'nodes', ['file_path'])) {
270
+ const rows = database.prepare('SELECT rowid, file_path FROM nodes').all();
271
+ const update = database.prepare('UPDATE nodes SET file_path = ? WHERE rowid = ?');
272
+ for (const row of rows)
273
+ update.run(projectRelativePath(projectRoot, row.file_path), row.rowid);
274
+ }
275
+ if (channel === 'context')
276
+ canonicalizeContextRuntimeFields(database, projectRoot);
277
+ if (channel === 'memory')
278
+ canonicalizeMemoryRuntimeFields(database, projectRoot, project);
279
+ })();
280
+ database.pragma('journal_mode = DELETE');
281
+ database.exec('VACUUM');
282
+ }
283
+ finally {
284
+ database.close();
285
+ }
286
+ }
287
+ function canonicalizeContextRuntimeFields(database, projectRoot) {
288
+ for (const [table, column] of [
289
+ ['files', 'modified_at'],
290
+ ['files', 'indexed_at'],
291
+ ['nodes', 'updated_at'],
292
+ ['project_metadata', 'updated_at'],
293
+ ['schema_versions', 'applied_at'],
294
+ ]) {
295
+ if (tableHasColumns(database, table, [column])) {
296
+ database.prepare(`UPDATE ${quoteIdentifier(table)} SET ${quoteIdentifier(column)} = 0`).run();
297
+ }
298
+ }
299
+ if (tableHasColumns(database, 'project_metadata', ['value'])) {
300
+ database.prepare("UPDATE project_metadata SET value = '.' WHERE value = ?").run(projectRoot);
301
+ }
302
+ }
303
+ function canonicalizeMemoryRuntimeFields(database, projectRoot, project) {
304
+ if (tableHasColumns(database, 'session_events', ['project'])) {
305
+ const projects = database.prepare(`SELECT DISTINCT project AS value FROM session_events
306
+ WHERE project IS NOT NULL AND project <> ''`).all();
307
+ for (const { value } of projects)
308
+ assertProjectRoot(value, projectRoot, project);
309
+ database.prepare("UPDATE session_events SET project = '.' WHERE project IS NOT NULL AND project <> ''").run();
310
+ }
311
+ if (tableHasColumns(database, 'sessions', ['id', 'created_at'])
312
+ && tableHasColumns(database, 'session_events', ['session_id', 'created_at'])) {
313
+ database.prepare(`UPDATE sessions SET created_at = COALESCE((
314
+ SELECT MIN(created_at) FROM session_events WHERE session_events.session_id = sessions.id
315
+ ), 0)`).run();
316
+ }
317
+ if (tableHasColumns(database, 'signals', [
318
+ 'id', 'session_id', 'type', 'strength', 'source_event_ids', 'payload', 'timestamp',
319
+ ])) {
320
+ database.prepare(`UPDATE signals SET
321
+ id = 'signal:' || session_id || ':' || type || ':' || source_event_ids || ':' || payload || ':' || strength,
322
+ timestamp = COALESCE((
323
+ SELECT MIN(created_at) FROM session_events
324
+ WHERE instr(signals.source_event_ids, session_events.id) > 0
325
+ ), 0),
326
+ payload = replace(payload, ?, '.')`).run(projectRoot);
327
+ }
328
+ }
329
+ function validateLabels(input) {
330
+ for (const channel of ['context', 'memory', 'knowledge']) {
331
+ const labels = input.labels[channel];
332
+ if (labels.schemaVersion !== 'devflow.evaluation-labels.v1'
333
+ || labels.channel !== channel
334
+ || labels.projectSnapshotId !== input.projectSnapshotId
335
+ || labels.channelSnapshotHash !== input.channelSnapshotHashes[channel]
336
+ || labels.datasetHash !== input.corpusHash) {
337
+ throw new Error(`EVALUATION_LABEL_IDENTITY_MISMATCH:${channel}`);
338
+ }
339
+ const expectedCases = input.corpus.cases.filter(item => item.channel === channel).map(item => item.caseId).sort();
340
+ const actualCases = labels.labels.map(item => item.caseId).sort();
341
+ if (stableRuntimeJson(actualCases) !== stableRuntimeJson(expectedCases)) {
342
+ throw new Error(`EVALUATION_LABEL_CASE_MISMATCH:${channel}`);
343
+ }
344
+ const inventory = new Set(input.inventories[channel]);
345
+ for (const label of labels.labels) {
346
+ required(label.reviewer, 'EVALUATION_LABEL_REVIEWER_REQUIRED');
347
+ required(label.labelledAt, 'EVALUATION_LABEL_TIME_REQUIRED');
348
+ for (const ref of [...label.goldSets.flat(), ...label.forbiddenRefs]) {
349
+ if (!inventory.has(ref))
350
+ throw new Error(`EVALUATION_LABEL_REF_MISSING:${channel}:${ref}`);
351
+ }
352
+ }
353
+ }
354
+ }
355
+ function assertCorpus(corpus) {
356
+ if (corpus.schemaVersion !== 'devflow.evaluation-corpus.v1' || !Array.isArray(corpus.cases)) {
357
+ throw new Error('EVALUATION_CORPUS_INVALID');
358
+ }
359
+ const ids = new Set();
360
+ for (const item of corpus.cases) {
361
+ required(item.caseId, 'EVALUATION_CORPUS_CASE_ID_REQUIRED');
362
+ if (!['context', 'memory', 'knowledge'].includes(item.channel))
363
+ throw new Error('EVALUATION_CORPUS_CHANNEL_INVALID');
364
+ if (ids.has(item.caseId))
365
+ throw new Error('EVALUATION_CORPUS_CASE_DUPLICATE');
366
+ ids.add(item.caseId);
367
+ }
368
+ }
369
+ function exportTrackedSource(projectRoot, destinationRoot, files) {
370
+ if (files.some(file => file.blob)) {
371
+ const exportRoot = mkdtempSync(join(dirname(destinationRoot), '.evaluation-source-export-'));
372
+ const archivePath = join(exportRoot, 'source.tar');
373
+ try {
374
+ for (const file of files) {
375
+ if (file.mode !== '120000' || !file.blob)
376
+ continue;
377
+ const target = execFileSync('git', ['-C', projectRoot, 'cat-file', 'blob', file.blob], { encoding: 'utf8', maxBuffer: 64 * 1024 * 1024 });
378
+ const destination = join(destinationRoot, file.path);
379
+ if (isAbsolute(target) || relative(destinationRoot, resolve(dirname(destination), target)).startsWith('..'))
380
+ throw new Error(`EVALUATION_SYMLINK_ESCAPES_SOURCE:${file.path}`);
381
+ }
382
+ execFileSync('git', ['-C', projectRoot, 'archive', '--format=tar', '--output', archivePath, 'HEAD']);
383
+ mkdirSync(destinationRoot, { recursive: true });
384
+ execFileSync('tar', ['-xf', archivePath, '-C', destinationRoot]);
385
+ }
386
+ finally {
387
+ rmSync(exportRoot, { recursive: true, force: true });
388
+ }
389
+ return;
390
+ }
391
+ mkdirSync(destinationRoot, { recursive: true });
392
+ cpSync(projectRoot, destinationRoot, {
393
+ recursive: true,
394
+ dereference: false,
395
+ filter: (source) => !source.endsWith('/.devflow')
396
+ && !source.endsWith('/.codegraph')
397
+ && !source.endsWith('/.git'),
398
+ });
399
+ }
400
+ function freezeBundle(root) {
401
+ const entries = [root];
402
+ while (entries.length > 0) {
403
+ const path = entries.pop();
404
+ const stats = existsSync(path) ? statForFreeze(path) : undefined;
405
+ if (!stats)
406
+ continue;
407
+ if (stats.symbolicLink)
408
+ continue;
409
+ if (stats.directory) {
410
+ for (const name of stats.children)
411
+ entries.push(join(path, name));
412
+ chmodSync(path, 0o555);
413
+ }
414
+ else {
415
+ chmodSync(path, 0o444);
416
+ }
417
+ }
418
+ }
419
+ function thawBundle(root) {
420
+ if (!existsSync(root))
421
+ return;
422
+ const stat = lstatSync(root);
423
+ if (stat.isSymbolicLink())
424
+ return;
425
+ if (!stat.isDirectory()) {
426
+ chmodSync(root, 0o644);
427
+ return;
428
+ }
429
+ chmodSync(root, 0o755);
430
+ for (const name of readdirSync(root))
431
+ thawBundle(join(root, name));
432
+ }
433
+ function statForFreeze(path) {
434
+ const stat = lstatSync(path);
435
+ if (stat.isSymbolicLink())
436
+ return { directory: false, symbolicLink: true, children: [] };
437
+ return {
438
+ directory: stat.isDirectory(),
439
+ symbolicLink: false,
440
+ children: stat.isDirectory() ? readdirSync(path) : [],
441
+ };
442
+ }
443
+ function readJson(path) {
444
+ return JSON.parse(readFileSync(path, 'utf8'));
445
+ }
446
+ function writeJson(path, value) {
447
+ mkdirSync(dirname(path), { recursive: true });
448
+ writeFileSync(path, `${stableRuntimeJson(value)}\n`);
449
+ }
450
+ function assertOutputOutsideProject(projectRoot, outputPath) {
451
+ const path = relative(projectRoot, outputPath);
452
+ if (!path || (!path.startsWith('..') && !isAbsolute(path)))
453
+ throw new Error('EVALUATION_BUNDLE_OUTPUT_INSIDE_PROJECT');
454
+ }
455
+ function assertProjectRoot(value, projectRoot, project) {
456
+ if (resolve(value) === resolve(projectRoot) || value === '.')
457
+ return;
458
+ try {
459
+ const candidate = readProjectSnapshotIdentity(value);
460
+ if ((candidate.commit && candidate.commit === project.commit && candidate.tree === project.tree)
461
+ || (candidate.sourceSnapshotHash && candidate.sourceSnapshotHash === project.sourceSnapshotHash))
462
+ return;
463
+ }
464
+ catch {
465
+ // The typed error below is the only public failure contract.
466
+ }
467
+ throw new Error('EVALUATION_CHANNEL_PATH_OUTSIDE_SOURCE');
468
+ }
469
+ function projectRelativePath(projectRoot, value) {
470
+ if (!isAbsolute(value)) {
471
+ if (value === '..' || value.startsWith('../'))
472
+ throw new Error('EVALUATION_CHANNEL_PATH_OUTSIDE_SOURCE');
473
+ return value.replaceAll('\\', '/');
474
+ }
475
+ const path = relative(projectRoot, value).replaceAll('\\', '/');
476
+ if (!path || path === '..' || path.startsWith('../'))
477
+ throw new Error('EVALUATION_CHANNEL_PATH_OUTSIDE_SOURCE');
478
+ return path;
479
+ }
480
+ function tableHasColumns(database, table, requiredColumns) {
481
+ const exists = database.prepare(`SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?`).get(table);
482
+ if (!exists)
483
+ return false;
484
+ const columns = new Set(database.pragma(`table_info(${quoteIdentifier(table)})`)
485
+ .map(column => column.name));
486
+ return requiredColumns.every(column => columns.has(column));
487
+ }
488
+ function quoteIdentifier(value) {
489
+ return `"${value.replaceAll('"', '""')}"`;
490
+ }
491
+ function required(value, error) {
492
+ if (!value?.trim())
493
+ throw new Error(error);
494
+ return value;
495
+ }
496
+ //# sourceMappingURL=evaluation-bundle-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluation-bundle-builder.js","sourceRoot":"","sources":["../src/evaluation-bundle-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runEvaluationBundleCommand(argv: string[]): Promise<void>;
2
+ //# sourceMappingURL=evaluation-bundle-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluation-bundle-command.d.ts","sourceRoot":"","sources":["../src/evaluation-bundle-command.ts"],"names":[],"mappings":"AAIA,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9E"}