Repository navigation
fix(langchain): preserve Store reads and namespace discovery - #6342
Merged
Merged
Conversation
11 of 21 tasks
(cherry picked from commit 471ade9) Signed-off-by: Hao Zhe <[email protected]>
(cherry picked from commit 91b5ada) Signed-off-by: Hao Zhe <[email protected]>
(cherry picked from commit bd26425) Signed-off-by: Hao Zhe <[email protected]>
Move namespace coverage into the existing package suite. Exercise read failures through sync, async, batch and search entrypoints, combine peer-alias discovery with wildcard listing, and retain the current empty-namespace validation. Document the corrected behavior in both integration guides. Signed-off-by: Hao Zhe <[email protected]>
ehz0ah
force-pushed
the
fix/langgraph-store-reads
branch
from
October 20, 2026 10:14
aab37cd to
04d4c0b
Compare
t0saki
approved these changes
Oct 21, 2026
This was referenced Oct 21, 2026
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.
Description
Make LangGraph Store reads and namespace discovery return reliable results through the existing
OpenVikingStoreowner:get()andaget()previously returnedNonefor every record-read failure, whileput()attempted to create a record after the same failure. Only explicit missing-record errors now take those paths; permission, backend, malformed JSON and other read errors reach the caller before any write.viking://~/peers/support/memories/langgraph_store, writes and direct reads worked, but search and namespace listing discarded the server's canonical result URIs. Recognize the canonical peer path while preserving the peer ID, collection and complete store path when matching results.list_namespaces(prefix=("users", "*"))previously treated*as a literal URI segment. Apply LangGraph's single-label wildcard semantics and every batched match condition before depth truncation, deduplication, sorting and pagination. Literal labels such asa*and**remain literal.Existing URI encoding, record format, write validation, deletion behavior and optional dependency boundaries are unchanged. No storage migration is needed. Glob/discovery request error handling is outside this change; the error fix concerns individual record reads.
Human Involvement
Related Issue
Fixes #6041
Fixes #5766
Fixes #5815
Consolidates #6042, #5767 and #5816.
Type of Change
Changes Made
is_not_found_error()for record reads and the existing URI classifier for canonical peer results.MatchCondition.Testing
7c12d3062; all cases pass here. Public Store entrypoints reproduce each bug.git diff --checkpass.uv pip checkpass. All 15 wheel Python modules byte-match the final source. The sdist's bundled suite against the installed wheel, outside the checkout: 679 passed, 1 skipped.Skips are the optional SQLite checkpointer and, on Python 3.10,
asyncio.timeout. Existing dependency deprecation warnings remain. The HTTP fixture uses deterministic backing storage; it does not validate a deployed backend, authorization policy, vector service or external model.Checklist
Screenshots (if applicable)
Not applicable.
Additional Notes
Original commits by @ktz03 were cherry-picked with
-x, preserving their authorship:471ade9fe8c955725881b58445ae778a2ae3cc32.91b5ada949daa26967047a7d8bbcc6249fce9eac.bd26425a978abbed18507a6ecc3fedfe7663aaea.Test relocation, combined regression coverage, correction of the contributed empty-namespace test to match current validation, and guide updates are a separate signed-off commit by Hao Zhe. Source PRs remain open until this combined fix lands.