code-auditor-mcp 3.4.14 → 3.4.16

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 (93) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +83 -0
  3. package/dist/analyzers/applicability.d.ts +41 -0
  4. package/dist/analyzers/applicability.d.ts.map +1 -0
  5. package/dist/analyzers/applicability.js +96 -0
  6. package/dist/analyzers/applicability.js.map +1 -0
  7. package/dist/analyzers/ruleRegistry.js +1 -1
  8. package/dist/analyzers/ruleRegistry.js.map +1 -1
  9. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +2 -2
  10. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  11. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +2 -2
  12. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  13. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  14. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +20 -9
  15. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  16. package/dist/analyzers/universal/schema/migrations.d.ts +11 -0
  17. package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -1
  18. package/dist/analyzers/universal/schema/migrations.js +127 -4
  19. package/dist/analyzers/universal/schema/migrations.js.map +1 -1
  20. package/dist/auditRunner.d.ts.map +1 -1
  21. package/dist/auditRunner.js +62 -23
  22. package/dist/auditRunner.js.map +1 -1
  23. package/dist/cli.js +406 -1
  24. package/dist/cli.js.map +1 -1
  25. package/dist/codeIndexDB.d.ts +40 -1
  26. package/dist/codeIndexDB.d.ts.map +1 -1
  27. package/dist/codeIndexDB.js +222 -50
  28. package/dist/codeIndexDB.js.map +1 -1
  29. package/dist/config/defaults.js +1 -1
  30. package/dist/config/defaults.js.map +1 -1
  31. package/dist/config/pathProfiles.d.ts +7 -0
  32. package/dist/config/pathProfiles.d.ts.map +1 -1
  33. package/dist/config/pathProfiles.js +7 -1
  34. package/dist/config/pathProfiles.js.map +1 -1
  35. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  36. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +1 -1
  37. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  38. package/dist/ledger.d.ts +163 -2
  39. package/dist/ledger.d.ts.map +1 -1
  40. package/dist/ledger.js +528 -7
  41. package/dist/ledger.js.map +1 -1
  42. package/dist/mcp.js +3 -3
  43. package/dist/mcp.js.map +1 -1
  44. package/dist/mcpAuditJobs.d.ts +24 -2
  45. package/dist/mcpAuditJobs.d.ts.map +1 -1
  46. package/dist/mcpAuditJobs.js +364 -58
  47. package/dist/mcpAuditJobs.js.map +1 -1
  48. package/dist/pipeline.d.ts +9 -2
  49. package/dist/pipeline.d.ts.map +1 -1
  50. package/dist/pipeline.js +165 -18
  51. package/dist/pipeline.js.map +1 -1
  52. package/dist/pipelineAdapters.d.ts.map +1 -1
  53. package/dist/pipelineAdapters.js +45 -10
  54. package/dist/pipelineAdapters.js.map +1 -1
  55. package/dist/scripts/benchmarkWorkers.js +1 -1
  56. package/dist/scripts/benchmarkWorkers.js.map +1 -1
  57. package/dist/services/auditJobService.d.ts +22 -5
  58. package/dist/services/auditJobService.d.ts.map +1 -1
  59. package/dist/services/auditJobService.js +67 -26
  60. package/dist/services/auditJobService.js.map +1 -1
  61. package/dist/services/fileAccounting.d.ts +83 -0
  62. package/dist/services/fileAccounting.d.ts.map +1 -0
  63. package/dist/services/fileAccounting.js +215 -0
  64. package/dist/services/fileAccounting.js.map +1 -0
  65. package/dist/styles/styleExtractor.d.ts +2 -2
  66. package/dist/styles/styleExtractor.d.ts.map +1 -1
  67. package/dist/styles/styleExtractor.js +83 -11
  68. package/dist/styles/styleExtractor.js.map +1 -1
  69. package/dist/styles/styleIndexer.d.ts +8 -0
  70. package/dist/styles/styleIndexer.d.ts.map +1 -1
  71. package/dist/styles/styleIndexer.js +103 -15
  72. package/dist/styles/styleIndexer.js.map +1 -1
  73. package/dist/styles/tailwindUtilityExpander.d.ts +3 -0
  74. package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
  75. package/dist/styles/tailwindUtilityExpander.js +35 -1
  76. package/dist/styles/tailwindUtilityExpander.js.map +1 -1
  77. package/dist/styles/types.d.ts +11 -0
  78. package/dist/styles/types.d.ts.map +1 -1
  79. package/dist/types.d.ts +133 -0
  80. package/dist/types.d.ts.map +1 -1
  81. package/dist/types.js.map +1 -1
  82. package/dist/utils/fileDiscovery.d.ts +98 -0
  83. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  84. package/dist/utils/fileDiscovery.js +246 -29
  85. package/dist/utils/fileDiscovery.js.map +1 -1
  86. package/dist/workers/auditJobRunner.d.ts +2 -0
  87. package/dist/workers/auditJobRunner.d.ts.map +1 -0
  88. package/dist/workers/auditJobRunner.js +37 -0
  89. package/dist/workers/auditJobRunner.js.map +1 -0
  90. package/dist/workers/auditWorker.js +26 -0
  91. package/dist/workers/auditWorker.js.map +1 -1
  92. package/package.json +2 -2
  93. package/plugin/.claude-plugin/plugin.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"auditRunner.js","sourceRoot":"","sources":["../src/auditRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auditRunner.js","sourceRoot":"","sources":["../src/auditRunner.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -27,6 +27,53 @@ const __filename = fileURLToPath(import.meta.url);
27
27
  const __dirname = dirname(__filename);
28
28
  const packageJson = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8'));
29
29
  const program = new Command();
30
+ // Spec 44 R4 — file accounting summary line + `--explain-skipped` breakdown.
31
+ // The full per-reason file lists live in the JSON report (`metadata.fileAccounting`);
32
+ // the CLI preview is bounded to the first ~20 files per reason.
33
+ function printFileAccounting(result, explainSkipped) {
34
+ const fa = result?.metadata?.fileAccounting;
35
+ if (!fa)
36
+ return;
37
+ const reasons = fa.reasons ?? {};
38
+ const reasonNames = Object.keys(reasons);
39
+ const reasonCount = reasonNames.length;
40
+ const partialSeg = fa.partiallyAnalyzed > 0
41
+ ? ` · ${fa.partiallyAnalyzed.toLocaleString()} partially analyzed`
42
+ : '';
43
+ console.log(chalk.gray(`${fa.analyzed.toLocaleString()} analyzed` +
44
+ `${partialSeg}` +
45
+ ` · ${fa.dropped.toLocaleString()} dropped` +
46
+ ` (${reasonCount} reason${reasonCount !== 1 ? 's' : ''})`));
47
+ if (!explainSkipped)
48
+ return;
49
+ if (reasonCount > 0) {
50
+ console.log(chalk.gray('\n── Skipped files (by reason) ────────────────'));
51
+ for (const name of reasonNames.sort((a, b) => reasons[b].count - reasons[a].count)) {
52
+ const { count, files } = reasons[name];
53
+ const partialCount = files.filter((f) => f.partial).length;
54
+ const label = partialCount > 0
55
+ ? `${name}: ${count.toLocaleString()} (${partialCount.toLocaleString()} partially analyzed)`
56
+ : `${name}: ${count.toLocaleString()}`;
57
+ console.log(` ${label}`);
58
+ for (const f of files.slice(0, 20)) {
59
+ console.log(` ${f.filePath}${f.partial ? ' (partially analyzed)' : ''}`);
60
+ }
61
+ if (files.length > 20)
62
+ console.log(` … and ${files.length - 20} more`);
63
+ }
64
+ }
65
+ // Spec 45 R3 — infrastructure prunes are directory-basename match counts, not
66
+ // file counts. Say so explicitly so `node_modules 2` can't be misread as two
67
+ // files (it's two directories: ./node_modules and ./infra/node_modules).
68
+ const infraPruned = fa.infraPruned ?? [];
69
+ if (infraPruned.length > 0) {
70
+ console.log(chalk.gray('\n── Infrastructure directories pruned (count = directories, not files) ──'));
71
+ for (const { directory, rule, directories } of infraPruned) {
72
+ const noun = directories === 1 ? 'directory' : 'directories';
73
+ console.log(` ${directory} (${directories.toLocaleString()} ${noun})${rule ? ` [${rule}]` : ''}`);
74
+ }
75
+ }
76
+ }
30
77
  // Configure the main program
31
78
  program
32
79
  .name('code-auditor')
@@ -45,9 +92,20 @@ program
45
92
  .option('--include-baseline', 'Evaluate baseline-known violations in --fail-on checks')
46
93
  .option('--fail-on-regression', 'Exit code 2 when total advisory debt exceeds the baseline snapshot')
47
94
  .option('--preset <id>', 'Apply a shareable preset (repeatable)', (v, prev) => prev.concat([v]), [])
95
+ .option('--detach', 'Run the audit in a detached background process and print the job ID')
96
+ .option('--partition-strategy <strategy>', 'Partition strategy for detached runs: none, auto, or top-level')
97
+ .option('--max-partitions <n>', 'Maximum number of partition shards (detached runs)')
98
+ .option('--shard-timeout-ms <ms>', 'Per-shard timeout in milliseconds (detached runs)')
99
+ .option('--explain-skipped', 'Print a per-reason breakdown of files dropped from analysis')
48
100
  .action(async (options) => {
49
101
  console.log(chalk.blue('🔍 Code Quality Audit Tool'));
50
102
  console.log(chalk.gray('══════════════════════════════════════════════════'));
103
+ // Spec 41 — `--detach` hands off to a forked worker; the parent never parses
104
+ // or hashes, so it must route out before `initParsers()`.
105
+ if (options.detach) {
106
+ await runDetachedAudit(options);
107
+ return;
108
+ }
51
109
  try {
52
110
  await initParsers();
53
111
  // Validate --fail-on severity
@@ -150,6 +208,8 @@ program
150
208
  console.log(`Warnings: ${result.summary.warnings}`);
151
209
  console.log(`Suggestions: ${result.summary.suggestions}`);
152
210
  }
211
+ // Spec 44 R4 — file accounting: analyzed/dropped totals + optional breakdown.
212
+ printFileAccounting(result, !!options.explainSkipped);
153
213
  // Spec 32 — unparsed files are never silent. A run where any file failed
154
214
  // to parse (WASM abort, read error, …) must surface the count + reasons.
155
215
  const unparsedFiles = result.metadata?.unparsedFiles ?? [];
@@ -162,6 +222,17 @@ program
162
222
  console.error(` … and ${unparsedFiles.length - 20} more`);
163
223
  }
164
224
  }
225
+ // Spec 43 R5 follow-up — extensions present on disk that discovery skipped.
226
+ // Informational: surfaces "what isn't being analyzed here" so an unlisted
227
+ // extension (e.g. `.mdx`) never vanishes silently at discovery. Not an
228
+ // error — a skipped extension is not necessarily a defect (`.md`/`.svg`
229
+ // are legitimately not source), unlike `unparsedFiles` above.
230
+ const skippedExtensions = result.metadata?.skippedExtensions ?? [];
231
+ if (skippedExtensions.length > 0) {
232
+ console.log(chalk.gray(`\n── Not analyzed (skipped extensions) ────────`));
233
+ const parts = skippedExtensions.map(s => `${s.ext} (${s.count})`);
234
+ console.log(` ${parts.join(', ')}`);
235
+ }
165
236
  // Spec 36 R7 — suppressions are reported: how many exist, where, and how
166
237
  // many are unnecessary (or reasonless). Both are errors, surfaced here.
167
238
  const suppressions = result.metadata?.suppressions;
@@ -321,6 +392,7 @@ program
321
392
  .option('--quiet', 'Suppress output when zero violations')
322
393
  .option('--fail-on-zero-files', 'Exit code 2 when any enabled analyzer matches zero source files', true)
323
394
  .option('--stdin', 'Read file paths from stdin (one per line)')
395
+ .option('--explain-skipped', 'Print a per-reason breakdown of files dropped from analysis')
324
396
  .option('-p, --path <projectPath>', 'Project root path', process.cwd())
325
397
  .action(async (paths, options) => {
326
398
  try {
@@ -404,7 +476,7 @@ program
404
476
  // consumer routes around. Findings only, each with file:line.
405
477
  console.log(chalk.blue('🔍 Diff-Scoped Code Audit'));
406
478
  console.log(chalk.gray('══════════════════════════════════════════════════'));
407
- console.log(chalk.gray(`Files analyzed: ${result.metadata.filesAnalyzed}`));
479
+ printFileAccounting(result, !!options.explainSkipped);
408
480
  if (violations.length > 0) {
409
481
  console.log(chalk.gray('\n── Violations ────────────────────────────────────'));
410
482
  for (const v of violations) {
@@ -1792,6 +1864,339 @@ ledgerCmd
1792
1864
  process.exit(1);
1793
1865
  }
1794
1866
  });
1867
+ // ── Spec 41 — Detached runs & queryable findings (CLI) ──────────────────────
1868
+ // `audit --detach` forks workers/auditJobRunner; `status`/`result`/`jobs` read
1869
+ // the persisted ledger. One job model (the ledger run), one write path — these
1870
+ // are thin wrappers over ledger.ts + mcpAuditJobs.ts, not a second store.
1871
+ /** Full analyzer set — matches createAuditRunner's registry, so `--detach` produces
1872
+ * the same per-rule coverage as a synchronous `audit` (73 rows on recall). */
1873
+ const DETACHED_DEFAULT_ANALYZERS = [
1874
+ 'solid',
1875
+ 'dry',
1876
+ 'data-access',
1877
+ 'react',
1878
+ 'documentation',
1879
+ 'invariants',
1880
+ 'schema',
1881
+ 'styles',
1882
+ 'conventions',
1883
+ 'cross-domain',
1884
+ ];
1885
+ /** Lease TTL used by read-path reclaim, mirroring mcpAuditJobs.jobLeaseTtlMs. */
1886
+ const CLI_JOB_LEASE_TTL_MS = Number(process.env.CODE_AUDITOR_JOB_LEASE_TTL_MS) || 30_000;
1887
+ function spec41StatusBadge(status) {
1888
+ switch (status) {
1889
+ case 'completed':
1890
+ return chalk.green('completed');
1891
+ case 'running':
1892
+ return chalk.cyan('running');
1893
+ case 'queued':
1894
+ return chalk.blue('queued');
1895
+ case 'failed':
1896
+ return chalk.red('failed');
1897
+ default:
1898
+ return status;
1899
+ }
1900
+ }
1901
+ function spec41SeverityColor(severity) {
1902
+ if (severity === 'critical')
1903
+ return chalk.red;
1904
+ if (severity === 'warning')
1905
+ return chalk.yellow;
1906
+ return chalk.gray;
1907
+ }
1908
+ /**
1909
+ * Render a run's staleness: the cheap marker (changed count) plus, when stale,
1910
+ * the per-file diff. The cheap stat-only pass in `computeStaleness` populates
1911
+ * `changedFiles` on divergence, so this list is the full `--stale` deliverable
1912
+ * regardless of whether the caller requested `full`. Bounded so a mass-change
1913
+ * doesn't flood the terminal; the JSON path always carries the complete list.
1914
+ */
1915
+ function spec41RenderStaleness(staleness) {
1916
+ if (!staleness) {
1917
+ console.log(chalk.gray(' stale: n/a'));
1918
+ return;
1919
+ }
1920
+ if (!staleness.stale) {
1921
+ console.log(chalk.gray(' stale: no (working tree unchanged)'));
1922
+ return;
1923
+ }
1924
+ console.log(chalk.yellow(` stale: ${staleness.changedFiles.length} file(s) changed since run`));
1925
+ const maxFiles = 20;
1926
+ for (const f of staleness.changedFiles.slice(0, maxFiles)) {
1927
+ console.log(chalk.yellow(` + ${f}`));
1928
+ }
1929
+ if (staleness.changedFiles.length > maxFiles) {
1930
+ console.log(chalk.gray(` … and ${staleness.changedFiles.length - maxFiles} more`));
1931
+ }
1932
+ }
1933
+ /**
1934
+ * Spec 41 — `audit --detach`. Persists a `queued` run, opens a per-run log as
1935
+ * the child's stderr, and forks workers/auditJobRunner detached. Returns with
1936
+ * the job id; the parent never parses or hashes, so it stays sub-second even
1937
+ * on a minutes-long corpus.
1938
+ */
1939
+ async function runDetachedAudit(options) {
1940
+ // `spawn` + no IPC channel: `fork()` establishes an IPC channel, and `unref()`
1941
+ // does NOT let the parent exit while that channel is open (Node: "unless there
1942
+ // is an established IPC channel"). The runner talks to the ledger through the
1943
+ // DB, never back to the parent, so there is no channel to keep — and without
1944
+ // one the parent exits immediately, keeping `--detach` sub-second.
1945
+ const { spawn } = await import('node:child_process');
1946
+ const { openSync } = await import('node:fs');
1947
+ const { createAuditJob } = await import('./services/auditJobService.js');
1948
+ const { patchLedgerRun } = await import('./ledger.js');
1949
+ const { resolveJobRunnerEntrypoint } = await import('./mcpAuditJobs.js');
1950
+ const { assertAuditPathExists } = await import('./mcpToolErrors.js');
1951
+ const { getPersistedStorageRoot } = await import('./dataPaths.js');
1952
+ const auditPath = resolve(options.path || process.cwd());
1953
+ const { isFile } = await assertAuditPathExists(auditPath);
1954
+ const projectRoot = isFile ? dirname(auditPath) : auditPath;
1955
+ const db = CodeIndexDB.getInstance(undefined, projectRoot);
1956
+ await db.initialize();
1957
+ const job = createAuditJob(db.rawDb, projectRoot, { surface: 'cli', command: 'audit --detach' });
1958
+ // The log is the diagnosable trace when the child dies before its first DB
1959
+ // patch (e.g. inside initParsers()). Lives next to the index db.
1960
+ const logsDir = join(getPersistedStorageRoot(projectRoot), 'logs');
1961
+ await fs.mkdir(logsDir, { recursive: true });
1962
+ const logPath = join(logsDir, `${job.jobId}.log`);
1963
+ const logFd = openSync(logPath, 'a');
1964
+ const argsJson = JSON.stringify({
1965
+ path: auditPath,
1966
+ ...(options.partitionStrategy && { partitionStrategy: options.partitionStrategy }),
1967
+ ...(options.maxPartitions && { maxPartitions: Number(options.maxPartitions) }),
1968
+ ...(options.shardTimeoutMs && { shardTimeoutMs: Number(options.shardTimeoutMs) }),
1969
+ });
1970
+ const defaultsJson = JSON.stringify({
1971
+ defaultAnalyzers: DETACHED_DEFAULT_ANALYZERS,
1972
+ defaultMinSeverity: 'warning',
1973
+ defaultGenerateCodeMap: false,
1974
+ });
1975
+ patchLedgerRun(db.rawDb, job.jobId, { stderrLog: logPath });
1976
+ const child = spawn(process.execPath, [resolveJobRunnerEntrypoint(), job.jobId, argsJson, defaultsJson], {
1977
+ detached: true,
1978
+ stdio: ['ignore', 'ignore', logFd],
1979
+ env: process.env,
1980
+ });
1981
+ child.unref();
1982
+ console.log(chalk.green(`✓ Audit detached (job ${job.jobId})`));
1983
+ console.log(chalk.gray(` Monitor: code-auditor status ${job.jobId}`));
1984
+ console.log(chalk.gray(` Results: code-auditor result ${job.jobId}`));
1985
+ console.log(chalk.gray(` Log: ${logPath}`));
1986
+ }
1987
+ program
1988
+ .command('status <jobId>')
1989
+ .description('Show a detached audit job status, progress, and staleness')
1990
+ .option('-p, --path <path>', 'Project root containing the job (default: cwd)', process.cwd())
1991
+ .option('--json', 'Output as JSON')
1992
+ .action(async (jobId, options) => {
1993
+ try {
1994
+ const { getLedgerRun, reclaimStaleRunning, computeStaleness } = await import('./ledger.js');
1995
+ const projectRoot = resolve(options.path);
1996
+ const db = CodeIndexDB.getInstance(undefined, projectRoot);
1997
+ await db.initialize();
1998
+ reclaimStaleRunning(db.rawDb, projectRoot, CLI_JOB_LEASE_TTL_MS);
1999
+ const run = getLedgerRun(db.rawDb, jobId);
2000
+ if (!run) {
2001
+ console.error(chalk.red(`Job not found: ${jobId}`));
2002
+ process.exit(1);
2003
+ }
2004
+ const staleness = run.projectRoot ? computeStaleness(db.rawDb, jobId, run.projectRoot) : null;
2005
+ if (options.json) {
2006
+ process.stdout.write(JSON.stringify({ ...run, staleness }, null, 2) + '\n');
2007
+ return;
2008
+ }
2009
+ let progress = '';
2010
+ if (run.progressJson) {
2011
+ try {
2012
+ const p = JSON.parse(run.progressJson);
2013
+ progress = [p.phase, p.message].filter(Boolean).join(' — ');
2014
+ if (p.total != null)
2015
+ progress += ` (${p.current ?? 0}/${p.total})`;
2016
+ }
2017
+ catch {
2018
+ progress = '';
2019
+ }
2020
+ }
2021
+ console.log(chalk.blue(`Job ${jobId}`));
2022
+ console.log(` status: ${spec41StatusBadge(run.status)}`);
2023
+ console.log(` path: ${run.projectRoot ?? run.target}`);
2024
+ console.log(` created: ${run.timestamp}`);
2025
+ if (run.startedAt)
2026
+ console.log(` started: ${run.startedAt}`);
2027
+ if (run.finishedAt)
2028
+ console.log(` finished: ${run.finishedAt}`);
2029
+ if (run.durationMs)
2030
+ console.log(` duration: ${run.durationMs}ms`);
2031
+ if (progress)
2032
+ console.log(` progress: ${progress}`);
2033
+ if (run.error)
2034
+ console.log(chalk.red(` error: ${run.error}`));
2035
+ if (run.stderrLog)
2036
+ console.log(chalk.gray(` log: ${run.stderrLog}`));
2037
+ if (run.contentHash)
2038
+ console.log(chalk.gray(` content: ${run.contentHash.slice(0, 12)} (${run.filesCount} files)`));
2039
+ spec41RenderStaleness(staleness);
2040
+ }
2041
+ catch (error) {
2042
+ console.error(chalk.red('Error:'), error);
2043
+ process.exit(1);
2044
+ }
2045
+ });
2046
+ program
2047
+ .command('result <jobId>')
2048
+ .description('Query a detached audit run: findings or per-rule coverage')
2049
+ .option('-p, --path <path>', 'Project root containing the job (default: cwd)', process.cwd())
2050
+ .option('--rule <rule>', 'Filter by rule id')
2051
+ .option('--analyzer <analyzer>', 'Filter by analyzer')
2052
+ .option('--file <file>', 'Filter by file path (substring match)')
2053
+ .option('--severity <severity>', 'Filter by severity (critical|warning|suggestion)')
2054
+ .option('--state [state]', 'Query coverage by state (fired|clean|notApplicable|unassessed); omit value for all')
2055
+ .option('--count', 'Group findings by analyzer/rule with counts')
2056
+ .option('--limit <n>', 'Max findings to return (0 = unbounded)', '50')
2057
+ .option('--offset <n>', 'Findings offset', '0')
2058
+ .option('--stale', 'Force full content re-hash for staleness')
2059
+ .option('--json', 'Output as JSON')
2060
+ .action(async (jobId, options) => {
2061
+ try {
2062
+ const { getLedgerRun, queryLedgerFindings, queryLedgerCoverage, computeStaleness } = await import('./ledger.js');
2063
+ const projectRoot = resolve(options.path);
2064
+ const db = CodeIndexDB.getInstance(undefined, projectRoot);
2065
+ await db.initialize();
2066
+ const run = getLedgerRun(db.rawDb, jobId);
2067
+ if (!run) {
2068
+ console.error(chalk.red(`Job not found: ${jobId}`));
2069
+ process.exit(1);
2070
+ }
2071
+ const staleness = run.projectRoot
2072
+ ? computeStaleness(db.rawDb, jobId, run.projectRoot, { full: !!options.stale })
2073
+ : null;
2074
+ // A finding read must never be silent about the tree it was computed
2075
+ // against (Spec 41 R3): carry the staleness marker in human output too.
2076
+ if (!options.json)
2077
+ spec41RenderStaleness(staleness);
2078
+ if (options.state !== undefined) {
2079
+ const stateFilter = typeof options.state === 'string' ? options.state : undefined;
2080
+ const rows = queryLedgerCoverage(db.rawDb, jobId, {
2081
+ ...(stateFilter ? { state: stateFilter } : {}),
2082
+ ...(options.rule ? { rule: options.rule } : {}),
2083
+ ...(options.analyzer ? { analyzer: options.analyzer } : {}),
2084
+ });
2085
+ if (options.json) {
2086
+ process.stdout.write(JSON.stringify({ runId: jobId, staleness, coverage: rows }, null, 2) + '\n');
2087
+ }
2088
+ else {
2089
+ console.log(chalk.blue(stateFilter ? `Coverage — ${stateFilter}` : 'Coverage — all states'));
2090
+ for (const r of rows) {
2091
+ const reason = r.reason ? chalk.gray(` (${r.reason})`) : '';
2092
+ console.log(` ${r.analyzer}/${r.ruleId}: ${r.state} × ${r.count}${reason}`);
2093
+ }
2094
+ if (rows.length === 0)
2095
+ console.log(chalk.gray(' (no rows)'));
2096
+ }
2097
+ return;
2098
+ }
2099
+ const findingFilter = {
2100
+ ...(options.rule ? { rule: options.rule } : {}),
2101
+ ...(options.analyzer ? { analyzer: options.analyzer } : {}),
2102
+ ...(options.file ? { file: options.file } : {}),
2103
+ ...(options.severity ? { severity: options.severity } : {}),
2104
+ };
2105
+ if (options.count) {
2106
+ const groups = queryLedgerFindings(db.rawDb, jobId, { ...findingFilter, count: true });
2107
+ if (options.json) {
2108
+ process.stdout.write(JSON.stringify({ runId: jobId, staleness, groups }, null, 2) + '\n');
2109
+ }
2110
+ else {
2111
+ console.log(chalk.blue('Findings by analyzer/rule'));
2112
+ for (const g of groups)
2113
+ console.log(` ${g.count}\t${g.group}`);
2114
+ if (groups.length === 0)
2115
+ console.log(chalk.gray(' (no findings)'));
2116
+ }
2117
+ return;
2118
+ }
2119
+ const limit = options.limit === '0' ? 0 : parseInt(options.limit, 10) || 50;
2120
+ const offset = parseInt(options.offset, 10) || 0;
2121
+ const findings = queryLedgerFindings(db.rawDb, jobId, { ...findingFilter, limit, offset });
2122
+ if (options.json) {
2123
+ const nextOffset = limit > 0 && findings.length === limit ? offset + limit : null;
2124
+ process.stdout.write(JSON.stringify({ runId: jobId, staleness, count: findings.length, nextOffset, findings }, null, 2) + '\n');
2125
+ }
2126
+ else {
2127
+ console.log(chalk.blue(`Findings (${findings.length} shown)`));
2128
+ for (const f of findings) {
2129
+ const loc = f.line != null ? `${f.file}:${f.line}` : f.file;
2130
+ const paint = spec41SeverityColor(f.severity);
2131
+ console.log(` ${paint(f.severity)} ${chalk.gray(loc)} [${f.analyzer}/${f.rule}] ${f.message}`);
2132
+ }
2133
+ if (findings.length === 0)
2134
+ console.log(chalk.gray(' (no findings)'));
2135
+ if (limit > 0 && findings.length === limit) {
2136
+ console.log(chalk.gray(` next offset: ${offset + limit} (use --offset ${offset + limit})`));
2137
+ }
2138
+ }
2139
+ }
2140
+ catch (error) {
2141
+ console.error(chalk.red('Error:'), error);
2142
+ process.exit(1);
2143
+ }
2144
+ });
2145
+ program
2146
+ .command('jobs')
2147
+ .description('List detached audit jobs with staleness badges')
2148
+ .option('-p, --path <path>', 'Project root (default: cwd)', process.cwd())
2149
+ .option('--prune', 'Delete all but the newest runs for this project')
2150
+ .option('--keep <n>', 'Runs to keep when --prune is set', '10')
2151
+ .option('--limit <n>', 'Runs to display (staleness computed for these)', '20')
2152
+ .option('--json', 'Output as JSON')
2153
+ .action(async (options) => {
2154
+ try {
2155
+ const { listLedgerRuns, reclaimStaleRunning, pruneLedgerRuns, computeStaleness } = await import('./ledger.js');
2156
+ const projectRoot = resolve(options.path);
2157
+ const db = CodeIndexDB.getInstance(undefined, projectRoot);
2158
+ await db.initialize();
2159
+ reclaimStaleRunning(db.rawDb, projectRoot, CLI_JOB_LEASE_TTL_MS);
2160
+ if (options.prune) {
2161
+ const keep = parseInt(options.keep, 10) || 10;
2162
+ const n = pruneLedgerRuns(db.rawDb, projectRoot, keep);
2163
+ console.log(chalk.green(`✓ Pruned ${n} run(s) — keeping ${keep} newest`));
2164
+ }
2165
+ const limit = parseInt(options.limit, 10) || 20;
2166
+ const runs = listLedgerRuns(db.rawDb, projectRoot).slice(0, limit);
2167
+ const withStaleness = runs.map((run) => {
2168
+ let staleness = null;
2169
+ if (run.projectRoot && run.contentHash) {
2170
+ staleness = computeStaleness(db.rawDb, run.runId, run.projectRoot);
2171
+ }
2172
+ return { ...run, staleness };
2173
+ });
2174
+ if (options.json) {
2175
+ process.stdout.write(JSON.stringify(withStaleness, null, 2) + '\n');
2176
+ return;
2177
+ }
2178
+ if (withStaleness.length === 0) {
2179
+ console.log(chalk.gray('No jobs yet — run `code-auditor audit --detach` first.'));
2180
+ return;
2181
+ }
2182
+ console.log(chalk.blue(`Jobs (${withStaleness.length} newest)`));
2183
+ for (const run of withStaleness) {
2184
+ const badge = run.staleness?.stale
2185
+ ? chalk.yellow('stale')
2186
+ : run.staleness
2187
+ ? chalk.green('current')
2188
+ : chalk.gray('n/a');
2189
+ console.log(` ${spec41StatusBadge(run.status)} ${chalk.cyan(run.runId)} [${badge}]`);
2190
+ console.log(` ${run.projectRoot ?? run.target} ${run.timestamp}`);
2191
+ if (run.error)
2192
+ console.log(` ${chalk.red(run.error)}`);
2193
+ }
2194
+ }
2195
+ catch (error) {
2196
+ console.error(chalk.red('Error:'), error);
2197
+ process.exit(1);
2198
+ }
2199
+ });
1795
2200
  // ── Conventions command — Spec 12 R3 ────────────────────────────────────────
1796
2201
  const conventionsCmd = program
1797
2202
  .command('conventions')