Patch — Assistant Service
Patch is the Datum Cloud assistant: ask it about your project in plain language — "why is my pipeline lagging?" — and it answers using the real state of your services, running their own diagnostic tools and explaining what it finds.
Patch is itself a service in the Milo service catalog
(assistant.miloapis.com), and it works the way everything on the
platform works:
- Providers register services in the catalog. A service that wants to be part of Patch publishes its agent capabilities alongside its catalog registration: what the service is, what an assistant should know about it, which of its tools the assistant may call (a reviewed allow-list — never the whole API), and which skills — reviewed, step-by-step procedures — it may follow.
- Entitlements decide who gets what. When a customer's project is entitled to a service, that service's capabilities appear in the project's Patch — automatically. No entitlement, no capability; revoke it and the next conversation turn no longer has it.
- Every conversation is composed per project. Patch assembles the knowledge and tools of exactly the services your project is entitled to, remembers your conversation (durably, scoped to the project), and does the work.
- Usage is metered like any other catalog service. Every model call and every provider tool invocation lands on the platform's billing pipeline, attributed to the project and conversation — the same metrics-to-billing path the rest of the catalog uses.
Who gets what out of it:
| Audience | What Patch gives them | |---|---| | Customers / developers | An operator that can do things with their services — diagnose, inspect, explain — across every service their project is entitled to. | | Service providers | A distribution channel: publish knowledge + tools once through the catalog, reach every entitled customer's assistant. | | The platform | Usage-based bill-back, model-vendor independence, and one enforced boundary for what agents may touch. |
This repository is Patch's runtime: a standalone Go backend that any consumer talks to over open standards — the Cloud Portal, the bundled CLI, or any other agent. (Agent2Agent) is the protocol consumers use to chat with Patch; (Model Context Protocol) is how Patch calls provider tools; are the small JSON contract through which the catalog (or anything else) tells Patch what a project is entitled to. Nothing here is a proprietary Datum API, and the assistant runs standalone — the catalog is one producer of its configuration, not a dependency.