Recollect.Learner.Git.Grouper (recollect v0.5.1)

Copy Markdown View Source

Groups git commits into synthesized development insights.

Instead of storing every commit as a separate memory entry, this module clusters related commits by topic and produces high-level narrative entries (development_insight) that capture the story of what changed and why.

Grouping strategy

  1. Filter noise — drop merges, version bumps, typo fixes, etc.
  2. Extract topics — conventional-commit scope (feat(auth):) or keyword extraction from the subject line.
  3. Group by topic — commits sharing a topic land in the same cluster.
  4. Build insights — each cluster of 2+ commits becomes one development_insight extract; singletons that are significant enough (breaking changes, migrations) are emitted individually.

Result shape

Each insight is an %{content, entry_type, emotional_valence, tags, metadata} map ready for Knowledge.remember/2, with optional overrides (half_life_days, confidence, summary).

Summary

Functions

Group commits and return a list of development_insight extracts.

Functions

summarize(commits)

Group commits and return a list of development_insight extracts.

Only groups of 2+ commits produce an insight. Individual significant commits (breaking changes, migrations) are also emitted as single-entry insights when they survive noise filtering.