fix(memory): increase QMD embedTimeoutMs default to 600s for local GG…#87572
fix(memory): increase QMD embedTimeoutMs default to 600s for local GG…#87572tanshanshan wants to merge 3 commits into
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed June 1, 2026, 2:27 AM ET / 06:27 UTC. Summary PR surface: Source 0, Tests 0. Total 0 across 4 files. Reproducibility: Partially: source-level reproduction is clear because current main resolves unset QMD embed timeout to Review metrics: 2 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the narrow default/help/test update only after maintainers accept the longer default and lock-budget behavior and either receive real QMD/GGUF proof or explicitly record a proof override. Do we have a high-confidence way to reproduce the issue? Partially: source-level reproduction is clear because current main resolves unset QMD embed timeout to Is this the best way to solve the issue? Unclear as a best fix without maintainer acceptance: raising the default is a plausible, narrow mitigation and matches local embedding precedent, but it broadens timeout and lock behavior for every unset QMD user. A more selective local-GGUF default could reduce upgrade impact if maintainers prefer that product shape. AGENTS.md: found and applied where relevant. Codex review notes: model gpt-5.5, reasoning high; reviewed against 28550c3847cc. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source 0, Tests 0. Total 0 across 4 files. View PR surface stats
Acceptance criteria:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
ClawSweeper PR egg: 🎁 locked until real behavior proof passes. Details
|
This comment was marked as low quality.
This comment was marked as low quality.
Keep config help in sync with DEFAULT_QMD_EMBED_TIMEOUT_MS change. ClawSweeper P2 finding: src/config/schema.help.ts:1304
ClawSweeper P2 finding: backend-config.test.ts:467 still expected 120000 for the non-finite fallback case after DEFAULT_QMD_EMBED_TIMEOUT_MS changed.
…UF models Increase DEFAULT_QMD_EMBED_TIMEOUT_MS from 120s to 600s to match built-in engine's local provider default. Local GGUF models need 3-4 minutes to embed a 30-50 file workspace on commodity hardware. Also improve error message to surface the config path: 'qmd embed failed (...) — consider increasing memory.qmd.update.embedTimeoutMs (default: 600000)' Fixes openclaw#74204
Summary
memory.qmd.update.embedTimeoutMsdefault is only 120s, causing repeated timeout failures and effectively disabling vector search.DEFAULT_QMD_EMBED_TIMEOUT_MSfrom 120_000 to 600_000 to match built-in engine'sembeddingBatchTimeoutSecondslocal-provider default. Improve error message to surface config path:memory.qmd.update.embedTimeoutMs.backend-config.ts(default change),qmd-manager.ts(error message),backend-config.test.ts(test expectation).Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
Motivation
The current 120s default is insufficient for local GGUF workloads, while built-in engine correctly uses 600s for local/self-hosted providers. Users discover the fix (
embedTimeoutMs: 600000) only viaopenclaw config schemaor docs, and error message does not hint at the config path. This PR aligns defaults and surfaces the fix in the error message.Real behavior proof (required for external PRs)
fix/qmd-embed-timeout-74204branch.grep -n "DEFAULT_QMD_EMBED_TIMEOUT_MS" packages/memory-host-sdk/src/host/backend-config.ts
grep -n "qmd embed failed" extensions/memory-core/src/memory/qmd-manager.ts
node scripts/run-vitest.mjs packages/memory-host-sdk/src/host/backend-config.test.ts -t "embedTimeoutMs"
Root Cause (if applicable)
N/A — config default mismatch, not a bug in runtime logic.
Regression Test Plan (if applicable)
N/A — default change, no behavior regression risk.
User-visible / Behavior Changes
Users with local GGUF embedding will see fewer timeout failures after upgrade. Error message now hints at config path if timeout still occurs.
Diagram (if applicable)
Security Impact (required)
Repro + Verification
Environment
Steps
fix/qmd-embed-timeout-74204branchExpected
DEFAULT_QMD_EMBED_TIMEOUT_MSis 600_000. Error message mentionsmemory.qmd.update.embedTimeoutMs. Test passes.Actual
All checks pass as expected.
Evidence
Human Verification (required)
Review Conversations
Compatibility / Migration
Risks and Mitigations
None — simple default increase aligning with built-in engine's local provider default.
Fixes #74204