83 lines
2.2 KiB
Markdown
83 lines
2.2 KiB
Markdown
# Phase 3 PR #1 Checklist: Adaptive Memory Injection and Compaction Weighting
|
|
|
|
Created: 2026-02-12
|
|
Owner: Flynn core
|
|
Status: ready to implement
|
|
|
|
## Goal
|
|
|
|
Improve memory usefulness and compaction quality by injecting relevant memory context adaptively and preserving high-value turns during compaction.
|
|
|
|
## Scope
|
|
|
|
In scope:
|
|
- adaptive memory relevance scoring
|
|
- configurable memory injection strategy
|
|
- compaction weighting for important turns (tool outcomes, corrections, preferences)
|
|
- tests and perf guardrails
|
|
|
|
Out of scope:
|
|
- new vector backend work
|
|
- UI controls for weighting
|
|
|
|
## Files
|
|
|
|
New:
|
|
- `src/memory/adaptive.ts`
|
|
- `src/memory/adaptive.test.ts`
|
|
- `src/context/weighting.ts`
|
|
- `src/context/weighting.test.ts`
|
|
|
|
Modified:
|
|
- `src/backends/native/orchestrator.ts`
|
|
- `src/context/compaction.ts`
|
|
- `src/memory/store.ts`
|
|
- `src/config/schema.ts`
|
|
|
|
## Implementation Steps
|
|
|
|
1. Add adaptive memory scorer:
|
|
- keyword overlap with recent turns
|
|
- recency weighting
|
|
- token budget clipping
|
|
2. Add config flags:
|
|
- `memory.injection_strategy` (`all|recent|adaptive`)
|
|
- `memory.max_injection_tokens`
|
|
- `compaction.importance_threshold`
|
|
3. Integrate adaptive injector in orchestrator memory injection path.
|
|
4. Add compaction message weighting and selection algorithm.
|
|
5. Ensure fallback to existing behavior on errors/timeouts.
|
|
6. Add tests for relevance selection and weighted compaction ordering.
|
|
|
|
## Validation Commands
|
|
|
|
```bash
|
|
pnpm typecheck
|
|
pnpm test:run src/memory/adaptive.test.ts
|
|
pnpm test:run src/context/weighting.test.ts
|
|
pnpm test:run src/context/compaction.test.ts
|
|
pnpm test:run src/backends/native/orchestrator.test.ts
|
|
pnpm test:run
|
|
pnpm lint
|
|
pnpm build
|
|
```
|
|
|
|
## Acceptance Criteria
|
|
|
|
- Adaptive mode injects fewer but more relevant memory snippets.
|
|
- Compaction preserves high-importance turns over low-value chatter.
|
|
- Token budgets are respected consistently.
|
|
- Existing behavior preserved when adaptive features disabled.
|
|
- No measurable latency regression beyond agreed budget.
|
|
|
|
## Risks
|
|
|
|
- Relevance scoring false positives/negatives.
|
|
- Mitigation: conservative scoring + extensive fixtures.
|
|
- Added latency in hot path.
|
|
- Mitigation: bounded scoring time and fallback mode.
|
|
|
|
## Commit Message
|
|
|
|
`feat(memory): add adaptive injection and weighted compaction`
|