BREAKING CHANGE: New compact entry format
- Header: `## {P|G}: {Title}` (P=Pattern, G=Gotcha)
- Metadata: `@YYYY-MM-DD #tag1 #tag2 | source:confidence[:reinforced]`
- Max 3 inline tags, no separators, no statistics section
Removed verbose fields: Discovered, Source, Confidence, Trigger
Statistics now calculated dynamically by /learn:status
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.5 KiB
4.5 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[3.0.0] - 2026-01-07
Changed (BREAKING)
- Minimalist memory format: ~60% reduction in file size
- Old:
### Titlu+ 3 metadata lines + separators (~600 char/entry) - New:
## P: Titlu+ 1 metadata line (~200 char/entry)
- Old:
- Header format:
## {P|G}: {Titlu}(P=Pattern, G=Gotcha) - Metadata format:
@YYYY-MM-DD #tag1 #tag2 | source:confidence[:reinforced] - Tags: Inline with
#, max 3 per entry - Statistics: Removed from files, calculated dynamically by
/learn:status
Removed
**Discovered**:,**Source**:,**Confidence**:,**Trigger**:fields---separators between entries## Domain Statisticssection from memory files(feature: ...)context notation
Migration
- Entries in v2.x format are read normally
- Auto-converted to v3.0 format on first edit
- Run
/learn:analyzeto test new format
[2.1.0] - 2026-01-06
Added
- Selective saving with signal detection:
/learn:analyzenow only saves lessons with clear signals- Explicit commands: "ține minte", "memorează", "remember", "don't forget"
- Stated preferences: "întotdeauna", "niciodată", "always", "never", "from now on"
- Repeated corrections: Same issue corrected 2+ times
- Historical references: "cum am discutat", "as we discussed"
- New
/learn:cleanupcommand: Review and remove low-value entries- Scoring system based on source, confidence, age, and reinforcement
- Conservative mode: always confirms before deleting
- Upgrade option: rewrite entries to make them useful
- Metadata tracking for entries:
source: explicit | inferred | repeatedconfidence: high | medium | lowreinforced: count of times used in subsequent sessionstrigger: original phrase that triggered saving
- Reinforcement tracking: Entries are validated when used in subsequent sessions
Changed
/learn:analyzeoutput now shows:- Recommended lessons (high signal)
- Possible lessons (low signal)
- Excluded one-time fixes
- Hook changed from Stop to SessionEnd - reminder shows on
/exit,/clear,Ctrl+D - Templates updated with new metadata fields
- Statistics now include Total Reinforcements and Last Cleanup
Backward Compatibility
- Entries without metadata are treated as: source=inferred, confidence=medium, reinforced=0
- Metadata added automatically on first edit or reinforcement
[2.0.0] - 2026-01-06
Changed (Repository)
- Reorganized for multi-plugin marketplace:
plugin/→plugins/learn/ - Repository to be renamed:
claude-learn→claude-plugins - Updated marketplace.json source path
Added
- Domain-based memory: Memory is now split into domains (backend, frontend, database, testing, deployment, global)
- Selective loading via
pathsfrontmatter: Each domain file has apaths:frontmatter that triggers loading only when working with matching files - Automatic domain detection:
/learn:analyzedetects the domain based on file paths in the conversation - Automatic pattern suggestion: When creating new domains, glob patterns are auto-generated from conversation files
- Cross-domain analysis:
/learn:reflectnow analyzes duplicates and misplaced entries across domains - Domain configuration file:
.claude/rules/claude-learn-domains.mdfor user-editable domain definitions - New templates:
domains-config.md,domain-memory.md
Changed
/learn:analyzenow prompts for domain confirmation before saving/learn:statusaggregates statistics from all domain files with breakdown table/learn:importroutes entries to appropriate domains with detection/learn:reflectincludes cross-domain duplicate detection and domain migration suggestions- Memory files now use format
claude-learn-{domain}.mdinstead of singleclaude-learn-memory.md
Migration
- Run
/learn:import .claude/rules/claude-learn-memory.mdto migrate from v1.0 format - Old format is auto-detected and migration is offered
[1.0.0] - 2025-01-06
Added
- Initial release
/learn:analyze- Analyze conversation for patterns and gotchas/learn:import- Import from other memory files/learn:reflect- Consolidate and clean memory/learn:status- Show memory statistics- Stop hook for automatic suggestions
- Support for markdown and JSON import formats