Skip to content

Multi granular#188

Merged
m1rl0k merged 31 commits intotestfrom
multi-granular
Jan 19, 2026
Merged

Multi granular#188
m1rl0k merged 31 commits intotestfrom
multi-granular

Conversation

@m1rl0k
Copy link
Collaborator

@m1rl0k m1rl0k commented Jan 19, 2026

No description provided.

m1rl0k added 14 commits January 18, 2026 23:41
Adds support for storing and updating symbol signature and docstring metadata in Neo4j nodes and edges. Improves connection stability by adding liveness checks and configurable connection pool settings. Updates Docker Compose Neo4j memory settings for better performance.
Adds support for extracting and storing import maps for better callee resolution, enriches graph edges with qualified symbol names, and post-processes unresolved edges to link them to real definitions. Updates the Neo4j backend, CLI, and ingest pipeline to use simple names for matching, and enhances metadata extraction to provide import maps for all languages. This improves the accuracy of call/import relationships and enables more robust graph queries.
Update backend and pipeline scripts to extract and pass the import_map (as import_paths) to extract_call_edges and related functions. This enables more accurate qualified callee resolution during graph construction and indexing.
Introduces support for extracting and indexing class inheritance (INHERITS_FROM) relationships across multiple languages using tree-sitter, and adds corresponding edge types and Cypher queries in the Neo4j backend. Updates the ingestion pipeline, metadata extraction, and graph adapters to handle inheritance edges, enabling queries for base classes and subclasses. Also updates the Neo4j docker-compose config to include the Graph Data Science library.
Added automatic .env loading in reset.py to ensure environment variables are set. Updated metadata.py to avoid extracting inheritance for Rust, reflecting that trait implementations differ from class inheritance, and improved base class extraction logic to deduplicate results.
Adds thread-safe locking to Neo4j auto-backfill, improves PageRank computation with GDS fallback, and ensures consistent error handling by returning empty lists on Neo4j query failures. The async subprocess manager now cleans up temporary processes after use. The Qdrant edge upsert function adds retry logic with exponential backoff for transient failures. Both remote and standalone upload clients now use context managers to ensure bundle file handles are properly closed after upload.
Refactored PageRank computation to use the new non-deprecated GDS aggregation function syntax for graph projection in Neo4j. Added explicit graph cleanup and improved handling of existing graph projections. This ensures compatibility with newer GDS versions and avoids deprecated Cypher projection calls.
Adds more robust error logging for Qdrant upsert and delete operations, including batch and sub-batch failures. Updates Neo4j GDS graph drop calls to use YIELD for compatibility. Enhances hybrid search and reranker scripts with better warnings and debug logs for schema and query mismatches. Refactors Qdrant client pool to track and close temporary clients, improving resource management. Minor API signature update in ingest_adapter for Qdrant client injection.
Updated usage of asyncio.get_event_loop() to asyncio.get_running_loop() in async_subprocess_manager.py, refrag_glm.py, and refrag_openai.py to avoid deprecation warnings and ensure compatibility with newer Python versions. Improved destructor logic in AsyncSubprocessManager to handle absence of a running event loop. Enhanced QdrantConnectionPool to close temporary clients in close_all().
Replaced silent exception handling with logging in multiple scripts to improve error visibility and debugging. Now, failures in Qdrant operations, embedding, upserts, and workspace state updates will emit warnings or debug logs with error details.
Replaces bare 'except Exception: pass' blocks with logging statements that record suppressed exceptions using logger.debug. This improves debuggability and traceability of silent failures throughout the codebase, while maintaining previous error-handling behavior.
@augmentcode
Copy link

augmentcode bot commented Jan 19, 2026

This pull request is too large for Augment to review. The PR exceeds the maximum size limit of 100000 tokens (approximately 400000 characters) for automated code review. Please consider breaking this PR into smaller, more focused changes.

m1rl0k added 15 commits January 19, 2026 11:37
Introduces a get_results helper in conftest.py to normalize extraction of results from API responses, handling both plain and TOON-encoded formats. Updates all relevant tests to use this helper for improved consistency and robustness in result handling.
Simplifies the TOON encoder by removing legacy helper functions and wrappers, consolidating encoding logic, and ensuring round-trip compatibility with the official python-toon library. Updates search/context result encoding to use direct TOON encoding for easier decoding. Enhances Neo4jGraphBackend auto-backfill logic with rate limiting and improved handling when Qdrant is empty, preventing premature marking of collections as checked. Updates tests for round-trip verification and removes reliance on internal encoding helpers.
Pseudo-tag and graph edge generation is now deferred to a post-indexing backfill step for faster initial indexing. Added a backfill routine to scripts/ingest/cli.py, updated reset.py to set the defer flag, and modified CLI logic to run backfill after indexing if deferred. Tests for dynamic field inclusion were updated to decode and assert on structured output rather than string matching.
Introduces an autouse pytest fixture that removes specific modules from sys.modules after each test. This prevents stale module references from affecting subsequent tests, especially those that monkeypatch sys.modules.
Introduces a timeout parameter to Neo4jKnowledgeGraph query methods and uses explicit transactions for better control. Improves backend driver cleanup by handling async driver pool shutdown at process exit. Also fixes edge deletion queries to correctly count deleted relationships.
Adds threading locks to caches in ranking and upload client scripts for safe concurrent access. Updates error logging to include exception info in several modules. Refactors Neo4j transaction usage for impact analysis and fixes Jaccard similarity calculation. Enhances test coverage for rerank subprocess path.
Improves error handling and logging throughout scripts by adding detailed debug logs for exception cases, especially in workspace_state.py and indexing_admin.py. Enforces stricter argument validation in scripts/ingest/qdrant.py by raising ValueError for missing required arguments instead of printing warnings, ensuring that invalid usage is caught early. Updates scripts/ctx.py to use shlex.split and shell=False for subprocess calls to improve security. These changes enhance maintainability, debuggability, and security of the codebase.
Enhanced exception handling by logging error details in various functions. This improves debuggability by providing more context when exceptions occur, especially during file operations, path resolution, and environment variable parsing.
Enhanced exception handling throughout workspace_state.py by adding logger.debug statements to provide more context when errors occur. This improves traceability and aids in debugging by capturing exception details in log output.
Logs a debug message when OrderedDict import fails and dict is used as a fallback, aiding in diagnosing import issues during testing.
Enhanced exception handling throughout hybrid_search.py by adding debug-level log messages that capture exception details. This improves traceability and aids in debugging by providing more context when errors occur, while maintaining existing fallback behaviors.
Enhanced exception handling throughout multiple MCP implementation scripts and Neo4j plugins by adding logger.debug calls with contextual messages for suppressed exceptions. This improves traceability and debugging without altering core logic or error handling flows. Also, minor adjustments were made to ensure symbol 'id' properties are consistently set in Neo4j graph operations.
Enhanced exception logging throughout admin_tools.py, context_answer.py, and memory.py to provide more context and include suppressed exception details. Added a new utility function _extract_kwargs_payload in utils.py for extracting kwargs from various input formats. Also removed redundant exception handling in _validate_answer_output.
Enhanced debug logging in context_answer.py and search_history.py to provide more detailed information when exceptions are suppressed, aiding in troubleshooting and maintenance.
@m1rl0k m1rl0k merged commit aa5db61 into test Jan 19, 2026
1 check passed
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