@oddessentials/odd-ai-reviewers 1.7.4 → 1.9.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 (75) hide show
  1. package/dist/agents/ai_semantic_review.d.ts.map +1 -1
  2. package/dist/agents/ai_semantic_review.js +7 -1
  3. package/dist/agents/ai_semantic_review.js.map +1 -1
  4. package/dist/agents/control_flow/safe-source-detector.d.ts +48 -0
  5. package/dist/agents/control_flow/safe-source-detector.d.ts.map +1 -0
  6. package/dist/agents/control_flow/safe-source-detector.js +434 -0
  7. package/dist/agents/control_flow/safe-source-detector.js.map +1 -0
  8. package/dist/agents/control_flow/safe-source-patterns.d.ts +61 -0
  9. package/dist/agents/control_flow/safe-source-patterns.d.ts.map +1 -0
  10. package/dist/agents/control_flow/safe-source-patterns.js +137 -0
  11. package/dist/agents/control_flow/safe-source-patterns.js.map +1 -0
  12. package/dist/agents/control_flow/scope-stack.d.ts +167 -0
  13. package/dist/agents/control_flow/scope-stack.d.ts.map +1 -0
  14. package/dist/agents/control_flow/scope-stack.js +448 -0
  15. package/dist/agents/control_flow/scope-stack.js.map +1 -0
  16. package/dist/agents/control_flow/vulnerability-detector.d.ts +13 -0
  17. package/dist/agents/control_flow/vulnerability-detector.d.ts.map +1 -1
  18. package/dist/agents/control_flow/vulnerability-detector.js +630 -35
  19. package/dist/agents/control_flow/vulnerability-detector.js.map +1 -1
  20. package/dist/agents/opencode.d.ts.map +1 -1
  21. package/dist/agents/opencode.js +7 -1
  22. package/dist/agents/opencode.js.map +1 -1
  23. package/dist/agents/pr_agent.d.ts.map +1 -1
  24. package/dist/agents/pr_agent.js +8 -2
  25. package/dist/agents/pr_agent.js.map +1 -1
  26. package/dist/agents/security.d.ts.map +1 -1
  27. package/dist/agents/security.js +1 -0
  28. package/dist/agents/security.js.map +1 -1
  29. package/dist/agents/types.d.ts +6 -0
  30. package/dist/agents/types.d.ts.map +1 -1
  31. package/dist/benchmark/adapter.d.ts +87 -0
  32. package/dist/benchmark/adapter.d.ts.map +1 -0
  33. package/dist/benchmark/adapter.js +298 -0
  34. package/dist/benchmark/adapter.js.map +1 -0
  35. package/dist/benchmark/scoring.d.ts +100 -0
  36. package/dist/benchmark/scoring.d.ts.map +1 -0
  37. package/dist/benchmark/scoring.js +195 -0
  38. package/dist/benchmark/scoring.js.map +1 -0
  39. package/dist/cli/dependencies/schemas.d.ts +3 -3
  40. package/dist/context-loader.d.ts +80 -0
  41. package/dist/context-loader.d.ts.map +1 -0
  42. package/dist/context-loader.js +202 -0
  43. package/dist/context-loader.js.map +1 -0
  44. package/dist/main.d.ts.map +1 -1
  45. package/dist/main.js +131 -4
  46. package/dist/main.js.map +1 -1
  47. package/dist/phases/index.d.ts +1 -1
  48. package/dist/phases/index.d.ts.map +1 -1
  49. package/dist/phases/index.js +1 -1
  50. package/dist/phases/index.js.map +1 -1
  51. package/dist/phases/report.d.ts +8 -1
  52. package/dist/phases/report.d.ts.map +1 -1
  53. package/dist/phases/report.js +52 -5
  54. package/dist/phases/report.js.map +1 -1
  55. package/dist/report/ado.d.ts +2 -0
  56. package/dist/report/ado.d.ts.map +1 -1
  57. package/dist/report/ado.js +9 -23
  58. package/dist/report/ado.js.map +1 -1
  59. package/dist/report/finding-validator.d.ts +130 -0
  60. package/dist/report/finding-validator.d.ts.map +1 -0
  61. package/dist/report/finding-validator.js +347 -0
  62. package/dist/report/finding-validator.js.map +1 -0
  63. package/dist/report/framework-pattern-filter.d.ts +53 -0
  64. package/dist/report/framework-pattern-filter.d.ts.map +1 -0
  65. package/dist/report/framework-pattern-filter.js +189 -0
  66. package/dist/report/framework-pattern-filter.js.map +1 -0
  67. package/dist/report/github.d.ts +2 -0
  68. package/dist/report/github.d.ts.map +1 -1
  69. package/dist/report/github.js +9 -23
  70. package/dist/report/github.js.map +1 -1
  71. package/dist/trust.d.ts +6 -0
  72. package/dist/trust.d.ts.map +1 -1
  73. package/dist/trust.js +2 -0
  74. package/dist/trust.js.map +1 -1
  75. package/package.json +5 -5
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Context Loader Module
3
+ *
4
+ * Loads and sanitizes contextual information (project rules, PR description)
5
+ * for injection into agent prompts. Implements FR-006, FR-007, FR-008.
6
+ *
7
+ * Security: All fields are sanitized to prevent prompt injection via
8
+ * null bytes, control characters, and oversized content.
9
+ */
10
+ /**
11
+ * Sanitize a context field by stripping dangerous characters and truncating.
12
+ *
13
+ * @param input - Raw input string
14
+ * @param maxLength - Maximum allowed length (default 2000)
15
+ * @returns Sanitized string
16
+ */
17
+ export declare function sanitizeContextField(input: string, maxLength?: number): string;
18
+ /**
19
+ * Load project rules from CLAUDE.md in the repository root.
20
+ *
21
+ * @param repoPath - Path to the repository root
22
+ * @returns Sanitized CLAUDE.md content, or undefined if not found
23
+ */
24
+ export declare function loadProjectRules(repoPath: string): Promise<string | undefined>;
25
+ /**
26
+ * Load PR description from title and body fields.
27
+ *
28
+ * @param title - PR title
29
+ * @param body - PR body/description
30
+ * @returns Sanitized combined description, or undefined if both empty
31
+ */
32
+ export declare function loadPRDescription(title?: string, body?: string): Promise<string | undefined>;
33
+ /**
34
+ * Extract PR title and body from the GitHub Actions event payload.
35
+ *
36
+ * GitHub Actions sets GITHUB_EVENT_PATH to a JSON file containing the
37
+ * full webhook event. For pull_request events, this includes title and body.
38
+ * Returns undefined fields for non-PR events, missing files, or parse errors.
39
+ *
40
+ * @param eventPath - Path to the event JSON file (from GITHUB_EVENT_PATH)
41
+ * @returns Object with optional title and body, or undefined fields on failure
42
+ */
43
+ export declare function loadGitHubEventPR(eventPath: string | undefined): Promise<{
44
+ title?: string;
45
+ body?: string;
46
+ }>;
47
+ /**
48
+ * Fetch PR title and body from the GitHub API using Octokit.
49
+ *
50
+ * This is the fallback path when GITHUB_EVENT_PATH doesn't contain PR data
51
+ * (e.g., workflow_dispatch triggers, external CI without a pull_request event).
52
+ * Requires owner, repo, PR number, and a valid GITHUB_TOKEN.
53
+ *
54
+ * @param owner - Repository owner
55
+ * @param repo - Repository name
56
+ * @param prNumber - Pull request number
57
+ * @param token - GitHub API token
58
+ * @returns Object with optional title and body, or empty object on failure
59
+ */
60
+ export declare function fetchGitHubPRDetails(owner: string, repo: string, prNumber: number, token: string): Promise<{
61
+ title?: string;
62
+ body?: string;
63
+ }>;
64
+ /**
65
+ * Truncate context fields to fit within a token budget while preserving diff content.
66
+ *
67
+ * Strategy: diff is always preserved; projectRules is truncated first, then prDescription.
68
+ *
69
+ * @param projectRules - Project rules content (may be truncated)
70
+ * @param prDescription - PR description content (may be truncated)
71
+ * @param diffContent - Diff content (always preserved)
72
+ * @param maxTokens - Maximum token budget
73
+ * @returns Truncated fields and whether truncation occurred
74
+ */
75
+ export declare function truncateContext(projectRules: string | undefined, prDescription: string | undefined, diffContent: string, maxTokens: number): {
76
+ projectRules: string | undefined;
77
+ prDescription: string | undefined;
78
+ truncated: boolean;
79
+ };
80
+ //# sourceMappingURL=context-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-loader.d.ts","sourceRoot":"","sources":["../src/context-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAc9E;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQpF;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW7B;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwB5C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoB5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB;IACD,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;CACpB,CA4EA"}
@@ -0,0 +1,202 @@
1
+ /**
2
+ * Context Loader Module
3
+ *
4
+ * Loads and sanitizes contextual information (project rules, PR description)
5
+ * for injection into agent prompts. Implements FR-006, FR-007, FR-008.
6
+ *
7
+ * Security: All fields are sanitized to prevent prompt injection via
8
+ * null bytes, control characters, and oversized content.
9
+ */
10
+ import { readFile } from 'fs/promises';
11
+ import { join } from 'path';
12
+ import { Octokit } from '@octokit/rest';
13
+ /**
14
+ * Sanitize a context field by stripping dangerous characters and truncating.
15
+ *
16
+ * @param input - Raw input string
17
+ * @param maxLength - Maximum allowed length (default 2000)
18
+ * @returns Sanitized string
19
+ */
20
+ export function sanitizeContextField(input, maxLength) {
21
+ // Strip null bytes
22
+ let sanitized = input.replace(/\0/g, '');
23
+ // Remove control characters except \t (0x09), \n (0x0A), \r (0x0D)
24
+ // eslint-disable-next-line no-control-regex
25
+ sanitized = sanitized.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]/g, '');
26
+ // Truncate to maxLength
27
+ if (typeof maxLength === 'number' && sanitized.length > maxLength) {
28
+ sanitized = sanitized.slice(0, maxLength);
29
+ }
30
+ return sanitized;
31
+ }
32
+ /**
33
+ * Load project rules from CLAUDE.md in the repository root.
34
+ *
35
+ * @param repoPath - Path to the repository root
36
+ * @returns Sanitized CLAUDE.md content, or undefined if not found
37
+ */
38
+ export async function loadProjectRules(repoPath) {
39
+ try {
40
+ const content = await readFile(join(repoPath, 'CLAUDE.md'), 'utf-8');
41
+ return sanitizeContextField(content);
42
+ }
43
+ catch {
44
+ // File doesn't exist or can't be read - graceful degradation
45
+ return undefined;
46
+ }
47
+ }
48
+ /**
49
+ * Load PR description from title and body fields.
50
+ *
51
+ * @param title - PR title
52
+ * @param body - PR body/description
53
+ * @returns Sanitized combined description, or undefined if both empty
54
+ */
55
+ export async function loadPRDescription(title, body) {
56
+ if (!title && !body) {
57
+ return undefined;
58
+ }
59
+ const parts = [];
60
+ if (title)
61
+ parts.push(title);
62
+ if (body)
63
+ parts.push(body);
64
+ const combined = parts.join('\n\n');
65
+ return sanitizeContextField(combined, 2000);
66
+ }
67
+ /**
68
+ * Extract PR title and body from the GitHub Actions event payload.
69
+ *
70
+ * GitHub Actions sets GITHUB_EVENT_PATH to a JSON file containing the
71
+ * full webhook event. For pull_request events, this includes title and body.
72
+ * Returns undefined fields for non-PR events, missing files, or parse errors.
73
+ *
74
+ * @param eventPath - Path to the event JSON file (from GITHUB_EVENT_PATH)
75
+ * @returns Object with optional title and body, or undefined fields on failure
76
+ */
77
+ export async function loadGitHubEventPR(eventPath) {
78
+ if (!eventPath) {
79
+ return {};
80
+ }
81
+ try {
82
+ const content = await readFile(eventPath, 'utf-8');
83
+ const event = JSON.parse(content);
84
+ // pull_request events have the PR data directly
85
+ const pr = event['pull_request'];
86
+ if (!pr) {
87
+ // Not a pull_request event (e.g., push, schedule) — degrade cleanly
88
+ return {};
89
+ }
90
+ return {
91
+ title: typeof pr['title'] === 'string' ? pr['title'] : undefined,
92
+ body: typeof pr['body'] === 'string' ? pr['body'] : undefined,
93
+ };
94
+ }
95
+ catch {
96
+ // File doesn't exist, can't be read, or JSON is malformed — graceful degradation
97
+ return {};
98
+ }
99
+ }
100
+ /**
101
+ * Fetch PR title and body from the GitHub API using Octokit.
102
+ *
103
+ * This is the fallback path when GITHUB_EVENT_PATH doesn't contain PR data
104
+ * (e.g., workflow_dispatch triggers, external CI without a pull_request event).
105
+ * Requires owner, repo, PR number, and a valid GITHUB_TOKEN.
106
+ *
107
+ * @param owner - Repository owner
108
+ * @param repo - Repository name
109
+ * @param prNumber - Pull request number
110
+ * @param token - GitHub API token
111
+ * @returns Object with optional title and body, or empty object on failure
112
+ */
113
+ export async function fetchGitHubPRDetails(owner, repo, prNumber, token) {
114
+ try {
115
+ const octokit = new Octokit({ auth: token });
116
+ const { data } = await octokit.pulls.get({
117
+ owner,
118
+ repo,
119
+ pull_number: prNumber,
120
+ });
121
+ return {
122
+ title: typeof data.title === 'string' ? data.title : undefined,
123
+ body: typeof data.body === 'string' ? data.body : undefined,
124
+ };
125
+ }
126
+ catch (error) {
127
+ console.warn('[router] [context-loader] Failed to fetch PR details from GitHub API:', error instanceof Error ? error.message : String(error));
128
+ return {};
129
+ }
130
+ }
131
+ /**
132
+ * Truncate context fields to fit within a token budget while preserving diff content.
133
+ *
134
+ * Strategy: diff is always preserved; projectRules is truncated first, then prDescription.
135
+ *
136
+ * @param projectRules - Project rules content (may be truncated)
137
+ * @param prDescription - PR description content (may be truncated)
138
+ * @param diffContent - Diff content (always preserved)
139
+ * @param maxTokens - Maximum token budget
140
+ * @returns Truncated fields and whether truncation occurred
141
+ */
142
+ export function truncateContext(projectRules, prDescription, diffContent, maxTokens) {
143
+ // Estimate: 1 token ~ 4 characters
144
+ const budget = maxTokens * 4;
145
+ const total = (projectRules?.length ?? 0) + (prDescription?.length ?? 0) + diffContent.length;
146
+ // If total fits within 90% of budget, no truncation needed
147
+ if (total <= budget * 0.9) {
148
+ return { projectRules, prDescription, truncated: false };
149
+ }
150
+ // Context budget = 90% of total budget minus diff (diff is always preserved)
151
+ const contextBudget = budget * 0.9 - diffContent.length;
152
+ if (contextBudget <= 0) {
153
+ // No room for context at all
154
+ if (projectRules || prDescription) {
155
+ console.log('[router] [context-loader] No budget remaining for context fields after diff allocation');
156
+ }
157
+ return { projectRules: undefined, prDescription: undefined, truncated: true };
158
+ }
159
+ let truncatedRules = projectRules;
160
+ let truncatedDesc = prDescription;
161
+ let truncated = false;
162
+ // Truncate projectRules first
163
+ const TRUNCATION_MARKER = ' [truncated]';
164
+ if (truncatedRules && truncatedRules.length > contextBudget) {
165
+ const originalSize = truncatedRules.length;
166
+ if (contextBudget < TRUNCATION_MARKER.length) {
167
+ // Budget too small for even the marker — drop the field entirely
168
+ truncatedRules = undefined;
169
+ console.log(`[router] [context-loader] Truncated projectRules: ${originalSize} -> 0 chars (budget too small for marker)`);
170
+ }
171
+ else {
172
+ const sliceLimit = contextBudget - TRUNCATION_MARKER.length;
173
+ truncatedRules = truncatedRules.slice(0, sliceLimit) + TRUNCATION_MARKER;
174
+ console.log(`[router] [context-loader] Truncated projectRules: ${originalSize} -> ${truncatedRules.length} chars`);
175
+ }
176
+ truncated = true;
177
+ }
178
+ // Calculate remaining budget after projectRules
179
+ const rulesSize = truncatedRules?.length ?? 0;
180
+ const remainingBudget = contextBudget - rulesSize;
181
+ // Truncate prDescription if needed
182
+ if (truncatedDesc && truncatedDesc.length > remainingBudget) {
183
+ if (remainingBudget <= 0) {
184
+ console.log(`[router] [context-loader] Truncated prDescription: ${truncatedDesc.length} -> 0 chars (no budget)`);
185
+ truncatedDesc = undefined;
186
+ }
187
+ else if (remainingBudget < TRUNCATION_MARKER.length) {
188
+ // Budget too small for even the marker — drop the field entirely
189
+ console.log(`[router] [context-loader] Truncated prDescription: ${truncatedDesc.length} -> 0 chars (budget too small for marker)`);
190
+ truncatedDesc = undefined;
191
+ }
192
+ else {
193
+ const originalSize = truncatedDesc.length;
194
+ const descSliceLimit = remainingBudget - TRUNCATION_MARKER.length;
195
+ truncatedDesc = truncatedDesc.slice(0, descSliceLimit) + TRUNCATION_MARKER;
196
+ console.log(`[router] [context-loader] Truncated prDescription: ${originalSize} -> ${truncatedDesc.length} chars`);
197
+ }
198
+ truncated = true;
199
+ }
200
+ return { projectRules: truncatedRules, prDescription: truncatedDesc, truncated };
201
+ }
202
+ //# sourceMappingURL=context-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-loader.js","sourceRoot":"","sources":["../src/context-loader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AA8BH,OAAO,EAOL,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAC;AAO3B;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,GAAG,IAAI,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAEhC,CAAC;AAshBF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,QAAQ,CAIhF;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,oEAAoE;IACpE,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA4Rf"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAsCH,OAAO,EAQL,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAC;AAO3B;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,GAAG,IAAI,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAEhC,CAAC;AAuoBF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,QAAQ,CAIhF;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,oEAAoE;IACpE,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA2Uf"}
package/dist/main.js CHANGED
@@ -23,11 +23,12 @@ import { checkTrust, buildADOPRContext } from './trust.js';
23
23
  import { checkBudget, estimateTokens } from './budget.js';
24
24
  import { getDiff, filterFiles, buildCombinedDiff, resolveReviewRefs, getGitHubCheckHeadSha, } from './diff.js';
25
25
  import { loadReviewIgnore, shouldIgnoreFile } from './reviewignore.js';
26
+ import { loadProjectRules, loadPRDescription, truncateContext, loadGitHubEventPR, fetchGitHubPRDetails, } from './context-loader.js';
26
27
  import { startCheckRun, completeCheckRun } from './report/github.js';
27
28
  import { buildRouterEnv } from './agents/security.js';
28
29
  import { setupSignalHandlers } from './cli/signals.js';
29
30
  import { hashConfig } from './cache/key.js';
30
- import { runPreflightChecks, executeAllPasses, processFindings, dispatchReport, checkGating, GatingError, } from './phases/index.js';
31
+ import { runPreflightChecks, executeAllPasses, processFindings, dispatchReport, getPostNormalizationFindings, checkGating, GatingError, } from './phases/index.js';
31
32
  /**
32
33
  * Default exit handler that calls process.exit
33
34
  */
@@ -389,6 +390,99 @@ configCommand
389
390
  }
390
391
  });
391
392
  // =============================================================================
393
+ // Benchmark Command (Phase 410 - T027)
394
+ // =============================================================================
395
+ program
396
+ .command('benchmark')
397
+ .description('Run false-positive regression benchmark')
398
+ .requiredOption('--fixtures <path>', 'Path to benchmark fixture JSON')
399
+ .option('--output <path>', 'Write report JSON to file')
400
+ .option('--verbose', 'Print per-scenario details')
401
+ .action(async (options) => {
402
+ try {
403
+ const { readFileSync: readFile, writeFileSync: writeFile } = await import('fs');
404
+ const scoring = await import('./benchmark/scoring.js');
405
+ const adapter = await import('./benchmark/adapter.js');
406
+ // Load fixtures
407
+ const data = JSON.parse(readFile(options.fixtures, 'utf-8'));
408
+ const benchmarkScenarios = data.scenarios;
409
+ if (benchmarkScenarios.length === 0) {
410
+ throw new Error('Fixture file contains no scenarios');
411
+ }
412
+ console.log(`[benchmark] Running ${benchmarkScenarios.length} scenarios...`);
413
+ // Run each scenario, skipping unsupported patterns
414
+ const results = [];
415
+ let skippedCount = 0;
416
+ for (const scenario of benchmarkScenarios) {
417
+ const unsupportedReason = adapter.getUnsupportedScenarioReason(scenario);
418
+ if (unsupportedReason) {
419
+ skippedCount++;
420
+ if (options.verbose) {
421
+ console.log(` [SKIP] ${scenario.id}: ${unsupportedReason}`);
422
+ }
423
+ continue;
424
+ }
425
+ const findings = await adapter.runScenario(scenario);
426
+ const result = scoring.scoreScenario(scenario, findings);
427
+ results.push(result);
428
+ if (options.verbose) {
429
+ console.log(` [${result.passed ? 'PASS' : 'FAIL'}] ${scenario.id}: ${scenario.description}`);
430
+ }
431
+ }
432
+ if (results.length === 0 && skippedCount > 0) {
433
+ throw new Error('All benchmark scenarios were skipped as unsupported by the deterministic benchmark adapter');
434
+ }
435
+ // Compute report
436
+ const report = scoring.computeReport(results);
437
+ // Output
438
+ const reportJson = JSON.stringify(report, null, 2);
439
+ if (options.output) {
440
+ writeFile(options.output, reportJson);
441
+ console.log(`[benchmark] Report written to ${options.output}`);
442
+ }
443
+ else {
444
+ console.log(reportJson);
445
+ }
446
+ // Summary
447
+ const suppression = (report.pool1.suppressionRate * 100).toFixed(1);
448
+ const recall = (report.pool2.recall * 100).toFixed(1);
449
+ const precision = (report.pool2.precision * 100).toFixed(1);
450
+ if (skippedCount > 0) {
451
+ console.log(`\n[benchmark] ${results.length} scored, ${skippedCount} skipped (unsupported patterns)`);
452
+ }
453
+ console.log(`\n[benchmark] Pool 1 (FP): suppression=${suppression}%`);
454
+ console.log(`[benchmark] Pool 2 (TP): recall=${recall}%, precision=${precision}%`);
455
+ // SC-007: Pattern E self-contradiction filter rate
456
+ const patternEScenarios = report.scenarios.filter((s) => s.pattern === 'E');
457
+ const patternEPassed = patternEScenarios.filter((s) => s.passed).length;
458
+ const patternERate = patternEScenarios.length > 0 ? patternEPassed / patternEScenarios.length : 1;
459
+ console.log(`[benchmark] SC-007: Pattern E self-contradiction=${(patternERate * 100).toFixed(1)}%`);
460
+ // Exit code — all release gate metrics must pass (SC-001 through SC-004, SC-007)
461
+ const suppressionGate = report.pool1.suppressionRate >= 0.85; // SC-001
462
+ const recallGate = report.pool2.recall === 1.0; // SC-002
463
+ const precisionGate = report.pool2.precision >= 0.7; // SC-003
464
+ const fprGate = report.pool1.fpRate <= 0.25; // SC-004
465
+ const selfContradictionGate = patternERate >= 0.8; // SC-007
466
+ if (!suppressionGate)
467
+ console.log('[benchmark] FAIL: SC-001 suppression rate < 85%');
468
+ if (!recallGate)
469
+ console.log('[benchmark] FAIL: SC-002 TP recall < 100%');
470
+ if (!precisionGate)
471
+ console.log('[benchmark] FAIL: SC-003 TP precision < 70%');
472
+ if (!fprGate)
473
+ console.log('[benchmark] FAIL: SC-004 FP rate > 25%');
474
+ if (!selfContradictionGate)
475
+ console.log(`[benchmark] FAIL: SC-007 Pattern E self-contradiction filter ${(patternERate * 100).toFixed(1)}% < 80%`);
476
+ const gatesPassed = suppressionGate && recallGate && precisionGate && fprGate && selfContradictionGate;
477
+ defaultExitHandler(gatesPassed ? 0 : 1);
478
+ }
479
+ catch (error) {
480
+ const msg = error instanceof Error ? error.message : String(error);
481
+ console.error(`[benchmark] Fatal error: ${msg}`);
482
+ defaultExitHandler(2);
483
+ }
484
+ });
485
+ // =============================================================================
392
486
  // Local Review Command (Phase 407 - T097-T113)
393
487
  // =============================================================================
394
488
  program
@@ -585,6 +679,29 @@ export async function runReview(options, deps = {}) {
585
679
  routerEnv['GITHUB_EVENT_PULL_REQUEST_DRAFT'] === 'true',
586
680
  };
587
681
  }
682
+ // FR-006: Enrich PR context with title/body from GitHub event payload
683
+ if (platform === 'github') {
684
+ const eventPR = await loadGitHubEventPR(routerEnv['GITHUB_EVENT_PATH']);
685
+ if (eventPR.title)
686
+ prContext.title = eventPR.title;
687
+ if (eventPR.body)
688
+ prContext.body = eventPR.body;
689
+ // Fallback: fetch from GitHub API when event payload didn't yield title/body
690
+ // (e.g., workflow_dispatch or external CI without a pull_request event payload)
691
+ if (!prContext.title &&
692
+ !prContext.body &&
693
+ options.pr &&
694
+ options.owner &&
695
+ options.repoName &&
696
+ routerEnv['GITHUB_TOKEN']) {
697
+ console.log('[router] No PR description in event payload, fetching from GitHub API...');
698
+ const apiPR = await fetchGitHubPRDetails(options.owner, options.repoName, options.pr, routerEnv['GITHUB_TOKEN']);
699
+ if (apiPR.title)
700
+ prContext.title = apiPR.title;
701
+ if (apiPR.body)
702
+ prContext.body = apiPR.body;
703
+ }
704
+ }
588
705
  // === PHASE 2: Trust & Diff ===
589
706
  const trustResult = checkTrust(prContext, config);
590
707
  if (!trustResult.trusted) {
@@ -674,6 +791,10 @@ export async function runReview(options, deps = {}) {
674
791
  if (!budgetCheck.allowed) {
675
792
  console.warn(`[router] Budget exceeded: ${budgetCheck.reason}`);
676
793
  }
794
+ // FR-006/FR-007: Load context enrichment fields
795
+ const projectRules = await loadProjectRules(options.repo);
796
+ const prDescription = await loadPRDescription(prContext?.title, prContext?.body);
797
+ const truncatedCtx = truncateContext(projectRules, prDescription, diffContent, config.limits.max_tokens_per_pr);
677
798
  const agentContext = {
678
799
  repoPath: options.repo,
679
800
  diff,
@@ -685,6 +806,9 @@ export async function runReview(options, deps = {}) {
685
806
  // T016 (FR-003): Use placeholder - preflight will resolve the actual model
686
807
  effectiveModel: '',
687
808
  provider: null, // Resolved per-agent in execute phase
809
+ prDescription: truncatedCtx.prDescription,
810
+ projectRules: truncatedCtx.projectRules,
811
+ reviewIgnorePatterns: reviewIgnorePatterns.map((p) => p.pattern),
688
812
  };
689
813
  // === PHASE 4: Preflight Validation ===
690
814
  const preflightResult = runPreflightChecks(config, agentContext, env);
@@ -720,7 +844,7 @@ export async function runReview(options, deps = {}) {
720
844
  });
721
845
  // === PHASE 6: Process & Report Findings ===
722
846
  // (012-fix-agent-result-regressions) - Now passing completeFindings and partialFindings separately
723
- const { sorted, partialSorted } = processFindings(executeResult.completeFindings, executeResult.partialFindings, executeResult.allResults, executeResult.skippedAgents);
847
+ const { sorted, partialSorted } = processFindings(executeResult.completeFindings, executeResult.partialFindings, executeResult.allResults, executeResult.skippedAgents, diff.files, agentContext.prDescription);
724
848
  const reportResult = await dispatchReport(platform, sorted, partialSorted, config, diff.files, routerEnv, prContext.number, {
725
849
  dryRun: options.dryRun,
726
850
  owner: options.owner,
@@ -734,8 +858,11 @@ export async function runReview(options, deps = {}) {
734
858
  checkRunFinalized = true;
735
859
  }
736
860
  // === PHASE 7: Gating ===
737
- // FR-008: checkGating receives only completeFindings (sorted) - partial findings don't affect gating
738
- checkGating(config, sorted);
861
+ // FR-008: checkGating receives only completeFindings - partial findings don't affect gating
862
+ // Use post-normalization findings from reporter when available (after Stage 2 validation),
863
+ // otherwise run the same Stage 2 locally for dry runs or unknown platforms.
864
+ const gatingFindings = reportResult?.postNormalizationFindings ?? getPostNormalizationFindings(sorted, diff.files);
865
+ checkGating(config, gatingFindings);
739
866
  console.log('[router] Review complete');
740
867
  exitSuccess(exitHandler);
741
868
  }
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@
5
5
  */
6
6
  export { runPreflightChecks, type PreflightResult } from './preflight.js';
7
7
  export { executeAllPasses, type ExecuteOptions, type ExecuteResult, type SkippedAgent, } from './execute.js';
8
- export { processFindings, dispatchReport, checkGating, GatingError, type Platform, type ReportOptions, type ProcessedFindings, type DispatchReportResult, } from './report.js';
8
+ export { processFindings, dispatchReport, getPostNormalizationFindings, checkGating, GatingError, type Platform, type ReportOptions, type ProcessedFindings, type DispatchReportResult, } from './report.js';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/phases/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACL,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/phases/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACL,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,4BAA4B,EAC5B,WAAW,EACX,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC"}
@@ -5,5 +5,5 @@
5
5
  */
6
6
  export { runPreflightChecks } from './preflight.js';
7
7
  export { executeAllPasses, } from './execute.js';
8
- export { processFindings, dispatchReport, checkGating, GatingError, } from './report.js';
8
+ export { processFindings, dispatchReport, getPostNormalizationFindings, checkGating, GatingError, } from './report.js';
9
9
  //# sourceMappingURL=index.js.map