This repository was archived by the owner on May 18, 2026. It is now read-only.
Revert: restore plugins/memory/mem0_oss/ (Phase 3 architectural rollback) - #3
Merged
Merged
Conversation
…ack) Reverts the `git rm -r plugins/memory/mem0_oss/` step from fork PR #1 (Phase 3a). Restored content is byte-identical (SHA-verified) to the pre-deletion state at commit 44a6808. ## Why The Phase 3 plan assumed memory providers could be relocated to the fox-overlay sibling package and loaded via the `hermes_agent.plugins` entry-point group. During Phase 3b monorepo PR review, Engineer discovered that upstream's memory-provider discovery is **separate** from the general plugin manager: - General plugins: `hermes_cli/plugins.py` PluginManager.discover_and_load via entry-points + bundled scan, using PluginContext. - Memory providers: `plugins/memory/__init__.py` directory-scan only, using a memory-provider-specific FakePluginContext with the `register_memory_provider` method (which standard PluginContext lacks). Relocating mem0_oss to an entry-point plugin made it unreachable by upstream's memory-provider discovery, AND incompatible with the standard PluginContext that the entry-point group provides. The bundled-plugin shape (here in `plugins/memory/<name>/`) is the only working integration path until upstream adds an entry-point-discoverable memory provider mechanism — or Fox builds one. ## Net effect on Phase 3 scope - Monorepo PR (NousResearch#221) removes the relocated mem0_oss/ from the overlay + reverts pyproject.toml entry-point + reverts agent_plugins/__init__.py explicit register call (companion change in the same monorepo branch). - mem0_oss remains a bundled fork plugin, working as it did in v0.5.4. - The 3 Fox monkey-patches (Bedrock target_model, auxiliary.default fallback, cron failure diagnostics) ship as planned via fox-overlay entry-point + bootstrap shim — those don't need a memory-provider context. - Net fork patch surface for Phase 3: still 1 file / ~23 lines (gateway/run.py bootstrap shim from PR #2). plus this restored mem0_oss directory (which is the pre-fork-PR-#1 baseline, not a Fox addition on top of upstream). ## Future work A dedicated future phase handles proper memory-provider relocation, likely requiring either: (a) An upstream PR to NousResearch/hermes-agent adding `register_memory_provider` to the standard PluginContext, OR (b) A Fox-side fake-context construction in the overlay that mirrors `plugins/memory/__init__.py`'s discovery path. Refs fox-in-the-box-ai/fox-in-the-box#171 + Reviewer findings on PR NousResearch#221.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fork PR #3 for Phase 3 of the Fox in the Box v0.6.0 upstream-separation migration (fox-in-the-box-ai/fox-in-the-box epic NousResearch#155). Reverts the
git rm -r plugins/memory/mem0_oss/step from fork PR #1 (which is part of the merged Phase 3 fork work). Restored content is byte-identical (SHA-verified) to pre-deletion commit `44a6808f`.Why this revert exists
Engineer-discovered architectural mismatch during Phase 3b monorepo PR (NousResearch#221) review: upstream's memory-provider discovery is separate from the general plugin manager:
hermes_cli/plugins.pyPluginManager.discover_and_loadvia entry-points + bundled scan, usingPluginContextplugins/memory/__init__.pydirectory-scan only, using a memory-provider-specificFakePluginContextwithregister_memory_provider(which standardPluginContextlacks)The original Phase 3 plan assumed memory providers were entry-point-compatible. They aren't. Relocating mem0_oss to the overlay made it unreachable by upstream's memory-provider discovery AND incompatible with the standard
PluginContextprovided by the entry-point group. Dennis approved Option A (revert relocation) over Option B (build a memory-provider context construction in overlay) and Option C (drop mem0_oss from v0.6.0).File changes (3 files, +1218 lines)
plugins/memory/mem0_oss/__init__.py(1011 lines, SHA-verified vs44a6808f)plugins/memory/mem0_oss/README.md(201 lines, SHA-verified)plugins/memory/mem0_oss/plugin.yaml(6 lines, SHA-verified — nokind:field, matching the siblingmem0manifest)Net effect on Phase 3 scope
packages/fox-overlay/fox_overlay/agent_plugins/+ reverts the entry-point inpyproject.toml+ reverts the explicitmem0_oss.register(ctx)call inagent_plugins/__init__.py+ reverts the MANIFEST.toml entry.target_model,auxiliary.defaultfallback, cron failure diagnostics) ship as planned via the fox-overlay entry-point + bootstrap shim — those don't need a memory-provider context.Future work (out of scope for v0.6.0)
A dedicated future phase handles proper memory-provider relocation, requiring either:
NousResearch/hermes-agentaddingregister_memory_providerto the standardPluginContext, ORplugins/memory/__init__.py's discovery pathTracked separately; not blocking v0.6.0 ship.
Cross-repo cohesion
Per
feedback_cross_repo_cohesion.md: this PR merges first; monorepo PR NousResearch#221 then re-bumps the submodule pin to this PR's merge SHA + applies its own companion changes.Authorship
Authored by `roadhero` (Dennis Vorobyov) per Fox migration policy.