Orchestrate learning from multiple sources.
The pipeline:
- Fetches events from each enabled learner
- Extracts learnable content
- Creates memory entries via Recollect.remember/2
- Optionally triggers invalidation on pattern detection
Usage
# Run all enabled learners
{:ok, result} = Recollect.Learning.Pipeline.run(scope_id: workspace_id)
# Run specific learner only
{:ok, result} = Recollect.Learning.Pipeline.run(scope_id: workspace_id, sources: [:git])
# Dry run - preview what would be learned
{:ok, preview} = Recollect.Learning.Pipeline.run(scope_id: workspace_id, dry_run: true)
Summary
Functions
Check if learning is enabled.
Get list of enabled learner modules from config.
Run learning from configured sources.
Functions
Check if learning is enabled.
Get list of enabled learner modules from config.
Run learning from configured sources.
Options
:scope_id- Required. The scope to learn for:sources- List of learner modules (default: all enabled):since- Learn from events since this time (default: "7 days ago"):dry_run- If true, don't create entries (default: false)
Returns
{:ok, %{
git: %{fetched: 12, learned: 8, skipped: 4}
}}