Skip to content

Moss integration as Datasource#12417

Open
CoderOMaster wants to merge 3 commits into
mindsdb:mainfrom
CoderOMaster:main
Open

Moss integration as Datasource#12417
CoderOMaster wants to merge 3 commits into
mindsdb:mainfrom
CoderOMaster:main

Conversation

@CoderOMaster
Copy link
Copy Markdown

Description

Added Moss as datasource similar to other sources of data
Fixes #12414

Type of change

(Please delete options that are not relevant)

  • ⚡ New feature (non-breaking change which adds functionality)

Verification Process

To ensure the changes are working as expected:

  • Test Location: Specify the URL or path for testing.
  • Verification Steps: Outline the steps or queries needed to validate the change. Include any data, configurations, or actions required to reproduce or see the new functionality.

Additional Media:

  • I have attached a brief loom video or screenshots showcasing the new functionality or change.

Checklist:

  • My code follows the style guidelines(PEP 8) of MindsDB.
  • I have appropriately commented on my code, especially in complex areas.
  • Necessary documentation updates are either made or tracked in issues.
  • Relevant unit and integration tests are updated or added.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 28, 2026

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@CoderOMaster
Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

github-actions Bot added a commit that referenced this pull request Apr 28, 2026
@entelligence-ai-pr-reviews
Copy link
Copy Markdown
Contributor

EntelligenceAI PR Summary

Adds a complete Moss vector store integration handler for MindsDB, enabling semantic and hybrid search capabilities via a new community-level DATA handler.

  • moss_handler.py: Core handler implementing full VectorStoreHandler interface with async-to-sync bridging, lazy index creation, polling-based readiness checks, hybrid search (alpha), and metadata filter DSL translation
  • settings.py: Pydantic config model with typo-correcting model_validator and range-enforcing field_validator for alpha
  • connection_args.py: Declares project_id, project_key, and optional alpha connection parameters
  • __init__.py / __about__.py: Handler registration metadata, version 0.0.1, MIT license
  • requirements.txt: Single dependency on moss package
  • README.md: Full usage documentation including RAG pipeline example
  • tests/__init__.py: Empty package initializer for test discovery

Confidence Score: 3/5 - Review Recommended

Likely safe but review recommended — this PR introduces a complete Moss vector store integration via moss_handler.py and settings.py, which is a non-trivial addition involving async-to-sync bridging, polling-based readiness checks, and a metadata filter DSL translation layer. While no automated review comments flagged specific bugs, only 5 of 9 changed files were reviewed, meaning moss_handler.py and settings.py — the core logic files — may not have received full automated scrutiny. The hybrid search alpha parameter, lazy index creation, and polling logic are all areas where subtle correctness issues could exist without triggering static analysis.

Key Findings:

  • The async-to-sync bridging pattern in moss_handler.py is a common source of event loop conflicts and deadlocks, especially in environments like MindsDB that may already manage their own async runtime — this warrants manual inspection even if no automated comment flagged it.
  • The polling-based readiness check introduces a busy-wait pattern that, depending on timeout and interval configuration, could cause slow index creation to silently fail or block threads — the bounds enforcement in settings.py field validators should be verified to prevent degenerate configurations.
  • The metadata filter DSL translation is a complex mapping layer; without review coverage confirmed on moss_handler.py, there is no assurance that edge cases (e.g., nested filters, unsupported operators) are handled gracefully rather than raising unhandled exceptions.
  • The model_validator typo-correction logic in settings.py is a non-standard pattern that could silently accept misconfigured inputs, masking user errors rather than surfacing them explicitly.
Files requiring special attention
  • moss_handler.py
  • settings.py

@torrmal
Copy link
Copy Markdown
Contributor

torrmal commented May 2, 2026

thank you!! can you please create a pull request in github.com/mindsdb/engine

@CoderOMaster
Copy link
Copy Markdown
Author

@torrmal sure thing, i will raise a PR there. Curious how different is engine repo from this main one?

@CoderOMaster
Copy link
Copy Markdown
Author

@torrmal Added my changes there :)

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.

[Integration]: Moss as Datasource

2 participants