Skip to content

feat(memory): log memory retrieval failures in skill_outcomes for OmniMem self-improvement loop #3576

@bug-ops

Description

@bug-ops

Description

Implement memory retrieval failure tracking as proposed by OmniMem (arXiv:2604.01007, #3566).

Extend skill_outcomes (or add a new memory_retrieval_failures table) to record:

  • No-hit turns (query returned 0 results from SYNAPSE spreading activation)
  • Low-confidence recalls (score below configurable threshold)
  • Query context at failure time: predicate, subject, expected answer, returned answer, latency

This is the minimum viable substrate for future self-improvement experiments. Without a failure dataset, no SYNAPSE parameter tuning experiment can be designed or evaluated. The write path must be async/fire-and-forget to avoid latency impact on the retrieval hot path.

The scheduler-driven SYNAPSE parameter tuning loop described in the OmniMem paper is out of scope for this issue. It will be filed as a separate issue once sufficient failure data has accumulated.

Acceptance Criteria

  • SQLite migration adds the required columns or table
  • Write path records failures on no-hit and sub-threshold-confidence retrievals
  • A sample query in the playbook demonstrates >100 rows after a standard test session
  • No measurable latency regression on the retrieval hot path (async write)

References

Metadata

Metadata

Assignees

Labels

P3Research — medium-high complexityenhancementNew feature or requestmemoryzeph-memory crate (SQLite)researchResearch-driven improvementskillszeph-skills crate

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions