# Reported issues for VelesDB Memory

Pod holds 5 of 5 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to [VelesDB Memory](/mcp/velesdb-memory).

## Most discussed

### VelesQL and REST silently ignore a search mode they cannot parse

## What happens

`WITH (mode = 'adaptive')` in VelesQL, or `"mode": "adaptive"` in a REST search body, does not run Adaptive search. The query runs at the collection's default mode, and nothing tells the caller.

- `mode_to_search_quality` (`crates/velesdb-core/src/api_types/mod.rs:120`) accepts:
  - the named modes `fast`, `balanced`, `accurate`, `perfect` and `autotune`;
  - the forms `custom:<ef>` and `adaptive:<min_ef>:<max_ef>`.

  Anything else returns `None`, bare `adaptive` included.
-…

[Read the thread](https://github.com/cyberlife-coder/VelesDB/issues/2267) · 2026-09-10 · closed · 1 comment

### velesdb-memory: at its session cap the daemon locks every new client out for up to an hour instead of evicting an idle session

## What happened

On 2026-09-13, from 18:43, the velesdb-memory daemon (0.14.2, HTTP on 127.0.0.1:18090) refused every new MCP client. Each time the Claude Desktop bridge (`mcp-remote`) tried to connect, `~/Library/Logs/Claude/mcp-server-velesdb-memory.log` recorded:

```
Error POSTing to endpoint: Encounter an error when create session: too many concurrent MCP sessions (max 64); close an existing one and retry
```

The bridge then exited ("Connection closed"), and the server stayed "Failed" in…

[Read the thread](https://github.com/cyberlife-coder/VelesDB/issues/2289) · 2026-09-13 · open · 0 comments

### Mobile (UniFFI) SearchQuality::Custom/Adaptive, and mode = 'custom:<ef>', accept an unbounded ef

Found while fixing #2274 (`ef_search` out-of-range validation).

**What happens**

`#2274` bounds the dedicated `ef_search` option (VelesQL `WITH`, REST,
config, CLI, `velesdb-python`'s `search_with_ef`) to the documented
`[16, 4096]` range. Two related entry points carry the same unbounded-`ef`
shape and were left out of that PR's scope on purpose, to keep it surgical:

1. **`crates/velesdb-mobile/src/types.rs`** — the UniFFI `SearchQuality` enum
   exposed to Swift/Kotlin:
   ```rust…

[Read the thread](https://github.com/cyberlife-coder/VelesDB/issues/2275) · 2026-09-13 · open · 0 comments

### VelesQL WITH (ef_search = …) is never checked: a non-integer is ignored and -1 becomes an uncapped traversal

Found by the adversarial review of #2273 (round 8). It is the silent fallback #2267 fixed for `mode`, on the option that overrides `mode`.

**What happens**
- `WithClause::get_ef_search` (`crates/velesdb-core/src/velesql/ast/with_clause.rs`) reads the option as `get("ef_search").and_then(WithValue::as_integer).map(|v| v as usize)`, under `#[allow(clippy::cast_sign_loss, clippy::cast_possible_truncation)]`. No rule in `velesql/validation*.rs` checks it.
- A value that is not an integer, such as…

[Read the thread](https://github.com/cyberlife-coder/VelesDB/issues/2274) · 2026-09-13 · open · 0 comments

### REST OpenAPI document publishes rustdoc link syntax in 4 descriptions

## What happens

utoipa copies doc comments into the OpenAPI document the server publishes at `GET /api-docs/openapi.json`, committed as `docs/openapi.json` and `docs/openapi.yaml`. Four descriptions in it carry intra-doc link syntax that only rustdoc resolves:

| Where | Span |
|---|---|
| `GET /collections/{name}/graph/traverse/stream` | ``[`STATS_INTERVAL`]`` |
| `POST /collections/{name}/match` | ``[`super::helpers::http_status_for_error`]`` |
| `POST /collections/{name}/points/stream` |…

[Read the thread](https://github.com/cyberlife-coder/VelesDB/issues/2263) · 2026-09-10 · closed · 0 comments

## Most recent

The remaining reports are on [the project's issue tracker](https://github.com/cyberlife-coder/VelesDB/issues).
