AltimateAI / AltimateAI/altimate-code

feat: inject and refresh memory using altimate-code Post hooks

Aperta
#672 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
811
Fork
134
Merge medio
3g 2h
PR unite (30g)
50

Descrizione

## Summary

We should leverage **altimate-code's Post hooks** (e.g., `PostToolCall`, `PostResponse`) to automatically inject and refresh the auto-memory system, rather than relying solely on the LLM to decide when to read/write memory during conversation.

## Motivation

Currently, memory read/write is entirely LLM-driven — the model decides when to check `MEMORY.md`, when to save new memories, and when to update stale ones. This has several failure modes:

1. **Stale context at conversation start** — memory is only loaded when the LLM "thinks" to check it, which may be too late or not at all
2. **Missed save opportunities** — the LLM may forget to persist important feedback or project context learned mid-conversation
3. **No refresh on external changes** — if another session updates memory files, the current session won't pick up changes

## Proposal

Use altimate-code's hook system to automate memory lifecycle:

### 1. `PostResponse` hook — Memory refresh/injection
- After each assistant response, a lightweight script scans for memory-worthy signals (user corrections, project facts, explicit "remember this" requests)
- Optionally re-reads `MEMORY.md` index to catch cross-session updates

### 2. `PostToolCall` hook — Context-aware memory triggers
- After specific tool calls (e.g., `git commit`, `Write` to memory files), trigger validation or indexing
- Example: after a `Write` to a memory file, auto-verify `MEMORY.md` index is updated

### 3. Session start hook — Warm memory load
- On `UserPromptSubmit` (first message), pre-load relevant memories based on working directory, recent git activity, or explicit tags

## Implementation Ideas

- Hook scripts in `.altimate-code/hooks/` as shell or Node scripts
- Could use `jq` to parse hook event JSON and decide whether to act
- Memory refresh script: read `MEMORY.md`, check file mtimes, surface stale entries
- Memory save script: parse assistant output for patterns like "I'll remember that" and verify the file was actually written

## Acceptance Criteria

- [ ] Design hook-based memory injection architecture
- [ ] Implement `PostResponse` memory refresh hook
- [ ] Implement `PostToolCall` memory validation hook
- [ ] Implement session-start warm load via `UserPromptSubmit`
- [ ] Test across multi-session scenarios (cross-session memory updates)
- [ ] Document hook configuration in altimate-code settings

## Labels

Enhancement, Developer Experience

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.