Skip to content

fix(memory): resolve adapter default model in plain status identity check#90816

Merged
clawsweeper[bot] merged 2 commits into
mainfrom
clawsweeper/automerge-openclaw-openclaw-90748
Jun 6, 2026
Merged

fix(memory): resolve adapter default model in plain status identity check#90816
clawsweeper[bot] merged 2 commits into
mainfrom
clawsweeper/automerge-openclaw-openclaw-90748

Conversation

@clawsweeper
Copy link
Copy Markdown
Contributor

@clawsweeper clawsweeper Bot commented Jun 6, 2026

Makes #90748 merge-ready for the ClawSweeper automerge loop.
The edit pass should inspect the live PR diff, review comments, and failing checks; rebase if needed; keep the contributor branch credited; and stop only when validation is green or an external blocker is proven.

ClawSweeper 🐠 replacement reef notes:

  • Repair fallback: GitHub rejected the repair branch push because it updates workflow files and the ClawSweeper app token does not have workflows permission

Inherited issue-closing references from the source PR:
Fixes #90413

Co-author credit kept:

fish notes: model gpt-5.5, reasoning high; reviewed against 9741437.

@clawsweeper clawsweeper Bot added extensions: memory-core Extension: memory-core clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge clawsweeper Tracked by ClawSweeper automation labels Jun 6, 2026
@clawsweeper
Copy link
Copy Markdown
Contributor Author

clawsweeper Bot commented Jun 6, 2026

Codex review: passed. Reviewed June 5, 2026, 10:33 PM ET / 02:33 UTC.

Summary
This PR updates memory-core index identity resolution to treat an empty configured model as the embedding adapter default and adds a regression test for plain memory status.

PR surface: Source +5, Tests +33. Total +38 across 2 files.

Reproducibility: yes. from source and inherited proof: current main compares identity against an unresolved empty model in the plain status path, and the source PR shows the before/after CLI behavior on the same index.

Review metrics: none identified.

Merge readiness
Overall: 🦞 diamond lobster
Proof: 🦞 diamond lobster
Patch quality: 🦞 diamond lobster
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Next step before merge

  • [P2] No repair lane is needed; this automerge-opted PR has no review findings, so checks and mergeability should gate it.

Security
Cleared: The diff only changes memory-core TypeScript logic and a test; it does not touch workflows, dependencies, lockfiles, secrets, or package execution surfaces.

Review details

Best possible solution:

Land the narrow memory-core fix after the normal automerge checks pass, preserving the source PR credit and using the existing provider fallback helper rather than initializing the provider during plain status.

Do we have a high-confidence way to reproduce the issue?

Yes, from source and inherited proof: current main compares identity against an unresolved empty model in the plain status path, and the source PR shows the before/after CLI behavior on the same index.

Is this the best way to solve the issue?

Yes, this is the best narrow fix: it reuses the existing adapter-default helper at the identity comparison point and avoids a heavier status-time provider initialization or config migration.

AGENTS.md: found and applied where relevant.

Codex review notes: model gpt-5.5, reasoning high; reviewed against aa8070a76f92.

Label changes

Label changes:

  • add P1: The PR fixes a user-reported regression where plain memory status can falsely pause vector search and make memory_search appear disabled after a successful index.
  • add proof: sufficient: Contributor real behavior proof is sufficient. The replacement PR links to source PR proof with terminal before/after CLI output from a real source-built OpenClaw run against an isolated home and live local embeddings endpoint.
  • add rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦞 diamond lobster and patch quality is 🦞 diamond lobster.
  • add status: 🚀 automerge armed: This PR is in ClawSweeper's automerge lane. Sufficient (terminal): The replacement PR links to source PR proof with terminal before/after CLI output from a real source-built OpenClaw run against an isolated home and live local embeddings endpoint.

Label justifications:

  • P1: The PR fixes a user-reported regression where plain memory status can falsely pause vector search and make memory_search appear disabled after a successful index.
  • rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦞 diamond lobster and patch quality is 🦞 diamond lobster.
  • status: 🚀 automerge armed: This PR is in ClawSweeper's automerge lane. Sufficient (terminal): The replacement PR links to source PR proof with terminal before/after CLI output from a real source-built OpenClaw run against an isolated home and live local embeddings endpoint.
  • proof: sufficient: Contributor real behavior proof is sufficient. The replacement PR links to source PR proof with terminal before/after CLI output from a real source-built OpenClaw run against an isolated home and live local embeddings endpoint.
Evidence reviewed

PR surface:

Source +5, Tests +33. Total +38 across 2 files.

View PR surface stats
Area Files Added Removed Net
Source 1 6 1 +5
Tests 1 33 0 +33
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 2 39 1 +38

What I checked:

  • Current main still has the bug-shaped comparison: On current main, resolveCurrentIndexIdentityState builds the configured provider with model: this.settings.model, so a status-only manager with an empty configured model can compare stored metadata against a blank expected model before provider initialization. (extensions/memory-core/src/memory/manager-sync-ops.ts:302, aa8070a76f92)
  • Patch mirrors provider initialization fallback: At PR head, the configured provider model uses this.settings.model.trim() || resolveEmbeddingProviderFallbackModel(...), matching the adapter default model path used by provider creation. (extensions/memory-core/src/memory/manager-sync-ops.ts:303, 9741437564f2)
  • Provider contract supports the fix shape: resolveProviderModel trims the requested model and falls back to adapter.defaultModel, while resolveEmbeddingProviderFallbackModel reads the same adapter default without initializing the provider. (extensions/memory-core/src/memory/embeddings.ts:128, 9741437564f2)
  • Regression coverage targets the reported plain-status path: The new test builds an index under the provider default, opens a status-only manager with model: "", and asserts dirty is false with a valid index identity. (extensions/memory-core/src/memory/index.test.ts:496, 9741437564f2)
  • Source PR proof is real behavior proof: The source PR body linked from this replacement PR records a real openclaw memory status --agent main run against an isolated source-built CLI: before the patch it printed a blank expected model and paused vector search; after the patch, the same on-disk index reported Dirty: no. (52047e0f38e2)

Likely related people:

  • Ayaan Zaidi: git blame attributes the current resolveCurrentIndexIdentityState, memory search config defaulting, embedding fallback helper, and provider adapters in this checkout to commit afa04d6454; the history is compact but consistently points to this recent area work. (role: introduced current memory identity implementation; confidence: medium; commits: afa04d6454f5; files: extensions/memory-core/src/memory/manager-sync-ops.ts, extensions/memory-core/src/memory/manager.ts, extensions/memory-core/src/memory/embeddings.ts)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

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 keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane. P1 High-priority user-facing bug, regression, or broken workflow. labels Jun 6, 2026
@clawsweeper clawsweeper Bot merged commit 50aaf1f into main Jun 6, 2026
207 of 217 checks passed
@clawsweeper clawsweeper Bot deleted the clawsweeper/automerge-openclaw-openclaw-90748 branch June 6, 2026 02:34
@clawsweeper
Copy link
Copy Markdown
Contributor Author

clawsweeper Bot commented Jun 6, 2026

🦞✅
ClawSweeper merged this PR after the passing review.

Source: clawsweeper[bot]
Feedback: structured ClawSweeper verdict: pass (sha=9741437564f2880867337c6367b2188035ca1c05)
Merge status: merged by ClawSweeper automerge
Merged at: 2026-06-06T02:34:30Z
Merge commit: 50aaf1f9b634

What merged:

  • This PR updates memory-core index identity resolution to treat an empty configured model as the embedding adapter default and adds a regression test for plain memory status.
  • PR surface: Source +5, Tests +33. Total +38 across 2 files.
  • Reproducibility: yes. from source and inherited proof: current main compares identity against an unresolved empty model in the plain status path, and the source PR shows the before/after CLI behavior on the same index.

Automerge notes:

  • PR branch already contained follow-up commit before automerge: fix(memory): resolve adapter default model in plain status identity c…

The automerge loop is complete.

Automerge progress:

  • 2026-06-06 02:34:17 UTC review passed 9741437564f2 (structured ClawSweeper verdict: pass (sha=9741437564f2880867337c6367b2188035ca1...)
  • 2026-06-06 02:34:32 UTC merged 9741437564f2 (merged by ClawSweeper automerge)

github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jun 6, 2026
…heck (openclaw#90816)

Summary:
- This PR updates memory-core index identity resolution to treat an empty configured model as the embedding adapter default and adds a regression test for plain memory status.
- PR surface: Source +5, Tests +33. Total +38 across 2 files.
- Reproducibility: yes. from source and inherited proof: current main compares identity against an unresolved empty model in the plain status path, and the source PR shows the before/after CLI behavior on the same index.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): resolve adapter default model in plain status identity c…

Validation:
- ClawSweeper review passed for head 9741437.
- Required merge gates passed before the squash merge.

Prepared head SHA: 9741437
Review: openclaw#90816 (comment)

Co-authored-by: 宇宙熊Yzx <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
849261680 added a commit to 849261680/openclaw that referenced this pull request Jun 7, 2026
…heck (openclaw#90816)

Summary:
- This PR updates memory-core index identity resolution to treat an empty configured model as the embedding adapter default and adds a regression test for plain memory status.
- PR surface: Source +5, Tests +33. Total +38 across 2 files.
- Reproducibility: yes. from source and inherited proof: current main compares identity against an unresolved empty model in the plain status path, and the source PR shows the before/after CLI behavior on the same index.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): resolve adapter default model in plain status identity c…

Validation:
- ClawSweeper review passed for head 9741437.
- Required merge gates passed before the squash merge.

Prepared head SHA: 9741437
Review: openclaw#90816 (comment)

Co-authored-by: 宇宙熊Yzx <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge clawsweeper Tracked by ClawSweeper automation extensions: memory-core Extension: memory-core P1 High-priority user-facing bug, regression, or broken workflow. proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. size: XS status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

memory status always reports "Vector search: paused" with blank expected model (2026.6.1)

1 participant