AI Engineer · LLM systems · applied product · Chile
I build retrieval and agent systems you can run without a key. Answers cite evidence or refuse. Agents stop on a budget.
Four hosts. Then clone the fifth.
- RepoMind — ask where
create_appis defined. Read apath:line. Then ask something the fixture cannot know. - Research agent — run a loop. Open the trace and the budget.
- Multi-agent — handoffs and a typed
degradedpath. Specialists on the free path are fakes. - AI gateway —
/healthis public./v1/platform/statusis 401 without a key.
curl https://pax-ai-gateway.vercel.app/health
curl -H "X-API-Key: dev-local" https://pax-ai-gateway.vercel.app/v1/platform/statusdev-local is a public fixture, not a credential. The four upstreams return unconfigured. That is the point.
Then clone production-rag. Hybrid retrieval needs local Qdrant. Ask a grounded question. Ask an unanswerable one. Watch it refuse.
All five are tagged v1.0.0. Default path: no API key, $0 billed, CI with empty provider secrets.
| System | What it proves | Status | |
|---|---|---|---|
| 1 | production-rag | Hybrid search, RRF, citations or refuse | LIVE · clone only |
| 2 | agentic-rag-research | Plan → retrieve → critique, under a step budget | LIVE · hosted |
| 3 | multi-agent-orchestration | Roles, handoff ceiling, writer-only finals | LIVE · hosted |
| 4 | repomind | AST chunks, path:line, fixture catalog |
LIVE · hosted |
| 5 | ai-platform | Auth, rate limit, aggregate status | LIVE · hosted |
P1 is not hosted. Do not cite production-rag.vercel.app — that host is not this repo.
P5 does not run P1–P4. Empty upstreams are the product story.
Scorecards are contracts (routing, citations, plumbing). They are not SOTA claims.
Captures live in each repo under docs/assets/. They are evidence, not the face of this profile.
- pharma-server — offline-first ERP/POS (Rust / Axum / SurrealDB)
- FarmaciaCompare · Prescribo — TypeScript / Next.js
- GeoAgent-App — maps / geo
- Why RRF instead of a weighted sum of dense and sparse scores
- Why a citation must map to a prompt block, not the raw hit list
- Why refuse is not the same as a provider error
- Why fake providers belong in CI, and why their metrics are not quality
- Why an agent loop dies by budget, not because the model decided to stop
- Why only Writer may speak to the user
- Why a code-QA API takes
repo_id, never a caller filesystem path
Free path first. Hosted providers are extras.
Evidence or refusal. An uncited claim is a bug.
Named failures: degraded, budget_exhausted, upstream_unconfigured. Never a 200 with empty meaning.
LIVE means a test and a clone path. PLANNED has no fake link.
Secrets stay out of git. CI runs with empty OPENAI_API_KEY.


