Skip to content

debezium/dbz#2156 feat: add reactive LangGraph agent demonstration ex…#14

Open
KMohnishM wants to merge 1 commit into
gsoc-week-6-metadatafrom
gsoc-week-6-reactive
Open

debezium/dbz#2156 feat: add reactive LangGraph agent demonstration ex…#14
KMohnishM wants to merge 1 commit into
gsoc-week-6-metadatafrom
gsoc-week-6-reactive

Conversation

@KMohnishM

@KMohnishM KMohnishM commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

…ample
Completes debezium/dbz#2156

Description

This Pull Request implements the second half of GSoC Week 6 targets under tracking issue debezium/dbz#2156. It introduces the reactive_agent example under examples/reactive_agent/, which demonstrates a LangGraph agent reacting dynamically in real-time to change data capture (CDC) updates from the primary PostgreSQL database.

Key Changes

  1. Containerized Database Environment:
    • Added docker-compose.yml defining a PostgreSQL service pre-configured for WAL logical replication (wal_level=logical) and initial seeding schema (setup_db.sql).
  2. Sync Daemon Ingestion:
    • Implemented stream_sync.py wrapping the embedded Debezium engine to capture logical transactions on catalog rows and synchronize them to Chroma in real-time.
  3. Agent & Tool Binding:
    • Implemented agent.py creating a LangChain retriever tool using create_retriever_tool. Supports OpenAI, Ollama, and a fully functional local Mock agent fallback that inspects product quantity levels.
  4. Automated End-to-End Demo:
    • Created demo.py performing the full reactive simulation sequence: initial catalog retrieval, executing a SQL update to sell out a product, capturing the WAL log, updating the vector database, and querying the agent again to witness the changed decision.
  5. Code Standardizations:
    • Fixed module-resolution duplication in MyPy by establishing standard package boundaries (__init__.py files) in examples/.
    • Updated tool annotations to reference BaseTool across all codebase examples.

Verification Results

  • Ruff Quality Check: Passed (All checks passed!).
  • MyPy Type Safety: Passed (Success: no issues found in 45 source files).
  • Test Suite: Run and passed 86 tests successfully.

@KMohnishM
KMohnishM force-pushed the gsoc-week-6-reactive branch from 7a6fda5 to b3daf4e Compare July 3, 2026 05:40
@KMohnishM
KMohnishM force-pushed the gsoc-week-6-metadata branch from 646ff04 to 25e0aa4 Compare July 3, 2026 05:43
@KMohnishM
KMohnishM force-pushed the gsoc-week-6-reactive branch 4 times, most recently from 19a4e14 to 18da6c6 Compare July 3, 2026 06:19
…ample

Signed-off-by: KMohnishM <kmohnishm@gmail.com>
@KMohnishM
KMohnishM force-pushed the gsoc-week-6-reactive branch from 18da6c6 to 62a1640 Compare July 3, 2026 12:36
@KMohnishM KMohnishM changed the title debezium/dbz#2128 feat: add reactive LangGraph agent demonstration ex… debezium/dbz#2156 feat: add reactive LangGraph agent demonstration ex… Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant