Skip to content

feat: implement powermem langchain middleware - #1167

Closed
Ludwig-LMY wants to merge 1 commit into
oceanbase:vldb_2026from
Ludwig-LMY:feat/powermem-langchain-middleware
Closed

Ludwig-LMY wants to merge 1 commit into
oceanbase:vldb_2026from
Ludwig-LMY:feat/powermem-langchain-middleware

Conversation

@Ludwig-LMY

Copy link
Copy Markdown

Summary

Implement the PowerMem LangChain middleware for the VLDB 2026 summer school task.

Solution Description

  • Search PowerMem before model calls using the latest user message.
  • Inject retrieved memories into the model-visible context as a system message.
  • Persist the latest user and assistant interaction after the agent run.
  • Respect save_interactions=False.
  • Use the explicit user_id constructor argument.
  • Keep agent execution fail-open when memory search fails.
  • Support both sync and async agent invocation paths.

Tests

uv run --no-project --python 3.11 --with-editable "." --with-editable "packages/powermem-langchain[test]" pytest packages/powermem-langchain/tests -q

@CLAassistant

CLAassistant commented Jul 13, 2026 •

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

Copy link
Copy Markdown
Member

Thanks for the contribution. I do not think this is ready to merge yet.

Current blockers:

  • The CLA check is still pending.
  • The PR status currently only shows the lightweight checks, not the full VLDB LangChain package / contract checks on this head.
  • This overlaps with several other LangChain middleware submissions, so we should coordinate on one implementation before merging.

Please complete the CLA, make sure the full LangChain checks run and pass, and coordinate with maintainers on whether this should be the PR we keep.

@LINxiansheng

Copy link
Copy Markdown
Member

LangChain Contract Score

LangChain Contract Score
========================
score: 100.00 / 100
suites: 2
rule: A weighted capability receives credit only when it passes on every configured Python suite and all declared prerequisite capabilities also receive credit. Gate tests are reported but do not add points.

Public import contract: PASS (gate)
  py311: passed
  py312: passed
Retrieve memory before model call: PASS (35/35)
  py311: passed
  py312: passed
Persist interaction after agent run: PASS (25/25)
  py311: passed
  py312: passed
Disable interaction persistence: PASS (10/10)
  py311: passed
  py312: passed
Fail-open on search error: PASS (15/15)
  py311: passed
  py312: passed
Async memory injection: PASS (15/15)
  py311: passed
  py312: passed

LangChain Contract Report

LangChain Contract Report
=========================
score: 100.00 / 100
rule: A weighted capability receives credit only when it passes on every configured Python suite and all declared prerequisite capabilities also receive credit. Gate tests are reported but do not add points.

Suite Summary
-------------
py311: passed=6/6, failures=0, errors=0, skipped=0
py312: passed=6/6, failures=0, errors=0, skipped=0

Gate Checks
-----------
Public import contract [gate] PASS
  - py311: passed
  - py312: passed

Weighted Breakdown
------------------
Retrieve memory before model call [35/35] PASS
  - py311: passed
  - py312: passed
Persist interaction after agent run [25/25] PASS
  - py311: passed
  - py312: passed
Disable interaction persistence [10/10] PASS
  - py311: passed
  - py312: passed
Fail-open on search error [15/15] PASS
  - py311: passed
  - py312: passed
Async memory injection [15/15] PASS
  - py311: passed
  - py312: passed

Workflow run

@Ludwig-LMY

Copy link
Copy Markdown
Author

Thanks for the contribution. I do not think this is ready to merge yet.

Current blockers:

  • The CLA check is still pending.
  • The PR status currently only shows the lightweight checks, not the full VLDB LangChain package / contract checks on this head.
  • This overlaps with several other LangChain middleware submissions, so we should coordinate on one implementation before merging.

Please complete the CLA, make sure the full LangChain checks run and pass, and coordinate with maintainers on whether this should be the PR we keep.

Thanks for the review.

I have verified that the LangChain contract checks now pass with score 100/100 on both py311 and py312.

I will complete the CLA step by adding/verifying the commit email on my GitHub account. Please let me know if any implementation changes are preferred for coordination with the other LangChain middleware submissions.

@PsiACE PsiACE added the vldb 2026 VLDB 2026 contributions label Jul 14, 2026 — with ChatGPT Codex Connector
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

vldb 2026 VLDB 2026 contributions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants