github →

New request

#1980: Support provider-neutral external memory approval queues

We'll provision a sandbox, run an agent against the issue, and open a draft PR. You can pull the branch and iterate from there.

Issue
enhancement

Problem

The Memory panel currently edits local profile memory files, but there is no generic WebUI surface for human-in-the-loop review of memory candidates produced by external systems.

Some memory systems need an approval queue before durable knowledge is indexed or marked active. The WebUI can support that without coupling to any specific provider implementation.

Proposed shape

Add a provider-neutral "External Memory Approval Queue" surface:

  • Providers are opt-in and explicitly registered by the active Hermes profile.
  • No built-in provider is assumed.
  • No endpoint, hostname, model, collection, or infrastructure default is shipped.
  • The WebUI renders a common candidate shape and common review actions.

Provider registration

{
  "providers": [
    {
      "id": "custom_store",
      "label": "Custom Store",
      "db_path": "custom_memory/items.sqlite",
      "config_path": "custom_memory/config.json"
    }
  ]
}

Candidate table contract

candidates(
  id text primary key,
  text text not null,
  source text not null default 'agent',
  metadata_json text not null default '{}',
  state text not null default 'candidate',
  content_sha256 text not null,
  created_at real not null,
  updated_at real not null
)

Review actions

  • list candidates
  • list approved rows
  • search rows
  • edit candidate text before approval
  • approve
  • reject
  • delete local row

Safety

Approval should be fail-closed. If optional indexing configuration is missing or indexing fails, the candidate should remain unchanged and the UI should show a clear not-configured/error state.

Related implementation

A candidate implementation is open in PR #1975.

Assessmentadvisory
feature●●● hard90% confidence

Adding a provider-neutral memory approval queue requires new backend endpoints, frontend UI components, and persistence integration.

Likely files
  • api/routes.py
  • api/profiles.py
  • static/js/memory.js
  • static/index.html
  • api/memory_queue.py
  • tests/test_memory.py
Create the request

This opens a fresh agent run and a draft PR for issue #1980.

Cancel