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>
99 lines
4.5 KiB
Markdown
99 lines
4.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [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)
|
|
- **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 Statistics` section 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:analyze` to test new format
|
|
|
|
## [2.1.0] - 2026-01-06
|
|
|
|
### Added
|
|
- **Selective saving with signal detection**: `/learn:analyze` now 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:cleanup` command**: 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 | repeated
|
|
- `confidence`: high | medium | low
|
|
- `reinforced`: count of times used in subsequent sessions
|
|
- `trigger`: original phrase that triggered saving
|
|
- **Reinforcement tracking**: Entries are validated when used in subsequent sessions
|
|
|
|
### Changed
|
|
- `/learn:analyze` output 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 `paths` frontmatter**: Each domain file has a `paths:` frontmatter that triggers loading only when working with matching files
|
|
- **Automatic domain detection**: `/learn:analyze` detects 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:reflect` now analyzes duplicates and misplaced entries across domains
|
|
- **Domain configuration file**: `.claude/rules/claude-learn-domains.md` for user-editable domain definitions
|
|
- New templates: `domains-config.md`, `domain-memory.md`
|
|
|
|
### Changed
|
|
- `/learn:analyze` now prompts for domain confirmation before saving
|
|
- `/learn:status` aggregates statistics from all domain files with breakdown table
|
|
- `/learn:import` routes entries to appropriate domains with detection
|
|
- `/learn:reflect` includes cross-domain duplicate detection and domain migration suggestions
|
|
- Memory files now use format `claude-learn-{domain}.md` instead of single `claude-learn-memory.md`
|
|
|
|
### Migration
|
|
- Run `/learn:import .claude/rules/claude-learn-memory.md` to 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
|