Hit two bugs running v0.9.1 on a fresh setup with falkordb/falkordb:latest (currently FalkorDB module v4.16.9). Both are easy to reproduce.
Bug 1: Graph writes silently fail with Missing parameters on FalkorDB v4
Symptom
Every /commit returns:
"graph": {"written": false, "entities": 5, "connected_to": []},
"warnings": ["graph_write_failed: graph_write_returned_false"]
MATCH (n) RETURN count(n) against the brain graph returns 0 even after thousands of commits.
Root cause
tools/brain/graph.py passes Cypher parameters using the legacy redis-cli ... --params {json} syntax:
redis_client.execute_command(
"GRAPH.QUERY",
_state.GRAPH_NAME,
"MERGE (m:Memory {id: $id}) SET m.text = $text, m.created_at = $ts",
"--params",
json.dumps({"id": str(point_id), "text": text_preview, "ts": ts}),
)
FalkorDB v4 rejects this with Missing parameters and the error is logged but swallowed (graph_write_returned_false). Modern FalkorDB requires the in-query CYPHER param=value ... prefix syntax.
Fix (proposed)
Add a _params_prefix(params) helper that builds a CYPHER key="value" ... prefix with proper quoting/escaping, and prepend it to the Cypher string instead of passing --params. Affects 6 call sites in tools/brain/graph.py. Local patch tested against FalkorDB v4.16.9, all writes + 1-hop, 2-hop, keyword, and context queries verified working. Happy to open a PR.
Bug 2: A-MAC ignores provider = "anthropic" in config and always hits the Ollama URL
Symptom
With rasputin.toml:
[amac]
threshold = 4.0
timeout = 30
model = "claude-haiku-4-5-20251001"
provider = "anthropic"
Every commit logs:
A-MAC scoring error; fail-open: 404 Client Error: Not Found for url: http://localhost:11434/v1/chat/completions
The model name claude-haiku-4-5-20251001 is sent to Ollama at localhost:11434, which 404s.
Root cause
tools/brain/_state.py reads model, url, timeout, threshold from the [amac] config block but does not read provider. tools/brain/amac.py then unconditionally posts to _state.AMAC_LLM_URL (defaulting to Ollama's /v1/chat/completions) with an OpenAI-compatible body. The provider = "anthropic" line is decorative.
Fix (proposed)
Add AMAC_PROVIDER = str(CONFIG.get("amac", {}).get("provider", "ollama")).lower() to _state.py. In amac.py, branch on AMAC_PROVIDER == "anthropic" and ANTHROPIC_API_KEY to call https://api.anthropic.com/v1/messages with the standard x-api-key + anthropic-version headers and the Anthropic message format (then concatenate text blocks from the response). Local patch verified against claude-haiku-4-5-20251001 returning expected SCORES: r,n,s triplets.
Bonus: Qdrant healthcheck in docker-compose.yml references curl, not present in current Qdrant images
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:6333/healthz"]
qdrant/qdrant:latest no longer ships curl, so the container is permanently unhealthy (91k+ failing streak in my case). Replacing with a bash /dev/tcp probe works:
test: ["CMD", "bash", "-c", "exec 3<>/dev/tcp/localhost/6333 && printf 'GET /healthz HTTP/1.0\r\n\r\n' >&3 && head -1 <&3 | grep -q '200 OK'"]
Environment
- v0.9.1 via
git clone
- FalkorDB module v4.16.9 (image
falkordb/falkordb:latest pulled this week)
- Qdrant
qdrant/qdrant:latest
- Ollama 0.15.4
- Linux 6.6 (WSL2)
Happy to open a PR for any/all of these if useful.
Hit two bugs running v0.9.1 on a fresh setup with
falkordb/falkordb:latest(currently FalkorDB module v4.16.9). Both are easy to reproduce.Bug 1: Graph writes silently fail with
Missing parameterson FalkorDB v4Symptom
Every
/commitreturns:MATCH (n) RETURN count(n)against thebraingraph returns 0 even after thousands of commits.Root cause
tools/brain/graph.pypasses Cypher parameters using the legacyredis-cli ... --params {json}syntax:FalkorDB v4 rejects this with
Missing parametersand the error is logged but swallowed (graph_write_returned_false). Modern FalkorDB requires the in-queryCYPHER param=value ...prefix syntax.Fix (proposed)
Add a
_params_prefix(params)helper that builds aCYPHER key="value" ...prefix with proper quoting/escaping, and prepend it to the Cypher string instead of passing--params. Affects 6 call sites intools/brain/graph.py. Local patch tested against FalkorDB v4.16.9, all writes + 1-hop, 2-hop, keyword, and context queries verified working. Happy to open a PR.Bug 2: A-MAC ignores
provider = "anthropic"in config and always hits the Ollama URLSymptom
With
rasputin.toml:Every commit logs:
The model name
claude-haiku-4-5-20251001is sent to Ollama atlocalhost:11434, which 404s.Root cause
tools/brain/_state.pyreadsmodel,url,timeout,thresholdfrom the[amac]config block but does not readprovider.tools/brain/amac.pythen unconditionally posts to_state.AMAC_LLM_URL(defaulting to Ollama's/v1/chat/completions) with an OpenAI-compatible body. Theprovider = "anthropic"line is decorative.Fix (proposed)
Add
AMAC_PROVIDER = str(CONFIG.get("amac", {}).get("provider", "ollama")).lower()to_state.py. Inamac.py, branch onAMAC_PROVIDER == "anthropic" and ANTHROPIC_API_KEYto callhttps://api.anthropic.com/v1/messageswith the standardx-api-key+anthropic-versionheaders and the Anthropic message format (then concatenate text blocks from the response). Local patch verified againstclaude-haiku-4-5-20251001returning expectedSCORES: r,n,striplets.Bonus: Qdrant healthcheck in
docker-compose.ymlreferencescurl, not present in current Qdrant imagesqdrant/qdrant:latestno longer shipscurl, so the container is permanentlyunhealthy(91k+ failing streak in my case). Replacing with a bash/dev/tcpprobe works:Environment
git clonefalkordb/falkordb:latestpulled this week)qdrant/qdrant:latestHappy to open a PR for any/all of these if useful.