Skip to content

memory-lancedb-pro @ master (post v1.1.0-beta.10): agent_end hook blocked under external (non-bundled) install — data stays in-memory, never flushes to memories.lance #850

Description

@OKmiao88888888

Bug Description

After a clean install of memory-lancedb-pro as an external (non-bundled) plugin under ~/.openclaw/workspace/plugins/memory-lancedb-pro, the agent_end typed hook is silently blocked at runtime. This causes smartExtraction and memoryReflection to never fire, and crucially, the in-memory autoCapturePendingIngressTexts queue never gets flushed to memories.lance — data accumulated in the current Gateway process is at risk of total loss on restart.

Environment

Reproduction Steps

  1. Install memory-lancedb-pro as an external plugin in OpenClaw (not bundled)
  2. Enable smartExtraction: true and sessionStrategy: "memoryReflection" in plugin config
  3. Run the agent for several conversation turns
  4. Check ~/.openclaw/memory/lancedb-pro/memories.lance mtime — it does not update after agent_end
  5. Check ~/.openclaw/memory/lancedb-pro/.memory-write.lock — last modified at plugin install time, 0 bytes, no active write lock

Expected Behavior

agent_end should trigger smartExtraction to write structured facts to LanceDB, and memoryReflection should store session summaries. The autoCapturePendingIngressTexts queue should be drained on agent_end and the entries persisted to memories.lance.

Actual Behavior

agent_end hook is silently dropped at the registry level. No error shown to the user. smartExtraction and memoryReflection never run. autoCapturePendingIngressTexts queue grows without bound in process memory. memories.lance mtime stays at the original install timestamp.

Workaround (unverified by maintainers)

Add the following to openclaw.json under plugins.entries.memory-lancedb-pro (note: hooks is a sibling of config, not nested inside it):

"hooks": {
  "allowConversationAccess": true
}

This matches the suggested workaround in #707. However, this workaround has not yet been confirmed by a maintainer, and a restart of the Gateway may be required for the change to take effect (unverified).

Related

Request

Could a maintainer please:

  1. Confirm whether hooks.allowConversationAccess: true is the correct user-side config, or if a different option name / path is expected
  2. Consider adding a clearer error at plugin startup when typed hooks are blocked (per the priority suggestions in [BUG] agent_end hook blocked in OpenClaw — smartExtraction and memoryReflection silently fail #707)
  3. Update the README to document the required hooks.allowConversationAccess opt-in for external (non-bundled) installs

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions