@oddessentials/odd-ai-reviewers 1.12.0 → 1.13.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.
@@ -0,0 +1,14 @@
1
+ import { readFileSync, writeFileSync } from 'fs';
2
+ export interface BenchmarkCommandOptions {
3
+ fixtures: string;
4
+ output?: string;
5
+ verbose?: boolean;
6
+ }
7
+ export interface BenchmarkCommandIO {
8
+ log: (message: string) => void;
9
+ error: (message: string) => void;
10
+ readFile: typeof readFileSync;
11
+ writeFile: typeof writeFileSync;
12
+ }
13
+ export declare function runBenchmarkCommand(options: BenchmarkCommandOptions, io?: BenchmarkCommandIO): Promise<number>;
14
+ //# sourceMappingURL=benchmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/benchmark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAIjD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,OAAO,YAAY,CAAC;IAC9B,SAAS,EAAE,OAAO,aAAa,CAAC;CACjC;AASD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,uBAAuB,EAChC,EAAE,GAAE,kBAA8B,GACjC,OAAO,CAAC,MAAM,CAAC,CAyFjB"}
@@ -0,0 +1,86 @@
1
+ import { readFileSync, writeFileSync } from 'fs';
2
+ import { computeReport, scoreScenario } from '../../benchmark/scoring.js';
3
+ import { getUnsupportedScenarioReason, runScenario } from '../../benchmark/adapter.js';
4
+ const defaultIO = {
5
+ log: (message) => console.log(message),
6
+ error: (message) => console.error(message),
7
+ readFile: readFileSync,
8
+ writeFile: writeFileSync,
9
+ };
10
+ export async function runBenchmarkCommand(options, io = defaultIO) {
11
+ try {
12
+ const data = JSON.parse(io.readFile(options.fixtures, 'utf-8'));
13
+ const benchmarkScenarios = data.scenarios;
14
+ if (benchmarkScenarios.length === 0) {
15
+ throw new Error('Fixture file contains no scenarios');
16
+ }
17
+ io.log(`[benchmark] Running ${benchmarkScenarios.length} scenarios...`);
18
+ const results = [];
19
+ let skippedCount = 0;
20
+ for (const scenario of benchmarkScenarios) {
21
+ const unsupportedReason = getUnsupportedScenarioReason(scenario);
22
+ if (unsupportedReason) {
23
+ skippedCount++;
24
+ if (options.verbose) {
25
+ io.log(` [SKIP] ${scenario.id}: ${unsupportedReason}`);
26
+ }
27
+ continue;
28
+ }
29
+ const findings = await runScenario(scenario);
30
+ const result = scoreScenario(scenario, findings);
31
+ results.push(result);
32
+ if (options.verbose) {
33
+ io.log(` [${result.passed ? 'PASS' : 'FAIL'}] ${scenario.id}: ${scenario.description}`);
34
+ }
35
+ }
36
+ if (results.length === 0 && skippedCount > 0) {
37
+ throw new Error('All benchmark scenarios were skipped as unsupported by the deterministic benchmark adapter');
38
+ }
39
+ const report = computeReport(results);
40
+ const reportJson = JSON.stringify(report, null, 2);
41
+ if (options.output) {
42
+ io.writeFile(options.output, reportJson);
43
+ io.log(`[benchmark] Report written to ${options.output}`);
44
+ }
45
+ else {
46
+ io.log(reportJson);
47
+ }
48
+ const suppression = (report.pool1.suppressionRate * 100).toFixed(1);
49
+ const recall = (report.pool2.recall * 100).toFixed(1);
50
+ const precision = (report.pool2.precision * 100).toFixed(1);
51
+ if (skippedCount > 0) {
52
+ io.log(`\n[benchmark] ${results.length} scored, ${skippedCount} skipped (unsupported patterns)`);
53
+ }
54
+ io.log(`\n[benchmark] Pool 1 (FP): suppression=${suppression}%`);
55
+ io.log(`[benchmark] Pool 2 (TP): recall=${recall}%, precision=${precision}%`);
56
+ const patternEScenarios = report.scenarios.filter((scenario) => scenario.pattern === 'E');
57
+ const patternEPassed = patternEScenarios.filter((scenario) => scenario.passed).length;
58
+ const patternERate = patternEScenarios.length > 0 ? patternEPassed / patternEScenarios.length : 1;
59
+ io.log(`[benchmark] SC-007: Pattern E self-contradiction=${(patternERate * 100).toFixed(1)}%`);
60
+ const suppressionGate = report.pool1.suppressionRate >= 0.85;
61
+ const recallGate = report.pool2.recall === 1.0;
62
+ const precisionGate = report.pool2.precision >= 0.7;
63
+ const fprGate = report.pool1.fpRate <= 0.25;
64
+ const selfContradictionGate = patternERate >= 0.8;
65
+ if (!suppressionGate)
66
+ io.log('[benchmark] FAIL: SC-001 suppression rate < 85%');
67
+ if (!recallGate)
68
+ io.log('[benchmark] FAIL: SC-002 TP recall < 100%');
69
+ if (!precisionGate)
70
+ io.log('[benchmark] FAIL: SC-003 TP precision < 70%');
71
+ if (!fprGate)
72
+ io.log('[benchmark] FAIL: SC-004 FP rate > 25%');
73
+ if (!selfContradictionGate) {
74
+ io.log(`[benchmark] FAIL: SC-007 Pattern E self-contradiction filter ${(patternERate * 100).toFixed(1)}% < 80%`);
75
+ }
76
+ return suppressionGate && recallGate && precisionGate && fprGate && selfContradictionGate
77
+ ? 0
78
+ : 1;
79
+ }
80
+ catch (error) {
81
+ const msg = error instanceof Error ? error.message : String(error);
82
+ io.error(`[benchmark] Fatal error: ${msg}`);
83
+ return 2;
84
+ }
85
+ }
86
+ //# sourceMappingURL=benchmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../../src/cli/commands/benchmark.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-review.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/local-review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-review.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/local-review.ts"],"names":[],"mappings":"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"}