Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Tests] Extend semantic_memory_smoke with edge case coverage

Open
#3 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
58/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
cpp, python
Domain
testing

Research direction

Read tools/longmemeval-mini/semantic_memory_smoke.py and semantic_memory_smoke_extended.py to compare the existing basic and extended coverage. Add the four named edge-case tests, define and document expected behavior for each, and verify the smoke tests cover empty, corrupted, Unicode, and very long memory data.

Written by the indexing model from the issue text.

Description

stale

Summary

The semantic memory smoke tests need additional edge case coverage.

Current State

  • semantic_memory_smoke.py: 3 basic tests
  • semantic_memory_smoke_extended.py: 17 extended tests
  • Tests focus on "happy path" scenarios

Missing Edge Cases

  1. Empty memory file handling: Query with empty .mem file
  2. Corrupted memory file: Handle truncated or invalid embedding rows
  3. Unicode/UTF-8 edge cases: Facts with multi-byte characters
  4. Very long facts: Facts exceeding typical token limits
  5. Concurrent access: Multiple processes accessing same memory file
  6. Memory file permissions: Read-only filesystem scenarios

Acceptance Criteria

  • Add test_empty_memory_query - verify graceful handling
  • Add test_corrupted_memory_recovery - validate error messages
  • Add test_unicode_fact_storage - UTF-8 roundtrip
  • Add test_very_long_fact_truncation - document behavior
  • Document expected behavior for each edge case

Related Files

  • tools/longmemeval-mini/semantic_memory_smoke.py
  • tools/longmemeval-mini/semantic_memory_smoke_extended.py
Dominant language
C++
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from jose-compu/funes.cpp

All issues in jose-compu/funes.cpp

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.