Commit Graph

202 Commits

Author SHA1 Message Date
Ted Li
c39f85822a fix(memory): warn on unverified qmd conflict 2026-05-09 05:36:40 -04:00
Ted Li
49db1908f3 fix(memory): verify qmd conflict before rebind 2026-05-09 05:36:40 -04:00
Ted Li
e422bcfc2a fix(memory): rebind qmd path conflicts from add errors 2026-05-09 05:36:40 -04:00
Peter Steinberger
4b2e231bf4 test: tighten memory probe cache assertions 2026-05-09 06:18:10 +01:00
Peter Steinberger
9202e74b11 test: tighten memory watcher error assertion 2026-05-09 06:06:05 +01:00
Shakker
3ce49c0acb test: tighten memory empty array assertions 2026-05-09 05:02:14 +01:00
Peter Steinberger
696eb6cf35 test: tighten qmd embed lock assertion 2026-05-09 04:44:37 +01:00
Peter Steinberger
af5eca9371 test: tighten memory wiki schema assertion 2026-05-09 03:02:03 +01:00
Peter Steinberger
6f575481e7 test: tighten qmd models absence assertion 2026-05-09 02:59:24 +01:00
Shakker
02e60e293f test: tighten memory cleanup assertions 2026-05-09 02:58:05 +01:00
Peter Steinberger
68d222456f test: dedupe memory reindex absence assertions 2026-05-09 02:41:51 +01:00
Peter Steinberger
ed4d7bb94e test: clear remaining empty filter assertions 2026-05-08 21:47:38 +01:00
Peter Steinberger
ab6e496317 test: require memory deferred callbacks 2026-05-08 19:09:14 +01:00
Shakker
b13e8b2ed7 test: tighten memory fallback provider assertions 2026-05-08 17:54:23 +01:00
Peter Steinberger
ce6fca41d8 test: require codex block reply text 2026-05-08 17:48:12 +01:00
Shakker
e0e8354536 test: tighten memory index manager assertion 2026-05-08 17:29:19 +01:00
Shakker
631c655db7 test: tighten memory watcher manager assertions 2026-05-08 17:28:27 +01:00
Shakker
b204b5dd25 test: tighten qmd update callback assertion 2026-05-08 17:25:22 +01:00
Peter Steinberger
2f001fc144 test: clarify memory fallback assertions 2026-05-08 13:14:50 +01:00
Peter Steinberger
9905f2d13a test: clarify memory and slack assertions 2026-05-08 11:53:22 +01:00
Peter Steinberger
7ebcce6a3d test: clarify qmd manager assertions 2026-05-08 11:50:46 +01:00
Peter Steinberger
774e8a7054 test: clarify memory core assertions 2026-05-08 11:49:00 +01:00
Shakker
8159efadf7 test: assert memory watcher concrete paths 2026-05-08 10:53:14 +01:00
Peter Steinberger
9ef37d1907 test: tighten assertions and harness coverage 2026-05-08 05:28:12 +01:00
Peter Steinberger
955b025697 feat: add native sqlite Kysely dialect
Add an owned Kysely dialect for native node:sqlite, raise the Node 22 floor to 22.16+ for StatementSync.columns(), and cover select/returning/stale insert id behavior.
2026-05-07 13:07:03 +01:00
Peter Steinberger
330ba1fa31 refactor: move canvas to plugin surfaces 2026-05-07 09:07:18 +01:00
Peter Steinberger
1ef85c7d4c test: make suites safe without isolation (#78834)
* test: make suites safe without isolation

* fix: narrow auth profile credential types

* test: inject channel module loader factory locally
2026-05-07 08:43:29 +01:00
Peter Steinberger
9c0b84eaa4 test(memory): tighten qmd manager wait polling 2026-05-06 19:58:29 +01:00
Peter Steinberger
8294229592 test: refresh fs-safe boundary expectations 2026-05-06 02:50:36 +01:00
Peter Steinberger
538605ff44 [codex] Extract filesystem safety primitives (#77918)
* refactor: extract filesystem safety primitives

* refactor: use fs-safe for file access helpers

* refactor: reuse fs-safe for media reads

* refactor: use fs-safe for image reads

* refactor: reuse fs-safe in qqbot media opener

* refactor: reuse fs-safe for local media checks

* refactor: consume cleaner fs-safe api

* refactor: align fs-safe json option names

* fix: preserve fs-safe migration contracts

* refactor: use fs-safe primitive subpaths

* refactor: use grouped fs-safe subpaths

* refactor: align fs-safe api usage

* refactor: adapt private state store api

* chore: refresh proof gate

* refactor: follow fs-safe json api split

* refactor: follow reduced fs-safe surface

* build: default fs-safe python helper off

* fix: preserve fs-safe plugin sdk aliases

* refactor: consolidate fs-safe usage

* refactor: unify fs-safe store usage

* refactor: trim fs-safe temp workspace usage

* refactor: hide low-level fs-safe primitives

* build: use published fs-safe package

* fix: preserve outbound recovery durability after rebase

* chore: refresh pr checks
2026-05-06 02:15:17 +01:00
Vincent Koc
0dd30c804c test(memory): cover native Windows paths and locks 2026-05-04 09:20:02 -07:00
Peter Steinberger
a38c2c233a fix(memory): split vector store readiness 2026-05-03 17:38:47 +01:00
buyitsydney
aba97a4c7c fix(memory): reindex archived session transcript updates 2026-05-03 02:15:20 -07:00
solodmd
d1365fef16 fix: handle ENOSPC file watcher errors gracefully (#73357)
Merged via squash.

Prepared head SHA: ce2dd6ed3e
Co-authored-by: solodmd <51304754+solodmd@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
2026-05-03 11:42:38 +03:00
buyitsydney
5f5e0a3633 fix(memory): retry reindex on socket errors (#76311)
Summary:
- The PR broadens memory-core's embedding retry classifier for socket/network errors, adds focused classifier tests, and adds an Unreleased changelog fix.
- Reproducibility: yes. Current main's retry classifier rejects the socket/fetch samples, and the reindex embedding path delegates to that classifier; a read-only regex probe confirmed the PR accepts the target samples.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): retry reindex on socket errors

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

Prepared head SHA: b4618c4532
Review: https://github.com/openclaw/openclaw/pull/76311#issuecomment-4364956064

Co-authored-by: buyitsydney <buyitsydney@users.noreply.github.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-03 03:21:06 +00:00
kunpeng-ai-lab
f3fd0eedff fix(memory): retry transient index swaps on Windows
Fixes #64187.

Adds bounded retry handling for transient Windows rename failures (`EBUSY`, `EPERM`, `EACCES`) during memory-core SQLite atomic reindex swaps. Keeps missing optional SQLite sidecars ignored and non-transient rename failures fail-fast.

Verification:
- PR CI green, including `check`, `check-additional`, `checks-node-core`, `build-smoke`, and security fast checks
- Contributor local proof: `pnpm exec vitest run extensions/memory-core/src/memory/manager.atomic-reindex.test.ts`
- Contributor local proof: `pnpm lint:extensions -- extensions/memory-core/src/memory/manager-atomic-reindex.ts extensions/memory-core/src/memory/manager.atomic-reindex.test.ts`
- Contributor local proof: `pnpm check:changed`

Co-authored-by: 鲲鹏AI探索局 <kunpeng-ai@outlook.com>
2026-05-02 11:07:48 +01:00
Peter Steinberger
112dedd093 refactor: remove plugin dependency cleanup leftovers 2026-05-01 21:55:50 +01:00
Peter Steinberger
f3d2ae895a refactor: trim memory core helper exports 2026-05-01 18:07:53 +01:00
Peter Steinberger
15649228d4 refactor: trim extension helper shims 2026-05-01 14:39:03 +01:00
Peter Steinberger
90554ea048 refactor: prune stale extension helpers 2026-05-01 10:57:27 +01:00
Peter Steinberger
ac599c9e53 fix: retain local memory runtime deps 2026-04-30 15:22:26 +01:00
Peter Steinberger
83267e99b0 chore: update dependencies 2026-04-29 22:42:45 +01:00
Logan Ye
2aa6abddbe fix(memory): add LIKE fallback when FTS5 MATCH throws and log silent search errors (#74175)
* fix(memory): add LIKE fallback when FTS5 MATCH throws and log silent search errors

When searchKeyword FTS5 MATCH fails (e.g. unicode61 tokenizer rejects
certain query patterns), the search now falls back to a LIKE-based query
instead of silently returning zero results. The four .catch(() => [])
sites in the search orchestrator now log warnings so failures are
visible in diagnostics.

Fixes #74036

* fix(memory): split LIKE fallback into per-token clauses and log MATCH errors
2026-04-29 07:16:32 -04:00
Peter Steinberger
afc4f06ca3 fix(memory): isolate qmd boot refresh 2026-04-29 08:14:08 +01:00
Peter Steinberger
a5824b9d01 fix(ci): stabilize full release validation 2026-04-29 02:00:30 +01:00
Peter Steinberger
d770a3b786 test(memory): stabilize reindex and cron checks 2026-04-28 11:36:28 +01:00
Peter Steinberger
af7f651db3 refactor(plugin-sdk): retire reserved helper exports 2026-04-28 05:21:57 +01:00
Peter Steinberger
4b4cde7187 fix(memory): back off qmd open failures 2026-04-28 04:16:25 +01:00
Peter Steinberger
983fd775e2 fix(memory-core): stream embedding cache seed during reindex
- stream safe-reindex embedding-cache seeding with SQLite iterate()
- avoid no-op empty-cache transactions and keep regression coverage explicit
- supersedes #73067

Thanks @parkertoddbrooks.
2026-04-28 01:44:03 +01:00
Peter Steinberger
864c4f7ff4 fix(memory-core): bound fallback vector chunk scoring
- stream fallback Memory Core vector scoring with SQLite iterate() and a bounded top-K result set
- add regression coverage and live-main lint/boundary helper repairs
- supersedes #73069

Thanks @parkertoddbrooks.
2026-04-28 01:23:40 +01:00