Why
A standard winning is not the end of a story, it is the start of a different one. While the protocol was contested, the interesting work was the protocol. Once it stopped being contested — the MCP SDK is reported at roughly 195.9 million monthly npm downloads, ahead of every other tracked AI package — the interesting work moved one layer up, to whatever sits between an agent and the tools it calls. That layer is where identity, spend and access controls live, and it did not exist a year ago because nothing was standard enough to put a gateway in front of.
This catalogue has three cards about producing agents and none about governing them. mcp-three-sides covers building on the spec, agent is an autonomous payment agent, and this card used to be two: the infrastructure argument, and a live company running the same architecture. They belong together, because the design claim and its working counterexample are more useful in one place than in two.
Senpi is that working case, and it states the thesis better than an infrastructure vendor does. It describes its Samurai model as "a harness — a disciplined stack that wraps a market-tuned AI model in deterministic execution and risk machinery, so an autonomous agent can trade real capital without hallucinating a position or forgetting a stop." That is the same conclusion this catalogue reached twice from the other direction: agentic-intent-veto argues the bound must be enforced outside the agent, and this repo's own plan settles D5 the same way — deterministic decision for the demo, because an LLM in the decision path makes the safety claim harder to state rather than easier. A design argument with a live confirmation available in source form is worth more than another design argument.
The empty cell is specific and close to home. This report is itself produced by an agent, with real tool calls and a real bill, and there is currently no per-agent identity, no spend ceiling and no record of which tool consumed what. Those are exactly the three things an agent gateway provides. The question worth asking is not which vendor to pick — it is what the ledger would say if one were switched on for a week.
And the sharpest detail in the whole area is a unit problem. Senpi's take-profit and stop-loss are margin-relative, not price-relative, so at 10x a stated 10% take-profit fires on a 1% price move. The number is not wrong and the unit is not the one most people read — the same failure mode as a spend cap that constrains the amount but not the purchase. It is trivially measurable: sweep leverage, plot stated percentage against realised price move, and the gap is the answer.
How it works
The infrastructure layer
| Piece | What it does | Where it fits |
|---|---|---|
| LiteLLM | Rust-core gateway putting 100+ LLM APIs behind one interface, with cost tracking and load balancing | Makes a model swap a config change rather than a code change |
| TrueFoundry | Split into an MCP gateway governing every tool connection and an agent gateway carrying per-agent identity and spend limits | The governance half; published at roughly 3-4ms added latency, 350+ RPS on 1 vCPU |
| katanemo/plano | AI-native proxy and data plane with smart LLM routing | The routing half |
| vLLM | High-throughput serving on PagedAttention | The default once serving moves in-house |
| Context compression | Separating into its own infrastructure layer | Emerging, because agents have hit real token-cost ceilings |
Four things to check in senpi-skills, in the order that makes each cheap
- The enforced set. Senpi states that margin, notional and leverage limits reject any signal that would breach them, and that position size scales off live account margin and the signal's own score rather than a fixed lot. A rejecting bound is exactly the shape
agentic-intent-vetowanted — so find it in source and see whether rejection happens before or after the model has already committed to a size. - The unit problem. TP/SL are margin-relative. Sweep leverage, plot stated percentage against realised price move. The gap is the finding.
- Isolation. Each strategy gets its own sub-wallet, cross-margined internally so positions can hedge, isolated externally. Testable rather than a slogan: does a liquidation inside strategy A reach strategy B's margin, and is the isolation enforced by separate venue accounts or only by the application?
- The custody tension, named honestly. Keys are sharded across secure enclaves with SOC 2 and three external audits, and users can export keys at any time. Both are good properties and they pull against each other, because exportable means reconstructible. The question is not whether it is safe but who can reconstruct, under what quorum, and what an export proves about who else held a share — the same question
third-party-blast-radiusasks of any threshold scheme.
The measurement, and it is one week long
Put this project's agent tool calls behind a gateway for a week and read three numbers off the ledger:
| Number | Currently knowable? | Why it changes decisions |
|---|---|---|
| Cost per report section | No | Says which sections are worth their price |
| Which tool dominates the bill | No | Optimisation target, and usually a surprise |
| Share of spend that is context rather than output | No | Decides whether context compression matters here or is someone else's problem |
The unglamorous reason this belongs on the list
A gateway is about what happens when an agent misbehaves — a loop that calls a paid tool a thousand times, a credential reachable by an agent that should not reach it. Those are operational failures rather than interesting ones, which is exactly why the layer exists and exactly why it gets added after the incident rather than before. Senpi's whole argument is that the harness is the product; the gateway is that argument applied to agents that are not trading.
The sentence an ad got right
A Zapier event ad seen 2026-08-28 opens with one line worth keeping: "Business teams are shipping AI faster than IT can review it." It is marketing, and it is also the demand for this layer stated plainly from the buyer's side. Two things follow from it.
The gap is structural rather than a discipline problem. Review capacity is a fixed number of people. Adoption is a rate, and a business team can raise that rate without asking anyone, because the tools are SaaS and the budget is a corporate card. A rate outruns a fixed capacity by default — which is why "slow the teams down" is not an available answer, and why an ad can safely promise not to.
Therefore the control cannot be a review. If approval cannot keep pace with adoption, the thing that governs has to be a runtime property rather than a checkpoint: a gateway every agent passes through whether or not anybody reviewed it, with the spend cap, the credential scope and the audit trail enforced there. That is this card's conclusion reached from the governance side instead of the operations side, and it sharpens into one rule — a checkpoint that scales with people loses to a rate; a chokepoint that scales with traffic does not.
Where it lands in Jayverse
- Rabbit: make the mandate console the deterministic reject layer, not the LLM. Session-key and mandate checks (spend, scope) should be enforced as separately tested rule code that rejects before commit, the same shape agentic-intent-veto and this card both want.
- gitboard: put every agent tool call behind a ledger. Since the alice-tech report and other agent-produced output already run real tool calls with a real bill, log per-agent identity, spend and which tool dominates cost for a week before deciding what to optimize.
- Auditor: write down the unit, not just the check. When a methodology states a bound (percentage, ratio, threshold), specify whether it is price-relative or something else, and add a sweep test that would catch a Senpi-style margin-vs-price unit mismatch.
Key expressions
| Expression | 뜻 · 쓰이는 자리 |
|---|---|
| sits between | ~사이에 위치하다 · 두 요소 사이 중간 지점을 가리킬 때. "whatever sits between an agent and the tools it calls" |
| wrap ... in ... | ~을 …으로 감싸다 · 기술 요소를 다른 메커니즘으로 둘러쌀 때. "wraps a market-tuned AI model in deterministic execution" |
| spend ceiling | 지출 상한선 · 에이전트나 계정의 최대 지출 한도. "no per-agent identity, no spend ceiling" |
| hallucinate a position | 포지션을 착각해 지어내다 · AI가 없는 거래 포지션을 있다고 오판하는 것. "without hallucinating a position or forgetting a stop" |
| empty cell | 표의 빈 칸, 다뤄지지 않은 부분 · 아직 채워지지 않은 항목을 비유할 때. "The empty cell is specific and close to home" |
| close to home | 남의 일 같지 않은, 자신에게도 해당되는 · 지적이 자기 자신에게도 적용될 때. "specific and close to home" |
| sweep (leverage) | 값을 범위대로 훑으며 바꿔보다 · 변수를 여러 값으로 반복 테스트할 때. "sweep leverage, plot stated percentage against realised" |
| trivially measurable | 측정하기 매우 쉬운 · 별다른 노력 없이 검증 가능한 대상을 말할 때. "It is trivially measurable: sweep leverage, plot" |
| pull against each other | 서로 상충되다, 반대 방향으로 작용하다 · 두 좋은 속성이 동시에 성립하기 어려울 때. "Both are good properties and they pull against each other" |
| dominate the bill | 비용의 대부분을 차지하다 · 여러 항목 중 한 항목이 지출을 압도할 때. "Which tool dominates the bill" |
| outrun | ~을 앞지르다, 능가하다 · 속도나 규모가 다른 것을 추월할 때. "A rate outruns a fixed capacity by default" |
| chokepoint vs checkpoint | 병목 지점 대 검문소 · 사람 수 기반 통제와 트래픽 기반 통제를 대비할 때. "a chokepoint that scales with traffic does not" |
| MCP | 모델 컨텍스트 프로토콜(Model Context Protocol) · AI 에이전트가 도구를 호출하는 표준, 이 글의 거버넌스 논의 전제. "the MCP SDK is reported at roughly 195.9 million monthly" |
| SOC 2 | 보안 준수 인증 표준(Service Organization Control 2) · 키 보관·감사 등 보안 신뢰성을 증명하는 인증. "secure enclaves with SOC 2 and three external audits" |
| TP/SL | 이익실현/손절매(Take-Profit/Stop-Loss) · 레버리지 거래에서 마진 기준이라 실제 가격 변동률과 다르다는 지적. "take-profit and stop-loss are margin-relative, not price-relative" |
| PagedAttention | vLLM이 쓰는 GPU 메모리 관리 기법 · 고처리량 모델 서빙 인프라 문맥에서 언급. "High-throughput serving on PagedAttention" |
| notional | 명목 원금(계약 규모) · 레버리지 거래에서 실제 증거금과 구분되는 계약 총액. "margin, notional and leverage limits reject any signal" |
| cross-margined | 교차 마진 방식 · 한 지갑 내 포지션끼리 증거금을 공유해 헤지 가능하게 하는 방식. "cross-margined internally so positions can hedge, isolated externally" |