Skip to content

FAQ & troubleshooting

What does Verel actually do?

It makes "done" a verdict, not an opinion. One verdict bus fuses every sense — tests, lint, types, and the eyes (AgentVision: visual defects, intent match, playback) — into a single pass / warn / fail, with grader attestation so a hollow check can't mint green. Only verified work compounds into memory.

Do I need an LLM key?

Not for the gate. verel-ci check --repo . runs tests + lint + types and returns a verdict with no LLM. A key is only needed for the agentic parts — verel heal, fleet, the tool-smith — which write code. Default provider is Ollama Cloud; set VEREL_LLM_PROVIDER=openai for OpenAI.

Does it work on a non-Verel / plain repo?

Yes. verel-ci check --repo . runs the standard graders (pytest / ruff / mypy) over any Python repo and maps them onto the verdict bus. See Get started.

What's the relationship to AgentVision?

AgentVision is the eyes; Verel is the brain. Install verel[sight] and visual perception (defects, intent conformance, temporal watch) joins the verdict bus as one grounded sense. They version independently but stay in sync.

Why didn't a vision finding fail the build?

Trust is per-source: precise graders (tests, DOM/OCR/CV) gate; advisory ones (the vision LLM, LLM-judge) are clamped to warn and can never trigger a destructive action like a rollback. That's by design — see What makes it trustworthy.

What are VEREL_REGISTRY_SECRET / VEREL_RUNNER_SECRET?

Signing secrets (skill-registry artifacts, grader run-receipts). They ship with dev defaults so examples run; set real values in production. See Configuration.

How do I gate my CI / commits?

GitHub Action or pre-commit hook — see Get started. Exit code is 0 unless the verdict is fail.

Memory

Can an agent's hallucination poison the shared memory?

No. An extracted fact enters as CANDIDATE (untrusted) and never graduates to VERIFIED unless it's (1) attested by a signature, or (2) corroborated by ≥2 authenticated sources. One agent — or an attacker — repeating a lie N times, or minting N self-asserted source labels, stays CANDIDATE. A value that was ever rejected stays un-promotable. See Memory in 5 minutes.

Is the verel memory like Mem0? Should I switch?

Same extraction idea, different trust model: Mem0 extracts-and-believes; Verel extracts-then-verifies. Keep Mem0 for a single agent with a human curator; reach for Verel when a fleet writes memory and a wrong fact would propagate. Honest when-to-use comparison + a "coming from Mem0" mapping.

Does memory work offline / without an LLM key?

Recall is fully offline — LocalMemory uses FTS5 BM25 (a term-weighted keyword ranker, the default for SQLite/Elasticsearch; matches keywords with no embeddings) plus the trust-aware rank. Only extraction from a raw conversation needs an LLM (the injected chat); you can run the quickstart offline with a fake one. Set VEREL_EMBEDDER=openai for semantic recall (e.g. "UI overflow" matching "text clipped").

Does Verel reduce my token / LLM cost?

Yes — that's a primary reason to use the memory. Instead of replaying the whole brain (or raw chat history) into every prompt, recall_budgeted returns only the highest-value memories that fit a token budget, graded-first. Measured (examples/demo_token_savings.py, exact tiktoken counts): a 40-fact brain drops from 679 → 135 tokens/turn (80% less) at a 100-token budget — and a hallucinated candidate is excluded, so you don't pay tokens to mislead the model. Facts (not transcripts), supersede-not-append, and decay/prune compound the saving. Full breakdown: Cost.

Which memory backend should I use?

local (SQLite, zero-config) for one process; a shared hosted brain (MemoryServer/ RemoteMemory) or Postgres/Redis/LanceDB for a fleet across machines — all behind the same MemoryView, so the trust layer is identical. See Memory backends and Recipes.

What is "grader attestation"?

A required grader must present a signed run_receipt proving it actually ran the suite over the changed files. "I ran the tests and they passed, trust me" = hollow (fails the gate). "Here's my signed receipt for suite X over files [a, b, c]" = precise and gating. This is what stops an agent from minting a green check it didn't earn.

Is the verdict bus a bottleneck?

No. The gate is diff-scoped, parallel graders run concurrently, and slow I/O (e.g. cloud-IAM checks) is async. Tune scope/timeouts in Configuration; see per-grader wall times in Graders.