Repository navigation
fix(embedding): require verified model usability for status - #511
Merged
Merged
Conversation
12 of 28 tasks
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
An online embedding server could make Test status claim that a nonexistent model was usable, even with 100% historical vector coverage. Require Mnemon CLI 0.2.13+ for this check, consume its actual
embedding_availablemodel probe without falling back to provider reachability, and show model availability accurately in English and Chinese.关联 Issue 或背景 / Related Issue or Context
Fixes #494. The CLI implementation was already fixed in mnemon-dev/mnemon#173 and released in v0.2.13. This PR handles older installed binaries and the plugin status presentation; it does not duplicate the provider probe.
涉及区域 / Affected Areas
PR 类型 / PR Type
最新代码确认 / Latest Codebase Confirmation
main分支开发,或在提交前已 rebase 或合并最新main。 / I developed from the latestmain, or rebased or merged the latestmainbefore submitting.同步命令 / Sync command:
git fetch origin main; independent branch based onorigin/mainatc2433a2b.AI 编码披露 / AI Coding Disclosure
使用的 AI 模型 / AI model used:
GPT-6
使用的编码 Agent 工具 / Coding Agent tool used:
Codex
仓库规范检查 / Repository Rules
@deepseek-ai/*NPM 契约。 / I did not modify DSH source or point tsconfig at a DSH source checkout, and used only published@deepseek-ai/*NPM contracts.src/host/protocol.ts为准,没有在两侧重复定义 wire DTO。 / The Client and Host boundary still uses browser-safesrc/host/protocol.tsas the source for wire DTOs.lib/文件。 / I did not commit tokens, credentials, private memory, unredacted logs, or generatedlib/files.兼容性与数据安全 / Compatibility and Data Safety
Only Test status requires a recognized stable CLI version >=0.2.13. Older/custom unrecognized binaries receive an actionable upgrade error; other commands and coverage-only backfill counting retain legacy compatibility. The effective CLI is checked on every explicit test, so updating or rolling back the executable does not reuse a stale success. No storage format, credential, process environment, permission or memory mutation changes. The upstream synthetic probe sends no stored memories and uses the configured provider's normal billing/timeout behavior. Existing vector coverage does not establish compatibility with a newly selected model. Includes a patch changeset for Memory Spaces and synchronized guides.
本地验证 / Local Validation
执行的命令 / Commands run:
pnpm run verify pnpm exec vitest run plugins/dsh-mnemon-source-memory-spaces/tests/service.spec.ts tests/client-settings.spec.tsx结果摘要 / Result summary:
pnpm run verifypassed: root 2,245 passed / 7 skipped, all plugin suites, deterministic builds, real Headless activation and package validation. The first run identified the expected bilingual-copy fingerprint change; the reviewed baseline was updated and the full command rerun successfully.用户可见变更证据 / Local Feature Evidence
In an isolated real DSH 0.2.1-rc.2 Web profile with this branch built, set the saved endpoint to a loopback fixture that returns model-not-found and the model to
missing-model; click Apply then Test status. The visible result was嵌入模型不可用 · missing-model · 协议 ollama · 已嵌入 0/0(0%). A local screenshot was captured; no real account, secret or memory was used.Real CLI smoke results, through the Memory Spaces service, using disposable stores with one synthetic memory and 100% stored coverage:
The downloaded 0.2.13 archive was checked against its published SHA-256 before running it.
证据 / Evidence: