feat(FN-1771): add dashboard memory settings UX with backend selector and capability-aware editing
- Add /api/memory/backend endpoint returning current backend, capabilities, and available backends - Create useMemoryBackendStatus hook with polling and frontend-friendly interface - Add MemorySettingsSection to SettingsModal with backend selector dropdown - Implement capability-aware UI: readonly backends disable save, fallback on unknown types - Add comprehensive tests for API endpoints and hook behavior - Update architecture docs with memory backend architecture section
This commit is contained in:
13
README.md
13
README.md
@@ -704,6 +704,17 @@ Fusion supports pluggable memory backends, allowing you to choose how project me
|
||||
|---------|-------------|--------------|
|
||||
| `file` (default) | File-based storage in `.fusion/memory.md` | Read/Write, Atomic, Persistent |
|
||||
| `readonly` | Read-only access (external memory management) | Read only, Non-persistent |
|
||||
| `qmd` | QMD (Quantized Memory Distillation) CLI backend | Read/Write, Persistent |
|
||||
|
||||
**QMD Backend**
|
||||
|
||||
The QMD backend (`memoryBackendType: "qmd"`) routes memory operations through a QMD CLI tool, enabling advanced features like automatic summarization and structured querying. When QMD is unavailable (binary not found or command fails), it falls back to file-based storage automatically.
|
||||
|
||||
**Fallback Behavior:**
|
||||
- QMD binary not found (exit code 127): Falls back to file backend
|
||||
- QMD command timeout (30 seconds): Falls back to file backend
|
||||
- QMD command fails with exit code 1: Falls back to file backend
|
||||
- QMD output malformed: Returns error, does not fall back
|
||||
|
||||
**Using the dashboard API:**
|
||||
|
||||
@@ -721,7 +732,7 @@ curl http://localhost:4040/api/memory/backend
|
||||
"hasConflictResolution": false,
|
||||
"persistent": true
|
||||
},
|
||||
"availableBackends": ["file", "readonly"]
|
||||
"availableBackends": ["file", "readonly", "qmd"]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user