GitNexus: The Zero-Server Code Intelligence Engine - GitNexus is a client-side knowledge graph creator that runs entirely in your browser. Drop in a git repository (Github, Gitlab, Azure, Local) or ZIP file, and get an interactive knowledge graph with a built in Graph RAG Agent. Perfect for code exploration
This report presents the forensic synthetic code analysis of abhigyanpatwari/GitNexus, a TypeScript project with 46,101 GitHub stars. SynthScan v2.0 examined 746,624 lines of code across 2305 source files, recording 4083 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 10.4 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 4083 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | gitnexus-shared/src/index.ts | 31 | // ─── Scope-based resolution — RFC #909 (Ring 1 #910) ──────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/index.ts | 31 | // ─── Scope-based resolution — RFC #909 (Ring 1 #910) ──────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/graph/types.ts | 178 | // ── Taint/PDG substrate (issue #2080) ──────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/graph/types.ts | 178 | // ── Taint/PDG substrate (issue #2080) ──────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/integrations/circuit-breaker.ts | 250 | // ─── Per-process registry ──────────────────────────────────────────── | COMMENT |
| MEDIUM | …tnexus-shared/src/scope-resolution/resolve-type-ref.ts | 45 | // ─── Public contracts ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tnexus-shared/src/scope-resolution/resolve-type-ref.ts | 58 | // ─── Strict policy constants ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tnexus-shared/src/scope-resolution/resolve-type-ref.ts | 98 | // ─── Main entry point ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …exus-shared/src/scope-resolution/module-scope-index.ts | 57 | // ─── Internal ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/types.ts | 28 | // ─── §2.1 Type aliases ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/types.ts | 58 | // ─── Range + Capture (parser-agnostic) ────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/types.ts | 91 | // ─── Hook input/output types (RFC §5.2) ───────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/types.ts | 498 | // ─── §2.4 ImportEdge ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/types.ts | 564 | // ─── §2.3 BindingRef ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/types.ts | 586 | // ─── §2.5 TypeRef ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/types.ts | 642 | // ─── §2.2 Scope ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/types.ts | 691 | // ─── §2.6 Resolution + ResolutionEvidence ─────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/types.ts | 732 | // ─── §2.7 Reference + ReferenceIndex ──────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/types.ts | 768 | // ─── §4.1 LookupParams ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s-shared/src/scope-resolution/method-dispatch-index.ts | 33 | // ─── Public contracts ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s-shared/src/scope-resolution/method-dispatch-index.ts | 112 | // ─── Builder ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s-shared/src/scope-resolution/method-dispatch-index.ts | 164 | // ─── Internal ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tnexus-shared/src/scope-resolution/evidence-weights.ts | 19 | // ─── Where-found signals (visibility) ───────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …tnexus-shared/src/scope-resolution/evidence-weights.ts | 31 | // ─── Scope-chain deduction (per-hop) ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …tnexus-shared/src/scope-resolution/evidence-weights.ts | 35 | // ─── Receiver-type-binding signal (decays by MRO depth) ─────────────────── | COMMENT |
| MEDIUM⚡ | …tnexus-shared/src/scope-resolution/evidence-weights.ts | 44 | // ─── Corroborating signals ──────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …tnexus-shared/src/scope-resolution/evidence-weights.ts | 51 | // ─── Arity compatibility (from `provider.arityCompatibility`) ───────────── | COMMENT |
| MEDIUM⚡ | …tnexus-shared/src/scope-resolution/evidence-weights.ts | 60 | // ─── Global fallback (only when nothing lexically visible) ──────────────── | COMMENT |
| MEDIUM⚡ | …tnexus-shared/src/scope-resolution/evidence-weights.ts | 66 | // ─── Degraded signals ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …tnexus-shared/src/scope-resolution/evidence-weights.ts | 70 | // ─── Unresolved-import cap (multiplicative, applied per-signal) ─────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/position-index.ts | 87 | // ─── Internals ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …exus-shared/src/scope-resolution/finalize-algorithm.ts | 37 | // ─── Public contracts ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …exus-shared/src/scope-resolution/finalize-algorithm.ts | 179 | // ─── Entry point ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …exus-shared/src/scope-resolution/finalize-algorithm.ts | 325 | // ─── Internal: edge drafting (phase 0) ────────────────────────────────────── | COMMENT |
| MEDIUM | …exus-shared/src/scope-resolution/finalize-algorithm.ts | 526 | // ─── Internal: per-edge finalization (phase 3) ───────────────────────────── | COMMENT |
| MEDIUM | …exus-shared/src/scope-resolution/finalize-algorithm.ts | 609 | // ─── Internal: re-export closure (phase 2.5) ─────────────────────────────── | COMMENT |
| MEDIUM | …exus-shared/src/scope-resolution/finalize-algorithm.ts | 1103 | // ─── Internal: wildcard expansion (phase 4) ──────────────────────────────── | COMMENT |
| MEDIUM | …exus-shared/src/scope-resolution/finalize-algorithm.ts | 1174 | // ─── Internal: bindings materialization (phase 5) ─────────────────────────── | COMMENT |
| MEDIUM | …exus-shared/src/scope-resolution/finalize-algorithm.ts | 1240 | // ─── Internal: Tarjan SCC ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …us-shared/src/scope-resolution/qualified-name-index.ts | 75 | // ─── Internal ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/def-index.ts | 47 | // ─── Internal ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/scope-tree.ts | 31 | // ─── Public contract ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/scope-tree.ts | 50 | // ─── Build errors ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/scope-tree.ts | 73 | // ─── Builder ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/scope-tree.ts | 86 | // ── Pass 1: collect by id + duplicate check ─────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/scope-tree.ts | 97 | // ── Pass 2: validate parent pointers + build children buckets ───────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/scope-tree.ts | 137 | // ── Pass 3: sibling-overlap check ───────────────────────────────────── | COMMENT |
| MEDIUM | gitnexus-shared/src/scope-resolution/scope-tree.ts | 165 | // ─── Internals ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …xus-shared/src/scope-resolution/registries/evidence.ts | 29 | // ── Where-found ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …xus-shared/src/scope-resolution/registries/evidence.ts | 37 | // ── Type-binding path ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …xus-shared/src/scope-resolution/registries/evidence.ts | 41 | // ── Corroborators ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …xus-shared/src/scope-resolution/registries/evidence.ts | 47 | // ── Arity ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …xus-shared/src/scope-resolution/registries/evidence.ts | 50 | // ── Dynamic-unresolved passthrough ───────────────────────────────────── | COMMENT |
| MEDIUM | …xus-shared/src/scope-resolution/registries/evidence.ts | 65 | // ── Where-found visibility ───────────────────────────────────────────── | COMMENT |
| MEDIUM | …xus-shared/src/scope-resolution/registries/evidence.ts | 92 | // ── Type-binding / MRO path ──────────────────────────────────────────── | COMMENT |
| MEDIUM | …xus-shared/src/scope-resolution/registries/evidence.ts | 101 | // ── Owner match (explanatory for debug) ──────────────────────────────── | COMMENT |
| MEDIUM | …xus-shared/src/scope-resolution/registries/evidence.ts | 115 | // ── Arity ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …xus-shared/src/scope-resolution/registries/evidence.ts | 130 | // ── Dynamic-unresolved (degraded signal) ─────────────────────────────── | COMMENT |
| MEDIUM | …xus-shared/src/scope-resolution/registries/evidence.ts | 153 | // ─── Internal ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …exus-shared/src/scope-resolution/registries/context.ts | 24 | // ─── Provider hooks consumed by the registries ───────────────────────────── | COMMENT |
| 1583 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …exus-shared/src/scope-resolution/finalize-algorithm.ts | 823 | function collectAmbiguousReexports( | CODE |
| LOW | …s-shared/src/scope-resolution/registries/tie-breaks.ts | 46 | export function compareByConfidenceWithTiebreaks( | CODE |
| LOW | …-shared/src/scope-resolution/registries/lookup-core.ts | 433 | function seedFromOwnerScopedContributor( | CODE |
| LOW | gitnexus/test/unit/skip-git-cli.test.ts | 210 | function expectCoolioRegistryEntry() { | CODE |
| LOW | gitnexus/test/unit/shipped-skills-sync.test.ts | 74 | function discoverStandardSkillNames(): string[] { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 87 | async function setupSpringBeanIncrementalRepo() { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 103 | async function setupJavaEnumHeritageIncrementalRepo() { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 121 | async function setupKotlinSpringBeanIncrementalRepo() { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 145 | async function setupSpringAopIncrementalRepo() { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 186 | async function setupSpringBeanFactoryIncrementalRepo() { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 206 | async function setupSpringConfigIncrementalRepo() { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 216 | async function readWildcardServiceAnnotations(repoPath: string): Promise<string[]> { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 234 | async function readSpringConfigPropertyNames(repoPath: string): Promise<string[]> { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 249 | async function countStatusImplementsNamed(repoPath: string): Promise<number> { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 264 | async function deleteStatusImplementsNamed(repoPath: string): Promise<void> { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 297 | async function countSpringAutoConfigurationDeclarations(repoPath: string): Promise<number> { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 313 | async function countSpringBeanFactoryDeclarations(repoPath: string): Promise<number> { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 328 | async function countSpringAutoConfigurationSyntheticClasses(repoPath: string): Promise<number> { | CODE |
| LOW | gitnexus/test/unit/incremental-orchestration.test.ts | 386 | function assertSpringAopSnapshotShape( | CODE |
| LOW | …exus/test/unit/dockerfile-runtime-asset-parity.test.ts | 44 | function runtimeStageCopiedSources(dockerfile: string): string[] { | CODE |
| LOW | …exus/test/unit/dockerfile-runtime-asset-parity.test.ts | 320 | function shippedAssetRequiredAssets(copiedSources: string[]): { asset: string; source: string }[] { | CODE |
| LOW | gitnexus/test/unit/hooks.test.ts | 123 | function resolveHostGuardForReapingTests(): string | null { | CODE |
| LOW | gitnexus/test/unit/hooks.test.ts | 145 | function writeSelfTestingGuardWithMarkers( | CODE |
| LOW | gitnexus/test/unit/eval-server-bind-restriction.test.ts | 11 | function isEvalServerBindRestriction(stderr: string): boolean { | CODE |
| LOW | gitnexus/test/unit/onnxruntime-node-resolver.test.ts | 457 | function loadRedirectActiveResolver(registerHooksSpy: unknown) { | CODE |
| LOW | gitnexus/test/unit/receiver-extraction.test.ts | 52 | function extractExpressRouteReceivers(parser: Parser, code: string) { | CODE |
| LOW | gitnexus/test/unit/cli-index-help.test.ts | 76 | function extractRegisteredHelpDescriptions(): string[] { | CODE |
| LOW | gitnexus/test/unit/tree-sitter-queries.test.ts | 21 | function capturedDefinitionFunctionNames( | CODE |
| LOW⚡ | gitnexus/test/unit/spring-bean-extractor.test.ts | 100 | function captureKotlinClassAnnotations(code: string): KotlinCaptureSideChannel['classAnnotations'] { | CODE |
| LOW⚡ | gitnexus/test/unit/spring-bean-extractor.test.ts | 106 | function captureKotlinSpringDiFacts( | CODE |
| LOW⚡ | gitnexus/test/unit/spring-bean-extractor.test.ts | 114 | function collectKotlinSpringNonHttpHandlerFactsFromSource( | CODE |
| LOW | gitnexus/test/unit/review-agent-workflow.test.ts | 415 | function reviewTranscriptWithoutTools(): Array<Record<string, unknown>> { | CODE |
| LOW | gitnexus/test/unit/group/http-route-extractor.test.ts | 2891 | def unrelated_scope_collision(): | CODE |
| LOW | gitnexus/test/unit/group/http-route-extractor.test.ts | 2895 | def module_scope_shadow_collision(): | CODE |
| LOW | …tnexus/test/unit/group/sync-partial-extraction.test.ts | 193 | function isStagingBufferDeclaration(node: ts.Node): node is ts.VariableDeclaration { | CODE |
| LOW | gitnexus/test/unit/call-routing/ruby.test.ts | 54 | function makeRequireCallNodeNoContent(): MockNode { | CODE |
| LOW | …est/unit/import-resolvers/csharp-csproj-parity.test.ts | 84 | function legacyResolveCSharpImportInternal( | CODE |
| LOW⚡ | …it/scope-resolution/import-target-index-parity.test.ts | 79 | function legacyFindRootPackageFiles(allFilePaths: ReadonlySet<string>): string[] { | CODE |
| LOW | …it/scope-resolution/import-target-index-parity.test.ts | 90 | function legacyFindAllFilesInPkgDir(allFilePaths: ReadonlySet<string>, pkgPath: string): string[] { | CODE |
| LOW | …it/scope-resolution/import-target-index-parity.test.ts | 106 | function legacyResolveGoImportTarget( | CODE |
| LOW | …it/scope-resolution/import-target-index-parity.test.ts | 132 | function legacyResolveDartRelative( | CODE |
| LOW | …it/scope-resolution/import-target-index-parity.test.ts | 153 | function legacyResolveDartImportTarget( | CODE |
| LOW | …it/scope-resolution/import-target-index-parity.test.ts | 185 | function legacyResolveRubyRelative( | CODE |
| LOW | …it/scope-resolution/import-target-index-parity.test.ts | 206 | function legacyResolveRubyImportTarget( | CODE |
| LOW | …it/scope-resolution/import-target-index-parity.test.ts | 261 | function legacyResolveByProgressiveStripping( | CODE |
| LOW | …it/scope-resolution/import-target-index-parity.test.ts | 288 | function legacyResolveCsharpNoCsproj( | CODE |
| LOW | …it/scope-resolution/cobol-import-target-parity.test.ts | 62 | function legacyResolveCobolImportTarget( | CODE |
| LOW | …unit/scope-resolution/php-import-target-parity.test.ts | 85 | function legacyNamespaceDirectories( | CODE |
| LOW | …unit/scope-resolution/php-import-target-parity.test.ts | 169 | function legacyResolvePhpImportTarget( | CODE |
| LOW | …unit/scope-resolution/php-import-target-parity.test.ts | 202 | function legacyResolvePhpImportTargetInternal( | CODE |
| LOW | …/test/unit/scope-resolution/java/java-captures.test.ts | 40 | function recordAccessorDeclarations(src: string) { | CODE |
| LOW | gitnexus/test/integration/extension-binary-real.test.ts | 55 | function resolveInstalledFtsExtension(): string | null { | CODE |
| LOW | gitnexus/test/integration/cli-e2e.test.ts | 185 | function isEvalServerBindRestriction(stderr: string): boolean { | CODE |
| LOW | gitnexus/test/integration/cli-e2e.test.ts | 209 | function runEvalServerHostFlagTest( | CODE |
| LOW | gitnexus/test/integration/spring-aop-benchmark.test.ts | 443 | async function runMixedPipelineBenchmark(serviceCount: number): Promise<PipelineBenchResult> { | CODE |
| LOW | …exus/test/integration/impact-pdg-fullchain-e2e.test.ts | 76 | async function persistFixtureGraphWithCallees(): Promise<{ | CODE |
| LOW | gitnexus/test/integration/spring-di-benchmark.test.ts | 111 | function runKotlinCaptureBenchmark(consumerCount: number, run: number): CaptureBenchResult { | CODE |
| LOW | gitnexus/test/integration/go-pipeline-benchmark.test.ts | 254 | function generateGoQuarantineFixture( | CODE |
| LOW | gitnexus/test/integration/go-pipeline-benchmark.test.ts | 474 | function generateSyntheticInterfaceData(interfaceCount: number, structCount: number): ParsedFile[] { | CODE |
| LOW | …tegration/group/group-service-sync-lazy-import.test.ts | 107 | async function serviceWithUnloadableSync(home: string): Promise<GroupService> { | CODE |
| 1126 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | render.yaml | 1 | # yaml-language-server: $schema=https://render.com/schema/render.yaml.json | COMMENT |
| LOW | gitnexus-shared/src/scope-resolution/reference-site.ts | 41 | // An identifier in object-literal property-value position | COMMENT |
| LOW | …exus-shared/src/scope-resolution/finalize-algorithm.ts | 581 | // // models.ts | COMMENT |
| LOW | …exus-shared/src/scope-resolution/finalize-algorithm.ts | 1001 | // import almost always wants the callable, not a value shadow that | COMMENT |
| LOW | …exus-shared/src/scope-resolution/finalize-algorithm.ts | 1141 | // came from. They are built fresh rather than spread from `edge` because | COMMENT |
| LOW | …-shared/src/scope-resolution/registries/lookup-core.ts | 101 | export function lookupCore( | COMMENT |
| LOW | deploy/kubernetes/cluster-image-policy.yaml | 1 | # Sigstore policy-controller ClusterImagePolicy for GitNexus container images. | COMMENT |
| LOW | deploy/kubernetes/cluster-image-policy.yaml | 21 | # kubectl label namespace <your-ns> policy.sigstore.dev/include=true | COMMENT |
| LOW | deploy/kubernetes/cluster-image-policy.yaml | 41 | # cover every `gitnexus:<tag>`, `gitnexus@sha256:...`, `gitnexus-web:<tag>`, | COMMENT |
| LOW | deploy/kubernetes/cluster-image-policy.yaml | 61 | url: https://fulcio.sigstore.dev | COMMENT |
| LOW | .devcontainer/post-create.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .devcontainer/post-create.sh | 21 | # | COMMENT |
| LOW | .devcontainer/post-create.sh | 61 | [ -f /home/node/.claude-mem/.claude-mem-seeded ] || DIRS+=(/home/node/.claude-mem) | COMMENT |
| LOW | .devcontainer/post-create.sh | 101 | # single config files, and single files can't be bind-mounted on Windows | COMMENT |
| LOW | .devcontainer/post-create.sh | 141 | # Seed $HOME/.claude.json from the host, but NOT as a straight copy. That file | COMMENT |
| LOW | .devcontainer/post-create.sh | 161 | # config is copied correctly. If `cursor-agent` reports auth errors after the | COMMENT |
| LOW | .devcontainer/post-create.sh | 181 | sync_from_host /host/.config/gh/config.yml /home/node/.config/gh/config.yml 644 | COMMENT |
| LOW | .devcontainer/post-create.sh | 241 | node "$SCRIPT_DIR/translate-plugin-registries.cjs" "${TRANSLATE_CLIS[@]}" | COMMENT |
| LOW | .devcontainer/post-create.sh | 261 | COMMENT | |
| LOW | .devcontainer/post-create.sh | 281 | # truncated file and treat the store as "already seeded", sticking the container | COMMENT |
| LOW | .devcontainer/install-deps.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .devcontainer/install-deps.sh | 21 | # | COMMENT |
| LOW | .devcontainer/install-deps.sh | 41 | # On Docker Desktop for Windows, the bind-mount permission translation won't let | COMMENT |
| LOW | .devcontainer/devcontainer.json | 1 | // Devcontainer for GitNexus. It pre-installs Claude Code, the OpenAI Codex | COMMENT |
| LOW | .devcontainer/devcontainer.json | 21 | // To bump: pick a tag from github.com/oven-sh/bun/releases and update | COMMENT |
| LOW | .devcontainer/devcontainer.json | 41 | "ghcr.io/devcontainers/features/github-cli:1": {} | COMMENT |
| LOW | .devcontainer/devcontainer.json | 61 | // skill, agent, command, or plugin onto the host for the next host session | COMMENT |
| LOW | .devcontainer/devcontainer.json | 81 | // docker). gh and docker are read-only so a compromised dependency can't | COMMENT |
| LOW | .devcontainer/devcontainer.json | 101 | // That separation is the point: the `docker volume rm <cli>-config-*` | COMMENT |
| LOW | .devcontainer/devcontainer.json | 121 | // mount precedence is: the more specific path wins. | COMMENT |
| LOW | .devcontainer/devcontainer.json | 141 | // claude-mem ran on the host and in the container against the same DB at | COMMENT |
| LOW | .devcontainer/devcontainer.json | 161 | // KEEP IN SYNC: if you add/rename/remove a session sub-path, update all | COMMENT |
| LOW | .devcontainer/devcontainer.json | 181 | // sidecar, so there is no cross-filesystem single-file hazard. projects/ | COMMENT |
| LOW | .devcontainer/devcontainer.json | 201 | // "source=${localEnv:HOME}/.cursor/chats,target=/home/node/.cursor/chats,type=bind", | COMMENT |
| LOW | .devcontainer/devcontainer.json | 221 | COMMENT | |
| LOW | .devcontainer/devcontainer.json | 241 | // container's Linux paths, also seed-once, alongside the cache/ copy so | COMMENT |
| LOW | .devcontainer/devcontainer.json | 261 | "source=${localEnv:HOME}/.config/git,target=/home/node/.config/git,type=bind,readonly", | COMMENT |
| LOW | .devcontainer/devcontainer.json | 281 | "source=${localWorkspaceFolderBasename}-gitnexus-node-modules-${devcontainerId},target=/workspace/gitnexus/node_modu | COMMENT |
| LOW | .devcontainer/devcontainer.json | 301 | // CLAUDE_CONFIG_DIR is left unset on purpose. The Claude default is | COMMENT |
| LOW | .devcontainer/devcontainer.json | 361 | }, | COMMENT |
| LOW | gitnexus/vitest.config.ts | 41 | }, | COMMENT |
| LOW | gitnexus/vitest.config.ts | 101 | 'test/integration/impact-ambiguous-blast-radius.test.ts', | COMMENT |
| LOW | gitnexus/test/unit/process-processor.test.ts | 621 | const early = traceFromEntryPoint('entry', deepAndShallow(['d1', 's1', 's2', 's3']), cfg); | COMMENT |
| LOW | gitnexus/test/unit/process-processor.test.ts | 821 | addCall(graph, 'func:ownEntry', 'func:ownMid'); | COMMENT |
| LOW | gitnexus/test/unit/process-processor.test.ts | 1281 | ['r', 'a', 'b c'], | COMMENT |
| LOW | …test/unit/incremental-index-extension-dml-gate.test.ts | 541 | ), | COMMENT |
| LOW | gitnexus/test/unit/ignore-service.test.ts | 281 | // A `!__tests__/` line in `.gitnexusignore` must re-enable indexing of | COMMENT |
| LOW | gitnexus/test/unit/ignore-service.test.ts | 781 | // repeating it per repo. Rather than inventing a new file location, | COMMENT |
| LOW | gitnexus/test/unit/call-attribution-issue-1166.test.ts | 541 | // result value, not a callable. The array-method blocklist now suppresses | COMMENT |
| LOW | gitnexus/test/unit/hook-db-lock-probe.test.ts | 261 | { GITNEXUS_HOOK_LINUX_PROC_BUDGET_MS: '5000' }, | COMMENT |
| LOW | gitnexus/test/unit/hook-db-lock-probe.test.ts | 341 | // ── D3b: cmdline escalation respects the scan budget (F3) ───────── | COMMENT |
| LOW | gitnexus/test/unit/hook-db-lock-probe.test.ts | 401 | // Production hooks run as `node <probe>.cjs` with neither VITEST nor | COMMENT |
| LOW | gitnexus/test/unit/hook-db-lock-probe.test.ts | 461 | }); | COMMENT |
| LOW | gitnexus/test/unit/ai-context.test.ts | 301 | expect(content).not.toContain('## When Refactoring'); | COMMENT |
| LOW | gitnexus/test/unit/route-process-linking.test.ts | 181 | ); | COMMENT |
| LOW | …nexus/test/unit/index-freshness-graph-collapse.test.ts | 41 | COMMENT | |
| LOW | …nexus/test/unit/index-freshness-graph-collapse.test.ts | 61 | // structural edges while 4,000 PDG rows persisted was indistinguishable from | COMMENT |
| LOW | …nexus/test/unit/index-freshness-graph-collapse.test.ts | 101 | it('is fail-safe when the expected count is unavailable', () => { | COMMENT |
| LOW | gitnexus/test/unit/binding-accumulator.test.ts | 201 | }); | COMMENT |
| LOW | gitnexus/test/unit/schema-pair-coverage.test.ts | 121 | // inert duplicate — it SUPPRESSES generation. Narrowing a rule later would | COMMENT |
| 819 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | gitnexus/test/unit/spring-config-bindings.test.ts | 237 | @org.springframework.boot.context.properties.ConfigurationProperties("service") | CODE |
| CRITICAL | gitnexus/test/unit/install-duckdb-extension.test.ts | 72 | expect(factory.conn.query.mock.calls.some(([sql]) => String(sql).includes('INSTALL'))).toBe( | CODE |
| CRITICAL | gitnexus/test/unit/spring-interface-inheritance.test.ts | 265 | @org.springframework.web.bind.annotation.RequestMapping("/api") | CODE |
| CRITICAL | gitnexus/test/unit/spring-interface-inheritance.test.ts | 267 | @org.springframework.web.bind.annotation.GetMapping("/list") Object list(); | CODE |
| CRITICAL | gitnexus/test/unit/java-route-const-resolver.test.ts | 314 | @org.springframework.web.bind.annotation.PostMapping(ApiPathConstants.DIAGNOSIS_SAVE_V1) | CODE |
| CRITICAL | gitnexus/test/unit/java-route-const-resolver.test.ts | 331 | @org.springframework.web.bind.annotation.PostMapping("/literal/path") | CODE |
| CRITICAL | gitnexus/test/unit/group/http-route-extractor.test.ts | 2442 | @org.springframework.web.bind.annotation.RequestMapping("/api") | CODE |
| CRITICAL | gitnexus/test/unit/group/http-route-extractor.test.ts | 2444 | @org.springframework.web.bind.annotation.GetMapping("/users") | CODE |
| CRITICAL | gitnexus/test/unit/group/http-route-extractor.test.ts | 2471 | @org.springframework.web.bind.annotation.GetMapping("/orders/{id}") | CODE |
| CRITICAL | gitnexus/test/unit/group/spring-route-parity.test.ts | 159 | @org.springframework.web.bind.annotation.RequestMapping( | CODE |
| CRITICAL | gitnexus/test/unit/group/grpc-extractor.test.ts | 563 | // `com.acme.auth.proto.AuthServiceGrpc.newBlockingStub(...)`, | COMMENT |
| CRITICAL | gitnexus/test/unit/group/grpc-extractor.test.ts | 579 | this.stub = com.acme.auth.proto.AuthServiceGrpc.newBlockingStub(ch); | CODE |
| CRITICAL | gitnexus/test/unit/group/grpc-extractor.test.ts | 588 | // fully-qualified `com.acme.auth.proto.AuthServiceGrpc.newStub(...)` | COMMENT |
| CRITICAL | gitnexus/test/unit/group/grpc-extractor.test.ts | 655 | this.stub = com.acme.auth.proto.AuthServiceGrpc.newBlockingStub(ch); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | eval/run_eval.py | 179 | patch_output = env.execute({"command": "cd /testbed && git diff"}) | CODE |
| HIGH | eval/tool_registry.py | 30 | fallback='cd /testbed && npx gitnexus query "$query" 2>&1', | CODE |
| HIGH⚡ | eval/tool_registry.py | 41 | fallback='cd /testbed && npx gitnexus context "$name" 2>&1', | CODE |
| HIGH⚡ | eval/tool_registry.py | 50 | fallback='cd /testbed && npx gitnexus impact "$target" --direction "$direction" 2>&1', | CODE |
| HIGH⚡ | eval/tool_registry.py | 59 | fallback='cd /testbed && npx gitnexus cypher "$query" 2>&1', | CODE |
| HIGH⚡ | eval/tool_registry.py | 67 | fallback='cd /testbed && npx gitnexus list 2>&1', | CODE |
| HIGH⚡ | eval/tool_registry.py | 74 | fallback='cd /testbed && npx gitnexus augment "$1" 2>&1 || true', | CODE |
| HIGH⚡ | eval/tool_registry.py | 74 | fallback='cd /testbed && npx gitnexus augment "$1" 2>&1 || true', | CODE |
| HIGH | eval/workflow_bench/evolve.py | 1036 | "`cd gitnexus && npx vitest run test/unit/shipped-skills-sync.test.ts " | CODE |
| HIGH | eval/environments/gitnexus_docker.py | 114 | check = self.execute({"command": "node --version 2>/dev/null || echo 'NOT_FOUND'"}) | CODE |
| HIGH | eval/environments/gitnexus_docker.py | 134 | check = self.execute({"command": "npx gitnexus --version 2>/dev/null || echo 'NOT_FOUND'"}) | CODE |
| HIGH | eval/environments/gitnexus_docker.py | 158 | "command": f"cd /testbed && npx gitnexus analyze . {skip_flag} 2>&1", | CODE |
| HIGH | eval/environments/gitnexus_docker.py | 193 | "command": f"curl -sf http://{health_host}:{self.eval_server_port}/health 2>/dev/null || echo 'NOT_READY | CODE |
| HIGH | eval/environments/gitnexus_docker.py | 236 | '-H "Content-Type: application/json" -d "$payload" 2>/dev/null)' | CODE |
| HIGH⚡ | eval/environments/gitnexus_docker.py | 278 | "command": "cd /testbed && basename $(git remote get-url origin 2>/dev/null || basename $(pwd)) .git" | CODE |
| HIGH⚡ | eval/environments/gitnexus_docker.py | 278 | "command": "cd /testbed && basename $(git remote get-url origin 2>/dev/null || basename $(pwd)) .git" | CODE |
| HIGH⚡ | eval/environments/gitnexus_docker.py | 280 | commit_result = self.execute({"command": "cd /testbed && git rev-parse HEAD 2>/dev/null || echo unknown"}) | CODE |
| HIGH⚡ | eval/environments/gitnexus_docker.py | 280 | commit_result = self.execute({"command": "cd /testbed && git rev-parse HEAD 2>/dev/null || echo unknown"}) | CODE |
| HIGH | eval/environments/gitnexus_docker.py | 348 | "command": "npx gitnexus list 2>/dev/null | grep -o '/root/.gitnexus/[^ ]*' | head -1 || echo '/root | CODE |
| HIGH | eval/environments/gitnexus_docker.py | 378 | "command": f"curl -sf -X POST http://127.0.0.1:{self.eval_server_port}/shutdown 2>/dev/null || true" | CODE |
| HIGH | eval/tests/test_proposer_sandbox.py | 513 | result = sandbox.run(["/bin/sh", "-c", "command -v npx && npx --version"], timeout=60) | CODE |
| HIGH | eval/agents/gitnexus_agent.py | 113 | "command": f'gitnexus-augment "{pattern}" 2>&1 || true', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | gitnexus/test/unit/method-extraction.test.ts | 1694 | print(format: string): void; | CODE |
| HIGH | gitnexus/test/unit/method-extraction.test.ts | 3730 | print(msg); | CODE |
| HIGH | gitnexus/test/unit/method-extraction.test.ts | 3799 | print(msg); | CODE |
| HIGH | gitnexus/test/unit/method-extraction.test.ts | 3826 | print(this); | CODE |
| HIGH | gitnexus/test/unit/ingestion-utils.test.ts | 661 | const code = `def process_data(items: list[int]) -> bool:\n return True`; | CODE |
| HIGH | gitnexus/test/unit/type-env.test.ts | 963 | return True | CODE |
| HIGH | gitnexus/test/unit/type-env.test.ts | 968 | return True | CODE |
| HIGH | …xus/test/unit/scope-resolution/workspace-index.test.ts | 96 | return True | CODE |
| HIGH | …xus/test/unit/scope-resolution/workspace-index.test.ts | 138 | return True | CODE |
| HIGH | …xus/test/unit/scope-resolution/workspace-index.test.ts | 158 | return True | CODE |
| HIGH | …xus/test/unit/scope-resolution/workspace-index.test.ts | 184 | return True | CODE |
| HIGH | …xus/test/unit/scope-resolution/workspace-index.test.ts | 208 | return True | CODE |
| HIGH | …nit/scope-resolution/python/cached-tree-parity.test.ts | 32 | print(item.upper()) | CODE |
| HIGH | gitnexus/test/integration/skills-e2e.test.ts | 515 | return True | CODE |
| HIGH⚡ | gitnexus/test/integration/skills-e2e.test.ts | 579 | print(f"[INFO] {msg}") | CODE |
| HIGH⚡ | gitnexus/test/integration/skills-e2e.test.ts | 582 | print(f"[ERROR] {msg}") | CODE |
| HIGH⚡ | gitnexus/test/integration/skills-e2e.test.ts | 591 | return True | CODE |
| HIGH | gitnexus/test/integration/skills-e2e.test.ts | 2247 | return True | CODE |
| HIGH | gitnexus/test/integration/has-method.test.ts | 623 | print(format: string): void; | CODE |
| HIGH | gitnexus/test/integration/resolvers/python.test.ts | 686 | 'app/services/marker.py': `def _marker(): return True | CODE |
| HIGH | gitnexus/test/integration/resolvers/python.test.ts | 747 | 'app/services/marker.py': `def _marker(): return True | CODE |
| HIGH | gitnexus/test/integration/resolvers/python.test.ts | 821 | 'app/services/marker.py': `def _marker(): return True | CODE |
| HIGH | gitnexus/test/integration/resolvers/python.test.ts | 841 | 'app/services/marker.py': `def _marker(): return True | CODE |
| HIGH | gitnexus/test/integration/resolvers/python.test.ts | 3015 | return True | CODE |
| HIGH | gitnexus/scripts/bench-scope-resolution.ts | 28 | lines.push(` return True`); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | gitnexus/bench/import-target/baselines.json | 5 | "_fingerprint_note": "Per-language sha256 over every distinct fromFile|target -> resolved target. A change here is a B | CODE |
| MEDIUM | gitnexus/bench/import-target/baselines.json | 1019 | "_blind_spot": "MEASURED, so nobody has to rediscover it: a full workspace scan reintroduced on 1-in-32 imports passes | CODE |
| MEDIUM | gitnexus/test/unit/git-utils.test.ts | 362 | // the test is robust to platform path-format quirks (Windows 8.3 short | COMMENT |
| MEDIUM | gitnexus/test/unit/cli-commands.test.ts | 118 | // explicit and robust to a future tree-sitter change. | COMMENT |
| MEDIUM | gitnexus/test/unit/parser-loader-skip-optional.test.ts | 59 | // install-state-robust — C's native binding is intentionally fallible, so | COMMENT |
| MEDIUM | gitnexus/test/unit/parser-loader-skip-optional.test.ts | 70 | // Baseline (no skip) so the isolation check is install-state-robust. | COMMENT |
| MEDIUM | …tnexus/test/unit/group/php-guzzle-request-ctor.test.ts | 46 | // this sidesteps that entirely and is robust regardless of how the file | COMMENT |
| MEDIUM | gitnexus/test/unit/group/grpc-extractor.test.ts | 631 | // is robust against client-jar consumers and same-short-name | COMMENT |
| MEDIUM | …tnexus/test/unit/cfg/reaching-defs-equivalence.test.ts | 2 | * #2201 — differential equivalence harness for the reaching-defs solvers. | COMMENT |
| MEDIUM | gitnexus/test/integration/cli-e2e.test.ts | 1614 | // Derive the real uid + filePath from context so the test is robust to the | COMMENT |
| MEDIUM | gitnexus/test/integration/mcp/server-startup.test.ts | 274 | // path containing braces can never truncate the parse (more robust than | COMMENT |
| MEDIUM | gitnexus/src/core/ingestion/cfg/visitors/c-cpp.ts | 722 | // (A bare `try {}` with no catch is ill-formed C++, but stay robust.) | COMMENT |
| MEDIUM | gitnexus/src/core/ingestion/cfg/visitors/swift.ts | 535 | // flow conservatively (Swift forbids fall-through, but stay robust). | COMMENT |
| MEDIUM | gitnexus/src/core/lbug/lbug-config.ts | 584 | // Matching is case-insensitive to remain robust across wrappers/platforms. | COMMENT |
| MEDIUM | gitnexus/src/core/lbug/lbug-adapter.ts | 2002 | // starts), but the lock makes it robust to future reordering — a concurrent | COMMENT |
| MEDIUM | gitnexus/src/mcp/local/local-backend.ts | 2336 | // async `checkStalenessAsync`, robust defense-in-depth otherwise. | COMMENT |
| MEDIUM | .github/workflows/impact-pdg-mutation-report.yml | 12 | # The harness shells out to `gitnexus analyze --pdg`, which spawns workers from | COMMENT |
| MEDIUM | .github/workflows/impact-pdg-mutation-report.yml | 46 | # analyze workers the mutation harness spawns. | COMMENT |
| MEDIUM | .github/workflows/gitnexus-skill-evolution.yml | 54 | # Weekly is a deliberate cadence to catch model/harness drift promptly; a | COMMENT |
| MEDIUM | .github/workflows/docker.yml | 245 | # Use `while read` instead of `for $TAGS` to be robust against tags that | COMMENT |
| MEDIUM⚡ | .github/scripts/triage/test_embedding_utils.py | 196 | # 500 samples, 10 dims — well-conditioned for robust covariance | COMMENT |
| MEDIUM | .github/scripts/triage/sweep.py | 40 | # Governs how aggressively the robust covariance downweights extreme points. | COMMENT |
| MEDIUM | gitnexus-web/package-lock.json | 7654 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", | CODE |
| MEDIUM | eval/workflow_bench/runner.py | 621 | # Rows where the session (or the harness) died carry no measured evidence and | COMMENT |
| MEDIUM | eval/workflow_bench/tasks.scenarios.yaml | 14 | # oracle: harness-owned hidden files + command; oracle success is also | COMMENT |
| MEDIUM | eval/workflow_bench/runtime_mounts.py | 32 | # The mounted runtime is built from this checkout, so the pin tracks the harness' | COMMENT |
| MEDIUM | eval/workflow_bench/runner_artifacts.py | 32 | # pre-existing .git exclusion below, which is the same kind of harness/tool | COMMENT |
| MEDIUM | eval/workflow_bench/task_assets.py | 44 | # The largest known real sandbox_copy asset in this harness is the shipped | COMMENT |
| MEDIUM⚡ | eval/tests/test_workflow_bench.py | 360 | # expected "bad candidate" outcome and must not read as a broken harness. | COMMENT |
| MEDIUM | eval/tests/test_workflow_bench_sessions.py | 336 | # --allowedTools (a Claude Code design choice, not something the harness | COMMENT |
| MEDIUM | eval/tests/test_task_assets.py | 123 | # harness's own pre-built graph index, not just tiny fixtures. | COMMENT |
| MEDIUM | eval/tests/test_oracle_assets.py | 418 | # through this harness dependency link while candidate-relative imports | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | gitnexus/test/unit/incremental-orchestration.test.ts | 878 | // Step 1: initial index. | COMMENT |
| LOW⚡ | gitnexus/test/unit/incremental-orchestration.test.ts | 881 | // Step 2: comment-only edit, same as the test above. | COMMENT |
| LOW⚡ | gitnexus/test/unit/incremental-orchestration.test.ts | 886 | // Step 3: incremental writeback for the edited file. | COMMENT |
| LOW⚡ | gitnexus/test/unit/incremental-orchestration.test.ts | 897 | // Step 4: force a full rebuild from the SAME on-disk file state. | COMMENT |
| LOW⚡ | gitnexus/test/unit/incremental-orchestration.test.ts | 907 | // Step 5: exact-equality across every stat. `toEqual` would also | COMMENT |
| LOW | gitnexus/test/integration/cli-e2e.test.ts | 509 | // Step 1: analyze repoA with --name shared → registry entry created. | COMMENT |
| LOW | gitnexus/test/integration/cli-e2e.test.ts | 531 | // Step 2: analyze repoB with the SAME --name → collision error. | COMMENT |
| LOW | gitnexus/test/integration/cli-e2e.test.ts | 551 | // Step 3: REGRESSION GUARD for the missing collision-bypass wire | COMMENT |
| LOW | gitnexus/test/integration/cli-e2e.test.ts | 583 | // Step 4: REGRESSION GUARD for the design decision in review | COMMENT |
| LOW⚡ | gitnexus/src/core/augmentation/engine.ts | 114 | // Step 1: BM25 search (fast, no embeddings) | COMMENT |
| LOW⚡ | gitnexus/src/core/augmentation/engine.ts | 117 | // Step 2: Map BM25 file results to symbols | COMMENT |
| LOW | gitnexus/src/core/augmentation/engine.ts | 179 | // Step 3: Batch-fetch callers/callees/processes/cohesion for top matches | COMMENT |
| LOW | gitnexus/src/core/augmentation/engine.ts | 326 | // Step 4: Rank by cohesion (internal signal) and format | COMMENT |
| LOW⚡ | gitnexus/src/core/ingestion/community-processor.ts | 247 | // Step 3: Create community nodes with heuristic labels | COMMENT |
| LOW⚡ | gitnexus/src/core/ingestion/community-processor.ts | 257 | // Step 4: Create membership mappings | COMMENT |
| LOW⚡ | gitnexus/src/core/ingestion/process-processor.ts | 171 | // Step 1: Find entry points (functions that call others but have few callers) | COMMENT |
| LOW⚡ | gitnexus/src/core/ingestion/process-processor.ts | 178 | // Step 2: Trace processes from each entry point | COMMENT |
| LOW | gitnexus/src/core/ingestion/process-processor.ts | 208 | // Step 3: Deduplicate similar traces (subset removal) | COMMENT |
| LOW | gitnexus/src/core/ingestion/process-processor.ts | 219 | // Step 4: Limit to max processes — deepest first, but ROUND-ROBIN across | COMMENT |
| LOW | gitnexus/src/core/ingestion/process-processor.ts | 333 | // Step 5: Create process nodes | COMMENT |
| LOW | …re/ingestion/route-extractors/kotlin-const-resolver.ts | 613 | // Step 2: the file-name convention, as a tie-break among valid candidates. | COMMENT |
| LOW⚡ | …xus/src/core/ingestion/languages/php/scope-resolver.ts | 134 | // Step 1: run generic MRO (Class-only, EXTENDS-only). | COMMENT |
| LOW⚡ | …xus/src/core/ingestion/languages/php/scope-resolver.ts | 137 | // Step 2: build a graphId → defId map for ALL class-like defs including Traits. | COMMENT |
| LOW | …xus/src/core/ingestion/languages/php/scope-resolver.ts | 156 | // Step 3: collect direct trait-use edges (IMPLEMENTS where target is a Trait). | COMMENT |
| LOW | …xus/src/core/ingestion/languages/php/scope-resolver.ts | 174 | // Step 4: augment every class's MRO by prepending the traits used by | COMMENT |
| LOW | …xus/src/core/ingestion/languages/php/scope-resolver.ts | 203 | // Step 5: also insert Trait-only entries for classes that use traits | COMMENT |
| LOW⚡ | …src/core/ingestion/languages/php/namespace-siblings.ts | 212 | // Step 1: extract namespace structure for each file. Also seed the | COMMENT |
| LOW | …src/core/ingestion/languages/php/namespace-siblings.ts | 225 | // Step 2: group class-like defs and module scopes by namespace. | COMMENT |
| LOW | …src/core/ingestion/languages/php/namespace-siblings.ts | 280 | // Step 3: For each namespace bucket, inject sibling class bindings | COMMENT |
| LOW | …src/core/ingestion/languages/php/namespace-siblings.ts | 339 | // Step 4: Mirror return-type bindings from same-namespace sibling files. | COMMENT |
| LOW | …nexus/src/core/ingestion/languages/cpp/simple-hooks.ts | 63 | // The orchestrator provides the function scope; we need to check if | COMMENT |
| LOW⚡ | …us/src/core/ingestion/languages/ruby/scope-resolver.ts | 164 | // Step 1: EXTENDS chain via the generic MRO builder (direct class inheritance). | COMMENT |
| LOW⚡ | …us/src/core/ingestion/languages/ruby/scope-resolver.ts | 167 | // Step 2: Build defId ↔ graphId bridge for class-like defs. | COMMENT |
| LOW⚡ | …us/src/core/ingestion/languages/ruby/scope-resolver.ts | 177 | // Step 3: Collect IMPLEMENTS edges, partitioned by reason. | COMMENT |
| LOW | …us/src/core/ingestion/languages/ruby/scope-resolver.ts | 204 | // Step 4: Reorder MRO per Ruby semantics. | COMMENT |
| LOW | …exus/src/core/ingestion/scope-resolution/passes/mro.ts | 45 | // Step 1: parentsByGraphId — typed iterator skips the per-edge type | COMMENT |
| LOW | …exus/src/core/ingestion/scope-resolution/passes/mro.ts | 58 | // Step 2: defIdByGraphId — translate graph ids to scope-resolution DefIds. | COMMENT |
| LOW | …exus/src/core/ingestion/scope-resolution/passes/mro.ts | 82 | // Step 3: linearize per class. | COMMENT |
| LOW | …ngestion/scope-resolution/passes/overload-narrowing.ts | 282 | // Step 1: compute per-slot ranks and exclude non-viable candidates. | COMMENT |
| LOW | …ngestion/scope-resolution/passes/overload-narrowing.ts | 316 | // Step 2: pairwise dominance — remove candidates dominated by any other. | COMMENT |
| LOW | gitnexus/src/core/group/extractors/grpc-extractor.ts | 559 | // Step 1: java_package translation. The import-derived package | COMMENT |
| LOW | gitnexus/src/core/group/extractors/grpc-extractor.ts | 580 | // Step 2: proto map cross-check. When this repo also carries a | COMMENT |
| LOW | gitnexus/src/core/group/extractors/grpc-extractor.ts | 631 | // Step 3: import-derived fallback. No `.proto` in this repo | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 2582 | // Step 1: Run hybrid search to get matching symbols. BM25 and vector | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 2652 | // Step 2: For each match with a nodeId, trace to process(es) | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 2849 | // Step 3: Rank processes by aggregate score + internal cohesion boost | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 2860 | // Step 4: Build response | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 4089 | // Step 3: Build full context | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 5607 | // Step 1: Find the target symbol (reuse context's lookup) | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 5738 | // Step 4: Apply or preview. | COMMENT |
| LOW | gitnexus/src/cli/skill-gen.ts | 124 | // Step 1: Build communities from memberships (not the filtered communities array). | COMMENT |
| LOW | gitnexus/src/cli/skill-gen.ts | 135 | // Step 2: Filter to significant communities | COMMENT |
| LOW⚡ | gitnexus/src/cli/skill-gen.ts | 147 | // Step 3: Build lookup maps | COMMENT |
| LOW⚡ | gitnexus/src/cli/skill-gen.ts | 154 | // Step 4: Ensure the shared project-skill root exists. Never clear it: it | COMMENT |
| LOW | gitnexus/src/cli/skill-gen.ts | 172 | // Step 5: Generate skill files | COMMENT |
| LOW | gitnexus-web/src/core/llm/tools.ts | 77 | // Step 1: Enriched search via backend (connections, cluster, processes pre-joined) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | gitnexus/test/unit/incremental-orchestration.test.ts | 878 | // Step 1: initial index. | COMMENT |
| LOW⚡ | gitnexus/test/unit/incremental-orchestration.test.ts | 881 | // Step 2: comment-only edit, same as the test above. | COMMENT |
| LOW⚡ | gitnexus/test/unit/incremental-orchestration.test.ts | 886 | // Step 3: incremental writeback for the edited file. | COMMENT |
| LOW⚡ | gitnexus/test/unit/incremental-orchestration.test.ts | 897 | // Step 4: force a full rebuild from the SAME on-disk file state. | COMMENT |
| LOW⚡ | gitnexus/test/unit/incremental-orchestration.test.ts | 907 | // Step 5: exact-equality across every stat. `toEqual` would also | COMMENT |
| LOW | gitnexus/test/integration/cli-e2e.test.ts | 509 | // Step 1: analyze repoA with --name shared → registry entry created. | COMMENT |
| LOW | gitnexus/test/integration/cli-e2e.test.ts | 531 | // Step 2: analyze repoB with the SAME --name → collision error. | COMMENT |
| LOW | gitnexus/test/integration/cli-e2e.test.ts | 551 | // Step 3: REGRESSION GUARD for the missing collision-bypass wire | COMMENT |
| LOW | gitnexus/test/integration/cli-e2e.test.ts | 583 | // Step 4: REGRESSION GUARD for the design decision in review | COMMENT |
| LOW⚡ | gitnexus/src/core/augmentation/engine.ts | 114 | // Step 1: BM25 search (fast, no embeddings) | COMMENT |
| LOW⚡ | gitnexus/src/core/augmentation/engine.ts | 117 | // Step 2: Map BM25 file results to symbols | COMMENT |
| LOW | gitnexus/src/core/augmentation/engine.ts | 179 | // Step 3: Batch-fetch callers/callees/processes/cohesion for top matches | COMMENT |
| LOW | gitnexus/src/core/augmentation/engine.ts | 326 | // Step 4: Rank by cohesion (internal signal) and format | COMMENT |
| LOW⚡ | gitnexus/src/core/ingestion/community-processor.ts | 247 | // Step 3: Create community nodes with heuristic labels | COMMENT |
| LOW⚡ | gitnexus/src/core/ingestion/community-processor.ts | 257 | // Step 4: Create membership mappings | COMMENT |
| LOW⚡ | gitnexus/src/core/ingestion/process-processor.ts | 171 | // Step 1: Find entry points (functions that call others but have few callers) | COMMENT |
| LOW⚡ | gitnexus/src/core/ingestion/process-processor.ts | 178 | // Step 2: Trace processes from each entry point | COMMENT |
| LOW | gitnexus/src/core/ingestion/process-processor.ts | 208 | // Step 3: Deduplicate similar traces (subset removal) | COMMENT |
| LOW | gitnexus/src/core/ingestion/process-processor.ts | 219 | // Step 4: Limit to max processes — deepest first, but ROUND-ROBIN across | COMMENT |
| LOW | gitnexus/src/core/ingestion/process-processor.ts | 333 | // Step 5: Create process nodes | COMMENT |
| LOW | …re/ingestion/route-extractors/kotlin-const-resolver.ts | 613 | // Step 2: the file-name convention, as a tie-break among valid candidates. | COMMENT |
| LOW⚡ | …xus/src/core/ingestion/languages/php/scope-resolver.ts | 134 | // Step 1: run generic MRO (Class-only, EXTENDS-only). | COMMENT |
| LOW⚡ | …xus/src/core/ingestion/languages/php/scope-resolver.ts | 137 | // Step 2: build a graphId → defId map for ALL class-like defs including Traits. | COMMENT |
| LOW | …xus/src/core/ingestion/languages/php/scope-resolver.ts | 156 | // Step 3: collect direct trait-use edges (IMPLEMENTS where target is a Trait). | COMMENT |
| LOW | …xus/src/core/ingestion/languages/php/scope-resolver.ts | 174 | // Step 4: augment every class's MRO by prepending the traits used by | COMMENT |
| LOW | …xus/src/core/ingestion/languages/php/scope-resolver.ts | 203 | // Step 5: also insert Trait-only entries for classes that use traits | COMMENT |
| LOW⚡ | …src/core/ingestion/languages/php/namespace-siblings.ts | 212 | // Step 1: extract namespace structure for each file. Also seed the | COMMENT |
| LOW | …src/core/ingestion/languages/php/namespace-siblings.ts | 225 | // Step 2: group class-like defs and module scopes by namespace. | COMMENT |
| LOW | …src/core/ingestion/languages/php/namespace-siblings.ts | 280 | // Step 3: For each namespace bucket, inject sibling class bindings | COMMENT |
| LOW | …src/core/ingestion/languages/php/namespace-siblings.ts | 339 | // Step 4: Mirror return-type bindings from same-namespace sibling files. | COMMENT |
| LOW⚡ | …us/src/core/ingestion/languages/ruby/scope-resolver.ts | 164 | // Step 1: EXTENDS chain via the generic MRO builder (direct class inheritance). | COMMENT |
| LOW⚡ | …us/src/core/ingestion/languages/ruby/scope-resolver.ts | 167 | // Step 2: Build defId ↔ graphId bridge for class-like defs. | COMMENT |
| LOW⚡ | …us/src/core/ingestion/languages/ruby/scope-resolver.ts | 177 | // Step 3: Collect IMPLEMENTS edges, partitioned by reason. | COMMENT |
| LOW | …us/src/core/ingestion/languages/ruby/scope-resolver.ts | 204 | // Step 4: Reorder MRO per Ruby semantics. | COMMENT |
| LOW | …exus/src/core/ingestion/scope-resolution/passes/mro.ts | 45 | // Step 1: parentsByGraphId — typed iterator skips the per-edge type | COMMENT |
| LOW | …exus/src/core/ingestion/scope-resolution/passes/mro.ts | 58 | // Step 2: defIdByGraphId — translate graph ids to scope-resolution DefIds. | COMMENT |
| LOW | …exus/src/core/ingestion/scope-resolution/passes/mro.ts | 82 | // Step 3: linearize per class. | COMMENT |
| LOW | …ngestion/scope-resolution/passes/overload-narrowing.ts | 282 | // Step 1: compute per-slot ranks and exclude non-viable candidates. | COMMENT |
| LOW | …ngestion/scope-resolution/passes/overload-narrowing.ts | 316 | // Step 2: pairwise dominance — remove candidates dominated by any other. | COMMENT |
| LOW | gitnexus/src/core/group/extractors/grpc-extractor.ts | 559 | // Step 1: java_package translation. The import-derived package | COMMENT |
| LOW | gitnexus/src/core/group/extractors/grpc-extractor.ts | 580 | // Step 2: proto map cross-check. When this repo also carries a | COMMENT |
| LOW | gitnexus/src/core/group/extractors/grpc-extractor.ts | 631 | // Step 3: import-derived fallback. No `.proto` in this repo | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 2582 | // Step 1: Run hybrid search to get matching symbols. BM25 and vector | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 2652 | // Step 2: For each match with a nodeId, trace to process(es) | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 2849 | // Step 3: Rank processes by aggregate score + internal cohesion boost | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 2860 | // Step 4: Build response | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 4089 | // Step 3: Build full context | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 5607 | // Step 1: Find the target symbol (reuse context's lookup) | COMMENT |
| LOW | gitnexus/src/mcp/local/local-backend.ts | 5738 | // Step 4: Apply or preview. | COMMENT |
| LOW | gitnexus/src/cli/skill-gen.ts | 124 | // Step 1: Build communities from memberships (not the filtered communities array). | COMMENT |
| LOW | gitnexus/src/cli/skill-gen.ts | 135 | // Step 2: Filter to significant communities | COMMENT |
| LOW⚡ | gitnexus/src/cli/skill-gen.ts | 147 | // Step 3: Build lookup maps | COMMENT |
| LOW⚡ | gitnexus/src/cli/skill-gen.ts | 154 | // Step 4: Ensure the shared project-skill root exists. Never clear it: it | COMMENT |
| LOW | gitnexus/src/cli/skill-gen.ts | 172 | // Step 5: Generate skill files | COMMENT |
| LOW | gitnexus-web/src/core/llm/tools.ts | 77 | // Step 1: Enriched search via backend (connections, cluster, processes pre-joined) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/scripts/check-tree-sitter-upgrade-readiness.py | 14 | CODE | |
| LOW | …ub/scripts/test_check_tree_sitter_upgrade_readiness.py | 17 | CODE | |
| LOW | .github/scripts/check-workflow-concurrency.py | 28 | CODE | |
| LOW | .github/scripts/triage/test_sweep.py | 2 | CODE | |
| LOW | .github/scripts/triage/test_sweep.py | 21 | CODE | |
| LOW | .github/scripts/triage/test_sweep.py | 21 | CODE | |
| LOW | .github/scripts/triage/test_sweep.py | 458 | CODE | |
| LOW | .github/scripts/triage/test_sweep.py | 460 | CODE | |
| LOW | .github/scripts/triage/embedding_utils.py | 6 | CODE | |
| LOW | .github/scripts/triage/test_embedding_utils.py | 2 | CODE | |
| LOW | .github/scripts/triage/test_embedding_utils.py | 7 | CODE | |
| LOW | .github/scripts/triage/test_embedding_utils.py | 13 | CODE | |
| LOW | .github/scripts/triage/test_embedding_utils.py | 13 | CODE | |
| LOW | .github/scripts/triage/test_embedding_utils.py | 13 | CODE | |
| LOW | .github/scripts/triage/test_embedding_utils.py | 13 | CODE | |
| LOW | .github/scripts/triage/test_embedding_utils.py | 13 | CODE | |
| LOW | .github/scripts/triage/sweep.py | 7 | CODE | |
| LOW | .github/scripts/triage/sweep.py | 17 | CODE | |
| LOW | .github/scripts/triage/sweep.py | 17 | CODE | |
| LOW | .github/scripts/triage/sweep.py | 17 | CODE | |
| LOW | .github/scripts/triage/sweep.py | 17 | CODE | |
| LOW | .github/scripts/triage/sweep.py | 17 | CODE | |
| LOW | eval/run_eval.py | 30 | CODE | |
| LOW | eval/run_eval.py | 35 | CODE | |
| LOW | eval/tool_registry.py | 1 | CODE | |
| LOW | eval/analysis/analyze_results.py | 20 | CODE | |
| LOW | eval/workflow_bench/proposer_sandbox.py | 3 | CODE | |
| LOW | eval/workflow_bench/process_control.py | 9 | CODE | |
| LOW | eval/workflow_bench/evolve.py | 30 | CODE | |
| LOW | eval/workflow_bench/evolve.py | 60 | CODE | |
| LOW | eval/workflow_bench/runner.py | 35 | CODE | |
| LOW | eval/workflow_bench/runner.py | 77 | CODE | |
| LOW | eval/workflow_bench/runner.py | 77 | CODE | |
| LOW | eval/workflow_bench/runner.py | 77 | CODE | |
| LOW | eval/workflow_bench/runner.py | 92 | CODE | |
| LOW | eval/workflow_bench/runner.py | 92 | CODE | |
| LOW | eval/workflow_bench/runner.py | 92 | CODE | |
| LOW | eval/workflow_bench/runner.py | 92 | CODE | |
| LOW | eval/workflow_bench/runner.py | 92 | CODE | |
| LOW | eval/workflow_bench/runner.py | 116 | CODE | |
| LOW | eval/workflow_bench/runner.py | 116 | CODE | |
| LOW | eval/workflow_bench/runner.py | 116 | CODE | |
| LOW | eval/workflow_bench/runner.py | 116 | CODE | |
| LOW | eval/workflow_bench/runner.py | 116 | CODE | |
| LOW | eval/workflow_bench/runner.py | 128 | CODE | |
| LOW | eval/workflow_bench/runner.py | 139 | CODE | |
| LOW | eval/workflow_bench/runner.py | 139 | CODE | |
| LOW | eval/workflow_bench/runtime_mounts.py | 9 | CODE | |
| LOW | eval/workflow_bench/evolution.py | 3 | CODE | |
| LOW | eval/workflow_bench/runner_artifacts.py | 3 | CODE | |
| LOW | eval/workflow_bench/sanitized_graph.py | 3 | CODE | |
| LOW | eval/workflow_bench/runner_sessions.py | 3 | CODE | |
| LOW | eval/workflow_bench/promotion_apply.py | 3 | CODE | |
| LOW | eval/workflow_bench/task_assets.py | 10 | CODE | |
| LOW | eval/workflow_bench/runner_tasks.py | 3 | CODE | |
| LOW | eval/workflow_bench/oracle_assets.py | 3 | CODE | |
| LOW | eval/bridge/mcp_bridge.py | 17 | CODE | |
| LOW | eval/tests/test_sanitized_graph.py | 3 | CODE | |
| LOW | eval/tests/test_mcp_bridge.py | 4 | CODE | |
| LOW | eval/tests/test_task_assets.py | 3 | CODE | |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/scripts/check-tree-sitter-upgrade-readiness.py | 506 | CODE | |
| LOW | .github/scripts/check-tree-sitter-upgrade-readiness.py | 561 | CODE | |
| LOW | .github/scripts/check-tree-sitter-upgrade-readiness.py | 642 | CODE | |
| LOW | .github/scripts/check-workflow-concurrency.py | 38 | CODE | |
| LOW | .github/scripts/check-workflow-concurrency.py | 96 | CODE | |
| LOW | .github/scripts/triage/sweep.py | 255 | CODE | |
| LOW | eval/run_eval.py | 279 | CODE | |
| LOW | eval/analysis/analyze_results.py | 37 | CODE | |
| LOW | eval/analysis/analyze_results.py | 206 | CODE | |
| LOW | eval/analysis/analyze_results.py | 253 | CODE | |
| LOW | eval/workflow_bench/proposer_sandbox.py | 576 | CODE | |
| LOW | eval/workflow_bench/process_control.py | 410 | CODE | |
| LOW | eval/workflow_bench/evolve.py | 464 | CODE | |
| LOW | eval/workflow_bench/evolve.py | 844 | CODE | |
| LOW | eval/workflow_bench/runner.py | 387 | CODE | |
| LOW | eval/workflow_bench/runner.py | 908 | CODE | |
| LOW | eval/workflow_bench/evolution.py | 166 | CODE | |
| LOW | eval/workflow_bench/evolution.py | 266 | CODE | |
| LOW | eval/workflow_bench/evolution.py | 478 | CODE | |
| LOW | eval/workflow_bench/runner_artifacts.py | 122 | CODE | |
| LOW | eval/workflow_bench/sanitized_graph.py | 147 | CODE | |
| LOW | eval/workflow_bench/runner_sessions.py | 277 | CODE | |
| LOW | eval/workflow_bench/runner_sessions.py | 331 | CODE | |
| LOW | eval/workflow_bench/promotion_apply.py | 48 | CODE | |
| LOW | eval/workflow_bench/promotion_apply.py | 329 | CODE | |
| LOW | eval/workflow_bench/promotion_apply.py | 438 | CODE | |
| LOW | eval/workflow_bench/promotion_apply.py | 616 | CODE | |
| LOW | eval/workflow_bench/task_assets.py | 693 | CODE | |
| LOW | eval/workflow_bench/task_assets.py | 723 | CODE | |
| LOW | eval/workflow_bench/task_assets.py | 800 | CODE | |
| LOW | eval/workflow_bench/task_assets.py | 985 | CODE | |
| LOW | eval/workflow_bench/task_assets.py | 205 | CODE | |
| LOW | eval/workflow_bench/task_assets.py | 387 | CODE | |
| LOW | eval/workflow_bench/oracle_assets.py | 508 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | gitnexus/bench/parse-throughput.md | 1 | # Parse-throughput benchmark (scaffold) | COMMENT |
| MEDIUM | gitnexus/test/unit/pdg-mode-flip.test.ts | 3 | * (#2099 F1). Sibling of incremental-orchestration.test.ts: real on-disk git | COMMENT |
| MEDIUM | gitnexus/test/unit/parse-impl-heap-guard.test.ts | 28 | describe('#2649 parse-phase heap guardrails', () => { | CODE |
| MEDIUM | …nexus/test/unit/parse-impl-heap-guard-pipeline.test.ts | 2 | * #2649 review — pipeline-level coverage for the parse-phase heap guardrails. | COMMENT |
| MEDIUM | …nexus/test/unit/parse-impl-heap-guard-pipeline.test.ts | 60 | describe('#2649 heap guardrails wired into runChunkedParseAndResolve', () => { | CODE |
| MEDIUM | …xus/src/core/ingestion/taint/summary-harvest-driver.ts | 2 | * Summary-harvest driver (#2084 M4 U1) — the in-phase orchestration that turns | COMMENT |
| MEDIUM | …nexus/src/core/ingestion/pipeline-phases/parse-impl.ts | 600 | // Heap-scale guardrails (#2649), measured on a Linux-kernel analyze | COMMENT |
| MEDIUM | .github/workflows/ci.yml | 26 | # ── Reusable workflow orchestration ───────────────────────────────── | COMMENT |
| MEDIUM | .github/scripts/triage/sweep.py | 62 | # 512-token context window (~4 chars/token). We keep title + body under | COMMENT |
| MEDIUM | .github/scripts/triage/sweep.py | 137 | # Truncate to fit the embedding model's token window. | COMMENT |
| MEDIUM | gitnexus-web/src/core/llm/agent.ts | 239 | // This is critical for agentic workflows with tool calls | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …t/unit/scope-resolution/python/python-fixtures.test.ts | 172 | except Exception: | CODE |
| LOW | .github/scripts/check-tree-sitter-upgrade-readiness.py | 1012 | except Exception: | CODE |
| LOW | eval/run_eval.py | 181 | except Exception as patch_err: | CODE |
| LOW | eval/run_eval.py | 248 | except Exception as e: | CODE |
| LOW | eval/run_eval.py | 319 | except Exception as e: | CODE |
| LOW | eval/analysis/analyze_results.py | 72 | except Exception: | CODE |
| LOW | eval/analysis/analyze_results.py | 197 | except Exception as e: | CODE |
| LOW | eval/bridge/mcp_bridge.py | 88 | except Exception as e: | CODE |
| LOW | eval/bridge/mcp_bridge.py | 105 | except Exception: | CODE |
| LOW | eval/bridge/mcp_bridge.py | 108 | except Exception: | CODE |
| LOW | eval/bridge/mcp_bridge.py | 169 | except Exception: | CODE |
| LOW | eval/bridge/mcp_bridge.py | 183 | except Exception: | CODE |
| LOW | eval/bridge/mcp_bridge.py | 223 | except Exception as e: | CODE |
| LOW | eval/bridge/mcp_bridge.py | 244 | except Exception as e: | CODE |
| LOW | eval/bridge/mcp_bridge.py | 317 | except Exception as e: | CODE |
| LOW | eval/environments/gitnexus_docker.py | 86 | except Exception as e: | CODE |
| LOW | eval/environments/gitnexus_docker.py | 321 | except Exception as e: | CODE |
| LOW | eval/environments/gitnexus_docker.py | 363 | except Exception as e: | CODE |
| LOW | eval/environments/gitnexus_docker.py | 381 | except Exception: | CODE |
| LOW⚡ | eval/tests/test_errors.py | 12 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW⚡ | eval/tests/test_errors.py | 24 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | eval/agents/gitnexus_agent.py | 127 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | gitnexus/test/unit/cursor-hook.test.ts | 81 | initGitRepo(tmpDir, { name: 'Test', email: 'test@test.com' }); | CODE |
| LOW⚡ | gitnexus/test/unit/cursor-hook.test.ts | 86 | initGitRepo(guardTmpDir, { name: 'Test', email: 'test@test.com' }); | CODE |
| LOW | gitnexus/test/unit/hooks.test.ts | 176 | const HOOK_TEST_IDENTITY: GitIdentity = { name: 'Test', email: 'test@test.com' }; | CODE |
| LOW | gitnexus/test/unit/review-agent-workflow.test.ts | 88 | // stub like the literal string "placeholder" can never be published. | COMMENT |
| LOW⚡ | gitnexus/test/unit/review-agent-workflow.test.ts | 2275 | // A production run returned {"body":"placeholder","complete":false}: the | COMMENT |
| LOW⚡ | gitnexus/test/unit/review-agent-workflow.test.ts | 2279 | structuredOutput: JSON.stringify({ body: 'placeholder', complete: false }), | CODE |
| LOW⚡ | gitnexus/test/unit/review-agent-workflow.test.ts | 2285 | expect(stub.artifact.body).not.toContain('placeholder'); | CODE |
| LOW | gitnexus/test/unit/review-agent-workflow.test.ts | 2443 | structuredOutput: JSON.stringify({ body: 'placeholder', complete: false }), | CODE |
| LOW | gitnexus/test/unit/review-agent-workflow.test.ts | 2455 | structuredOutput: JSON.stringify({ body: 'placeholder', complete: false }), | CODE |
| LOW | gitnexus/test/integration/antigravity-hook-e2e.test.ts | 90 | initGitRepo(tmpDir, { name: 'Test', email: 'test@test.com' }); | CODE |
| LOW | gitnexus/test/integration/hooks-e2e.test.ts | 50 | initGitRepo(tmpDir, { name: 'Test', email: 'test@test.com' }); | CODE |
| LOW | .github/workflows/gitnexus-review-agent.yml | 1534 | // the literal string 'placeholder'. | COMMENT |
| LOW | gitnexus-web/src/locales/zh-CN/chat.json | 17 | "placeholder": "询问这个代码库...", | CODE |
| LOW | gitnexus-web/src/locales/zh-CN/settings.json | 11 | "placeholder": "粘贴部署访问令牌", | CODE |
| LOW | gitnexus-web/src/locales/en/chat.json | 17 | "placeholder": "Ask about the codebase...", | CODE |
| LOW | gitnexus-web/src/locales/en/settings.json | 11 | "placeholder": "Paste your deploy access token", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gitnexus/test/unit/ingestion-utils.test.ts | 661 | const code = `def process_data(items: list[int]) -> bool:\n return True`; | CODE |
| LOW | gitnexus/test/unit/type-env.test.ts | 5747 | const code = `const dbClient: Database = connectDb();\nfunction handleRequest() {\n const localRequest: Request = | CODE |
| LOW | …xus/test/unit/group/python-workspace-extractor.test.ts | 160 | await writeFile('lib/utils/__init__.py', 'def helper(): pass\nclass Config: pass\n'); | CODE |
| LOW | …xus/test/unit/scope-resolution/workspace-index.test.ts | 79 | def helper() -> int: | CODE |
| LOW | …xus/test/unit/scope-resolution/workspace-index.test.ts | 98 | def helper() -> int: | CODE |
| LOW | …xus/test/unit/scope-resolution/workspace-index.test.ts | 238 | def helper() -> int: | CODE |
| LOW | …ation/resolvers/inferred-field-receiver-matrix.test.ts | 1424 | // could not be complete anyway — `def helper(&b) = Foo.class_eval(&b)` | COMMENT |
| LOW | gitnexus/test/integration/resolvers/python.test.ts | 3330 | 'a/__init__.py': `def helper(): | CODE |
| LOW | gitnexus/test/integration/resolvers/python.test.ts | 3336 | 'a/b/c.py': `def helper(): | CODE |
| LOW | gitnexus/src/core/ingestion/languages/ruby/captures.ts | 140 | * def helper(&blk) = Foo.class_eval(&blk) | COMMENT |
| LOW | …s/src/core/ingestion/scope-resolution/scope/walkers.ts | 1841 | // on `class U: def save(self): def helper(): ...` — helper.ownerId will | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | gitnexus-web/src/lib/mermaid-generator.ts | 29 | rawMermaid?: string; // AI-generated mermaid code (sanitized before rendering) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | eval/run_eval.py | 351 | CODE | |
| LOW | eval/run_eval.py | 377 | CODE | |
| LOW | eval/workflow_bench/process_control.py | 410 | CODE | |
| LOW | eval/workflow_bench/process_control.py | 674 | CODE | |
| LOW | eval/workflow_bench/runner_sessions.py | 331 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | .github/scripts/triage/test_embedding_utils.py | 160 | # Create a tight cluster with one obvious outlier | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gitnexus/hooks/claude/pre-tool-use.sh | 48 | # Check if we're in a GitNexus-indexed repo | COMMENT |
| LOW | eval/bridge/mcp_bridge.py | 157 | # Check if npx is available (preferred - uses local install) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | gitnexus-web/src/core/llm/agent.ts | 99 | - Don't pad with generic "let me know if you need more" — users will ask. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | eval/bridge/gitnexus_tools.sh | 9 | # Usage: | COMMENT |