ghagga 3.2.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/commands/audit.js +6 -2
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/index-cmd.d.ts +49 -0
- package/dist/commands/index-cmd.d.ts.map +1 -0
- package/dist/commands/index-cmd.js +367 -0
- package/dist/commands/index-cmd.js.map +1 -0
- package/dist/commands/index-cmd.test.d.ts +17 -0
- package/dist/commands/index-cmd.test.d.ts.map +1 -0
- package/dist/commands/index-cmd.test.js +535 -0
- package/dist/commands/index-cmd.test.js.map +1 -0
- package/dist/commands/indexer-registry.d.ts +93 -0
- package/dist/commands/indexer-registry.d.ts.map +1 -0
- package/dist/commands/indexer-registry.js +342 -0
- package/dist/commands/indexer-registry.js.map +1 -0
- package/dist/commands/indexer-registry.test.d.ts +10 -0
- package/dist/commands/indexer-registry.test.d.ts.map +1 -0
- package/dist/commands/indexer-registry.test.js +538 -0
- package/dist/commands/indexer-registry.test.js.map +1 -0
- package/dist/commands/review-blast-radius.test.d.ts +13 -0
- package/dist/commands/review-blast-radius.test.d.ts.map +1 -0
- package/dist/commands/review-blast-radius.test.js +179 -0
- package/dist/commands/review-blast-radius.test.js.map +1 -0
- package/dist/commands/review.d.ts +136 -1
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +357 -2
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/review.test.js +527 -1
- package/dist/commands/review.test.js.map +1 -1
- package/dist/commands/triage.d.ts +14 -0
- package/dist/commands/triage.d.ts.map +1 -0
- package/dist/commands/triage.js +248 -0
- package/dist/commands/triage.js.map +1 -0
- package/dist/commands/triage.test.d.ts +8 -0
- package/dist/commands/triage.test.d.ts.map +1 -0
- package/dist/commands/triage.test.js +272 -0
- package/dist/commands/triage.test.js.map +1 -0
- package/dist/index.js +38 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/cli-github-client-port.d.ts +2 -0
- package/dist/lib/cli-github-client-port.d.ts.map +1 -1
- package/dist/lib/cli-github-client-port.js +12 -0
- package/dist/lib/cli-github-client-port.js.map +1 -1
- package/dist/ui/__tests__/theme.test.js +3 -2
- package/dist/ui/__tests__/theme.test.js.map +1 -1
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +1 -0
- package/dist/ui/theme.js.map +1 -1
- package/package.json +11 -10
package/dist/commands/review.js
CHANGED
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { execSync } from 'node:child_process';
|
|
9
9
|
import { existsSync, readFileSync } from 'node:fs';
|
|
10
|
+
import { readFile } from 'node:fs/promises';
|
|
10
11
|
import { join, resolve } from 'node:path';
|
|
11
|
-
import { buildSarif, DEFAULT_SETTINGS, EngramMemoryStorage, formatReviewComment, initializeDefaultTools, REVIEW_COMMENT_MARKER, reviewPipeline, SqliteMemoryStorage, toolRegistry, } from 'ghagga-core';
|
|
12
|
+
import { buildSarif, DEFAULT_SETTINGS, detectLanguage, EngramMemoryStorage, FilesystemGraphLoader, formatReviewComment, GRAPH_VERSION, initializeDefaultTools, isGraphStale, NullGraphLoader, PreloadedGraphLoader, parseDiffFiles, REVIEW_COMMENT_MARKER, reviewPipeline, SqliteMemoryStorage, toolRegistry, } from 'ghagga-core';
|
|
12
13
|
import { GitHubForgeAdapter, GitLabForgeAdapter, StaticTokenProvider, } from 'ghagga-forge';
|
|
13
14
|
import { createCliGitHubClientPort, resolveGitHubRepoId } from '../lib/cli-github-client-port.js';
|
|
14
15
|
import { createCliGitLabClientPort, resolveGitLabApiBase, resolveGitLabProjectId, } from '../lib/cli-gitlab-client-port.js';
|
|
@@ -92,8 +93,101 @@ export async function reviewCommand(targetPath, options) {
|
|
|
92
93
|
}
|
|
93
94
|
// Step 2: Load optional config file
|
|
94
95
|
const fileConfig = loadConfigFile(repoPath, options.config);
|
|
96
|
+
// Step 2.5: Fail-closed --anchor. CLI flag wins over `.ghagga.json`.
|
|
97
|
+
// Omitted / "auto" skip the mismatch check. Anything else must be a
|
|
98
|
+
// hex SHA that resolves to the same commit as HEAD — never checkout.
|
|
99
|
+
const resolvedAnchor = options.anchor !== undefined ? options.anchor : fileConfig.anchor;
|
|
100
|
+
const anchorCheck = checkReviewAnchor(repoPath, resolvedAnchor);
|
|
101
|
+
if (!anchorCheck.ok) {
|
|
102
|
+
tui.log.error(anchorCheck.message);
|
|
103
|
+
process.exit(1);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
95
106
|
// Step 3: Merge settings (CLI options take priority over config file)
|
|
96
107
|
const settings = mergeSettings(options, fileConfig);
|
|
108
|
+
// Step 3.4: Resolve blast-radius auto-ON (design v2 D7) — resolved
|
|
109
|
+
// against repoPath (the review target), not process.cwd() (CRITICAL-2).
|
|
110
|
+
settings.enableBlastRadius = resolveBlastRadiusEnabled(repoPath, options, fileConfig);
|
|
111
|
+
// Step 3.4.5: Wire the local FilesystemGraphLoader + fs fileReader when
|
|
112
|
+
// blast-radius is enabled (design v2 D3/D4), and surface staleness
|
|
113
|
+
// (D2) + partial-language-coverage (D8) as advisory warnings — never
|
|
114
|
+
// blocking. Graph-absent is a silent no-op: applyBlastRadius itself
|
|
115
|
+
// already emits its own "no graph available" pipeline event.
|
|
116
|
+
//
|
|
117
|
+
// The graph is loaded exactly ONCE here (for staleness/coverage). The
|
|
118
|
+
// already-loaded result is then wrapped in a PreloadedGraphLoader (or
|
|
119
|
+
// NullGraphLoader when absent/malformed/oversize) so the pipeline's own
|
|
120
|
+
// `applyBlastRadius` step — which unconditionally calls
|
|
121
|
+
// `graphLoader.load()` — reads it from memory instead of re-reading
|
|
122
|
+
// graph.json (up to 20MB) and re-emitting the oversize/malformed warning
|
|
123
|
+
// a second time (R4-001).
|
|
124
|
+
let graphLoader;
|
|
125
|
+
let fileReader;
|
|
126
|
+
// Populated below (reusing the SAME `git rev-parse HEAD` already
|
|
127
|
+
// computed for staleness checking) and threaded into `ReviewInput` as
|
|
128
|
+
// `currentHead` — the Pillar 0 freshness precondition for
|
|
129
|
+
// symbol-precise blast-radius narrowing (scip-symbol-exclusion D0).
|
|
130
|
+
let currentHead;
|
|
131
|
+
if (settings.enableBlastRadius) {
|
|
132
|
+
const filesystemGraphLoader = new FilesystemGraphLoader(repoPath, {
|
|
133
|
+
onOversize: (bytes, max) => {
|
|
134
|
+
tui.log.warn(`⚠️ Dependency graph exceeds ${max} bytes (actual: ${bytes}) — ignoring, blast-radius disabled for this run.`);
|
|
135
|
+
},
|
|
136
|
+
onMalformed: (reason) => {
|
|
137
|
+
tui.log.warn(`⚠️ Dependency graph is stale/corrupt — ignoring (${reason}).`);
|
|
138
|
+
},
|
|
139
|
+
});
|
|
140
|
+
fileReader = async (filePath) => {
|
|
141
|
+
try {
|
|
142
|
+
return await readFile(join(repoPath, filePath), 'utf-8');
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
try {
|
|
149
|
+
const graph = await filesystemGraphLoader.load();
|
|
150
|
+
if (graph) {
|
|
151
|
+
const metadata = await filesystemGraphLoader.loadMetadata();
|
|
152
|
+
try {
|
|
153
|
+
currentHead = execSync('git rev-parse HEAD', {
|
|
154
|
+
cwd: repoPath,
|
|
155
|
+
encoding: 'utf-8',
|
|
156
|
+
}).trim();
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
currentHead = '';
|
|
160
|
+
}
|
|
161
|
+
for (const warning of checkGraphStaleness(metadata, currentHead)) {
|
|
162
|
+
tui.log.warn(`⚠️ ${warning.message}`);
|
|
163
|
+
}
|
|
164
|
+
const changedFiles = parseDiffFiles(diff).map((f) => f.path);
|
|
165
|
+
const uncoveredLanguages = computeUncoveredLanguages(graph, changedFiles);
|
|
166
|
+
if (uncoveredLanguages.length > 0) {
|
|
167
|
+
tui.log.warn(`⚠️ Partial graph coverage: no indexed dependents for ${uncoveredLanguages.join(', ')} — ` +
|
|
168
|
+
'blast-radius will show 0 dependents for these files, which may be unreliable rather than accurate.');
|
|
169
|
+
}
|
|
170
|
+
// Hand the pipeline the graph we already loaded — no re-read.
|
|
171
|
+
graphLoader = new PreloadedGraphLoader(graph, metadata);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
// Absent/malformed/oversize — filesystemGraphLoader already fired
|
|
175
|
+
// its onOversize/onMalformed warning exactly once above. Hand the
|
|
176
|
+
// pipeline a loader that always resolves to null so it degrades
|
|
177
|
+
// without touching the filesystem again.
|
|
178
|
+
graphLoader = new NullGraphLoader();
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
183
|
+
tui.log.warn(`⚠️ Blast-radius staleness/coverage check failed (continuing): ${message}`);
|
|
184
|
+
graphLoader = new NullGraphLoader();
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
// Step 3.5: Build the per-voice cross-engine provider chain, if configured
|
|
188
|
+
// (BL-CLI-PROVIDER-CHAIN). Undefined when absent — regression-safe, the
|
|
189
|
+
// pipeline falls back to the flat provider/model exactly as before.
|
|
190
|
+
const providerChain = buildProviderChain(fileConfig, options.apiKey);
|
|
97
191
|
// Step 4: Show progress
|
|
98
192
|
if (!options.outputFormat) {
|
|
99
193
|
tui.intro('🤖 GHAGGA Code Review');
|
|
@@ -197,6 +291,18 @@ export async function reviewCommand(targetPath, options) {
|
|
|
197
291
|
enhance: options.enhance,
|
|
198
292
|
// --quick: disable AI review, use static analysis only
|
|
199
293
|
...(options.quick ? { aiReviewEnabled: false } : {}),
|
|
294
|
+
// Per-voice cross-engine routing (BL-CLI-PROVIDER-CHAIN) — undefined
|
|
295
|
+
// when `.ghagga.json` has no providerChain, unchanged flat-provider path.
|
|
296
|
+
...(providerChain ? { providerChain } : {}),
|
|
297
|
+
// Blast-radius (design v2) — undefined when disabled/no graph, matching
|
|
298
|
+
// the pre-existing `applyBlastRadius` gate (`enableBlastRadius && graphLoader`).
|
|
299
|
+
...(graphLoader ? { graphLoader } : {}),
|
|
300
|
+
...(fileReader ? { fileReader } : {}),
|
|
301
|
+
// Pillar 0 freshness precondition (scip-symbol-exclusion D0) — reuses
|
|
302
|
+
// the SAME `git rev-parse HEAD` already computed above for staleness
|
|
303
|
+
// checking. Undefined when blast-radius is disabled or HEAD couldn't
|
|
304
|
+
// be resolved (non-git repo) — narrowing degrades to a no-op.
|
|
305
|
+
...(currentHead ? { currentHead } : {}),
|
|
200
306
|
});
|
|
201
307
|
// Step 5.5: Persist memory to disk
|
|
202
308
|
await memoryStorage?.close();
|
|
@@ -507,6 +613,54 @@ function issueLog(options, message) {
|
|
|
507
613
|
tui.log.success(message);
|
|
508
614
|
}
|
|
509
615
|
}
|
|
616
|
+
// ─── Fail-closed review anchor ───────────────────────────────────
|
|
617
|
+
const ANCHOR_SHA_RE = /^[0-9a-f]{7,40}$/i;
|
|
618
|
+
/**
|
|
619
|
+
* Enforce fail-closed `--anchor` / `.ghagga.json` `anchor`.
|
|
620
|
+
* Does not mutate the worktree. Does not require a clean index.
|
|
621
|
+
*/
|
|
622
|
+
function checkReviewAnchor(repoPath, anchor) {
|
|
623
|
+
if (anchor === undefined || anchor === 'auto') {
|
|
624
|
+
return { ok: true, message: '' };
|
|
625
|
+
}
|
|
626
|
+
if (!ANCHOR_SHA_RE.test(anchor)) {
|
|
627
|
+
return {
|
|
628
|
+
ok: false,
|
|
629
|
+
message: `❌ Invalid anchor "${anchor}". Expected a git SHA (7–40 hex chars) or "auto".`,
|
|
630
|
+
};
|
|
631
|
+
}
|
|
632
|
+
let headSha = '';
|
|
633
|
+
let requestedSha = '';
|
|
634
|
+
try {
|
|
635
|
+
headSha = execSync('git rev-parse HEAD', {
|
|
636
|
+
cwd: repoPath,
|
|
637
|
+
encoding: 'utf-8',
|
|
638
|
+
}).trim();
|
|
639
|
+
requestedSha = execSync(`git rev-parse --verify ${anchor}^{commit}`, {
|
|
640
|
+
cwd: repoPath,
|
|
641
|
+
encoding: 'utf-8',
|
|
642
|
+
}).trim();
|
|
643
|
+
}
|
|
644
|
+
catch {
|
|
645
|
+
return {
|
|
646
|
+
ok: false,
|
|
647
|
+
message: `❌ Could not resolve git HEAD or requested anchor ${anchor}.`,
|
|
648
|
+
};
|
|
649
|
+
}
|
|
650
|
+
if (!headSha || !requestedSha) {
|
|
651
|
+
return {
|
|
652
|
+
ok: false,
|
|
653
|
+
message: `❌ Could not resolve git HEAD or requested anchor ${anchor}.`,
|
|
654
|
+
};
|
|
655
|
+
}
|
|
656
|
+
if (headSha !== requestedSha) {
|
|
657
|
+
return {
|
|
658
|
+
ok: false,
|
|
659
|
+
message: `❌ HEAD ${headSha} does not match requested anchor ${requestedSha}.`,
|
|
660
|
+
};
|
|
661
|
+
}
|
|
662
|
+
return { ok: true, message: '' };
|
|
663
|
+
}
|
|
510
664
|
// ─── Git Diff ───────────────────────────────────────────────────
|
|
511
665
|
/**
|
|
512
666
|
* Get the diff from git. Uses staged changes if available,
|
|
@@ -544,6 +698,39 @@ function getGitDiff(repoPath) {
|
|
|
544
698
|
}
|
|
545
699
|
}
|
|
546
700
|
// ─── Config File ────────────────────────────────────────────────
|
|
701
|
+
/**
|
|
702
|
+
* Validate the shape of a `.ghagga.json` `providerChain` array. Throws a
|
|
703
|
+
* descriptive `Error` on the first invalid entry — provider misrouting is
|
|
704
|
+
* high-stakes (silently reviewing with the wrong engine), so this fails
|
|
705
|
+
* loudly rather than the soft-warn-and-continue behavior used for a
|
|
706
|
+
* generally malformed config file.
|
|
707
|
+
*/
|
|
708
|
+
function validateProviderChain(chain) {
|
|
709
|
+
if (!Array.isArray(chain)) {
|
|
710
|
+
throw new Error('providerChain must be an array');
|
|
711
|
+
}
|
|
712
|
+
chain.forEach((rawEntry, index) => {
|
|
713
|
+
if (typeof rawEntry !== 'object' || rawEntry === null) {
|
|
714
|
+
throw new Error(`providerChain[${index}] must be an object`);
|
|
715
|
+
}
|
|
716
|
+
const entry = rawEntry;
|
|
717
|
+
if (entry.provider !== 'gateway') {
|
|
718
|
+
throw new Error(`providerChain[${index}].provider must be "gateway" (got ${JSON.stringify(entry.provider)})`);
|
|
719
|
+
}
|
|
720
|
+
if (typeof entry.model !== 'string' || entry.model.length === 0) {
|
|
721
|
+
throw new Error(`providerChain[${index}].model must be a non-empty string`);
|
|
722
|
+
}
|
|
723
|
+
if (entry.targetProvider !== undefined && typeof entry.targetProvider !== 'string') {
|
|
724
|
+
throw new Error(`providerChain[${index}].targetProvider must be a string`);
|
|
725
|
+
}
|
|
726
|
+
if (entry.gatewayUrl !== undefined && typeof entry.gatewayUrl !== 'string') {
|
|
727
|
+
throw new Error(`providerChain[${index}].gatewayUrl must be a string`);
|
|
728
|
+
}
|
|
729
|
+
if (entry.cliModel !== undefined && typeof entry.cliModel !== 'string') {
|
|
730
|
+
throw new Error(`providerChain[${index}].cliModel must be a string`);
|
|
731
|
+
}
|
|
732
|
+
});
|
|
733
|
+
}
|
|
547
734
|
/**
|
|
548
735
|
* Load and parse an optional .ghagga.json config file.
|
|
549
736
|
*/
|
|
@@ -552,15 +739,171 @@ function loadConfigFile(repoPath, configPath) {
|
|
|
552
739
|
if (!existsSync(filePath)) {
|
|
553
740
|
return {};
|
|
554
741
|
}
|
|
742
|
+
let parsed;
|
|
555
743
|
try {
|
|
556
744
|
const raw = readFileSync(filePath, 'utf-8');
|
|
557
|
-
|
|
745
|
+
parsed = JSON.parse(raw);
|
|
558
746
|
}
|
|
559
747
|
catch (error) {
|
|
560
748
|
const message = error instanceof Error ? error.message : String(error);
|
|
561
749
|
tui.log.warn(`⚠️ Could not parse config file: ${message}`);
|
|
562
750
|
return {};
|
|
563
751
|
}
|
|
752
|
+
if (parsed.providerChain !== undefined) {
|
|
753
|
+
try {
|
|
754
|
+
validateProviderChain(parsed.providerChain);
|
|
755
|
+
}
|
|
756
|
+
catch (error) {
|
|
757
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
758
|
+
tui.log.error(`❌ Invalid .ghagga.json providerChain: ${message}`);
|
|
759
|
+
process.exit(1);
|
|
760
|
+
return {};
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
if (parsed.pinLensesToFirst !== undefined && typeof parsed.pinLensesToFirst !== 'boolean') {
|
|
764
|
+
tui.log.error(`❌ Invalid .ghagga.json pinLensesToFirst: expected boolean, got ${JSON.stringify(parsed.pinLensesToFirst)}`);
|
|
765
|
+
process.exit(1);
|
|
766
|
+
return {};
|
|
767
|
+
}
|
|
768
|
+
if (parsed.contrarianCount !== undefined) {
|
|
769
|
+
if (typeof parsed.contrarianCount !== 'number' ||
|
|
770
|
+
!Number.isInteger(parsed.contrarianCount) ||
|
|
771
|
+
parsed.contrarianCount < 1) {
|
|
772
|
+
tui.log.error(`❌ Invalid .ghagga.json contrarianCount: expected integer >= 1, got ${JSON.stringify(parsed.contrarianCount)}`);
|
|
773
|
+
process.exit(1);
|
|
774
|
+
return {};
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
if (parsed.refuterCount !== undefined) {
|
|
778
|
+
if (typeof parsed.refuterCount !== 'number' ||
|
|
779
|
+
!Number.isInteger(parsed.refuterCount) ||
|
|
780
|
+
parsed.refuterCount < 2) {
|
|
781
|
+
tui.log.error(`❌ Invalid .ghagga.json refuterCount: expected integer >= 2, got ${JSON.stringify(parsed.refuterCount)}`);
|
|
782
|
+
process.exit(1);
|
|
783
|
+
return {};
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
return parsed;
|
|
787
|
+
}
|
|
788
|
+
/**
|
|
789
|
+
* Map a validated `.ghagga.json` providerChain into `ghagga-core`'s
|
|
790
|
+
* `ProviderChainEntry[]` for `ReviewInput.providerChain` — the piece that
|
|
791
|
+
* closes the CLI's gap in per-voice cross-engine routing (consensus/fan-out
|
|
792
|
+
* modes round-robin each voice across these gateway entries, see
|
|
793
|
+
* `resolveGenerateTextFns` in `packages/core/src/pipeline/providers.ts`).
|
|
794
|
+
*
|
|
795
|
+
* `apiKey` is NEVER read from the config file (never stored in plaintext) —
|
|
796
|
+
* it is filled at runtime from the resolved gateway token (`options.apiKey`,
|
|
797
|
+
* itself CLI flag > env var > stored login token, see `apps/cli/src/index.ts`).
|
|
798
|
+
*/
|
|
799
|
+
function buildProviderChain(fileConfig, apiKey) {
|
|
800
|
+
if (!fileConfig.providerChain || fileConfig.providerChain.length === 0) {
|
|
801
|
+
return undefined;
|
|
802
|
+
}
|
|
803
|
+
return fileConfig.providerChain.map((entry) => ({
|
|
804
|
+
provider: entry.provider,
|
|
805
|
+
model: entry.model,
|
|
806
|
+
apiKey: apiKey ?? '',
|
|
807
|
+
...(entry.targetProvider !== undefined ? { targetProvider: entry.targetProvider } : {}),
|
|
808
|
+
...(entry.gatewayUrl !== undefined ? { gatewayUrl: entry.gatewayUrl } : {}),
|
|
809
|
+
...(entry.cliModel !== undefined ? { cliModel: entry.cliModel } : {}),
|
|
810
|
+
}));
|
|
811
|
+
}
|
|
812
|
+
/**
|
|
813
|
+
* Resolve whether blast-radius should be enabled for this review run.
|
|
814
|
+
*
|
|
815
|
+
* Precedence (highest to lowest):
|
|
816
|
+
* 1. `--no-blast-radius` (options.blastRadius === false) → OFF
|
|
817
|
+
* 2. `.ghagga.json` `enableBlastRadius` (explicit true/false) → that value
|
|
818
|
+
* 3. Auto-ON when `<repoPath>/.ghagga/graph.json` exists
|
|
819
|
+
* 4. OFF (no graph, no override)
|
|
820
|
+
*
|
|
821
|
+
* CRITICAL-2 (JD B-001): the existence check is resolved against `repoPath`
|
|
822
|
+
* — the review target — NOT `process.cwd()`, so `ghagga review <other-dir>`
|
|
823
|
+
* from an unrelated cwd still auto-detects correctly.
|
|
824
|
+
*/
|
|
825
|
+
export function resolveBlastRadiusEnabled(repoPath, options, fileConfig) {
|
|
826
|
+
if (options.blastRadius === false)
|
|
827
|
+
return false;
|
|
828
|
+
if (fileConfig.enableBlastRadius === false)
|
|
829
|
+
return false;
|
|
830
|
+
if (fileConfig.enableBlastRadius === true)
|
|
831
|
+
return true;
|
|
832
|
+
return existsSync(join(repoPath, '.ghagga', 'graph.json'));
|
|
833
|
+
}
|
|
834
|
+
/**
|
|
835
|
+
* Detect staleness/coverage-verification signals for the loaded graph.
|
|
836
|
+
* ALWAYS warn-and-continue (design v2 D2) — never blocks the review.
|
|
837
|
+
*
|
|
838
|
+
* - HEAD mismatch: `metadata.lastIndexedCommit` non-empty and differs from
|
|
839
|
+
* `currentHead`. An EMPTY `currentHead` (non-git/detached checkout) skips
|
|
840
|
+
* this specific check — there's nothing meaningful to compare against.
|
|
841
|
+
* - Age: delegates to `isGraphStale` (>`GRAPH_STALE_DAYS` days).
|
|
842
|
+
* - Metadata absent (B-005): `metadata === null` — graph.json loaded but no
|
|
843
|
+
* sibling metadata.json (e.g. pre-feature `ghagga index` run). Returns
|
|
844
|
+
* EARLY with only this warning — there's nothing else to check.
|
|
845
|
+
* - Version mismatch (B-003): `metadata.graphVersion` set and differs from
|
|
846
|
+
* the current `GRAPH_VERSION` (equivalent to comparing against the loaded
|
|
847
|
+
* graph's `version`, which `validateGraph` already pins to `GRAPH_VERSION`).
|
|
848
|
+
*/
|
|
849
|
+
export function checkGraphStaleness(metadata, currentHead) {
|
|
850
|
+
if (!metadata) {
|
|
851
|
+
return [
|
|
852
|
+
{
|
|
853
|
+
kind: 'no-metadata',
|
|
854
|
+
message: 'Graph loaded but no metadata found — staleness cannot be verified; re-run `ghagga index`.',
|
|
855
|
+
},
|
|
856
|
+
];
|
|
857
|
+
}
|
|
858
|
+
const warnings = [];
|
|
859
|
+
if (currentHead && metadata.lastIndexedCommit && metadata.lastIndexedCommit !== currentHead) {
|
|
860
|
+
warnings.push({
|
|
861
|
+
kind: 'head-mismatch',
|
|
862
|
+
message: `Dependency graph indexed at ${metadata.lastIndexedCommit}, HEAD is ${currentHead} — run \`ghagga index\` to refresh.`,
|
|
863
|
+
});
|
|
864
|
+
}
|
|
865
|
+
if (isGraphStale(metadata)) {
|
|
866
|
+
warnings.push({
|
|
867
|
+
kind: 'stale-age',
|
|
868
|
+
message: `Dependency graph is stale (last indexed: ${metadata.lastIndexedAt}) — run \`ghagga index\` to refresh.`,
|
|
869
|
+
});
|
|
870
|
+
}
|
|
871
|
+
if (metadata.graphVersion !== undefined && metadata.graphVersion !== GRAPH_VERSION) {
|
|
872
|
+
warnings.push({
|
|
873
|
+
kind: 'version-mismatch',
|
|
874
|
+
message: `Graph metadata schema version (${metadata.graphVersion}) does not match the current graph version (${GRAPH_VERSION}) — run \`ghagga index\` to refresh.`,
|
|
875
|
+
});
|
|
876
|
+
}
|
|
877
|
+
return warnings;
|
|
878
|
+
}
|
|
879
|
+
/**
|
|
880
|
+
* Compute the set of languages present among `changedFiles` that have ZERO
|
|
881
|
+
* coverage in the loaded graph — i.e. files whose blast-radius dependent
|
|
882
|
+
* count is unreliable (shows zero, not "no dependents").
|
|
883
|
+
*
|
|
884
|
+
* Coverage is derived from the graph's ACTUAL node contents (design v2 D8,
|
|
885
|
+
* JD CRITICAL-1), not from indexer-dispatch bookkeeping:
|
|
886
|
+
* - The regex-fallback path sets `indexedLanguages: []` even though every
|
|
887
|
+
* node has a real `language` — keying off dispatch state would flag
|
|
888
|
+
* every changed file as uncovered.
|
|
889
|
+
* - `detectPresentLanguages` is root-only — a language that only exists in
|
|
890
|
+
* a subpackage (e.g. `packages/api/requirements.txt`) is never detected
|
|
891
|
+
* or skipped, so dispatch state gives no signal at all.
|
|
892
|
+
*
|
|
893
|
+
* Files whose language cannot be detected (`detectLanguage` returns
|
|
894
|
+
* `undefined` — unknown extension) are silently excluded; there is no
|
|
895
|
+
* language identity to report as uncovered.
|
|
896
|
+
*/
|
|
897
|
+
export function computeUncoveredLanguages(graph, changedFiles) {
|
|
898
|
+
const covered = new Set(Object.values(graph.nodes).map((node) => node.language));
|
|
899
|
+
const uncovered = new Set();
|
|
900
|
+
for (const filePath of changedFiles) {
|
|
901
|
+
const language = detectLanguage(filePath);
|
|
902
|
+
if (language && !covered.has(language)) {
|
|
903
|
+
uncovered.add(language);
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
return [...uncovered];
|
|
564
907
|
}
|
|
565
908
|
// ─── Settings Merge ─────────────────────────────────────────────
|
|
566
909
|
/**
|
|
@@ -634,6 +977,17 @@ function mergeSettings(options, fileConfig) {
|
|
|
634
977
|
enabledTools: Array.from(enabledTools),
|
|
635
978
|
lenses,
|
|
636
979
|
lensDir,
|
|
980
|
+
...(fileConfig.pinLensesToFirst === true ? { pinLensesToFirst: true } : {}),
|
|
981
|
+
...(typeof fileConfig.contrarianCount === 'number' &&
|
|
982
|
+
Number.isInteger(fileConfig.contrarianCount) &&
|
|
983
|
+
fileConfig.contrarianCount >= 1
|
|
984
|
+
? { contrarianCount: fileConfig.contrarianCount }
|
|
985
|
+
: {}),
|
|
986
|
+
...(typeof fileConfig.refuterCount === 'number' &&
|
|
987
|
+
Number.isInteger(fileConfig.refuterCount) &&
|
|
988
|
+
fileConfig.refuterCount >= 2
|
|
989
|
+
? { refuterCount: fileConfig.refuterCount }
|
|
990
|
+
: {}),
|
|
637
991
|
};
|
|
638
992
|
}
|
|
639
993
|
// ─── Tool List ──────────────────────────────────────────────────
|
|
@@ -785,6 +1139,7 @@ function getExitCode(status) {
|
|
|
785
1139
|
case 'FAILED':
|
|
786
1140
|
case 'NEEDS_HUMAN_REVIEW':
|
|
787
1141
|
case 'PARTIAL':
|
|
1142
|
+
case 'INCONCLUSIVE':
|
|
788
1143
|
return 1;
|
|
789
1144
|
default: {
|
|
790
1145
|
const _exhaustive = status;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"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"}
|