@codeledger/cli 0.6.4 → 0.6.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAuCA;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CA0Sf"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CA2Uf"}
@@ -15,7 +15,7 @@ import { createHmacSigner } from '../signing/hmac.js';
15
15
  import { buildChecksSummary } from '../artifacts/summary.js';
16
16
  import { isGitHubActions, emitAnnotations, writeStepSummary } from '../integrations/github-actions.js';
17
17
  import { CLI_VERSION } from '../version.js';
18
- import { runReviewIntelligence, DEFAULT_REVIEW_INTELLIGENCE_POLICY, formatHumanOutput, formatJsonOutput, formatDebugOutput, formatVerifySummaryLine, } from '../review-intelligence/index.js';
18
+ import { runReviewIntelligence, DEFAULT_REVIEW_INTELLIGENCE_POLICY, formatHumanOutput, formatJsonOutput, formatDebugOutput, formatVerifySummaryLine, createBaseline, saveBaseline, DEFAULT_BASELINE_PATH, } from '../review-intelligence/index.js';
19
19
  /**
20
20
  * `codeledger verify --task "..." [--policy-root <dir>] [--artifacts-dir <dir>]`
21
21
  *
@@ -178,30 +178,60 @@ export async function runVerify(cwd, flags) {
178
178
  const jsonOutput = flags['json'] === 'true';
179
179
  const debugReview = flags['debug-review'] === 'true';
180
180
  const invariantFilter = flags['invariant'];
181
+ const updateBaselineFlag = flags['update-baseline'] === 'true';
182
+ const showTriaged = flags['show-triaged'] === 'true';
183
+ const baselinePath = flags['baseline-path'] || DEFAULT_BASELINE_PATH;
181
184
  if (riEnabled) {
182
185
  // Get files to analyze from the bundle
183
186
  const bundleFiles = bundle.files.map((f) => f.path);
184
- const riResult = runReviewIntelligence({
185
- cwd,
186
- files: bundleFiles,
187
- policy: riPolicy,
188
- explain,
189
- debug: debugReview,
190
- invariant: invariantFilter,
191
- });
192
- riResultForOutput = riResult;
193
- // Attach to verify report
194
- report.review_intelligence = {
195
- status: riResult.status,
196
- findings: riResult.findings,
197
- summary: riResult.summary,
198
- repo_standards: riResult.repo_standards,
199
- duration_ms: riResult.duration_ms,
200
- };
201
- // If RI has P0/P1 findings and policy is block mode, factor into decision
202
- if (policy.mode === 'block' &&
203
- (riResult.summary.p0 > 0 || riResult.summary.p1 > 0)) {
204
- report.decision.passed = false;
187
+ try {
188
+ const riResult = runReviewIntelligence({
189
+ cwd,
190
+ files: bundleFiles,
191
+ policy: riPolicy,
192
+ explain,
193
+ debug: debugReview,
194
+ invariant: invariantFilter,
195
+ updateBaseline: updateBaselineFlag,
196
+ });
197
+ riResultForOutput = riResult;
198
+ // Attach to verify report
199
+ report.review_intelligence = {
200
+ status: riResult.status,
201
+ findings: riResult.findings,
202
+ summary: riResult.summary,
203
+ repo_standards: riResult.repo_standards,
204
+ duration_ms: riResult.duration_ms,
205
+ };
206
+ // Log baseline update if requested
207
+ if (updateBaselineFlag) {
208
+ console.log('Review Intelligence: baseline updated with current findings.');
209
+ }
210
+ // If RI has new P0/P1 findings and policy is block mode, factor into decision
211
+ if (policy.mode === 'block' &&
212
+ (riResult.summary.p0 > 0 || riResult.summary.p1 > 0)) {
213
+ report.decision.passed = false;
214
+ }
215
+ }
216
+ catch (riErr) {
217
+ console.error(`Review Intelligence error: ${riErr.message}`);
218
+ }
219
+ // --update-baseline: snapshot all current findings (pre-filter) as accepted
220
+ if (updateBaselineFlag) {
221
+ // Re-run without baseline to get ALL findings for the baseline
222
+ const allResult = runReviewIntelligence({
223
+ cwd,
224
+ files: bundleFiles,
225
+ policy: riPolicy,
226
+ explain: false,
227
+ debug: false,
228
+ invariant: invariantFilter,
229
+ });
230
+ const newBaseline = createBaseline(allResult.findings);
231
+ saveBaseline(baselinePath, newBaseline);
232
+ if (!jsonOutput) {
233
+ console.log(`Baseline updated: ${newBaseline.entries.length} findings accepted → ${baselinePath}`);
234
+ }
205
235
  }
206
236
  }
207
237
  // Write all artifacts
@@ -262,10 +292,12 @@ export async function runVerify(cwd, flags) {
262
292
  console.log(formatVerifySummaryLine(riResultForOutput));
263
293
  if (riResultForOutput.summary.total > 0 ||
264
294
  explain ||
265
- debugReview) {
295
+ debugReview ||
296
+ showTriaged) {
266
297
  console.log(formatHumanOutput(riResultForOutput, {
267
298
  explain,
268
299
  severityThreshold: riPolicy.severity_threshold,
300
+ showTriaged,
269
301
  }));
270
302
  }
271
303
  if (debugReview) {
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -65,7 +65,7 @@ const KNOWN_FLAGS = {
65
65
  'sign-manifest': new Set(['in', 'out']),
66
66
  policy: new Set(['print', 'policy-root']),
67
67
  'setup-ci': new Set(['mode', 'output']),
68
- verify: new Set(['task', 'policy-root', 'artifacts-dir', 'coverage-attestation', 'explain', 'json', 'debug-review', 'invariant']),
68
+ verify: new Set(['task', 'policy-root', 'artifacts-dir', 'coverage-attestation', 'explain', 'json', 'debug-review', 'invariant', 'update-baseline', 'show-triaged']),
69
69
  init: new Set(['force']),
70
70
  'review-coverage': new Set(['session']),
71
71
  'review-gate': new Set(['session']),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBACnB,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8DAA8D;AAC9D,MAAM,WAAW,GAAgC;IAC/C,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC3N,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACpI,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACtF,iBAAiB,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjD,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACzI,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IACnD,eAAe,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACzC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IACjI,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IACxB,iBAAiB,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IACvC,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IACnC,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IACtC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7B,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;CAClI,CAAC;AAEF,SAAS,gBAAgB,CAAC,OAAe,EAAE,KAA6B;IACtE,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,GAAG,KAAK,MAAM;YAAE,SAAS,CAAC,WAAW;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,0DAA0D;YAC1D,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;YAClE,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxB,IAAI,GAAG,oBAAoB,QAAQ,IAAI,CAAC;YAC1C,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,aAAa,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACpC,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;YACxC,MAAM;QACR,CAAC;QAED,KAAK,MAAM;YACT,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC7B,MAAM;QAER,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAClC,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YACtC,MAAM;QACR,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YAC5C,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;YAChD,MAAM;QACR,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM;QACR,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM;QACR,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,gBAAgB,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;YAClD,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YACrD,MAAM;QACR,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,gBAAgB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;YACpD,MAAM,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;YACvD,MAAM;QACR,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;YACtD,MAAM;QACR,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,mBAAmB,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;YAC5D,MAAM;QACR,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;YAChD,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACxC,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YAC5C,MAAM;QACR,CAAC;QAED,KAAK,OAAO;YACV,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9B,MAAM;QAER,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;YAC1C,MAAM;QACR,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;YACtD,MAAM;QACR,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC1D,MAAM;QACR,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,mBAAmB,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;YAC5D,MAAM;QACR,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;YACpD,MAAM;QACR,CAAC;QAED,KAAK,QAAQ;YACX,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/B,MAAM;QAER,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,4DAA4D;YAC5D,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;YAC9C,mEAAmE;YACnE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;YACD,gBAAgB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;YAChD,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;YACpD,MAAM;QACR,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC1D,MAAM;QACR,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YAC5C,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;YAChD,MAAM;QACR,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,gBAAgB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;YAChD,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACxC,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YAC5C,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACxC,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YAC5C,MAAM;QACR,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAC3C,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,wDAAwD;YACxD,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;YACxC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACxC,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YAC5C,MAAM;QACR,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM;QACR,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACzC,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM;QACR,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACxC,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YAC5C,MAAM;QACR,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,gBAAgB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;YACvD,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC1D,MAAM;QACR,CAAC;QAED,KAAK,SAAS,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC;YAC1C,MAAM;QAER,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,SAAS;YACZ,SAAS,EAAE,CAAC;YACZ,MAAM;QAER;YACE,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;YAC/C,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;uBACS,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFjC,CAAC,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { ReviewFinding } from './types.js';
2
+ /** A single entry in the review baseline */
3
+ export interface BaselineEntry {
4
+ /** Stable fingerprint (rule_id + file + normalized trigger) */
5
+ fingerprint: string;
6
+ /** Rule ID for human readability */
7
+ rule_id: string;
8
+ /** File path at time of baselining */
9
+ file: string;
10
+ /** When this entry was accepted */
11
+ accepted_at: string;
12
+ /** Optional developer note */
13
+ note?: string;
14
+ }
15
+ /** The baseline file format */
16
+ export interface ReviewBaseline {
17
+ /** Schema version for forward compat */
18
+ version: 1;
19
+ /** When the baseline was last updated */
20
+ updated_at: string;
21
+ /** Accepted findings */
22
+ entries: BaselineEntry[];
23
+ }
24
+ /** Result of baseline filtering */
25
+ export interface BaselineFilterResult {
26
+ /** Findings not in the baseline (new or changed) */
27
+ active: ReviewFinding[];
28
+ /** Findings that matched a baseline entry */
29
+ baselined: ReviewFinding[];
30
+ }
31
+ export declare const DEFAULT_BASELINE_PATH = ".codeledger/review-baseline.json";
32
+ /**
33
+ * Load a review baseline from disk. Returns undefined if no file exists.
34
+ */
35
+ export declare function loadBaseline(baselinePath: string): ReviewBaseline | undefined;
36
+ /**
37
+ * Write (or overwrite) a review baseline to disk.
38
+ */
39
+ export declare function saveBaseline(baselinePath: string, baseline: ReviewBaseline): void;
40
+ /**
41
+ * Create a new baseline from a set of findings.
42
+ * Typically called via `--update-baseline` to accept all current findings.
43
+ */
44
+ export declare function createBaselineFromFindings(findings: ReviewFinding[]): ReviewBaseline;
45
+ /**
46
+ * Merge new findings into an existing baseline, preserving existing entries
47
+ * and adding any new fingerprints. Removes stale entries whose fingerprints
48
+ * no longer appear in the current findings.
49
+ */
50
+ export declare function updateBaseline(existing: ReviewBaseline, currentFindings: ReviewFinding[]): ReviewBaseline;
51
+ /**
52
+ * Filter findings against a baseline.
53
+ *
54
+ * A finding is "baselined" if its fingerprint matches any entry in the baseline.
55
+ * Baselined findings are hidden from default output and do not affect CI.
56
+ */
57
+ export declare function filterBaselined(findings: ReviewFinding[], baseline: ReviewBaseline): BaselineFilterResult;
58
+ //# sourceMappingURL=baseline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/baseline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAKhD,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,+BAA+B;AAC/B,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,OAAO,EAAE,CAAC,CAAC;IACX,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,mCAAmC;AACnC,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,6CAA6C;IAC7C,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAID,eAAO,MAAM,qBAAqB,qCAAqC,CAAC;AAIxE;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAa7E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,cAAc,GACvB,IAAI,CAGN;AAID;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,aAAa,EAAE,GACxB,cAAc,CAYhB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,cAAc,EACxB,eAAe,EAAE,aAAa,EAAE,GAC/B,cAAc,CAyBhB;AAID;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,EAAE,cAAc,GACvB,oBAAoB,CAgBtB"}
@@ -0,0 +1,99 @@
1
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
2
+ import { dirname } from 'node:path';
3
+ import { computeFingerprint } from './fingerprint.js';
4
+ // ─── Default Path ──────────────────────────────────────────────────────────────
5
+ export const DEFAULT_BASELINE_PATH = '.codeledger/review-baseline.json';
6
+ // ─── Load / Save ──────────────────────────────────────────────────────────────
7
+ /**
8
+ * Load a review baseline from disk. Returns undefined if no file exists.
9
+ */
10
+ export function loadBaseline(baselinePath) {
11
+ if (!existsSync(baselinePath))
12
+ return undefined;
13
+ try {
14
+ const raw = JSON.parse(readFileSync(baselinePath, 'utf-8'));
15
+ if (raw.version !== 1 || !Array.isArray(raw.entries)) {
16
+ console.error(`Warning: review baseline at ${baselinePath} has unsupported format (version=${String(raw.version)}). Ignoring baseline.`);
17
+ return undefined;
18
+ }
19
+ return raw;
20
+ }
21
+ catch (err) {
22
+ console.error(`Warning: failed to parse review baseline at ${baselinePath}: ${err.message}. Ignoring baseline.`);
23
+ return undefined;
24
+ }
25
+ }
26
+ /**
27
+ * Write (or overwrite) a review baseline to disk.
28
+ */
29
+ export function saveBaseline(baselinePath, baseline) {
30
+ mkdirSync(dirname(baselinePath), { recursive: true });
31
+ writeFileSync(baselinePath, JSON.stringify(baseline, null, 2) + '\n');
32
+ }
33
+ // ─── Create / Update ──────────────────────────────────────────────────────────
34
+ /**
35
+ * Create a new baseline from a set of findings.
36
+ * Typically called via `--update-baseline` to accept all current findings.
37
+ */
38
+ export function createBaselineFromFindings(findings) {
39
+ const now = new Date().toISOString();
40
+ return {
41
+ version: 1,
42
+ updated_at: now,
43
+ entries: findings.map((f) => ({
44
+ fingerprint: computeFingerprint(f),
45
+ rule_id: f.rule_id,
46
+ file: f.file,
47
+ accepted_at: now,
48
+ })),
49
+ };
50
+ }
51
+ /**
52
+ * Merge new findings into an existing baseline, preserving existing entries
53
+ * and adding any new fingerprints. Removes stale entries whose fingerprints
54
+ * no longer appear in the current findings.
55
+ */
56
+ export function updateBaseline(existing, currentFindings) {
57
+ const now = new Date().toISOString();
58
+ const currentFingerprints = new Set(currentFindings.map(computeFingerprint));
59
+ // Keep existing entries that still match current findings
60
+ const preserved = existing.entries.filter((e) => currentFingerprints.has(e.fingerprint));
61
+ const preservedFPs = new Set(preserved.map((e) => e.fingerprint));
62
+ // Add entries for new findings not already in baseline
63
+ const added = currentFindings
64
+ .filter((f) => !preservedFPs.has(computeFingerprint(f)))
65
+ .map((f) => ({
66
+ fingerprint: computeFingerprint(f),
67
+ rule_id: f.rule_id,
68
+ file: f.file,
69
+ accepted_at: now,
70
+ }));
71
+ return {
72
+ version: 1,
73
+ updated_at: now,
74
+ entries: [...preserved, ...added],
75
+ };
76
+ }
77
+ // ─── Filter ───────────────────────────────────────────────────────────────────
78
+ /**
79
+ * Filter findings against a baseline.
80
+ *
81
+ * A finding is "baselined" if its fingerprint matches any entry in the baseline.
82
+ * Baselined findings are hidden from default output and do not affect CI.
83
+ */
84
+ export function filterBaselined(findings, baseline) {
85
+ const baselineFPs = new Set(baseline.entries.map((e) => e.fingerprint));
86
+ const active = [];
87
+ const baselined = [];
88
+ for (const finding of findings) {
89
+ const fp = computeFingerprint(finding);
90
+ if (baselineFPs.has(fp)) {
91
+ baselined.push(finding);
92
+ }
93
+ else {
94
+ active.push(finding);
95
+ }
96
+ }
97
+ return { active, baselined };
98
+ }
99
+ //# sourceMappingURL=baseline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../src/review-intelligence/baseline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ReviewFinding } from './types.js';
2
+ /**
3
+ * Generate a stable fingerprint for a review finding.
4
+ *
5
+ * The fingerprint is intentionally insensitive to line number changes,
6
+ * formatting shifts, and small edits. It is based on:
7
+ * - rule_id (e.g. RI-RV-001)
8
+ * - relative file path
9
+ * - normalized trigger text (lowercased, whitespace-collapsed)
10
+ *
11
+ * This means the same logical finding produces the same fingerprint even
12
+ * if the code moves to a different line or gets reformatted.
13
+ */
14
+ export declare function computeFingerprint(finding: ReviewFinding): string;
15
+ //# sourceMappingURL=fingerprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/fingerprint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAQjE"}
@@ -0,0 +1,29 @@
1
+ import { createHash } from 'node:crypto';
2
+ /**
3
+ * Generate a stable fingerprint for a review finding.
4
+ *
5
+ * The fingerprint is intentionally insensitive to line number changes,
6
+ * formatting shifts, and small edits. It is based on:
7
+ * - rule_id (e.g. RI-RV-001)
8
+ * - relative file path
9
+ * - normalized trigger text (lowercased, whitespace-collapsed)
10
+ *
11
+ * This means the same logical finding produces the same fingerprint even
12
+ * if the code moves to a different line or gets reformatted.
13
+ */
14
+ export function computeFingerprint(finding) {
15
+ const normalized = [
16
+ finding.rule_id,
17
+ finding.file,
18
+ normalizeTrigger(finding.trigger),
19
+ ].join('::');
20
+ return createHash('sha256').update(normalized).digest('hex').slice(0, 16);
21
+ }
22
+ /**
23
+ * Normalize a trigger string for stable fingerprinting.
24
+ * Lowercases, collapses whitespace, trims.
25
+ */
26
+ function normalizeTrigger(trigger) {
27
+ return trigger.toLowerCase().replace(/\s+/g, ' ').trim();
28
+ }
29
+ //# sourceMappingURL=fingerprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../src/review-intelligence/fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,IAAI;QACZ,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC;KAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3D,CAAC"}
@@ -2,6 +2,7 @@ import type { ReviewIntelligenceResult, ReviewIntelligenceOptions, ReviewIntelli
2
2
  export type { ReviewIntelligenceResult, ReviewIntelligenceOptions, ReviewIntelligencePolicy, ReviewFinding, } from './types.js';
3
3
  export { getAvailableInvariantNames } from './invariants.js';
4
4
  export { formatHumanOutput, formatJsonOutput, formatDebugOutput, formatVerifySummaryLine } from './output.js';
5
+ export { loadBaseline, createBaselineFromFindings as createBaseline, saveBaseline, filterBaselined as filterNewFindings, updateBaseline as mergeIntoBaseline, DEFAULT_BASELINE_PATH, } from './baseline.js';
5
6
  /** Default policy when no review_intelligence config is present */
6
7
  export declare const DEFAULT_REVIEW_INTELLIGENCE_POLICY: ReviewIntelligencePolicy;
7
8
  /**
@@ -10,8 +11,11 @@ export declare const DEFAULT_REVIEW_INTELLIGENCE_POLICY: ReviewIntelligencePolic
10
11
  * Pipeline:
11
12
  * 1. Load file contents for changed/relevant files
12
13
  * 2. Discover repo standards (helpers, wrappers)
13
- * 3. Run enabled invariant detectors
14
- * 4. Sort and summarize findings
14
+ * 3. Run enabled invariant detectors → raw findings
15
+ * 4. Filter suppressions (inline directives)
16
+ * 5. Filter baseline (accepted legacy findings)
17
+ * 6. Sort and summarize new findings
18
+ * 7. Optionally update baseline
15
19
  */
16
20
  export declare function runReviewIntelligence(options: ReviewIntelligenceOptions): ReviewIntelligenceResult;
17
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EAGzB,MAAM,YAAY,CAAC;AAMpB,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE9G,mEAAmE;AACnE,eAAO,MAAM,kCAAkC,EAAE,wBAQhD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,yBAAyB,GACjC,wBAAwB,CAyE1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EAIzB,MAAM,YAAY,CAAC;AAcpB,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EACL,YAAY,EACZ,0BAA0B,IAAI,cAAc,EAC5C,YAAY,EACZ,eAAe,IAAI,iBAAiB,EACpC,cAAc,IAAI,iBAAiB,EACnC,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAEvB,mEAAmE;AACnE,eAAO,MAAM,kCAAkC,EAAE,wBAQhD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,yBAAyB,GACjC,wBAAwB,CAsH1B"}
@@ -3,9 +3,11 @@ import { join } from 'node:path';
3
3
  import { getEnabledDetectors, getAvailableInvariantNames } from './invariants.js';
4
4
  import { discoverRepoStandards } from './standards-discovery.js';
5
5
  import { sortFindings, determineStatus } from './severity.js';
6
- import { detectTriggers } from './triggers.js';
6
+ import { filterSuppressed } from './suppressions.js';
7
+ import { loadBaseline, filterBaselined, createBaselineFromFindings, updateBaseline, saveBaseline, DEFAULT_BASELINE_PATH, } from './baseline.js';
7
8
  export { getAvailableInvariantNames } from './invariants.js';
8
9
  export { formatHumanOutput, formatJsonOutput, formatDebugOutput, formatVerifySummaryLine } from './output.js';
10
+ export { loadBaseline, createBaselineFromFindings as createBaseline, saveBaseline, filterBaselined as filterNewFindings, updateBaseline as mergeIntoBaseline, DEFAULT_BASELINE_PATH, } from './baseline.js';
9
11
  /** Default policy when no review_intelligence config is present */
10
12
  export const DEFAULT_REVIEW_INTELLIGENCE_POLICY = {
11
13
  enabled: true,
@@ -22,8 +24,11 @@ export const DEFAULT_REVIEW_INTELLIGENCE_POLICY = {
22
24
  * Pipeline:
23
25
  * 1. Load file contents for changed/relevant files
24
26
  * 2. Discover repo standards (helpers, wrappers)
25
- * 3. Run enabled invariant detectors
26
- * 4. Sort and summarize findings
27
+ * 3. Run enabled invariant detectors → raw findings
28
+ * 4. Filter suppressions (inline directives)
29
+ * 5. Filter baseline (accepted legacy findings)
30
+ * 6. Sort and summarize new findings
31
+ * 7. Optionally update baseline
27
32
  */
28
33
  export function runReviewIntelligence(options) {
29
34
  const startTime = Date.now();
@@ -34,7 +39,7 @@ export function runReviewIntelligence(options) {
34
39
  throw new Error(`Unknown invariant "${options.invariant}". Available: ${available.join(', ')}`);
35
40
  }
36
41
  }
37
- // Load file contents
42
+ // 1. Load file contents
38
43
  const fileContents = new Map();
39
44
  for (const filePath of options.files) {
40
45
  const fullPath = join(options.cwd, filePath);
@@ -45,9 +50,9 @@ export function runReviewIntelligence(options) {
45
50
  // Skip files that can't be read (deleted, binary, etc.)
46
51
  }
47
52
  }
48
- // Discover repo standards
53
+ // 2. Discover repo standards
49
54
  const repoStandards = discoverRepoStandards(options.cwd, options.files);
50
- // Build detector context
55
+ // 3. Run enabled detectors → raw findings
51
56
  const ctx = {
52
57
  cwd: options.cwd,
53
58
  files: options.files,
@@ -55,34 +60,75 @@ export function runReviewIntelligence(options) {
55
60
  repoStandards,
56
61
  explain: options.explain,
57
62
  };
58
- // Run enabled detectors
59
63
  const detectors = getEnabledDetectors(options.policy, options.invariant);
60
- const allFindings = [];
64
+ const rawFindings = [];
61
65
  for (const detector of detectors) {
62
- const findings = detector.analyze(ctx);
63
- allFindings.push(...findings);
66
+ rawFindings.push(...detector.analyze(ctx));
64
67
  }
65
- // Sort findings by severity, then file
66
- const sortedFindings = sortFindings(allFindings);
67
- // Count triggers (for debug output)
68
- let triggerCount = 0;
69
- for (const [, content] of fileContents) {
70
- triggerCount += detectTriggers('', content).length;
68
+ const rawTotal = rawFindings.length;
69
+ // 4. Filter suppressions (inline codeledger: ignore directives)
70
+ const { active: afterSuppression, suppressed: suppressedPairs } = filterSuppressed(rawFindings, fileContents);
71
+ const suppressedFindings = suppressedPairs.map((p) => p.finding);
72
+ // 5. Filter baseline (accepted legacy findings)
73
+ const baselinePath = options.baselinePath
74
+ ? join(options.cwd, options.baselinePath)
75
+ : join(options.cwd, DEFAULT_BASELINE_PATH);
76
+ const baseline = loadBaseline(baselinePath);
77
+ let newFindings;
78
+ let baselinedFindings;
79
+ if (baseline) {
80
+ const { active, baselined } = filterBaselined(afterSuppression, baseline);
81
+ newFindings = active;
82
+ baselinedFindings = baselined;
71
83
  }
72
- // Build summary
84
+ else {
85
+ newFindings = afterSuppression;
86
+ baselinedFindings = [];
87
+ }
88
+ // 6. Sort new findings
89
+ const sortedNew = sortFindings(newFindings);
90
+ // 7. Optionally update baseline (uses afterSuppression so that inline
91
+ // suppressions are respected — suppressed findings stay suppressed,
92
+ // not silently promoted into the baseline)
93
+ if (options.updateBaseline) {
94
+ if (baseline) {
95
+ const updated = updateBaseline(baseline, afterSuppression);
96
+ saveBaseline(baselinePath, updated);
97
+ }
98
+ else {
99
+ const fresh = createBaselineFromFindings(afterSuppression);
100
+ saveBaseline(baselinePath, fresh);
101
+ }
102
+ }
103
+ // Build legacy summary (counts new findings only — backward compat)
73
104
  const summary = {
74
- p0: sortedFindings.filter((f) => f.severity === 'P0').length,
75
- p1: sortedFindings.filter((f) => f.severity === 'P1').length,
76
- p2: sortedFindings.filter((f) => f.severity === 'P2').length,
77
- p3: sortedFindings.filter((f) => f.severity === 'P3').length,
78
- total: sortedFindings.length,
105
+ p0: sortedNew.filter((f) => f.severity === 'P0').length,
106
+ p1: sortedNew.filter((f) => f.severity === 'P1').length,
107
+ p2: sortedNew.filter((f) => f.severity === 'P2').length,
108
+ p3: sortedNew.filter((f) => f.severity === 'P3').length,
109
+ total: sortedNew.length,
110
+ };
111
+ // Build disposition summary
112
+ const dispositionSummary = {
113
+ p0: summary.p0,
114
+ p1: summary.p1,
115
+ p2: summary.p2,
116
+ p3: summary.p3,
117
+ new: sortedNew.length,
118
+ suppressed: suppressedFindings.length,
119
+ baselined: baselinedFindings.length,
120
+ raw_total: rawTotal,
79
121
  };
80
- const status = determineStatus(sortedFindings, options.policy.severity_threshold);
122
+ // Status is based on NEW findings only
123
+ const status = determineStatus(sortedNew, options.policy.severity_threshold);
81
124
  const duration = Date.now() - startTime;
82
125
  return {
83
- findings: sortedFindings,
126
+ findings: sortedNew,
127
+ baselined_findings: baselinedFindings,
128
+ suppressed_findings: suppressedFindings,
84
129
  repo_standards: repoStandards,
85
130
  summary,
131
+ disposition_summary: dispositionSummary,
86
132
  status,
87
133
  duration_ms: duration,
88
134
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/review-intelligence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAS/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE9G,mEAAmE;AACnE,MAAM,CAAC,MAAM,kCAAkC,GAA6B;IAC1E,OAAO,EAAE,IAAI;IACb,kBAAkB,EAAE,IAAI;IACxB,UAAU,EAAE;QACV,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QACrC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAC9B,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KACpC;CACF,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAkC;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,4BAA4B;IAC5B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,0BAA0B,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,sBAAsB,OAAO,CAAC,SAAS,iBAAiB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAExE,yBAAyB;IACzB,MAAM,GAAG,GAAoB;QAC3B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY;QACZ,aAAa;QACb,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;IAEF,wBAAwB;IACxB,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,WAAW,GAAoB,EAAE,CAAC;IAExC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,uCAAuC;IACvC,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAEjD,oCAAoC;IACpC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,YAAY,EAAE,CAAC;QACvC,YAAY,IAAI,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IACrD,CAAC;IAED,gBAAgB;IAChB,MAAM,OAAO,GAAG;QACd,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,MAAM;QAC5D,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,MAAM;QAC5D,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,MAAM;QAC5D,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,MAAM;QAC5D,KAAK,EAAE,cAAc,CAAC,MAAM;KAC7B,CAAC;IAEF,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAExC,OAAO;QACL,QAAQ,EAAE,cAAc;QACxB,cAAc,EAAE,aAAa;QAC7B,OAAO;QACP,MAAM;QACN,WAAW,EAAE,QAAQ;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/review-intelligence/index.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,19 @@ import type { ReviewIntelligenceResult } from './types.js';
2
2
  import type { ReviewSeverity } from './types.js';
3
3
  /**
4
4
  * Format review intelligence results for human-readable console output.
5
+ *
6
+ * Default output highlights only NEW findings. Baselined/suppressed counts
7
+ * are shown as a concise triage summary.
5
8
  */
6
9
  export declare function formatHumanOutput(result: ReviewIntelligenceResult, options: {
7
10
  explain: boolean;
8
11
  severityThreshold: ReviewSeverity;
12
+ showTriaged?: boolean;
9
13
  }): string;
10
14
  /**
11
15
  * Format review intelligence results as JSON for machine consumption.
16
+ *
17
+ * Includes full disposition breakdown: new, suppressed, baselined findings.
12
18
  */
13
19
  export declare function formatJsonOutput(result: ReviewIntelligenceResult): string;
14
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAA+B,MAAM,YAAY,CAAC;AAGxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,wBAAwB,EAChC,OAAO,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,iBAAiB,EAAE,cAAc,CAAA;CAAE,GAC/D,MAAM,CA6DR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,wBAAwB,GAC/B,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,wBAAwB,EAChC,aAAa,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,MAAM,CAsBR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAYhF"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAA+B,MAAM,YAAY,CAAC;AAGxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,wBAAwB,EAChC,OAAO,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,iBAAiB,EAAE,cAAc,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GACtF,MAAM,CAyGR;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,wBAAwB,GAC/B,MAAM,CAWR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,wBAAwB,EAChC,aAAa,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,MAAM,CA0BR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CA+BhF"}
@@ -2,22 +2,66 @@ import { generateRepairGuidance, formatRepoStandardRecommendations } from './rep
2
2
  import { filterBySeverity } from './severity.js';
3
3
  /**
4
4
  * Format review intelligence results for human-readable console output.
5
+ *
6
+ * Default output highlights only NEW findings. Baselined/suppressed counts
7
+ * are shown as a concise triage summary.
5
8
  */
6
9
  export function formatHumanOutput(result, options) {
7
10
  const lines = [];
8
11
  const visibleFindings = filterBySeverity(result.findings, options.severityThreshold);
12
+ const ds = result.disposition_summary;
9
13
  // Header section
10
14
  lines.push('');
11
15
  lines.push('Review Intelligence');
12
16
  lines.push('───────────────────');
13
17
  lines.push(` Status: ${result.status}`);
14
- lines.push(` Findings: ${result.summary.total} total (P0:${result.summary.p0} P1:${result.summary.p1} P2:${result.summary.p2} P3:${result.summary.p3})`);
18
+ // New findings count
19
+ if (ds.new > 0) {
20
+ const parts = [];
21
+ if (ds.p0 > 0)
22
+ parts.push(`${ds.p0} P0`);
23
+ if (ds.p1 > 0)
24
+ parts.push(`${ds.p1} P1`);
25
+ if (ds.p2 > 0)
26
+ parts.push(`${ds.p2} P2`);
27
+ if (ds.p3 > 0)
28
+ parts.push(`${ds.p3} P3`);
29
+ lines.push(` New findings: ${ds.new} (${parts.join(', ')})`);
30
+ }
31
+ else {
32
+ lines.push(' New findings: 0');
33
+ }
34
+ // Triage summary (baseline + suppression)
35
+ if (ds.baselined > 0 || ds.suppressed > 0) {
36
+ const triageParts = [];
37
+ if (ds.baselined > 0)
38
+ triageParts.push(`${ds.baselined} baselined`);
39
+ if (ds.suppressed > 0)
40
+ triageParts.push(`${ds.suppressed} suppressed`);
41
+ lines.push(` Triaged: ${triageParts.join(', ')}`);
42
+ }
43
+ if (result.baseline) {
44
+ const { total_before_baseline, baseline_suppressed, inline_suppressed } = result.baseline;
45
+ const suppressed = baseline_suppressed + inline_suppressed;
46
+ if (suppressed > 0) {
47
+ lines.push(` Baseline: ${suppressed} accepted finding(s) suppressed (${total_before_baseline} total detected)`);
48
+ }
49
+ }
15
50
  if (visibleFindings.length === 0) {
16
- lines.push(' No findings at current severity threshold.');
51
+ if (ds.new === 0 && ds.raw_total > 0) {
52
+ lines.push(' All findings are baselined or suppressed.');
53
+ }
54
+ else {
55
+ lines.push(' No findings at current severity threshold.');
56
+ }
17
57
  lines.push('');
58
+ // Show triaged findings if requested
59
+ if (options.showTriaged) {
60
+ appendTriagedFindings(lines, result);
61
+ }
18
62
  return lines.join('\n');
19
63
  }
20
- // Top Findings
64
+ // Top Findings (new only)
21
65
  lines.push('');
22
66
  lines.push(' Top Findings');
23
67
  lines.push(' ────────────');
@@ -53,25 +97,44 @@ export function formatHumanOutput(result, options) {
53
97
  lines.push(' ' + formatRepoStandardRecommendations(referencedStandards).split('\n').join('\n '));
54
98
  }
55
99
  lines.push('');
100
+ // Show triaged findings if requested
101
+ if (options.showTriaged) {
102
+ appendTriagedFindings(lines, result);
103
+ }
56
104
  return lines.join('\n');
57
105
  }
58
106
  /**
59
107
  * Format review intelligence results as JSON for machine consumption.
108
+ *
109
+ * Includes full disposition breakdown: new, suppressed, baselined findings.
60
110
  */
61
111
  export function formatJsonOutput(result) {
62
- return JSON.stringify(result, null, 2);
112
+ const output = {
113
+ new_findings: result.findings,
114
+ suppressed_findings: result.suppressed_findings,
115
+ baselined_findings: result.baselined_findings,
116
+ repo_standards: result.repo_standards,
117
+ summary: result.disposition_summary,
118
+ status: result.status,
119
+ duration_ms: result.duration_ms,
120
+ };
121
+ return JSON.stringify(output, null, 2);
63
122
  }
64
123
  /**
65
124
  * Format debug output showing trigger detection internals.
66
125
  */
67
126
  export function formatDebugOutput(result, _detectorInfo) {
68
127
  const lines = [];
128
+ const ds = result.disposition_summary;
69
129
  lines.push('');
70
130
  lines.push('Review Intelligence — Debug');
71
131
  lines.push('──────────────────────────');
72
132
  lines.push(` Files analyzed: ${_detectorInfo.filesAnalyzed}`);
73
133
  lines.push(` Triggers found: ${_detectorInfo.triggersFound}`);
74
- lines.push(` Findings generated: ${result.summary.total}`);
134
+ lines.push(` Raw findings: ${ds.raw_total}`);
135
+ lines.push(` Suppressed: ${ds.suppressed}`);
136
+ lines.push(` Baselined: ${ds.baselined}`);
137
+ lines.push(` New: ${ds.new}`);
75
138
  lines.push(` Repo standards discovered: ${result.repo_standards.length}`);
76
139
  lines.push(` Duration: ${result.duration_ms}ms`);
77
140
  if (result.repo_standards.length > 0) {
@@ -88,19 +151,64 @@ export function formatDebugOutput(result, _detectorInfo) {
88
151
  * Format a compact summary line for the verify output.
89
152
  */
90
153
  export function formatVerifySummaryLine(result) {
91
- if (result.summary.total === 0) {
92
- return 'Review Intelligence: PASS (no architectural findings)';
154
+ const ds = result.disposition_summary;
155
+ if (ds.new === 0 && ds.raw_total === 0) {
156
+ return 'Review Intelligence: PASS (no new architectural findings)';
157
+ }
158
+ if (ds.new === 0) {
159
+ const triageParts = [];
160
+ if (ds.baselined > 0)
161
+ triageParts.push(`${ds.baselined} baselined`);
162
+ if (ds.suppressed > 0)
163
+ triageParts.push(`${ds.suppressed} suppressed`);
164
+ return `Review Intelligence: PASS (${triageParts.join(', ')})`;
93
165
  }
94
166
  const parts = [];
95
- if (result.summary.p0 > 0)
96
- parts.push(`${result.summary.p0} P0`);
97
- if (result.summary.p1 > 0)
98
- parts.push(`${result.summary.p1} P1`);
99
- if (result.summary.p2 > 0)
100
- parts.push(`${result.summary.p2} P2`);
101
- if (result.summary.p3 > 0)
102
- parts.push(`${result.summary.p3} P3`);
103
- return `Review Intelligence: ${result.status} (${parts.join(', ')})`;
167
+ if (ds.p0 > 0)
168
+ parts.push(`${ds.p0} P0`);
169
+ if (ds.p1 > 0)
170
+ parts.push(`${ds.p1} P1`);
171
+ if (ds.p2 > 0)
172
+ parts.push(`${ds.p2} P2`);
173
+ if (ds.p3 > 0)
174
+ parts.push(`${ds.p3} P3`);
175
+ const triageParts = [];
176
+ if (ds.baselined > 0)
177
+ triageParts.push(`${ds.baselined} baselined`);
178
+ if (ds.suppressed > 0)
179
+ triageParts.push(`${ds.suppressed} suppressed`);
180
+ let line = `Review Intelligence: ${result.status} (${parts.join(', ')} new`;
181
+ if (triageParts.length > 0) {
182
+ line += `, ${triageParts.join(', ')}`;
183
+ }
184
+ line += ')';
185
+ return line;
186
+ }
187
+ /**
188
+ * Append triaged (baselined + suppressed) findings detail to output.
189
+ * Only shown when --show-triaged is used.
190
+ */
191
+ function appendTriagedFindings(lines, result) {
192
+ if (result.baselined_findings.length === 0 && result.suppressed_findings.length === 0) {
193
+ return;
194
+ }
195
+ lines.push(' Triaged Findings');
196
+ lines.push(' ────────────────');
197
+ if (result.baselined_findings.length > 0) {
198
+ lines.push('');
199
+ lines.push(` Baselined (${result.baselined_findings.length}):`);
200
+ for (const f of result.baselined_findings) {
201
+ lines.push(` [${f.severity}] ${f.rule_id} — ${f.file}:${f.line} — ${f.title}`);
202
+ }
203
+ }
204
+ if (result.suppressed_findings.length > 0) {
205
+ lines.push('');
206
+ lines.push(` Suppressed (${result.suppressed_findings.length}):`);
207
+ for (const f of result.suppressed_findings) {
208
+ lines.push(` [${f.severity}] ${f.rule_id} — ${f.file}:${f.line} — ${f.title}`);
209
+ }
210
+ }
211
+ lines.push('');
104
212
  }
105
213
  function getReferencedStandards(findings) {
106
214
  const seen = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/review-intelligence/output.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAgC,EAChC,OAAgE;IAEhE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAErF,iBAAiB;IACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,KAAK,cAAc,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;IAE1J,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE7B,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAEhD,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;YAEnD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,aAAa,CAAC,WAAW,KAAK,OAAO,CAAC,aAAa,CAAC,WAAW,QAAQ,CAAC,CAAC;gBACpH,IAAI,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnD,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACzB,KAAK,MAAM,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChD,KAAK,CAAC,IAAI,CAAC,WAAW,YAAY,EAAE,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACpE,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAgC;IAEhC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAgC,EAChC,aAA+D;IAE/D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,qBAAqB,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,qBAAqB,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,gCAAgC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IAElD,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,WAAW,MAAM,GAAG,CAAC,WAAW,WAAW,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAgC;IACtE,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,uDAAuD,CAAC;IACjE,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IAEjE,OAAO,wBAAwB,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACvE,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAyB;IACvD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/review-intelligence/output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { ReviewFinding } from './types.js';
2
+ /**
3
+ * A parsed inline suppression directive.
4
+ *
5
+ * Syntax: // codeledger: ignore <scope> -- <reason>
6
+ *
7
+ * Where <scope> is one of:
8
+ * - exact rule_id (e.g. RI-RV-001)
9
+ * - category (e.g. outbound_io)
10
+ * - wildcard "*"
11
+ *
12
+ * The reason after "--" is required.
13
+ */
14
+ export interface InlineSuppression {
15
+ /** The scope: a rule_id, category name, or "*" */
16
+ scope: string;
17
+ /** The developer-provided reason */
18
+ reason: string;
19
+ /** File where the suppression was found */
20
+ file: string;
21
+ /** Line number of the suppression comment (1-based) */
22
+ line: number;
23
+ }
24
+ /** Result of suppression filtering */
25
+ export interface SuppressionResult {
26
+ /** Findings that were NOT suppressed */
27
+ active: ReviewFinding[];
28
+ /** Findings that were suppressed, with the matching suppression */
29
+ suppressed: Array<{
30
+ finding: ReviewFinding;
31
+ suppression: InlineSuppression;
32
+ }>;
33
+ }
34
+ /**
35
+ * Parse all inline suppression directives from file content.
36
+ */
37
+ export declare function parseSuppressions(filePath: string, content: string): InlineSuppression[];
38
+ /**
39
+ * Check whether a finding is suppressed by a suppression directive.
40
+ *
41
+ * A suppression matches if:
42
+ * 1. It is in the same file as the finding
43
+ * 2. It is on the same line, or within the 2 lines before the finding
44
+ * 3. Its scope matches the finding's rule_id, category, or is "*"
45
+ */
46
+ export declare function isFindingSuppressed(finding: ReviewFinding, suppressions: InlineSuppression[]): InlineSuppression | undefined;
47
+ /**
48
+ * Filter findings through inline suppressions.
49
+ *
50
+ * Returns active (unsuppressed) and suppressed findings separately.
51
+ */
52
+ export declare function filterSuppressed(findings: ReviewFinding[], fileContents: Map<string, string>): SuppressionResult;
53
+ //# sourceMappingURL=suppressions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppressions.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/suppressions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,mEAAmE;IACnE,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAC;CAC/E;AAgBD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,iBAAiB,EAAE,CAmBrB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,iBAAiB,EAAE,GAChC,iBAAiB,GAAG,SAAS,CAgB/B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,aAAa,EAAE,EACzB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,iBAAiB,CAoBnB"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Regex to match suppression directives.
3
+ *
4
+ * Matches:
5
+ * // codeledger: ignore <scope> -- <reason>
6
+ * // codeledger: reviewed <scope> -- <reason> (backward compat)
7
+ *
8
+ * Captures:
9
+ * 1: scope (rule_id, category, or *)
10
+ * 2: reason text
11
+ */
12
+ const SUPPRESSION_RE = /\/\/\s*codeledger:\s*(?:ignore|reviewed)\s+([\w.*-]+)\s+--\s+(.+)/;
13
+ /**
14
+ * Parse all inline suppression directives from file content.
15
+ */
16
+ export function parseSuppressions(filePath, content) {
17
+ const lines = content.split('\n');
18
+ const suppressions = [];
19
+ for (let i = 0; i < lines.length; i++) {
20
+ const line = lines[i];
21
+ if (!line)
22
+ continue;
23
+ const match = SUPPRESSION_RE.exec(line);
24
+ if (match && match[1] && match[2]) {
25
+ suppressions.push({
26
+ scope: match[1],
27
+ reason: match[2].trim(),
28
+ file: filePath,
29
+ line: i + 1, // 1-based
30
+ });
31
+ }
32
+ }
33
+ return suppressions;
34
+ }
35
+ /**
36
+ * Check whether a finding is suppressed by a suppression directive.
37
+ *
38
+ * A suppression matches if:
39
+ * 1. It is in the same file as the finding
40
+ * 2. It is on the same line, or within the 2 lines before the finding
41
+ * 3. Its scope matches the finding's rule_id, category, or is "*"
42
+ */
43
+ export function isFindingSuppressed(finding, suppressions) {
44
+ return suppressions.find((s) => {
45
+ // Must be same file
46
+ if (s.file !== finding.file)
47
+ return false;
48
+ // Must be on same line or up to 2 lines before
49
+ const distance = finding.line - s.line;
50
+ if (distance < 0 || distance > 2)
51
+ return false;
52
+ // Scope match: exact rule_id, category, or wildcard
53
+ if (s.scope === '*')
54
+ return true;
55
+ if (s.scope === finding.rule_id)
56
+ return true;
57
+ if (s.scope === finding.category)
58
+ return true;
59
+ return false;
60
+ });
61
+ }
62
+ /**
63
+ * Filter findings through inline suppressions.
64
+ *
65
+ * Returns active (unsuppressed) and suppressed findings separately.
66
+ */
67
+ export function filterSuppressed(findings, fileContents) {
68
+ // Parse all suppressions from all analyzed files
69
+ const allSuppressions = [];
70
+ for (const [filePath, content] of fileContents) {
71
+ allSuppressions.push(...parseSuppressions(filePath, content));
72
+ }
73
+ const active = [];
74
+ const suppressed = [];
75
+ for (const finding of findings) {
76
+ const match = isFindingSuppressed(finding, allSuppressions);
77
+ if (match) {
78
+ suppressed.push({ finding, suppression: match });
79
+ }
80
+ else {
81
+ active.push(finding);
82
+ }
83
+ }
84
+ return { active, suppressed };
85
+ }
86
+ //# sourceMappingURL=suppressions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppressions.js","sourceRoot":"","sources":["../../src/review-intelligence/suppressions.ts"],"names":[],"mappings":"AAiCA;;;;;;;;;;GAUG;AACH,MAAM,cAAc,GAClB,mEAAmE,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,OAAe;IAEf,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,YAAY,GAAwB,EAAE,CAAC;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,YAAY,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACf,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAsB,EACtB,YAAiC;IAEjC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,oBAAoB;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAE1C,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACvC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAE/C,oDAAoD;QACpD,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC7C,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE9C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAyB,EACzB,YAAiC;IAEjC,iDAAiD;IACjD,MAAM,eAAe,GAAwB,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,YAAY,EAAE,CAAC;QAC/C,eAAe,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAoC,EAAE,CAAC;IAEvD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC5D,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC"}
@@ -82,11 +82,18 @@ export interface ReviewIntelligencePolicy {
82
82
  }
83
83
  /** Result of running the review intelligence engine */
84
84
  export interface ReviewIntelligenceResult {
85
- /** All findings, sorted by severity then file */
85
+ /** New findings only (not baselined or suppressed), sorted by severity */
86
86
  findings: ReviewFinding[];
87
+ /** Findings hidden by baseline */
88
+ baselined_findings: ReviewFinding[];
89
+ /** Findings hidden by inline suppression */
90
+ suppressed_findings: ReviewFinding[];
87
91
  /** Discovered repo standards */
88
92
  repo_standards: RepoStandard[];
89
- /** Summary counts by severity */
93
+ /**
94
+ * Legacy summary (counts NEW findings only for backward compat).
95
+ * Use `disposition_summary` for full breakdown.
96
+ */
90
97
  summary: {
91
98
  p0: number;
92
99
  p1: number;
@@ -94,10 +101,39 @@ export interface ReviewIntelligenceResult {
94
101
  p3: number;
95
102
  total: number;
96
103
  };
97
- /** Overall status */
104
+ /** Full disposition breakdown */
105
+ disposition_summary: DispositionSummary;
106
+ /** Overall status (based on NEW findings only) */
98
107
  status: 'PASS' | 'WARN' | 'FAIL';
99
108
  /** Duration in milliseconds */
100
109
  duration_ms: number;
110
+ /** Baseline information (present when --baseline was used) */
111
+ baseline?: {
112
+ /** Total findings before baseline filtering */
113
+ total_before_baseline: number;
114
+ /** Findings suppressed by baseline */
115
+ baseline_suppressed: number;
116
+ /** Findings suppressed by inline pragmas */
117
+ inline_suppressed: number;
118
+ };
119
+ }
120
+ /** The lifecycle disposition of a finding */
121
+ export type FindingDisposition = 'new' | 'baselined' | 'suppressed';
122
+ /** Extended summary including disposition counts */
123
+ export interface DispositionSummary {
124
+ /** Counts by severity (only new findings) */
125
+ p0: number;
126
+ p1: number;
127
+ p2: number;
128
+ p3: number;
129
+ /** Total new findings */
130
+ new: number;
131
+ /** Total suppressed findings */
132
+ suppressed: number;
133
+ /** Total baselined findings */
134
+ baselined: number;
135
+ /** Total raw findings before filtering */
136
+ raw_total: number;
101
137
  }
102
138
  /** Options for running the review intelligence engine */
103
139
  export interface ReviewIntelligenceOptions {
@@ -113,6 +149,10 @@ export interface ReviewIntelligenceOptions {
113
149
  debug: boolean;
114
150
  /** Narrow to specific invariant module */
115
151
  invariant?: string;
152
+ /** Path to baseline file (for filtering known findings) */
153
+ baselinePath?: string;
154
+ /** If true, update baseline with current findings after analysis */
155
+ updateBaseline?: boolean;
116
156
  }
117
157
  /** Interface that detector modules implement */
118
158
  export interface InvariantDetector {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/types.ts"],"names":[],"mappings":"AAEA,uDAAuD;AACvD,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvD,iDAAiD;AACjD,MAAM,MAAM,eAAe,GACvB,oBAAoB,GACpB,aAAa,GACb,kBAAkB,CAAC;AAEvB,oCAAoC;AACpC,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE1D,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,IAAI,EAAE,WAAW,CAAC;IAClB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GACnB,eAAe,GACf,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,yDAAyD;AACzD,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,IAAI,EAAE,aAAa,CAAC;IACpB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,CAAC;AAExB,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,EAAE,cAAc,CAAC;IACzB,uBAAuB;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,uBAAuB;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,uBAAuB;IACvB,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,mDAAmD;AACnD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,cAAc,CAAC;IACnC,UAAU,EAAE;QACV,kBAAkB,EAAE,eAAe,CAAC;QACpC,WAAW,EAAE,eAAe,CAAC;QAC7B,gBAAgB,EAAE,eAAe,CAAC;KACnC,CAAC;CACH;AAED,uDAAuD;AACvD,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,gCAAgC;IAChC,cAAc,EAAE,YAAY,EAAE,CAAC;IAC/B,iCAAiC;IACjC,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,qBAAqB;IACrB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,yDAAyD;AACzD,MAAM,WAAW,yBAAyB;IACxC,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2BAA2B;IAC3B,MAAM,EAAE,wBAAwB,CAAC;IACjC,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gDAAgD;AAChD,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,IAAI,EAAE,eAAe,CAAC;IACtB,8DAA8D;IAC9D,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,aAAa,EAAE,CAAC;CAChD;AAED,sCAAsC;AACtC,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,yCAAyC;IACzC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,gCAAgC;IAChC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/review-intelligence/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeledger/cli",
3
- "version": "0.6.4",
3
+ "version": "0.6.6",
4
4
  "type": "module",
5
5
  "description": "CLI for CodeLedger — deterministic context selection for AI coding agents",
6
6
  "license": "MIT",
@@ -27,14 +27,14 @@
27
27
  }
28
28
  },
29
29
  "dependencies": {
30
- "@codeledger/types": "0.6.4",
31
- "@codeledger/core": "0.6.4",
32
- "@codeledger/core-engine": "0.6.4",
33
- "@codeledger/repo": "0.6.4",
34
- "@codeledger/instrument": "0.6.4",
35
- "@codeledger/cowork": "0.6.4",
36
- "@codeledger/selector": "0.6.4",
37
- "@codeledger/harness": "0.6.4"
30
+ "@codeledger/core-engine": "0.6.6",
31
+ "@codeledger/core": "0.6.6",
32
+ "@codeledger/repo": "0.6.6",
33
+ "@codeledger/instrument": "0.6.6",
34
+ "@codeledger/harness": "0.6.6",
35
+ "@codeledger/cowork": "0.6.6",
36
+ "@codeledger/selector": "0.6.6",
37
+ "@codeledger/types": "0.6.6"
38
38
  },
39
39
  "devDependencies": {
40
40
  "typescript": "^5.4.0"