Ragex. Git. Enricher
(Ragex v0.18.4)
View Source
Background enrichment of knowledge graph nodes with git metadata.
After a directory analysis completes, the Enricher walks all file nodes in the graph and attaches git information:
:last_author-- who last modified the file:last_modified-- when it was last modified:commit_count-- total commits touching the file:pr_origin-- the PR number that introduced the file (if indexed)
For function nodes, the enrichment includes:
:last_author-- who last modified the function:git_age_days-- days since last modification
The enrichment runs asynchronously via Task.async_stream/3 with a
concurrency limit to avoid overwhelming the git backend.
Edge types added to the knowledge graph
:authored_by-- from file/function node to an author identifier:introduced_in_pr-- from file node to a PR number:co_changes_with-- from file node to another file node (via CoChange)
Summary
Functions
Returns a specification to start this module under a supervisor.
Trigger enrichment for all file nodes in the knowledge graph.
Trigger enrichment synchronously. Blocks until complete.
Returns the status of the last enrichment run.
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec enrich(String.t()) :: :ok
Trigger enrichment for all file nodes in the knowledge graph.
Runs asynchronously. Returns immediately with :ok.
Trigger enrichment synchronously. Blocks until complete.
Returns {:ok, stats} with enrichment statistics.
@spec status() :: map()
Returns the status of the last enrichment run.