Skip to content
View leonardoprimero's full-sized avatar

Block or report leonardoprimero

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
leonardoprimero/README.md

Leonardo Caliva

Applied AI Engineer — I build LLM systems that take real actions in production.

Agentic workflows, MCP servers, retrieval and document AI. Python and Node.js. Based in Argentina.

Most of the work is the unglamorous half: integrations, failure handling, validation, and deciding when a human should get the final call.


What I've built

🔎 Bruriah — MCP server for coding-agent memory

Open-source Python MCP server that gives coding agents durable project memory. Hybrid BM25 + vector retrieval with provenance-bound evidence, so an agent can cite where a claim came from — and where its confidence ends.

  • 1,056 tests passing, green CI on Linux and Windows
  • Reproducible retrieval evals: recall@3 0.83, MRR@10 0.80 (English corpus)
  • Measured latency: ~46µs per passage, p50 734ms at 16k passages
  • Documented threat model and a reproducible prompt-injection demo

The README has a "read this before installing" section where I refute my own earlier claims with the measurements that killed them. I'd rather publish the negative result than the benchmark.

pip install bruriah · PyPI · Apache-2.0

🌱 Freshness Engineering — truth maintenance for AI knowledge bases

Every RAG stack solves indexing; none of them solve the harder problem: your documents lie. Versions rot, repos migrate, licenses flip — and the KB keeps answering wrong with authority. This is the missing discipline, extracted from a production system: conventions, regression tests for knowledge, and a multi-agent verification method.

  • Field-tested on a 388-note production KB: one sweep found 30+ silently migrated repos and a dozen confidently-wrong claims — including an invented standards date that had already been copied into two notes
  • A 20-question knowledge smoke test runs against your own retrieval stack
  • Demand-driven growth: query logs surface what the KB can't answer
  • Python stdlib only, zero dependencies · pairs with Bruriah — one keeps retrieval cited, the other keeps it true

Repo · MIT

💬 Lilith — multilingual WhatsApp + email AI assistant (in production, private repo)

Node.js. An LLM tool loop that answers business questions, qualifies leads and books meetings — it doesn't just reply, it calls Google Calendar and Meet, persists state to Firestore and sends email. Two intake channels, one brain, external side effects guarded behind a safe-by-default dry-run mode.

Runs in production for a real business, with automatic reconnection and backoff.

🧾 Transfer-receipt AI — multimodal document extraction (in production, private repo)

Python · FastAPI · GPT-4o Vision. Argentine bank transfer receipts as images or PDFs → structured fields → CBU/CUIL business-rule validation → confidence scoring → routed to human review when the model isn't sure.

Built around an actual operational problem, not a benchmark.


Stack

LLM & agents OpenAI · Anthropic Claude · tool/function calling · MCP · RAG · hybrid retrieval · vector search · evals · prompt engineering
Languages Python (async, typing, packaging) · TypeScript / Node.js
Web & APIs FastAPI · Next.js · React · REST · webhooks
Integrations n8n · Google Workspace APIs · WhatsApp · Firebase / Firestore · Resend
Ops Git · GitHub Actions CI · Docker · Cloudflare · Vercel

Before the agents

Mathematician by training, quant by habit. That's where the engineering comes from, and I don't hide it:

  • A bot that scrapes and arbitrates multi-hop flight routes, finding fares cheaper than advertised — once got NYC for $195.
  • Automated pipelines for law and accounting firms with n8n, Google Sheets and WhatsApp.
  • Clustering algorithms for market microstructure classification.
  • Web scrapers that consolidate rental listings across five platforms.

"The essence of Cantor's diagonal argument is not just about infinity — it's about uniqueness through contradiction. And in many ways, that's what coding is too."

Every problem is a space. Some are countable, some are not. I enjoy walking the diagonal — finding the one thing you didn't list, the pattern that breaks the assumption. That's usually where the solution hides, and it's the same instinct that makes me test an AI system by trying to break it rather than by demoing it.


Links

🌐 leocaliva.com · 🔗 LinkedIn · ✉️ leocaliva@gmail.com

Pinned Loading

  1. bruriah bruriah Public

    An MCP server that lets an agent consult your knowledge without letting your knowledge instruct the agent. Evidence with provenance, never instructions.

    Python 1

  2. verified-extraction verified-extraction Public

    Document extraction with an LLM, where the verification layer is the product. Shadow-mode registry checks that cannot alter a decision, plus a harness that measures how much a model disagrees with …

    Python

  3. freshness-engineering freshness-engineering Public

    Truth maintenance for AI knowledge bases — conventions, tooling and a multi-agent method to keep a Markdown KB verified, fresh and honest. Zero dependencies.

    Python