Recollect.Learning.Pipeline (recollect v0.5.1)

Copy Markdown View Source

Orchestrate learning from multiple sources.

The pipeline:

  1. Fetches events from each enabled learner
  2. Extracts learnable content
  3. Creates memory entries via Recollect.remember/2
  4. 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

enabled?()

Check if learning is enabled.

enabled_learners()

Get list of enabled learner modules from config.

run(opts \\ [])

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}
}}