Open
Conversation
aae8e62 to
b208aa6
Compare
st0012
commented
Mar 4, 2026
b208aa6 to
3dcb8a2
Compare
Morriar
reviewed
Mar 5, 2026
st0012
commented
Mar 5, 2026
st0012
commented
Mar 5, 2026
756e622 to
7a175d1
Compare
vinistock
reviewed
Mar 6, 2026
| } | ||
|
|
||
| /// Assert a JSON field equals the expected u64 value. | ||
| macro_rules! assert_json_int { |
Member
There was a problem hiding this comment.
The MCP's architecture still makes these tests a bit weird. It would be nice to have a separation of logic and presentation, so that we could verify logic with proper Rust structures and not have to worry about JSON.
7a175d1 to
ab1dff0
Compare
Add offset/total pagination to search_declarations, get_descendants,
and find_constant_references. Uses a two-pass paginate! macro: filter
pass counts total, map pass builds JSON only for the requested page.
- search_declarations: response wrapped in {results, total} envelope
- get_descendants: gains limit (default 100, max 500) and offset
- find_constant_references: gains offset; total always present
- limit=0 treated as default to guard against accidental empty pages
- Tool descriptions and server instructions mention pagination
- Add GraphTest::into_graph() for test graph injection
- Add 26 unit tests calling tool handlers directly (no process spawn)
- Windows-compatible test URIs via test_root()/test_uri() helpers
Add MCP Server section covering the two-pass pagination approach, result ordering guarantees (stable within a session, may vary across restarts due to parallel indexing), and key file references.
ab1dff0 to
ecd1dc0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
offsetandtotalpagination tosearch_declarations,get_descendants, andfind_constant_referenceslimit=0treated as "use default" to prevent empty pagesdocs/architecture.mdDesign decisions
Result ordering
Ordering is stable within a server session (graph is immutable after indexing) but may change across restarts due to parallel indexing affecting insertion order.
No caching
Each call re-walks the full filtered collection. This is O(N) per call and acceptable for expected cardinalities (hundreds to low thousands). Pagination is introduced now to support large codebases so we can start testing.
Caching will be introduced when we finished the incremental invalidation/resolution infrastructure.