Skip to content

fix(cli): surface memory backend start failures on stderr - #303

Open
icn5381 wants to merge 1 commit into
EverMind-AI:mainfrom
icn5381:fix/memory_start_failure_visible
Open

fix(cli): surface memory backend start failures on stderr#303
icn5381 wants to merge 1 commit into
EverMind-AI:mainfrom
icn5381:fix/memory_start_failure_visible

Conversation

@icn5381

@icn5381 icn5381 commented Aug 12, 2026

Copy link
Copy Markdown

Summary

The four memory-backend start() call sites (agent REPL x2, gateway, TUI) caught failures with logger.exception only. Under the TUI loguru is redirected to a file, so an invalid memory identity (rejected by EverosBackend._validate_identity in start()) silently turned long-term memory off with nothing on screen. The agent REPL and gateway already surface the traceback via stderr; only the TUI was silent.

Add a warn_memory_start_failed helper that prints to stderr (mirroring the embedding-unavailable warning in everos/backend.py) and call it from every start() call site, so the degraded-memory condition is visible in every entry point.

Type

  • Fix

Verification

  • Relevant tests pass locally: uv run pytest tests/test_memory_warn.py -v -> 1 passed
  • Relevant lint / type checks pass locally: uv run ruff format (5 files unchanged), uv run ruff check (all passed)
  • User-facing docs or screenshots updated: N/A (internal warning, no doc surface)

Risk

  • Security impact considered: adds a stderr notice only; no new code path, no shell, reads only the exception type name
  • Backward compatibility considered: existing logger.exception calls are unchanged; the warning is additive
  • Rollback path is clear: revert restores the four bare except blocks

Related Issues

Fixes #271

The four backend.start() call sites (agent REPL x2, gateway, TUI) caught
the failure with logger.exception only. Under the TUI loguru is redirected
to a file, so an invalid memory identity (rejected by EverosBackend in
start()) silently turned long-term memory off with nothing on screen.

Add a warn_memory_start_failed helper that prints to stderr (mirroring the
embedding-unavailable warning in everos/backend.py) and call it from every
start() call site, so a degraded-memory condition is visible in every entry
point instead of only the agent REPL and gateway.

Co-authored-by: Claude (claude-opus-5) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(plugin): an invalid memory identity turns memory off without saying so

1 participant