feat(learn): Minimalist memory format v3.0 - 60% size reduction
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>
This commit is contained in:
@@ -266,64 +266,53 @@ Care dintre acestea vrei să le salvez?
|
||||
- [edit N] - Modifică propunerea N
|
||||
```
|
||||
|
||||
### Pas 6: Salvează în Fișierul Domeniului (cu Metadata)
|
||||
### Pas 6: Salvează în Fișierul Domeniului (Format Minimalist v3.0)
|
||||
|
||||
Salvează în `.claude/rules/claude-learn-{domain}.md`
|
||||
|
||||
Dacă fișierul nu există, creează-l din template cu frontmatter corect.
|
||||
Dacă fișierul nu există, creează-l din template cu comentariu HTML pentru paths.
|
||||
|
||||
Format Pattern (extins):
|
||||
#### Format Pattern (minimalist):
|
||||
```markdown
|
||||
### {Titlu}
|
||||
**Discovered**: {YYYY-MM-DD} (feature: {context})
|
||||
**Source**: {source} | **Confidence**: {confidence} | **Reinforced**: 0
|
||||
**Trigger**: "{fraza care a declanșat salvarea}"
|
||||
**Description**: {descriere}
|
||||
|
||||
**Example** (`{file}:{lines}`):
|
||||
## P: {Titlu max 60 char}
|
||||
@{YYYY-MM-DD} #{tag1} #{tag2} | {source}:{confidence}
|
||||
{Descriere 1-2 propoziții}
|
||||
\```{language}
|
||||
{code}
|
||||
{cod opțional}
|
||||
\```
|
||||
|
||||
**Tags**: {tags}
|
||||
|
||||
---
|
||||
```
|
||||
|
||||
Format Gotcha (extins):
|
||||
Exemple metadata:
|
||||
- `@2026-01-06 #git #workflow | explicit:high` (nou, fără reinforced)
|
||||
- `@2026-01-05 #vue #reactivity | inferred:med:3` (cu 3 reinforcements)
|
||||
|
||||
#### Format Gotcha (minimalist):
|
||||
```markdown
|
||||
### {Titlu}
|
||||
**Discovered**: {YYYY-MM-DD} (feature: {context})
|
||||
**Source**: {source} | **Confidence**: {confidence} | **Reinforced**: 0
|
||||
**Trigger**: "{fraza care a declanșat salvarea}"
|
||||
**Problem**: {problema}
|
||||
**Solution**: {soluția}
|
||||
|
||||
**Tags**: {tags}
|
||||
|
||||
---
|
||||
## G: {Titlu max 60 char}
|
||||
@{YYYY-MM-DD} #{tag1} #{tag2} | {source}:{confidence}
|
||||
**P**: {problema scurtă}
|
||||
**S**: {soluția scurtă}
|
||||
```
|
||||
|
||||
### Pas 7: Actualizează Statistici
|
||||
**Reguli format:**
|
||||
- Titlu: max 60 caractere, imperativ
|
||||
- Tags: max 3, inline cu `#`
|
||||
- Confidence: `high`, `med`, `low`
|
||||
- Reinforced: afișat DOAR dacă > 0, format `:N` la final
|
||||
- Fără separatori `---` între entries
|
||||
- Fără secțiune Statistics (calculat dinamic de `/learn:status`)
|
||||
|
||||
La sfârșitul fișierului domeniului, actualizează:
|
||||
- Incrementează Total Patterns/Gotchas
|
||||
- Actualizează Last Session la data curentă
|
||||
- Incrementează Sessions Recorded
|
||||
- Actualizează Total Reinforcements (dacă s-au făcut în Pas 0.5)
|
||||
|
||||
### Pas 8: Confirmă
|
||||
### Pas 7: Confirmă
|
||||
|
||||
```
|
||||
✅ Salvat în claude-learn-{domain}.md:
|
||||
- {N} patterns adăugate
|
||||
- {M} gotchas adăugate
|
||||
|
||||
📈 Entries reinforced: {X}
|
||||
|
||||
Statistici {domain}: {P} patterns, {G} gotchas, {R} reinforcements total
|
||||
```
|
||||
|
||||
**Notă:** Statisticile se calculează dinamic cu `/learn:status`.
|
||||
|
||||
---
|
||||
|
||||
## Argument: $ARGUMENTS
|
||||
@@ -337,21 +326,16 @@ Dacă argumentul este:
|
||||
|
||||
## Compatibilitate Înapoi
|
||||
|
||||
### Format Vechi de Memorie
|
||||
Dacă există fișierul vechi `claude-learn-memory.md` fără frontmatter:
|
||||
```
|
||||
⚠️ Detectat format vechi de memorie (claude-learn-memory.md)
|
||||
### Format v2.x (verbose)
|
||||
Entries în format vechi (cu `### Titlu`, `**Discovered**:`, `**Source**:`, etc.) sunt citite normal.
|
||||
La prima editare, sunt convertite automat la formatul minimalist v3.0.
|
||||
|
||||
Vrei să migrez memoria existentă către noul sistem cu domenii? [y/n]
|
||||
- y → rulează /learn:import pe fișierul vechi
|
||||
- n → continuă fără migrare
|
||||
### Parsing Entries v3.0
|
||||
Regex pentru parsing:
|
||||
```
|
||||
^## (P|G): (.+)$ → type, title
|
||||
^@(\d{4}-\d{2}-\d{2}) (.+) \| (.+)$ → date, tags, meta
|
||||
```
|
||||
|
||||
### Entries Fără Metadata
|
||||
Entries vechi fără câmpurile noi (Source, Confidence, Reinforced, Trigger) sunt tratate ca:
|
||||
- Source: inferred
|
||||
- Confidence: medium
|
||||
- Reinforced: 0
|
||||
- Trigger: ""
|
||||
|
||||
La prima editare sau reinforcement, metadata va fi adăugată automat.
|
||||
Tags: extrage toate `#(\w+)` din linia metadata
|
||||
Meta: `{source}:{confidence}[:{reinforced}]`
|
||||
|
||||
Reference in New Issue
Block a user