Repository navigation
Report a failed embedding model load as non-retryable on every search path - #3686
Merged
Merged
Conversation
Collaborator
Author
Code Review: PR 3686 (issue 3683)Verdict: APPROVE (posted as a comment, since the PR is self-authored). No blockers. Requirements
Findings
RecommendationApprove and proceed through address-review, then merge. |
malibio
commented
Oct 7, 2026
malibio
left a comment
Collaborator
Author
There was a problem hiding this comment.
Code Review: PR 3686 (issue 3683)
Verdict: APPROVE (posted as a comment, since the PR is self-authored). No blockers.
Requirements
- Failed load returns non-retryable status on SearchNodes, FindSkillGuidance and EmbeddingsService: MET. All go through
embedding_model_unavailable(), which returns FAILED_PRECONDITION "failed to load". - In-flight load still Unavailable/retry, missing file still no-model message: MET. The failed check runs first, but the two flags are mutually exclusive (a load only spawns when a file exists).
SharedContext::model_load_failedand theEmbeddingsServiceImplflag removed: MET. Grep shows no remaining references; all 14 hand-built contexts updated.- Daemon test reaching failed-load through NodeService search: MET (
no_model_search.rs). - Docs line in daemon-cli-lifecycle.md: MET (docs db81586).
- Flag reset on every
build_shared_services: MET.
Findings
- Nit: assembly.rs
build_shared_services(clear of SHARED_MODEL_LOAD_FAILED). A load task from an earlier call that finishes after a later call's clear could set the flag stale. This matches the existing SHARED_MODEL_MISSING and IN_FLIGHT semantics, and the process builds shared services once, so no change is needed. - Nit: embeddings_service.rs. The removed unit test (
unavailable_reports_failed_precondition_once_load_failed) is covered by the new integration test. That test only asserts through NodeService search, not the EmbeddingsService RPCs, but both share the single function, so coverage is adequate. - Nit: no_model_search.rs.
std::env::set_varand the process-global flags rely on nextest per-process isolation. This is the same as the existing test, and the comment there explains it. The new test lacks that comment but it is not needed. - No issue numbers in comments or docs, no lint suppression, no leftover unused imports (AtomicBool is still used in assembly.rs).
Recommendation
Approve and proceed through address-review, then merge.
Collaborator
Author
Address reviewThe review was APPROVE with three nits and no change requested. Skipped all three:
Re-Review DecisionDecision: NO RE-REVIEW NEEDED Rationale: No code changed after the review. |
… path (closes #3683) The failed-load signal is process-global next to the missing and in-flight flags, so embedding_model_unavailable() answers FAILED_PRECONDITION for it and NodeService search no longer says the model is loading. The injected SharedContext::model_load_failed flag and its plumbing are gone. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
malibio
force-pushed
the
issue-3683-model-load-failed-status
branch
from
October 7, 2026 10:23
0ec1674 to
fea7845
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.
Closes #3683
Summary
embedding_model_unavailable()returnsFAILED_PRECONDITIONfor it, soSearchNodesandFindSkillGuidancestop saying the model is loading.SharedContext::model_load_failed, theEmbeddingsServiceImpl::newparameter and every hand-builtSharedContextfield (net -32 lines).Test plan
bun run test:changedno_model_search::covers missing, failed and loading🤖 Generated with Claude Code