Skip to content

build_memory_lancedb_pro_corpus run failed #3

Description

@varg1714

Execution Process

I executed the following commands in order and then got an error:

(locomo-eval) ➜ locomo-eval git:(main) ✗ uv run python scripts/build_memory_lancedb_pro_corpus.py \

--source-db locomo-bench/lancedb

Traceback (most recent call last):

File "/Users/varg/store/work-store/tool/locomo-eval/scripts/build_memory_lancedb_pro_corpus.py", line 91, in <module>

main()

~~~~^^

File "/Users/varg/store/work-store/tool/locomo-eval/scripts/build_memory_lancedb_pro_corpus.py", line 58, in main

migrate_stdout = run_openclaw_command(

[

...<8 lines>...

]

)

File "/Users/varg/store/work-store/tool/locomo-eval/src/openclaw_cli.py", line 23, in run_openclaw_command

raise OpenClawCliError(detail)

src.openclaw_cli.OpenClawCliError: [plugins] memory-lancedb-pro@1.1.0-beta.9: plugin registered (db: /Users/varg/store/work-store/tool/locomo-eval/locomo-bench/lancedb-pro, model: text-embedding-3-large, smartExtraction: OFF)

[plugins] memory-lancedb-pro: diagnostic build tag loaded (memory-lancedb-pro-diag-20260308-0058)

[plugins] session-strategy: using none (plugin memory-reflection hooks disabled)

Migrating from: /Users/varg/store/work-store/tool/locomo-eval/locomo-bench/lancedb

Found 1134 entries to migrate

Migration Results:

• Status: Failed

• Migrated: 0

• Skipped: 1134

• Errors: 1134

- Failed to migrate entry 839525ff-7d7b-4315-816e-fe81049a859f: Error: Vector dimension mismatch: expected 3072, got 0

The commands I ran are as follows:

./setup_memory_core.sh

uv run python scripts/build_memory_core_corpus.py \

--input datasets/locomo10.json
./setup_memory_lancedb.sh

uv run python scripts/build_memory_lancedb_corpus.py \

--input datasets/locomo10.json
./setup_memory_lancedb_pro.sh

uv run python scripts/build_memory_lancedb_pro_corpus.py \

--source-db locomo-bench/lancedb

Environment Configuration

When I ran uv run python scripts/build_memory_lancedb_corpus.py, the following error occurred:


(locomo-eval) ➜ locomo-eval git:(main) ✗ uv run python scripts/build_memory_lancedb_corpus.py \

--input datasets/locomo10.json

Traceback (most recent call last):

File "/Users/varg/store/work-store/tool/locomo-eval/src/memory_core.py", line 107, in reindex_memory

return run_openclaw_command(["openclaw", "memory", "index", "--agent", agent_id, "--force"])

File "/Users/varg/store/work-store/tool/locomo-eval/src/openclaw_cli.py", line 23, in run_openclaw_command

raise OpenClawCliError(detail)

src.openclaw_cli.OpenClawCliError: error: unknown command 'memory'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

File "/Users/varg/store/work-store/tool/locomo-eval/scripts/build_memory_lancedb_corpus.py", line 98, in <module>

main()

~~~~^^

File "/Users/varg/store/work-store/tool/locomo-eval/scripts/build_memory_lancedb_corpus.py", line 72, in main

reindex_memory(args.agent_id)

~~~~~~~~~~~~~~^^^^^^^^^^^^^^^

File "/Users/varg/store/work-store/tool/locomo-eval/src/memory_core.py", line 109, in reindex_memory

raise MemoryCoreError(str(exc)) from exc

src.memory_core.MemoryCoreError: error: unknown command 'memory'

With cursor’s assistance, reindex_memory was modified as follows:

def reindex_memory(agent_id: str) -> str:
    import subprocess

    env = os.environ.copy()
    config_path = env.get("OPENCLAW_CONFIG_PATH", "")
    tmp_path: Path | None = None

    try:
        if config_path and Path(config_path).is_file():
            try:
                cfg = json.loads(Path(config_path).read_text(encoding="utf-8"))
                plugins = cfg.setdefault("plugins", {})
                slots = plugins.setdefault("slots", {})
                if slots.get("memory", "memory-core") != "memory-core":
                    slots["memory"] = "memory-core"
                    plugins.get("entries", {}).pop("memory-core", None)
                    tmp = tempfile.NamedTemporaryFile(
                        mode="w", suffix=".json", delete=False, encoding="utf-8"
                    )
                    json.dump(cfg, tmp)
                    tmp.flush()
                    tmp.close()
                    tmp_path = Path(tmp.name)
                    env["OPENCLAW_CONFIG_PATH"] = str(tmp_path)
            except (json.JSONDecodeError, OSError):
                pass

        result = subprocess.run(
            ["openclaw", "memory", "index", "--agent", agent_id, "--force"],
            check=False,
            capture_output=True,
            text=True,
            env=env,
        )
        if result.returncode != 0:
            stderr = result.stderr.strip()
            stdout = result.stdout.strip()
            detail = stderr or stdout or f"exit code {result.returncode}"
            raise MemoryCoreError(detail)
        return result.stdout
    finally:
        if tmp_path is not None:
            tmp_path.unlink(missing_ok=True)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions