Skip to content

Harden runtime dependencies, diagnostics paths, and embedding retries#478

Closed
raitoxlol wants to merge 2 commits into
mnemosyne-oss:mainfrom
raitoxlol:agent/harden-memory-runtime
Closed

Harden runtime dependencies, diagnostics paths, and embedding retries#478
raitoxlol wants to merge 2 commits into
mnemosyne-oss:mainfrom
raitoxlol:agent/harden-memory-runtime

Conversation

@raitoxlol

Copy link
Copy Markdown

What changed

  • Declare PyYAML>=6.0 as a runtime dependency and update uv.lock.
  • Resolve diagnostic logs under HERMES_HOME when it is set.
  • Retry embedding API HTTP 429/5xx responses and transient network failures with bounded exponential backoff; permanent 4xx errors still fail fast.
  • Add regression coverage for the dependency/path/retry behavior and document the fixes in the unreleased changelog.

Why

Clean installs failed during first-run config initialization because the package imported yaml without declaring PyYAML. Diagnostics ignored HERMES_HOME and could write into a different Hermes installation. Transient embedding endpoint failures returned immediately, creating silent embedding gaps.

Validation

  • Focused regression tests: 13 passed
  • python3 -m compileall: passed
  • scripts/verify-docs.py: passed (website docs skipped because the sibling checkout is unavailable)
  • python -m build: passed
  • Subprocess diagnostic check confirmed logs were written under the configured HERMES_HOME.

The full test suite was not run here; one existing diagnostics test fails because the current implementation closes a database connection that the test later reuses.

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 52664bc1-41f8-4f93-b855-884225f0ae0f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Wright Williams seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@AxDSan

AxDSan commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Merged in 21ff279. @raitoxlol solid first contribution. Three fixes in one PR, each with focused tests.

  • PyYAML dependency declared explicitly
  • Diagnostics respect HERMES_HOME
  • Embedding API retries with bounded backoff

Fixes #473 and #475. Welcome to the project.

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.

3 participants