I fix bugs in LLM libraries, inference servers and agent frameworks. Most of them turn out to be the same bug: a layer reports something other than what the layer under it did. I also build data pipelines, mostly for job-market data.
Building: wiretruth. Does your LLM SDK tell you the truth? It replays real provider responses through any-llm, LiteLLM, pydantic-ai, the Vercel AI SDK and TanStack AI, and checks what each one reports against what the provider sent. Results matrix.
94 merged PRs in 16 projects, counted in November 2026. The bigger ones:
- Semantica (19 merged): export, vector-store and triple-store fixes, e.g. ranking Euclidean results by distance in Qdrant and Pinecone.
- Xinference (18 merged): chat rendering, stop strings, streaming and replica failover, e.g. using greedy decoding at temperature 0 for Gemma 3, Gemma 4, GLM-4V and MiniCPM-V 4.6.
- Spec Kit (18 merged): integration manifests, extension catalogs, bundle pins and workflows, e.g. skipping the right side of
and/orwhen the left side decides. - FastMCP for TypeScript (14 merged): MCP protocol and edge runtime fixes, e.g. stopping tool notifications and timers after a call is aborted.
- txtai (5 merged): index and graph fixes, e.g. deleting the requested rows when ANN ids are a NumPy array.
- muse-gadget-sdk (4 merged): Linux runtime fixes, e.g. making
system.runreturn when the shell exits, not when its pipes close.
Also embabel-agent (3), ollaya (3), any-llm (2), solana-py (2), and TanStack AI plus five more projects with one each. All of them.
- ai-quality-gate: offline checks for recorded LLM output (schema, grounding, snapshots) that fail CI with an exit code and never call a model. On PyPI as
aiqg. - actgate: an MCP proxy that holds an agent's tool calls until a person approves them and writes each decision to a hash-chained ledger. On PyPI as
actgate. - djinni-market-etl: Djinni job postings in PostgreSQL, with one observation per posting per run, so time to close and reopens can be counted. Analysis recipes.
- solana-sort-key-and-clock: which rule 16 Solana mainnet validators use to order transactions in a block, measured with my own probe transactions. The raw data and a one-command reproduction are in the repo.
- StableInvoice: USDC escrow invoices on Solana. The client funds a vault up front, and the payment goes out in one sum once every milestone is accepted.
How do you test code that sits between your program and a model provider, when the provider's answer changes from run to run? My current answer is to record real responses once and check everything against the recording. wiretruth does that for SDKs, ai-quality-gate for an app's own LLM output.



