feat: v2.1.0 - Selective saving, cleanup command, and SessionEnd hook

New features:
- /learn:analyze now uses signal detection to save only valuable lessons
  - Explicit commands: "ține minte", "remember", "memorează"
  - Stated preferences: "întotdeauna", "always", "never"
  - Repeated corrections (2+ times)
  - Historical references: "cum am discutat", "as we discussed"
- New /learn:cleanup command for memory hygiene
  - Scoring system for entry quality
  - Conservative mode with confirmation
  - Upgrade option to rewrite entries
- SessionEnd hook shows reminder on /exit, /clear, Ctrl+D
- Metadata tracking: source, confidence, reinforced, trigger

Changes:
- analyze.md: Added Pas 3.5 for signal detection
- cleanup.md: New command for reviewing/deleting entries
- hooks.json: Changed from Stop to SessionEnd
- scripts/session-end-reminder.sh: New reminder script
- Templates updated with metadata fields
- Documentation updated for v2.1.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Claude Agent
2026-01-06 23:12:31 +00:00
parent d6c71536e7
commit 7aafcd5562
11 changed files with 746 additions and 43 deletions

View File

@@ -36,6 +36,8 @@ Patterns și Gotchas pentru domeniul **backend**.
### {Titlu Descriptiv}
**Discovered**: {YYYY-MM-DD} (feature: {context-scurt})
**Source**: {source} | **Confidence**: {confidence} | **Reinforced**: 0
**Trigger**: "{fraza care a declanșat salvarea}"
**Description**: {Descriere clară a pattern-ului și când să-l folosești}
**Example** (`{file}:{lines}`):
@@ -51,6 +53,8 @@ Patterns și Gotchas pentru domeniul **backend**.
### {Titlu Descriptiv}
**Discovered**: {YYYY-MM-DD} (feature: {context-scurt})
**Source**: {source} | **Confidence**: {confidence} | **Reinforced**: 0
**Trigger**: "{fraza care a declanșat salvarea}"
**Problem**: {Ce problemă a apărut}
**Solution**: {Cum s-a rezolvat}
@@ -62,8 +66,10 @@ Patterns și Gotchas pentru domeniul **backend**.
- **Total Patterns**: 0
- **Total Gotchas**: 0
- **Total Reinforcements**: 0
- **Last Session**: -
- **Sessions Recorded**: 0
- **Last Cleanup**: -
```
## Template Fișier Global
@@ -90,11 +96,58 @@ Patterns și Gotchas universale, aplicabile tuturor domeniilor.
...
```
## Format Pattern
---
## Câmpuri Metadata (v2.1.0)
Fiecare entry include acum metadata pentru tracking și curățare.
### Source
Cum a fost capturat entry-ul:
| Valoare | Descriere | Scor Cleanup |
|---------|-----------|--------------|
| `explicit` | Utilizatorul a cerut explicit salvarea ("ține minte", "remember") | +40 |
| `repeated` | Corecție repetată de 2+ ori pe același subiect | +30 |
| `inferred` | Dedus din conversație (eroare rezolvată, pattern detectat) | -10 |
### Confidence
Nivelul de încredere în utilitatea entry-ului:
| Valoare | Descriere | Scor Cleanup |
|---------|-----------|--------------|
| `high` | Semnal puternic (comandă explicită, corecție repetată) | +20 |
| `medium` | Semnal moderat (preferință inferată, referință istorică) | 0 |
| `low` | Semnal slab (one-time fix posibil util) | -20 |
### Reinforced
Numărul de ori când entry-ul a fost folosit sau validat în sesiuni ulterioare.
| Valoare | Interpretare | Scor Cleanup |
|---------|--------------|--------------|
| 0 | Niciodată folosit | -30 (dacă > 30 zile) |
| 1-2 | Folosit ocazional | +20 |
| 3+ | Entry valoros, foarte folosit | +50 |
### Trigger
Fraza originală care a declanșat salvarea. Util pentru:
- Audit: de ce a fost salvat acest entry?
- Cleanup: context pentru decizia de ștergere
- Debugging: verificare sistem de detecție semnal
---
## Format Pattern (Complet)
```markdown
### {Titlu Descriptiv}
**Discovered**: {YYYY-MM-DD} (feature: {context-scurt})
**Source**: {source} | **Confidence**: {confidence} | **Reinforced**: {count}
**Trigger**: "{fraza care a declanșat salvarea}"
**Description**: {Descriere clară a pattern-ului și când să-l folosești}
**Example** (`{file}:{lines}`):
@@ -107,11 +160,13 @@ Patterns și Gotchas universale, aplicabile tuturor domeniilor.
---
```
## Format Gotcha
## Format Gotcha (Complet)
```markdown
### {Titlu Descriptiv}
**Discovered**: {YYYY-MM-DD} (feature: {context-scurt})
**Source**: {source} | **Confidence**: {confidence} | **Reinforced**: {count}
**Trigger**: "{fraza care a declanșat salvarea}"
**Problem**: {Ce problemă a apărut}
**Solution**: {Cum s-a rezolvat}
@@ -120,6 +175,8 @@ Patterns și Gotchas universale, aplicabile tuturor domeniilor.
---
```
---
## Convenții
1. **Titluri**: Folosește titluri descriptive, nu generice
@@ -138,3 +195,41 @@ Patterns și Gotchas universale, aplicabile tuturor domeniilor.
5. **Frontmatter**: Fiecare fișier de domeniu (exceptând global) TREBUIE să aibă frontmatter cu `paths:`
- Paths-urile trebuie să corespundă cu cele din `claude-learn-domains.md`
6. **Trigger**: Păstrează fraza originală, fără modificări
-`"ține minte să folosești camelCase"`
-`"utilizatorul a cerut camelCase"`
---
## Backward Compatibility
Entries vechi fără câmpurile noi sunt tratate ca:
- Source: `inferred`
- Confidence: `medium`
- Reinforced: `0`
- Trigger: `""`
La prima editare sau reinforcement, metadata va fi adăugată automat.
---
## Statistici Domeniu
Fiecare fișier de domeniu include statistici la final:
```markdown
## Domain Statistics
- **Total Patterns**: {N}
- **Total Gotchas**: {M}
- **Total Reinforcements**: {R}
- **Last Session**: {YYYY-MM-DD}
- **Sessions Recorded**: {X}
- **Last Cleanup**: {YYYY-MM-DD}
```
Aceste statistici sunt actualizate automat de:
- `/learn:analyze` - incrementează patterns/gotchas, sessions
- `/learn:cleanup` - decrementează la ștergeri, actualizează Last Cleanup
- Reinforcement tracking - incrementează Total Reinforcements