JuliusBrussee/caveman · error
list memories: %w
Error message
list memories: %w
What it means
Store.all's SELECT loading every current memory (used by Recall) failed before rows could be iterated. The wrapped error is the SQLite query failure; recall aborts rather than running on partial memory.
Source
Thrown at mem/store.go:602
hi = mid - 1
}
}
for lo > 0 && lo < len(b) && !utf8.RuneStart(b[lo]) {
lo--
}
return b[:lo]
}
// Recover returns the byte-exact original for a recall hit's recovery handle.
func (s *Store) Recover(handle string) ([]byte, error) {
return s.eng.Retrieve(handle)
}
// all loads every memory.
func (s *Store) all() ([]Memory, error) {
rows, err := s.db.Query(memorySelect + ` WHERE valid_until IS NULL`)
if err != nil {
return nil, fmt.Errorf("list memories: %w", err)
}
defer rows.Close()
var out []Memory
for rows.Next() {
var m Memory
if err := scanMemory(rows, &m); err != nil {
return nil, err
}
out = append(out, m)
}
return out, rows.Err()
}
const memorySelect = `SELECT id, text, created_at, valid_from, valid_until, supersedes, superseded_by FROM memories`
type rowScanner interface {
Scan(dest ...any) error
}View on GitHub (pinned to 766dce6b13)
Solutions
- Retry the recall
- Check mem.db health/locks
- Inspect the wrapped query error
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at mem/store.go:602 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of JuliusBrussee/caveman@766dce6b13 (2026-08-18).
Data as JSON: /api/errors/a53140e2b7abd5f0.
Report an issue: GitHub.