Skip to content

Suppress noisy common-symbol edges in dependency graph output #4113

Description

@Widthdom

Context

Dogfood dependency graph output was dominated by noisy common-symbol edges.

Evidence

  • deps reported very large edges through symbols such as Regex.
  • SymbolExtractor.cs -> BoundedRegex.cs and LanguageReferenceExtractionSupport.cs -> ReferenceExtractor.PatternTypeReferences.cs dominated the top output.
  • The graph already appears to know about dependency noise symbols, but JSON/edgelist output still surfaced them prominently.

Additional dogfood evidence

  • hotspots --group-by file --exclude-tests surfaced suspicious common-symbol hotspots such as CommandExitCodes.cs with about 2820 refs across only 2 symbols and LspServer.GetInt32 with about 1405 refs.
  • Model records such as SymbolRecord and FileRecord, tiny helpers such as WorkerOutputBuffer.AppendLine, and generic command/error constants can dominate rankings despite not being the most useful architectural review targets.
  • This appears related to common-name/reference fan-out noise, not only deps graph output.

Risk

Noisy edges and hotspots hide real architectural dependencies and make graph/hotspot output less useful for audits.

Suggested direction

Apply common-symbol/noise filtering consistently across graph and hotspot output modes, or expose an explicit noise profile flag. Add tests that keep tiny constants, DTO records, and common helper names from dominating top-level architectural rankings.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcodexenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions