You're a platform team
Agents in Cloud Run, GKE, scheduled jobs, or compiled into your own services — incident triage, runbook automation, monitoring. You’re home. Start with the quickstarts below.
You're a platform team
Agents in Cloud Run, GKE, scheduled jobs, or compiled into your own services — incident triage, runbook automation, monitoring. You’re home. Start with the quickstarts below.
You're embedding an agent in a Go service
mast composes as a library, not just a binary — same subsystems either way, with a CI-enforced slim-embed guarantee so you pay for what you import.
You want one simple agent loop
Use raw ADK v2 — no governance, no durability, smallest possible surface. Come back when the loop must survive restarts, needs budget or permission governance, needs provider switching, or stops having a human watching it.
kill -9 and resumes in a fresh process.A specialist that would change something stops before the call fires, shows the operator the tool and its arguments, and waits — durably, across a restart. That boundary is structural rather than prompt-held: a specialist declares whether it may change anything, and mast refuses to start a roster in which a read-only one can reach a mutating tool.
Then read the concepts — how workloads, dispatch, durability, approvals, budgets, tools and providers fit together — or why mast exists if you want the argument before the API.
mast is the lean sibling of core-agent
— same org, different job. The full design corpus lives in the repo under
docs/.