Skip to content

Staging - #450

Merged
suguanYang merged 17 commits into
stagingfrom
main
Sep 30, 2026
Merged

suguanYang merged 17 commits into
stagingfrom
main

Conversation

@suguanYang

Copy link
Copy Markdown
Contributor

No description provided.

EricNGOntos and others added 17 commits September 29, 2026 22:16
This commit deletes the test file `test_agent_tools_read_normalize.py`, which contained pure tests for the `_normalize_read_refs` function in the corpus.read module. The tests covered various scenarios for normalizing read references, including handling malformed shapes and empty arguments.
- Added `jsonschema` as a dependency in `uv.lock` and `pyproject.toml`.
- Introduced `_AllowExtraArgModel` to allow unrecognized keys in tool argument models.
- Updated validation logic in `dispatch_tool_call` and `ToolRegistry` to enforce strict argument checks against tool schemas, ensuring unknown keys are reported as errors.
- Enhanced `assets` tool to support scoping and improved error handling for invalid arguments.
- Refactored various tools to utilize the new validation functions, ensuring consistent argument handling across the codebase.
…lify retrieval logic

- Changed documentation to reflect that `term_search_text` is read by `corpus.grep` instead of `corpus.recall`.
- Updated test cases to remove references to the `term` channel in `recall` calls, aligning with the new retrieval logic.
- Removed unused SQL clauses and functions related to the `term` channel in the `recall` tool, streamlining the codebase.
- Enhanced the `grep` tool to ensure consistent snippet rendering across different retrieval methods.
- Updated `_AllowExtraArgModel` to ensure only supplied keys and unrecognized ones are forwarded, preventing contract breaks in MCP calls.
- Refactored `tool_message_content` to accept tool names and handle character limits more effectively, ensuring consistent rendering across tools.
- Improved error messaging in `validate_finish_args` to provide clearer feedback on invalid arguments.
- Added `ref_status` to `AgentStep` for tracking the status of references in `corpus.read` calls.
- Enhanced various tools to utilize the new validation and error handling mechanisms, ensuring robust argument processing.
- Added validation for empty queries in `execute_retrieval_query` and `create_retrieval_mcp_server`, returning structured responses with appropriate failure reasons.
- Enhanced the response format to include `router_used` and `failure_reason` for better error tracking.
- Updated the `render_map` function to handle oversized maps more gracefully, ensuring summaries are omitted first and providing clearer error messages when the map exceeds character limits.
- Refactored various tools to ensure consistent handling of asset paths and chunk types, improving overall retrieval accuracy and response consistency.
… query structure

- Eliminated support for deprecated `channels` and `channel_weights` fields in the `RetrievalQueryRequest` model and related functions, simplifying the retrieval query structure.
- Updated documentation to reflect changes in how `term_search_text` is handled, ensuring clarity in retrieval processes.
- Removed associated validation logic and tests for deprecated fields, enhancing code maintainability and reducing complexity.
…all tools

- Updated argument parsing in `grep` and `recall` functions to use default values more effectively, improving robustness against missing parameters.
- Modified test cases to ensure consistent handling of tool names in `tool_message_content`, enhancing clarity in error reporting and output formatting.
- Refactored response payloads to align with new structure, ensuring that details such as `total_matches` are correctly reported in the response.
- Added new tests to validate behavior for empty results and invalid parameters, improving overall test coverage and reliability.
Pyright treated the later payload `rows` annotation as the type of the SQL result, which blocked local CI.

Co-authored-by: Cursor <cursoragent@cursor.com>
The branch still parented 1a2b3c4d5e6f after main added later token-index revisions, which split heads.

Co-authored-by: Cursor <cursoragent@cursor.com>
Publication benchmark fingerprints still selected term_search_text_lower after the column was removed.

Co-authored-by: Cursor <cursoragent@cursor.com>
to_mcp_query_response now forwards router_used and failure_reason; the contract test must match that shape.

Co-authored-by: Cursor <cursoragent@cursor.com>
…ignment

feat(retrieval): align agent tool contract and feedback
…me-compatibility

fix: handle gevent publication writes and bound COPY batches
…-reuse

perf: reuse demo publication artifacts
LegacyTokenLookupMaintenance,
)

revision: str = "3c4d5e6f7a8b"
)

revision: str = "3c4d5e6f7a8b"
down_revision: str | None = "2b3c4d5e6f7a"

revision: str = "3c4d5e6f7a8b"
down_revision: str | None = "2b3c4d5e6f7a"
branch_labels: Sequence[str] | None = None
revision: str = "3c4d5e6f7a8b"
down_revision: str | None = "2b3c4d5e6f7a"
branch_labels: Sequence[str] | None = None
depends_on: Sequence[str] | None = None
@suguanYang
suguanYang merged commit 8cc081f into staging Sep 30, 2026
6 checks 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.

3 participants