Give your AI agent a map of any codebase
Your agent gets a map of the codebase with every claim cited to exact lines, and it gets it only after a person approves the cost.
What happened in one real run
We gave a LangGraph agent a real question about Flask: what would I change to shorten session expiry, and what depends on it? It had no guide to the code yet, so it asked Nehemvix what one would cost, then stopped and waited. This is what it was waiting on:
- Repository
- pallets/flask
- Estimate
- 8 to 15 cents
- Cap asked for
- 20 cents
- Spent so far
- Nothing yet
In this demo a script approved the cap four seconds later, standing in for the person who approves it in your setup. Nehemvix then wrote the guide in under five minutes for 9.5 cents. The agent searched it, read four sections and answered, linking each claim to the exact lines at commit 49943b5:
Change: Set
PERMANENT_SESSION_LIFETIMEto a shorter duration inapp.configduring app setup. For example:app.config["PERMANENT_SESSION_LIFETIME"] = timedelta(minutes=15). Flask’s guide identifies this as a session-related setting, but does not specify its default value (configuration, session implementation).What depends on it: The guide describes Flask’s default session as a signed browser cookie and identifies
permanentas a session attribute (SecureCookieSession,SessionMixin). It does not spell out exactly how the setting affects expiry or whether a custom session backend follows the same behavior; the backend integration point isSessionInterface(SessionInterface).
We opened every name and line range it cites, and each one is where it says. It missed two things the guide didn't
spell out: the default lifetime is
31 days,
and the setting is read by
get_expiration_time
to set the cookie's expiry. It said what the guide left open instead of guessing, which is what you want from an
agent, and a person still reviews the change.
Guardrails
Whoever sets up the server decides what an agent may spend. The agent works inside those limits:
- A spending ceiling. The agent can't ask for a cap above the ceiling set when the server starts.
- A cap on every guide. The agent must name one, and if the estimate is above it, nothing is spent.
- Model and key fixed at launch. A tool call can't change them, so text in a repository can't send your key elsewhere.
- Your key stays out of sight. It's read from an environment variable and never appears in a tool's input or output.
- Repository text is data. Text aimed at AI tools is flagged, and every read tool tells the agent it is data, not orders.
How we protect your code and key, step by step: security.
Plug it in
Install the command line with pipx install aelsha-nehemvix, make a guide with nehemvix run, then add this to any
MCP client. It is read-only until you turn spending on with a ceiling:
{
"mcpServers": {
"nehemvix": { "command": "nehemvix", "args": ["mcp", "--data", "/home/you/.nehemvix"] }
}
}
We ran a real agent through it in seven frameworks on the day of the run above: LangChain, LangGraph, Google ADK, the OpenAI Agents SDK, the Claude Agent SDK, Microsoft Agent Framework and CrewAI. The snippet for each framework is in the docs, with the JSON command line for agents that don't speak MCP. Prefer a hosted server that never spends? Connect an AI assistant.
Work with AELSHA™
Building an agent that spends money or changes code? AELSHA™ designs agents the way this one works: the cost is estimated first, a person approves it, and every answer cites its source.
About this run
What you read above is one uncut run on 10 November 2026. It started at 13:44 UTC, and the answer was in by 13:50.