Amplifier Bundle · Azure ZAP
A safety-gated pipeline for Azure deployment
The Azure ZAP bundle transforms natural-language requests into validated, executable Azure deployment plans — detecting dependencies, recommending tiers, estimating cost, and building a phased plan that waits for your approval.
But how risky is the surface it has to reason about? The numbers set the stakes.
The bundle’s own tools reference documents 43 Azure service namespaces and 127 unique azmcp_ tools. Among them are destructive operations whose names match patterns like these.
A surface this large, with irreversible actions in it, is what makes deployment genuinely dangerous.
Picking the right services across 43 namespaces, ordering dependencies, and catching a destructive call is deep, specialized work. A single all-purpose brain is spread too thin to do any of it reliably.
So ZAP does not use one brain. It uses a pipeline.
Each agent does one thing well and hands off to the next in a fixed order — with a mandatory human approval gate before anything executes.
One of those links, the planner, does work a generalist never could.
Across five planning phases the planner analyzes requirements, consults the MCP expert, designs a service topology as a dependency graph, builds a multi-phase plan with per-phase rollback, and generates verification steps.
Then the plan meets the one agent whose whole job is to say no.
The watchdog is a required safety gate whose first principle is “Fail closed: when in doubt, BLOCK.” In strict mode (the default) it blocks rather than warns, across three graduated modes: strict, development, and production.
This is the pivot: safety stops being advice and becomes enforcement.
When in doubt, the pipeline BLOCKS — and a human must approve before anything runs.
A mandatory human approval gate stands between watchdog validation and execution. The executor never runs without watchdog approval — it executes only validated, approved plans, phase-by-phase with health checks and automatic rollback on failure.
Safety here is structural, not advisory. That’s the reusable idea.
Decomposition plus a required, fail-closed safety gate and a mandatory human approval is the reusable pattern — and it’s honest about its stage: shipping today as an early-development alpha.
Young, single-author, and transparent about what still ships as illustrative examples.
STATUS: 0.1.0-ALPHA · EARLY DEVELOPMENT
Repo: git@github.com:marklicata/amplifier-bundle-azure-zap.git — branch main, HEAD 085accf, cloned to /tmp/azure-zap. Every claim independently re-derived via git log/show, ls, wc -l, grep and sed on the actual clone.
Commands run:
ls agents/*.md | wc -l and grep -n 'azure-zap:' bundle.md — 6 single-purpose agentsgit show --stat ad1fc3e / git show --stat 6b7de86 — initial 5 agents; executor added and planner/watchdog renamedgrep -cE '^#### .*(`[a-z]+`)' context/azure-mcp-tools-reference.md and grep -oE 'azmcp_[a-z_]+' ... | sort -u | wc -l — 43 namespaces, 127 toolsgrep -n -i 'BLOCK|Fail closed|destructive' agents/azure-task-watchdog.md and sed -n '238,270p' ... — block rules & destructive patternsgrep -n -i 'phase|rollback|cost|dependency' agents/azure-task-planner.md — 5 planning phases with rollbacksed -n '116,172p' bundle.md — orchestration flow with user approval gategit rev-list --count HEAD / git shortlog -sne HEAD / grep -n 'Version:|Status:' bundle.md — 5 commits, Mark Licata, v0.1.0-alphaGaps: The 43 namespaces / 127 tools are grounded only in the bundle’s own documentation, not a live Azure MCP Server. Dollar and time figures in bundle/README examples are illustrative doc scenarios, not measured outcomes. Referenced recipe YAMLs and some docs were not found in the clone.
Primary contributor: Mark Licata (malicata@microsoft.com) — 5 of 5 commits (sole author).