add_provider() state mutation timing bug fixes

NousResearch/hermes-agent · cluster 9948 · agent

Data as of

Nothing open on GitHub. Fix merged in #109131. Check it covers your case.

The short answer

0open issues
0open PRs
10items grouped
Known?
Yes. 10 related items grouped here, 1 issue already closed.
Fix event
A fix was merged to main in PR #109131. Check it covers your case. No release data is tracked.
Tracker
The maintainers' tracker marks this resolved, deciding PR #109131. That is separate from the fix event.
Still open
Nothing open on GitHub.

These items address a bug in add_provider() where state is mutated before schema loading succeeds, potentially leaving providers half-registered. The work defers state changes until schema loading completes and adds error handling to roll back or prevent registration on incomplete loading.

Open issues0

No open issues.

Open PRs0

No open pull requests.

Fixes on record

Merged to main. A stamp counts the issues a fix is linked to.

  • #109131 MemoryManager no longer keeps a provider whose schema load failed (#9948, salvage #9997)

    merged to main

    files: agent/memory_manager.py, contributors/emails/[redacted:email], tests/agent/test_memory_provider.py

  • #119888 hindsight moves to the plugin catalog (auto-migrated on first start / hermes update)

    merged to main

    files: .github/workflows/tests-os.yml, .github/workflows/tests.yml, COMPAT_MANIFEST.md, CONTRIBUTING.es.md, CONTRIBUTING.md, Dockerfile, compat_manifest.json, hermes_cli/config_defaults.py, hermes_cli/memory_setup.py, hermes_cli/subcommands/memory.py, hermes_cli/tips.py, hermes_cli/update_cmd.py, hermes_cli/web_server_memory.py, nix/checks.nix, nix/hermes-agent.nix, nix/moduleCommon.nix, nix/packages.nix, plugins/AGENTS.md, plugins/memory/__init__.py, plugins/memory/hindsight/README.md (+30 more)

7 PRs closed without merging

From the close comments: duplicate 3 · superseded by another PR 2 · merged via another change 1 · stale or abandoned 1

  • #9958 fix(memory): rollback add_provider state on schema load failure · stale or abandoned
  • #9997 fix(memory_manager): load schemas before mutating state in add_provider() · duplicate → #13224, #9948
  • #13224 fix(memory): defer state mutation in add_provider until schema load succeeds · merged via another change → befa573, #109131
  • #17119 feat(agent): support multiple simultaneous memory providers · superseded by another PR → #5688
  • #21418 fix(agent): wrap schema loading in try/except to prevent registration on failure · superseded by another PR
Show 2 more
  • #26613 fix(agent): load tool schemas before mutating state in add_provider() (#9948) · duplicate → #13224, #21418, #10051, #9948
  • #26660 fix(agent): load tool schemas before mutating state in add_provider() (#9948) · duplicate → #13224
Closed issues · 1
  • Closed#9948MemoryManager add_provider() leaves failed external provider half-registered
How this cluster was grouped
  • Link evidence (structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
  • Pairwise link density 0.20: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. 1.00 means every pair is linked.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Subsystem
agent
Merged PRs
#109131, #119888
Closed issues
1
Attempts
7 PRs closed without merging
Fix link checked
23 Sep 2026

For your agent

The same facts, typed.