Skip to content

Add deterministic R extraction#2150

Draft
forhappy wants to merge 1 commit into
Graphify-Labs:v8from
forhappy:codex/r-extraction-support
Draft

Add deterministic R extraction#2150
forhappy wants to merge 1 commit into
Graphify-Labs:v8from
forhappy:codex/r-extraction-support

Conversation

@forhappy

Copy link
Copy Markdown

Summary

  • add deterministic structural extraction for .r and .R source files
  • recognize extensionless Rscript executables
  • extract package imports, named and nested functions, local calls, and unresolved raw calls
  • preserve warnings and progress coverage using genuinely unsupported .ejs fixtures

Why

Graphify classifies R files and Rscript executables as code, but previously had no extractor for them. Those files therefore contributed no nodes and appeared in the unsupported-language warning. Compass already implements the same deterministic extraction contract, so Graphify needs the matching implementation for extraction parity.

User impact

R repositories now contribute file/function nodes, package-import edges, nested-function containment, and local call relationships without requiring an optional tree-sitter grammar.

Validation

  • 344 passed across tests/test_extract.py, tests/test_extractors_registry.py, and tests/test_detect.py
  • 3 passed in the dedicated R extractor suite
  • Ruff checks passed for all changed Python files
  • python3 -m compileall -q graphify/extractors/r.py
  • git diff --check
  • graphify update .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant