@devflow-tools/benchmark 0.16.28 → 0.16.30

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 (41) hide show
  1. package/dist/repeated-trials.d.ts +1 -0
  2. package/dist/repeated-trials.d.ts.map +1 -1
  3. package/dist/repeated-trials.js +1 -0
  4. package/dist/repeated-trials.js.map +1 -1
  5. package/dist/retrieval-metrics.d.ts +2 -0
  6. package/dist/retrieval-metrics.d.ts.map +1 -0
  7. package/dist/retrieval-metrics.js +8 -0
  8. package/dist/retrieval-metrics.js.map +1 -0
  9. package/dist/retrieval-quality-corpus.d.ts +23 -0
  10. package/dist/retrieval-quality-corpus.d.ts.map +1 -1
  11. package/dist/retrieval-quality-corpus.js +58 -5
  12. package/dist/retrieval-quality-corpus.js.map +1 -1
  13. package/dist/retrieval-quality.d.ts +34 -0
  14. package/dist/retrieval-quality.d.ts.map +1 -1
  15. package/dist/retrieval-quality.js +116 -7
  16. package/dist/retrieval-quality.js.map +1 -1
  17. package/fixtures/projects/react-video/.devflow/.force-init +1 -1
  18. package/fixtures/projects/react-video/.devflow/knowledge/knowledge.db +0 -0
  19. package/fixtures/projects/react-video/.devflow/memory/memories.db +0 -0
  20. package/fixtures/projects/rsbuild-react-quality/.codegraph/.gitignore +5 -0
  21. package/fixtures/projects/rsbuild-react-quality/.devflow/.force-init +1 -0
  22. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/angular/manifest.json +13 -0
  23. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/knowledge.db +0 -0
  24. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/nest/manifest.json +13 -0
  25. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/nextjs/manifest.json +13 -0
  26. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/node/manifest.json +13 -0
  27. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/prisma/manifest.json +13 -0
  28. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/react/chunk-001.json +8 -0
  29. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/react/manifest.json +13 -0
  30. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/tailwind/manifest.json +13 -0
  31. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/typescript/manifest.json +13 -0
  32. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/vitest/manifest.json +13 -0
  33. package/fixtures/projects/rsbuild-react-quality/.devflow/knowledge/vue/manifest.json +13 -0
  34. package/fixtures/projects/rsbuild-react-quality/.devflow/memory/memories.db +0 -0
  35. package/fixtures/projects/rsbuild-react-quality/.devflow/symbols-vec.db +0 -0
  36. package/fixtures/projects/rsbuild-react-quality/components.json +7 -0
  37. package/fixtures/projects/rsbuild-react-quality/package.json +17 -0
  38. package/fixtures/projects/rsbuild-react-quality/src/components/Login.tsx +14 -0
  39. package/fixtures/retrieval-quality-corpus.json +57 -2
  40. package/fixtures/retrieval-quality-rsbuild-react.json +93 -0
  41. package/package.json +5 -5
@@ -24,6 +24,7 @@ export interface RepeatedTrialTaskReport {
24
24
  unavailableTrials: number;
25
25
  passAtK: 0 | 1;
26
26
  passPowerK: 0 | 1;
27
+ passAt1: number;
27
28
  trialIds: string[];
28
29
  }
29
30
  export interface RepeatedTrialReport {
@@ -1 +1 @@
1
- {"version":3,"file":"repeated-trials.d.ts","sourceRoot":"","sources":["../src/repeated-trials.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC5C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACT,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;QAClD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC3C,CAAC;CACH;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACT,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB,GAAG,mBAAmB,CAyDtB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAExF;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAE,MAAM,GAAG,MAAe,GAAG,MAAM,CAc/G"}
1
+ {"version":3,"file":"repeated-trials.d.ts","sourceRoot":"","sources":["../src/repeated-trials.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC5C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACT,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;QAClD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC3C,CAAC;CACH;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACT,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB,GAAG,mBAAmB,CA0DtB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAExF;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAE,MAAM,GAAG,MAAe,GAAG,MAAM,CAc/G"}
@@ -18,6 +18,7 @@ export function aggregateRepeatedTrials(input) {
18
18
  unavailableTrials: trials.filter(trial => trial.status === 'unavailable').length,
19
19
  passAtK: successfulTrials > 0 ? 1 : 0,
20
20
  passPowerK: successfulTrials === input.k ? 1 : 0,
21
+ passAt1: successfulTrials / trials.length,
21
22
  trialIds: trials.map(trial => trial.trialId),
22
23
  };
23
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"repeated-trials.js","sourceRoot":"","sources":["../src/repeated-trials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repeated-trials.js","sourceRoot":"","sources":["../src/repeated-trials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function ndcg(relevance: number[], idealRelevant: number): number;
2
+ //# sourceMappingURL=retrieval-metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieval-metrics.d.ts","sourceRoot":"","sources":["../src/retrieval-metrics.ts"],"names":[],"mappings":"AAAA,wBAAgB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAQvE"}
@@ -0,0 +1,8 @@
1
+ export function ndcg(relevance, idealRelevant) {
2
+ if (idealRelevant > 0 && relevance.length === 0)
3
+ return 0;
4
+ const dcg = relevance.reduce((sum, value, index) => sum + value / Math.log2(index + 2), 0);
5
+ const idcg = Array.from({ length: Math.min(relevance.length, idealRelevant) }, (_, index) => 1 / Math.log2(index + 2)).reduce((sum, value) => sum + value, 0);
6
+ return idcg > 0 ? Math.min(1, dcg / idcg) : 1;
7
+ }
8
+ //# sourceMappingURL=retrieval-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieval-metrics.js","sourceRoot":"","sources":["../src/retrieval-metrics.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,IAAI,CAAC,SAAmB,EAAE,aAAqB;IAC7D,IAAI,aAAa,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CACrB,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,EACrD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CACvC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IACzC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -6,11 +6,31 @@ export interface RetrievalQualityCorpusProject {
6
6
  optional?: boolean;
7
7
  prepareCodeGraph?: boolean;
8
8
  deferred?: boolean;
9
+ acceptanceClasses?: string[];
10
+ }
11
+ export interface AuthoritativeScenario {
12
+ id: string;
13
+ acceptanceClasses: string[];
14
+ expected: {
15
+ memoryIds?: string[];
16
+ memoryFacets?: string[];
17
+ knowledgeSources?: string[];
18
+ knowledgeChunks?: string[];
19
+ coverageGaps?: string[];
20
+ codePaths?: string[];
21
+ codeRoles?: string[];
22
+ domainAction?: string;
23
+ verification?: string[];
24
+ ledgerTransitions?: string[];
25
+ };
9
26
  }
10
27
  export interface RetrievalQualityCorpusFixture {
11
28
  schemaVersion: 'devflow.retrieval-quality-corpus.v1';
12
29
  projects: RetrievalQualityCorpusProject[];
13
30
  maxTokenGrowthRatio: number;
31
+ trialCount?: 1 | 3;
32
+ requiredAcceptanceClasses?: string[];
33
+ authoritativeScenarios?: AuthoritativeScenario[];
14
34
  }
15
35
  export interface RetrievalQualityCorpusReport {
16
36
  schemaVersion: 'devflow.retrieval-quality-corpus-report.v1';
@@ -21,6 +41,9 @@ export interface RetrievalQualityCorpusReport {
21
41
  status: 'passed' | 'failed' | 'unavailable';
22
42
  baseline?: RetrievalQualityReport;
23
43
  candidate?: RetrievalQualityReport;
44
+ candidateTrials?: RetrievalQualityReport[];
45
+ passAt1?: number;
46
+ passPowerK?: 0 | 1;
24
47
  tokenGrowthRatio?: number;
25
48
  nonInferior?: boolean;
26
49
  reason?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval-quality-corpus.d.ts","sourceRoot":"","sources":["../src/retrieval-quality-corpus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGrE,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,qCAAqC,CAAC;IACrD,QAAQ,EAAE,6BAA6B,EAAE,CAAC;IAC1C,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,4BAA4B;IAC3C,aAAa,EAAE,4CAA4C,CAAC;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;QAC5C,QAAQ,CAAC,EAAE,sBAAsB,CAAC;QAClC,SAAS,CAAC,EAAE,sBAAsB,CAAC;QACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CA4ExC"}
1
+ {"version":3,"file":"retrieval-quality-corpus.d.ts","sourceRoot":"","sources":["../src/retrieval-quality-corpus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGrE,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,qCAAqC,CAAC;IACrD,QAAQ,EAAE,6BAA6B,EAAE,CAAC;IAC1C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACnB,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC,sBAAsB,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,4BAA4B;IAC3C,aAAa,EAAE,4CAA4C,CAAC;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;QAC5C,QAAQ,CAAC,EAAE,sBAAsB,CAAC;QAClC,SAAS,CAAC,EAAE,sBAAsB,CAAC;QACnC,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CA6GxC"}
@@ -6,6 +6,7 @@ export async function runRetrievalQualityCorpus(options) {
6
6
  const corpus = loadCorpus(corpusPath);
7
7
  const baseDir = dirname(corpusPath);
8
8
  const projects = [];
9
+ const trialCount = corpus.trialCount ?? 1;
9
10
  const previous = process.env.DEVFLOW_ROLLOUT_RETRIEVAL_SESSIONS;
10
11
  try {
11
12
  for (const project of corpus.projects) {
@@ -26,15 +27,30 @@ export async function runRetrievalQualityCorpus(options) {
26
27
  process.env.DEVFLOW_ROLLOUT_RETRIEVAL_SESSIONS = 'off';
27
28
  const baseline = await runRetrievalQualityBenchmark({ projectRoot, fixturePath, persist: false });
28
29
  process.env.DEVFLOW_ROLLOUT_RETRIEVAL_SESSIONS = 'on';
29
- const candidate = await runRetrievalQualityBenchmark({ projectRoot, fixturePath, persist: options.persist });
30
- const tokenGrowthRatio = ratioGrowth(baseline.metrics.averageContextTokens, candidate.metrics.averageContextTokens);
31
- const nonInferior = qualityNonInferior(baseline, candidate);
30
+ const candidateTrials = [];
31
+ for (let trial = 0; trial < trialCount; trial++) {
32
+ candidateTrials.push(await runRetrievalQualityBenchmark({
33
+ projectRoot,
34
+ fixturePath,
35
+ persist: options.persist && trial === trialCount - 1,
36
+ }));
37
+ }
38
+ const candidate = candidateTrials[0];
39
+ const growth = candidateTrials.map(trial => ratioGrowth(baseline.metrics.averageContextTokens, trial.metrics.averageContextTokens));
40
+ const nonInferiorTrials = candidateTrials.map(trial => qualityNonInferior(baseline, trial));
41
+ const successfulTrials = candidateTrials.filter((trial, index) => trial.status === 'passed'
42
+ && nonInferiorTrials[index] && growth[index] <= corpus.maxTokenGrowthRatio).length;
43
+ const tokenGrowthRatio = Math.max(...growth);
44
+ const nonInferior = nonInferiorTrials.every(Boolean);
32
45
  projects.push({
33
46
  id: project.id,
34
- status: candidate.status === 'passed' && nonInferior && tokenGrowthRatio <= corpus.maxTokenGrowthRatio
47
+ status: successfulTrials === trialCount
35
48
  ? 'passed' : 'failed',
36
49
  baseline,
37
50
  candidate,
51
+ candidateTrials,
52
+ passAt1: successfulTrials / trialCount,
53
+ passPowerK: successfulTrials === trialCount ? 1 : 0,
38
54
  tokenGrowthRatio,
39
55
  nonInferior,
40
56
  });
@@ -48,10 +64,12 @@ export async function runRetrievalQualityCorpus(options) {
48
64
  }
49
65
  const available = projects.filter(project => project.status !== 'unavailable' && project.candidate);
50
66
  const metricNames = [
51
- 'codeFileRecallAt5', 'codeFilePrecisionAt5', 'symbolNdcgAt5', 'memoryPrecisionAt5',
67
+ 'codeFileRecallAt5', 'codeFilePrecisionAt5', 'symbolNdcgAt5',
68
+ 'memoryRecallAt5', 'policyMemoryRecallAt5', 'memoryPrecisionAt5',
52
69
  'expectedEmptyMemoryAccuracy', 'knowledgeNdcgAt5', 'knowledgePrecisionAt3', 'knowledgeVectorCoverage',
53
70
  'knowledgeVersionMatch', 'knowledgeInjectionViolations', 'staleSelectedFiles',
54
71
  'averageContextTokens', 'maxRetrievalCycle',
72
+ 'policyActionAccuracy', 'ledgerCompleteness', 'sameSessionMemoryReadyMs',
55
73
  ];
56
74
  const macroMetrics = Object.fromEntries(metricNames.map(name => [name, average(available.map(project => Number(project.candidate.metrics[name])))]));
57
75
  const gates = {
@@ -62,11 +80,25 @@ export async function runRetrievalQualityCorpus(options) {
62
80
  nonInferior: available.every(project => project.nonInferior === true),
63
81
  boundedTokenGrowth: available.every(project => (project.tokenGrowthRatio ?? Infinity) <= corpus.maxTokenGrowthRatio),
64
82
  boundedCycles: available.every(project => project.candidate.metrics.maxRetrievalCycle <= 3),
83
+ memoryRecall: macroMetrics.memoryRecallAt5 >= 0.90,
84
+ policyMemoryRecall: macroMetrics.policyMemoryRecallAt5 >= 1,
85
+ memoryPrecision: macroMetrics.memoryPrecisionAt5 >= 0.95,
65
86
  knowledgePrecision: available.every(project => project.candidate.metrics.knowledgePrecisionAt3 >= 0.80),
66
87
  knowledgeNdcg: available.every(project => project.candidate.metrics.knowledgeNdcgAt5 >= 0.85),
67
88
  noKnowledgeInjection: available.every(project => project.candidate.metrics.knowledgeInjectionViolations === 0),
68
89
  codeSelectionPrecision: available.every(project => project.candidate.metrics.codeFilePrecisionAt5 >= 0.85),
69
90
  noStaleSelectedFiles: available.every(project => project.candidate.metrics.staleSelectedFiles === 0),
91
+ policyActionAccuracy: available.every(project => project.candidate.metrics.policyActionAccuracy >= 1),
92
+ ledgerCompleteness: available.every(project => project.candidate.metrics.ledgerCompleteness >= 1),
93
+ positiveSamplesPresent: available.length === 0 || (available.reduce((total, project) => total + project.candidate.samples.memoryPositive, 0) > 0
94
+ && available.reduce((total, project) => total + project.candidate.samples.policyMemoryPositive, 0) > 0
95
+ && available.reduce((total, project) => total + project.candidate.samples.knowledgePositive, 0) > 0
96
+ && available.reduce((total, project) => total + project.candidate.samples.policyAction, 0) > 0),
97
+ sameSessionMemoryReady: available.every(project => project.candidate.metrics.sameSessionMemoryReadyMs <= 5_000),
98
+ acceptanceClassesCovered: requiredAcceptanceClassesCovered(corpus),
99
+ authoritativeScenariosComplete: authoritativeScenariosComplete(corpus.authoritativeScenarios ?? []),
100
+ passAt1: available.every(project => project.passAt1 === 1),
101
+ passPowerK: available.every(project => project.passPowerK === 1),
70
102
  };
71
103
  return {
72
104
  schemaVersion: 'devflow.retrieval-quality-corpus-report.v1',
@@ -77,6 +109,27 @@ export async function runRetrievalQualityCorpus(options) {
77
109
  gates,
78
110
  };
79
111
  }
112
+ function requiredAcceptanceClassesCovered(corpus) {
113
+ const required = new Set(corpus.requiredAcceptanceClasses ?? []);
114
+ if (required.size === 0)
115
+ return true;
116
+ const covered = new Set(corpus.projects.flatMap(project => project.acceptanceClasses ?? []));
117
+ return [...required].every(value => covered.has(value));
118
+ }
119
+ function authoritativeScenariosComplete(scenarios) {
120
+ if (scenarios.length === 0)
121
+ return true;
122
+ if (scenarios.length !== 7 || new Set(scenarios.map(item => item.id)).size !== 7)
123
+ return false;
124
+ return scenarios.every(scenario => scenario.acceptanceClasses.length > 0
125
+ && (scenario.expected.memoryIds !== undefined || scenario.expected.memoryFacets !== undefined)
126
+ && (scenario.expected.knowledgeSources !== undefined || scenario.expected.coverageGaps !== undefined)
127
+ && (scenario.expected.codePaths?.length ?? 0) > 0
128
+ && (scenario.expected.codeRoles?.length ?? 0) > 0
129
+ && Boolean(scenario.expected.domainAction)
130
+ && (scenario.expected.verification?.length ?? 0) > 0
131
+ && (scenario.expected.ledgerTransitions?.length ?? 0) > 0);
132
+ }
80
133
  async function ensureCodeGraph(projectRoot) {
81
134
  const module = await import('@colbymchenry/codegraph');
82
135
  const CodeGraph = (module.default?.default ?? module.default);
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval-quality-corpus.js","sourceRoot":"","sources":["../src/retrieval-quality-corpus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieval-quality-corpus.js","sourceRoot":"","sources":["../src/retrieval-quality-corpus.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,28 @@ export interface RetrievalQualityFixture {
8
8
  targetFile: string;
9
9
  kind?: string;
10
10
  }>;
11
+ setup?: {
12
+ resetProjectState?: boolean;
13
+ explicitMemories?: string[];
14
+ knowledgeSources?: Array<{
15
+ name: string;
16
+ pluginName?: string;
17
+ version: string;
18
+ chunks: Array<{
19
+ title: string;
20
+ content: string;
21
+ sourceUrl?: string;
22
+ }>;
23
+ }>;
24
+ };
11
25
  }
12
26
  export interface RetrievalQualityThresholds {
13
27
  codeFileRecallAt5: number;
14
28
  codeFilePrecisionAt5: number;
15
29
  symbolNdcgAt5: number;
16
30
  falseCrossFileEdgeRate: number;
31
+ memoryRecallAt5?: number;
32
+ policyMemoryRecallAt5?: number;
17
33
  memoryPrecisionAt5: number;
18
34
  expectedEmptyMemoryAccuracy: number;
19
35
  knowledgeNdcgAt5: number;
@@ -24,6 +40,9 @@ export interface RetrievalQualityThresholds {
24
40
  maxKnowledgeInjectionViolations?: number;
25
41
  maxStaleSelectedFiles?: number;
26
42
  maxRetrievalCycle?: number;
43
+ minPolicyActionAccuracy?: number;
44
+ minLedgerCompleteness?: number;
45
+ maxSameSessionMemoryReadyMs?: number;
27
46
  }
28
47
  export interface RetrievalQualityCase {
29
48
  id: string;
@@ -44,6 +63,10 @@ export interface RetrievalQualityCase {
44
63
  forbiddenKnowledgeSources?: string[];
45
64
  forbiddenKnowledgeKinds?: Array<'api' | 'behavior' | 'migration' | 'error' | 'overview'>;
46
65
  degradation?: 'embedding_unavailable' | 'reranker_unavailable' | 'none';
66
+ activeSkill?: string;
67
+ expectedPolicyFacets?: string[];
68
+ expectedDomainAction?: string;
69
+ expectedVerificationKinds?: string[];
47
70
  }
48
71
  export interface RetrievalQualityReport {
49
72
  schemaVersion: 'devflow.retrieval-quality-report.v1';
@@ -56,6 +79,8 @@ export interface RetrievalQualityReport {
56
79
  codeFilePrecisionAt5: number;
57
80
  symbolNdcgAt5: number;
58
81
  falseCrossFileEdgeRate: number;
82
+ memoryRecallAt5: number;
83
+ policyMemoryRecallAt5: number;
59
84
  memoryPrecisionAt5: number;
60
85
  expectedEmptyMemoryAccuracy: number;
61
86
  knowledgeNdcgAt5: number;
@@ -69,6 +94,15 @@ export interface RetrievalQualityReport {
69
94
  workflowFalseSuccess: number;
70
95
  averageContextTokens: number;
71
96
  maxRetrievalCycle: number;
97
+ policyActionAccuracy: number;
98
+ ledgerCompleteness: number;
99
+ sameSessionMemoryReadyMs: number;
100
+ };
101
+ samples: {
102
+ memoryPositive: number;
103
+ policyMemoryPositive: number;
104
+ knowledgePositive: number;
105
+ policyAction: number;
72
106
  };
73
107
  thresholds: RetrievalQualityThresholds;
74
108
  gates: Record<string, boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval-quality.d.ts","sourceRoot":"","sources":["../src/retrieval-quality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieval-quality.d.ts","sourceRoot":"","sources":["../src/retrieval-quality.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,23 @@
1
- import { existsSync, readFileSync } from 'node:fs';
1
+ import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
2
2
  import { dirname, resolve } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
4
  import { createEngines, getProjectContextResult } from '@devflow-tools/context-engine';
5
5
  import { openGlobalDevFlowDatabase } from '@devflow-tools/database';
6
6
  import { getProjectStateDir } from '@devflow-tools/sdk';
7
+ import { ndcg } from './retrieval-metrics.js';
7
8
  export async function runRetrievalQualityBenchmark(options) {
8
9
  const projectRoot = resolve(options.projectRoot);
9
10
  const fixturePath = resolve(options.fixturePath ?? defaultFixturePath());
10
11
  const fixture = loadFixture(fixturePath);
12
+ if (fixture.setup?.resetProjectState) {
13
+ rmSync(resolve(projectRoot, '.devflow', 'memory'), { recursive: true, force: true });
14
+ rmSync(resolve(projectRoot, '.devflow', 'knowledge'), { recursive: true, force: true });
15
+ }
11
16
  const engines = await createEngines(projectRoot, { warmSymbolVectors: false });
12
17
  const envelopes = [];
13
18
  const diagnostics = [];
14
19
  try {
20
+ const sameSessionMemoryReadyMs = await prepareFixture(engines, fixture, projectRoot);
15
21
  for (const testCase of fixture.queries) {
16
22
  const result = await getProjectContextResult(engines.context, {
17
23
  query: testCase.query,
@@ -22,6 +28,7 @@ export async function runRetrievalQualityBenchmark(options) {
22
28
  requestId: `quality:${testCase.id}:${Date.now()}`,
23
29
  host: 'benchmark',
24
30
  command: 'retrieval-quality',
31
+ activeSkill: testCase.activeSkill,
25
32
  projectRoot,
26
33
  }, 0);
27
34
  if (!result.taskEnvelope)
@@ -51,6 +58,8 @@ export async function runRetrievalQualityBenchmark(options) {
51
58
  const fileCases = envelopes.filter(item => (item.fixture.relevantCode?.length ?? 0) > 0);
52
59
  const symbolCases = envelopes.filter(item => (item.fixture.relevantSymbols?.length ?? 0) > 0);
53
60
  const memoryCases = envelopes.filter(item => (item.fixture.relevantMemoryIds?.length ?? 0) > 0 || (item.fixture.relevantMemoryTerms?.length ?? 0) > 0);
61
+ const policyMemoryCases = memoryCases.filter(item => (item.fixture.expectedPolicyFacets?.length ?? 0) > 0);
62
+ const generalMemoryCases = memoryCases.filter(item => (item.fixture.expectedPolicyFacets?.length ?? 0) === 0);
54
63
  const emptyMemoryCases = envelopes.filter(item => item.fixture.expectedEmptyMemory === true);
55
64
  const knowledgeCases = envelopes.filter(item => (item.fixture.relevantKnowledgeIds?.length ?? 0) > 0 || (item.fixture.relevantKnowledgeSources?.length ?? 0) > 0);
56
65
  const versionCases = envelopes.filter(item => Object.keys(item.fixture.expectedVersions ?? {}).length > 0);
@@ -62,6 +71,8 @@ export async function runRetrievalQualityBenchmark(options) {
62
71
  codeFilePrecisionAt5: average(fileCases.map(item => filePrecision(item.envelope, item.fixture, 5))),
63
72
  symbolNdcgAt5: average(symbolCases.map(item => symbolNdcg(item.envelope, item.fixture, 5))),
64
73
  falseCrossFileEdgeRate: acceptedCrossFile.length > 0 ? falseAccepted.length / acceptedCrossFile.length : 0,
74
+ memoryRecallAt5: average(generalMemoryCases.map(item => memoryRecall(item.envelope, item.fixture, 5))),
75
+ policyMemoryRecallAt5: average(policyMemoryCases.map(item => memoryRecall(item.envelope, item.fixture, 5))),
65
76
  memoryPrecisionAt5: average(memoryCases.map(item => memoryPrecision(item.envelope, item.fixture, 5))),
66
77
  expectedEmptyMemoryAccuracy: average(emptyMemoryCases.map(item => item.envelope.memory.entries.length === 0 ? 1 : 0)),
67
78
  knowledgeNdcgAt5: average(knowledgeCases.map(item => knowledgeNdcg(item.envelope, item.fixture, 5))),
@@ -77,6 +88,17 @@ export async function runRetrievalQualityBenchmark(options) {
77
88
  ? Math.min(item.envelope.request.tokenBudget, selectedEnvelopeTokenEstimate(item.envelope))
78
89
  : 0)),
79
90
  maxRetrievalCycle: Math.max(1, ...envelopes.map(item => item.envelope.retrieval?.cycle ?? 1)),
91
+ policyActionAccuracy: average(envelopes
92
+ .filter(item => item.fixture.expectedDomainAction)
93
+ .map(item => canonicalPolicyMatches(item.envelope, item.fixture) ? 1 : 0)),
94
+ ledgerCompleteness: average(envelopes.map(item => ledgerCompleteness(projectRoot, item.envelope))),
95
+ sameSessionMemoryReadyMs,
96
+ };
97
+ const samples = {
98
+ memoryPositive: generalMemoryCases.length,
99
+ policyMemoryPositive: policyMemoryCases.length,
100
+ knowledgePositive: knowledgeCases.length,
101
+ policyAction: envelopes.filter(item => item.fixture.expectedDomainAction).length,
80
102
  };
81
103
  const thresholds = fixture.thresholds;
82
104
  const gates = {
@@ -84,6 +106,8 @@ export async function runRetrievalQualityBenchmark(options) {
84
106
  codeFilePrecisionAt5: metrics.codeFilePrecisionAt5 >= thresholds.codeFilePrecisionAt5,
85
107
  symbolNdcgAt5: metrics.symbolNdcgAt5 >= thresholds.symbolNdcgAt5,
86
108
  falseCrossFileEdgeRate: metrics.falseCrossFileEdgeRate < thresholds.falseCrossFileEdgeRate,
109
+ memoryRecallAt5: metrics.memoryRecallAt5 >= (thresholds.memoryRecallAt5 ?? 0.90),
110
+ policyMemoryRecallAt5: metrics.policyMemoryRecallAt5 >= (thresholds.policyMemoryRecallAt5 ?? 1),
87
111
  memoryPrecisionAt5: metrics.memoryPrecisionAt5 >= thresholds.memoryPrecisionAt5,
88
112
  expectedEmptyMemoryAccuracy: metrics.expectedEmptyMemoryAccuracy >= thresholds.expectedEmptyMemoryAccuracy,
89
113
  knowledgeNdcgAt5: metrics.knowledgeNdcgAt5 >= thresholds.knowledgeNdcgAt5,
@@ -96,6 +120,9 @@ export async function runRetrievalQualityBenchmark(options) {
96
120
  lifecycleFalseClosed: Number.isFinite(metrics.lifecycleFalseClosed) && metrics.lifecycleFalseClosed === 0,
97
121
  workflowFalseSuccess: Number.isFinite(metrics.workflowFalseSuccess) && metrics.workflowFalseSuccess === 0,
98
122
  maxRetrievalCycle: metrics.maxRetrievalCycle <= (thresholds.maxRetrievalCycle ?? 3),
123
+ policyActionAccuracy: metrics.policyActionAccuracy >= (thresholds.minPolicyActionAccuracy ?? 1),
124
+ ledgerCompleteness: metrics.ledgerCompleteness >= (thresholds.minLedgerCompleteness ?? 1),
125
+ sameSessionMemoryReady: metrics.sameSessionMemoryReadyMs <= (thresholds.maxSameSessionMemoryReadyMs ?? 5_000),
99
126
  };
100
127
  const report = {
101
128
  schemaVersion: 'devflow.retrieval-quality-report.v1',
@@ -104,6 +131,7 @@ export async function runRetrievalQualityBenchmark(options) {
104
131
  createdAt: Date.now(),
105
132
  status: Object.values(gates).every(Boolean) ? 'passed' : 'failed',
106
133
  metrics,
134
+ samples,
107
135
  thresholds,
108
136
  gates,
109
137
  cases: envelopes.map(item => ({
@@ -142,6 +170,40 @@ export async function runRetrievalQualityBenchmark(options) {
142
170
  engines.data.close?.();
143
171
  }
144
172
  }
173
+ async function prepareFixture(engines, fixture, projectRoot) {
174
+ const startedAt = Date.now();
175
+ for (const [index, content] of (fixture.setup?.explicitMemories ?? []).entries()) {
176
+ const saved = await engines.memory.saveExplicitMemoryIntent(content, `quality:setup:${index}`);
177
+ await engines.memory.enrichExplicitMemoryObservation(saved.id);
178
+ }
179
+ const memoryReadyMs = Date.now() - startedAt;
180
+ for (const source of fixture.setup?.knowledgeSources ?? []) {
181
+ await engines.knowledge.registerSource({
182
+ name: source.name,
183
+ pluginName: source.pluginName ?? 'benchmark-fixture',
184
+ urls: [],
185
+ version: source.version,
186
+ });
187
+ const sourceDir = resolve(projectRoot, '.devflow', 'knowledge', source.name);
188
+ mkdirSync(sourceDir, { recursive: true });
189
+ for (const [index, chunk] of source.chunks.entries()) {
190
+ writeFileSync(resolve(sourceDir, `chunk-${String(index + 1).padStart(3, '0')}.json`), JSON.stringify({
191
+ id: `chunk-${String(index + 1).padStart(3, '0')}`,
192
+ title: chunk.title,
193
+ section: chunk.title,
194
+ content: chunk.content,
195
+ sourceUrl: chunk.sourceUrl ?? `devflow://benchmark/${source.name}`,
196
+ fetchedAt: Date.now(),
197
+ }, null, 2));
198
+ }
199
+ const reingested = engines.knowledge.reingestLocalSources(source.name);
200
+ if (reingested.some(result => result.errors.length > 0 || result.chunks === 0)) {
201
+ throw new Error(`Failed to prepare benchmark knowledge source ${source.name}`);
202
+ }
203
+ await engines.knowledge.backfillVectors({ source: source.name });
204
+ }
205
+ return memoryReadyMs;
206
+ }
145
207
  function readRuntimeEfficiencyMetrics(projectRoot, diagnostics) {
146
208
  const empty = {
147
209
  fullPluginCount: null,
@@ -305,6 +367,19 @@ function memoryPrecision(envelope, fixture, k) {
305
367
  || terms.some(term => normalizeText(`${entry.title} ${entry.applicability.join(' ')}`).includes(term)));
306
368
  return relevant.length / selected.length;
307
369
  }
370
+ function memoryRecall(envelope, fixture, k) {
371
+ const ids = new Set(fixture.relevantMemoryIds ?? []);
372
+ const terms = (fixture.relevantMemoryTerms ?? []).map(normalizeText);
373
+ const selected = envelope.memory.entries.slice(0, k);
374
+ const selectedIds = new Set(selected.map(entry => entry.id));
375
+ const selectedText = selected.map(entry => normalizeText(`${entry.title} ${entry.applicability.join(' ')}`));
376
+ const expected = ids.size + terms.length;
377
+ if (expected === 0)
378
+ return 1;
379
+ const recalledIds = [...ids].filter(id => selectedIds.has(id)).length;
380
+ const recalledTerms = terms.filter(term => selectedText.some(text => text.includes(term))).length;
381
+ return (recalledIds + recalledTerms) / expected;
382
+ }
308
383
  function knowledgeNdcg(envelope, fixture, k) {
309
384
  const ids = new Set(fixture.relevantKnowledgeIds ?? []);
310
385
  const sources = new Set((fixture.relevantKnowledgeSources ?? []).map(normalizeText));
@@ -341,17 +416,51 @@ function knowledgeVersionMatch(envelope, fixture) {
341
416
  return 0;
342
417
  return applicable.filter(entry => major(entry.version) === major(expected[entry.source])).length / applicable.length;
343
418
  }
419
+ function canonicalPolicyMatches(envelope, fixture) {
420
+ if (fixture.expectedDomainAction && envelope.canonicalNextAction?.tool !== fixture.expectedDomainAction)
421
+ return false;
422
+ const facets = new Set(envelope.canonicalNextAction?.binding.requiredPolicyFacets ?? []);
423
+ if ((fixture.expectedPolicyFacets ?? []).some(facet => !facets.has(facet)))
424
+ return false;
425
+ const verification = new Set(envelope.canonicalNextAction?.verificationPlan.map(step => step.kind) ?? []);
426
+ return (fixture.expectedVerificationKinds ?? []).every(kind => verification.has(kind));
427
+ }
428
+ function ledgerCompleteness(projectRoot, envelope) {
429
+ const database = openGlobalDevFlowDatabase();
430
+ try {
431
+ const events = database.listRetrievalLedgerEvents({
432
+ projectRoot,
433
+ sessionId: envelope.request.sessionId,
434
+ executionId: envelope.request.executionId,
435
+ requestId: envelope.request.requestId,
436
+ });
437
+ const expected = [
438
+ ...envelope.code.files.map(file => `code\0${file.path}`),
439
+ ...envelope.memory.entries.map(entry => `memory\0${entry.id}`),
440
+ ...envelope.knowledge.entries.map(entry => `knowledge\0${entry.id}`),
441
+ ...(envelope.canonicalNextAction ? [`action\0${envelope.canonicalNextAction.tool}`] : []),
442
+ ];
443
+ if (expected.length === 0)
444
+ return 1;
445
+ const stages = new Map();
446
+ for (const event of events) {
447
+ const key = `${event.sourceType}\0${event.sourceId}`;
448
+ const value = stages.get(key) ?? new Set();
449
+ value.add(event.stage);
450
+ stages.set(key, value);
451
+ }
452
+ return expected.filter(key => ['eligible', 'candidate', 'selected', 'exposed']
453
+ .every(stage => stages.get(key)?.has(stage))).length / expected.length;
454
+ }
455
+ finally {
456
+ database.close();
457
+ }
458
+ }
344
459
  function edgeMatches(expected, source, target, kind) {
345
460
  const forward = normalizePath(expected.sourceFile) === source && normalizePath(expected.targetFile) === target;
346
461
  const reverse = normalizePath(expected.sourceFile) === target && normalizePath(expected.targetFile) === source;
347
462
  return (forward || reverse) && (!expected.kind || normalizeText(expected.kind) === normalizeText(kind));
348
463
  }
349
- function ndcg(relevance, idealRelevant) {
350
- const dcg = relevance.reduce((sum, value, index) => sum + value / Math.log2(index + 2), 0);
351
- const idcg = Array.from({ length: Math.min(relevance.length, idealRelevant) }, (_, index) => 1 / Math.log2(index + 2))
352
- .reduce((sum, value) => sum + value, 0);
353
- return idcg > 0 ? Math.min(1, dcg / idcg) : 1;
354
- }
355
464
  function average(values) {
356
465
  return values.length > 0 ? values.reduce((sum, value) => sum + value, 0) / values.length : 1;
357
466
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval-quality.js","sourceRoot":"","sources":["../src/retrieval-quality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieval-quality.js","sourceRoot":"","sources":["../src/retrieval-quality.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- 1785312332216
1
+ 1785317703787
@@ -0,0 +1,5 @@
1
+ # CodeGraph data files — local to each machine, not for committing.
2
+ # Ignore everything in .codegraph/ except this file itself, so transient
3
+ # files (the database, daemon.pid, sockets, logs) never show up in git.
4
+ *
5
+ !.gitignore
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://angular.dev/api"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "18",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:angular:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://docs.nestjs.com/"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "10",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:nest:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://nextjs.org/docs"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "14",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:nextjs:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://nodejs.org/docs/latest/api/"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "22",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:node:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://www.prisma.io/docs/orm"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "5",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:prisma:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "id": "chunk-001",
3
+ "title": "React component rendering",
4
+ "section": "React component rendering",
5
+ "content": "# React component rendering\n\nReact components should keep render work focused. Profile component commits before changing update frequency. A Login component should use controlled form state and accessible labels.",
6
+ "sourceUrl": "https://react.dev/reference/react",
7
+ "fetchedAt": 1785317704932
8
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://react.dev/reference/react"
4
+ ],
5
+ "fetchedAt": 1785317704932,
6
+ "chunkCount": 1,
7
+ "pluginName": "builtin",
8
+ "version": "18",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:react:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://tailwindcss.com/docs"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "^3.4.0",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:tailwind:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://www.typescriptlang.org/docs/"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "^5.5.0",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:typescript:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://vitest.dev/api/"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "2",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:vitest:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "urls": [
3
+ "https://vuejs.org/api/"
4
+ ],
5
+ "fetchedAt": 0,
6
+ "chunkCount": 0,
7
+ "pluginName": "builtin",
8
+ "version": "3",
9
+ "renderJs": false,
10
+ "chunkPolicyVersion": 3,
11
+ "sourceSchemaId": "schema:vue:v1",
12
+ "sourceKind": "official"
13
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "new-york",
4
+ "tailwind": {
5
+ "css": "src/index.css"
6
+ }
7
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "rsbuild-react-quality",
3
+ "private": true,
4
+ "scripts": {
5
+ "typecheck": "tsc --noEmit",
6
+ "build": "rsbuild build"
7
+ },
8
+ "dependencies": {
9
+ "@rsbuild/core": "^1.0.0",
10
+ "react": "^18.3.0",
11
+ "tailwindcss": "^3.4.0"
12
+ },
13
+ "devDependencies": {
14
+ "prettier": "^3.0.0",
15
+ "typescript": "^5.5.0"
16
+ }
17
+ }
@@ -0,0 +1,14 @@
1
+ import { useState } from 'react';
2
+
3
+ export function Login() {
4
+ const [email, setEmail] = useState('');
5
+ return (
6
+ <form className="grid gap-4" aria-label="Login">
7
+ <label>
8
+ Email
9
+ <input value={email} onChange={(event) => setEmail(event.target.value)} />
10
+ </label>
11
+ <button type="submit">Sign in</button>
12
+ </form>
13
+ );
14
+ }
@@ -1,18 +1,36 @@
1
1
  {
2
2
  "schemaVersion": "devflow.retrieval-quality-corpus.v1",
3
3
  "maxTokenGrowthRatio": 0.5,
4
+ "trialCount": 3,
5
+ "requiredAcceptanceClasses": [
6
+ "exact-positive", "paraphrase", "mixed-language", "expected-empty", "out-of-domain",
7
+ "incompatible-version", "stale-file", "weak-graph", "embedding-degraded",
8
+ "reranker-unavailable", "policy-action", "session-end-reconciliation"
9
+ ],
4
10
  "projects": [
5
11
  {
6
12
  "id": "devflow",
7
13
  "projectRoot": "../../..",
8
14
  "fixturePath": "retrieval-quality-devflow.json",
9
- "prepareCodeGraph": true
15
+ "prepareCodeGraph": true,
16
+ "acceptanceClasses": ["exact-positive", "policy-action", "session-end-reconciliation"]
10
17
  },
11
18
  {
12
19
  "id": "react-video",
13
20
  "projectRoot": "projects/react-video",
14
21
  "fixturePath": "retrieval-quality-react-video.json",
15
- "prepareCodeGraph": true
22
+ "prepareCodeGraph": true,
23
+ "acceptanceClasses": [
24
+ "paraphrase", "mixed-language", "expected-empty", "out-of-domain",
25
+ "incompatible-version", "stale-file", "weak-graph", "embedding-degraded", "reranker-unavailable"
26
+ ]
27
+ },
28
+ {
29
+ "id": "rsbuild-react-quality",
30
+ "projectRoot": "projects/rsbuild-react-quality",
31
+ "fixturePath": "retrieval-quality-rsbuild-react.json",
32
+ "prepareCodeGraph": true,
33
+ "acceptanceClasses": ["exact-positive", "expected-empty", "policy-action", "embedding-degraded"]
16
34
  },
17
35
  {
18
36
  "id": "rsbuild-react",
@@ -21,5 +39,42 @@
21
39
  "optional": true,
22
40
  "deferred": true
23
41
  }
42
+ ],
43
+ "authoritativeScenarios": [
44
+ {
45
+ "id": "http-expected-empty",
46
+ "acceptanceClasses": ["expected-empty", "out-of-domain"],
47
+ "expected": { "memoryIds": [], "coverageGaps": ["knowledge_source_missing"], "codePaths": ["src/components/Login.tsx"], "codeRoles": ["target"], "domainAction": "devflow_unsupported_action", "verification": ["unknown"], "ledgerTransitions": ["selected", "exposed", "unknown"] }
48
+ },
49
+ {
50
+ "id": "prettier-explicit-immediate",
51
+ "acceptanceClasses": ["exact-positive", "policy-action"],
52
+ "expected": { "memoryIds": ["prettier-project-policy"], "memoryFacets": ["formatting"], "knowledgeSources": [], "codePaths": ["src/components/Login.tsx"], "codeRoles": ["target"], "domainAction": "react_refactor_component", "verification": ["formatter", "typecheck"], "ledgerTransitions": ["selected", "exposed", "adopted", "positive_outcome"] }
53
+ },
54
+ {
55
+ "id": "login-tailwind-shadcn-prettier",
56
+ "acceptanceClasses": ["mixed-language", "policy-action"],
57
+ "expected": { "memoryFacets": ["formatting", "styling", "component_library"], "knowledgeSources": ["react", "tailwindcss"], "codePaths": ["src/components/Login.tsx"], "codeRoles": ["target"], "domainAction": "react_new_component", "verification": ["formatter", "typecheck"], "ledgerTransitions": ["eligible", "candidate", "selected", "exposed", "adopted", "positive_outcome"] }
58
+ },
59
+ {
60
+ "id": "successful-grep-no-learning",
61
+ "acceptanceClasses": ["expected-empty"],
62
+ "expected": { "memoryIds": [], "coverageGaps": [], "codePaths": ["src/components/Login.tsx"], "codeRoles": ["target"], "domainAction": "react_audit_performance", "verification": ["unknown"], "ledgerTransitions": ["selected", "exposed", "unknown"] }
63
+ },
64
+ {
65
+ "id": "stale-component-exclusion",
66
+ "acceptanceClasses": ["stale-file", "weak-graph"],
67
+ "expected": { "memoryIds": [], "coverageGaps": [], "codePaths": ["src/components/Login.tsx"], "codeRoles": ["target"], "domainAction": "react_review_hooks", "verification": ["unknown"], "ledgerTransitions": ["rejected", "selected", "exposed", "unknown"] }
68
+ },
69
+ {
70
+ "id": "api-specific-knowledge-rejection",
71
+ "acceptanceClasses": ["incompatible-version", "embedding-degraded", "reranker-unavailable"],
72
+ "expected": { "memoryIds": [], "knowledgeSources": ["react"], "knowledgeChunks": ["api"], "codePaths": ["src/components/Login.tsx"], "codeRoles": ["target"], "domainAction": "react_review_hooks", "verification": ["unknown"], "ledgerTransitions": ["candidate", "rejected", "selected", "exposed", "unknown"] }
73
+ },
74
+ {
75
+ "id": "session-exit-closure",
76
+ "acceptanceClasses": ["session-end-reconciliation"],
77
+ "expected": { "memoryIds": [], "coverageGaps": [], "codePaths": ["src/components/Login.tsx"], "codeRoles": ["target"], "domainAction": "react_audit_performance", "verification": ["session_end_receipt"], "ledgerTransitions": ["selected", "exposed", "unknown"] }
78
+ }
24
79
  ]
25
80
  }
@@ -0,0 +1,93 @@
1
+ {
2
+ "schemaVersion": "devflow.retrieval-quality.v1",
3
+ "thresholds": {
4
+ "codeFileRecallAt5": 1,
5
+ "codeFilePrecisionAt5": 1,
6
+ "symbolNdcgAt5": 0.8,
7
+ "falseCrossFileEdgeRate": 0.01,
8
+ "memoryRecallAt5": 0.9,
9
+ "policyMemoryRecallAt5": 1,
10
+ "memoryPrecisionAt5": 0.95,
11
+ "expectedEmptyMemoryAccuracy": 1,
12
+ "knowledgeNdcgAt5": 0.85,
13
+ "knowledgePrecisionAt3": 0.8,
14
+ "knowledgeVectorCoverage": 0,
15
+ "knowledgeChunkP95": 3000,
16
+ "knowledgeVersionMatch": 1,
17
+ "maxKnowledgeInjectionViolations": 0,
18
+ "maxStaleSelectedFiles": 0,
19
+ "maxRetrievalCycle": 3,
20
+ "minPolicyActionAccuracy": 1,
21
+ "minLedgerCompleteness": 1,
22
+ "maxSameSessionMemoryReadyMs": 5000
23
+ },
24
+ "setup": {
25
+ "resetProjectState": true,
26
+ "explicitMemories": [
27
+ "In this project, format code with Prettier.",
28
+ "In this project, style components with Tailwind CSS.",
29
+ "In this project, use shadcn as the component library.",
30
+ "In this project, build components with React."
31
+ ],
32
+ "knowledgeSources": [
33
+ {
34
+ "name": "react",
35
+ "pluginName": "builtin",
36
+ "version": "18.3.0",
37
+ "chunks": [
38
+ {
39
+ "title": "React component rendering",
40
+ "content": "React components should keep render work focused. Profile component commits before changing update frequency. A Login component should use controlled form state and accessible labels.",
41
+ "sourceUrl": "https://react.dev/reference/react"
42
+ }
43
+ ]
44
+ }
45
+ ]
46
+ },
47
+ "queries": [
48
+ {
49
+ "id": "http-expected-empty",
50
+ "query": "audit HTTP request latency and connection reuse",
51
+ "intent": "performance",
52
+ "expectedEmptyMemory": true,
53
+ "expectedEmptyKnowledge": true
54
+ },
55
+ {
56
+ "id": "project-ui-conventions",
57
+ "query": "What Prettier Tailwind and shadcn conventions apply to src/components/Login.tsx?",
58
+ "intent": "understand",
59
+ "relevantCode": [{ "path": "src/components/Login.tsx", "role": "target" }],
60
+ "relevantMemoryTerms": ["prettier", "tailwind", "shadcn"]
61
+ },
62
+ {
63
+ "id": "login-tailwind-shadcn-prettier",
64
+ "query": "create Login component in src/components/Login.tsx",
65
+ "intent": "feature",
66
+ "activeSkill": "devflow:react",
67
+ "relevantCode": [{ "path": "src/components/Login.tsx", "role": "target" }],
68
+ "relevantMemoryTerms": ["prettier", "tailwind", "shadcn", "react"],
69
+ "relevantKnowledgeSources": ["react"],
70
+ "expectedPolicyFacets": ["formatting", "styling", "component_library", "framework"],
71
+ "expectedDomainAction": "react_new_component",
72
+ "expectedVerificationKinds": ["formatter", "typecheck"]
73
+ },
74
+ {
75
+ "id": "video-performance-domain-action",
76
+ "query": "analyze rendering performance in src/components/Login.tsx",
77
+ "intent": "performance",
78
+ "activeSkill": "devflow:react",
79
+ "relevantCode": [{ "path": "src/components/Login.tsx", "role": "target" }],
80
+ "relevantKnowledgeSources": ["react"],
81
+ "expectedDomainAction": "react_audit_performance"
82
+ },
83
+ {
84
+ "id": "api-specific-knowledge-rejection",
85
+ "query": "review React 19 useEffect API hooks in src/components/Login.tsx",
86
+ "intent": "review",
87
+ "activeSkill": "devflow:react",
88
+ "relevantCode": [{ "path": "src/components/Login.tsx", "role": "target" }],
89
+ "expectedEmptyKnowledge": true,
90
+ "expectedDomainAction": "react_review_hooks"
91
+ }
92
+ ]
93
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devflow-tools/benchmark",
3
- "version": "0.16.28",
3
+ "version": "0.16.30",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -19,9 +19,9 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "@colbymchenry/codegraph": "^1.1.1",
22
- "@devflow-tools/context-engine": "0.16.28",
23
- "@devflow-tools/database": "0.16.28",
24
- "@devflow-tools/sdk": "0.16.28"
22
+ "@devflow-tools/context-engine": "0.16.30",
23
+ "@devflow-tools/database": "0.16.30",
24
+ "@devflow-tools/sdk": "0.16.30"
25
25
  },
26
26
  "devDependencies": {
27
27
  "typescript": "^5.5.0",
@@ -31,5 +31,5 @@
31
31
  "dist",
32
32
  "fixtures"
33
33
  ],
34
- "gitHead": "730a5299fc2b96d0f7435e51cae8d0669d31fe2f"
34
+ "gitHead": "1505a64060ffbe52a0b8a4b3de416aed0a94c5f5"
35
35
  }