Skip to content

Adopt Anvil across a platform

Anvil is useful at platform scale only if ownership stays explicit.

  • The API owner owns business meaning.
  • The platform team owns Anvil, CI, runtime patterns, and delivery.
  • Security owns policy for sensitive exposure and execution.
  • The agent team consumes approved capabilities. It does not approve them.

Do not ask the platform team to guess whether a call is safe. Do not ask every service team to build its own CLI, MCP server, SDK, and skill. Keep semantics with the service owner. Generate the surfaces centrally.

Pick a pilot that can fail for a useful reason

Section titled “Pick a pilot that can fail for a useful reason”

Choose one service with:

  • a real mutation with a visible consequence;
  • an owner who can answer auth and idempotency questions;
  • a usable API contract, or a gateway export plus the authoritative contract; and
  • a mock or non-production endpoint for executable checks.

A read-only demo proves parsing. It does not prove the review model.

A refund, provisioning action, or case update forces the team to answer the questions that matter: who may call it, what must be confirmed, and what happens on retry.

For a legacy queue, EJB, or WCF endpoint, include the middleware owner. A reviewed binding is still only a design artifact until a deployment-local adapter exists and passes assurance.

The pilot is done when the team can reproduce:

  1. the exact source bytes Anvil compiled;
  2. the evidence behind every exposed operation;
  3. the calls the runtime will refuse;
  4. the checks required before release;
  5. the operator action that performs deployment; and
  6. the response to source or policy drift.

Generated tool count is not an exit criterion.

from api estate to governed agent tools 01 Inventory Point Anvil at the specs you already publish. No rewrites. api owners 02 Compile One command emits CLI, MCP, skill, and hooks from one model. platform 03 Enrich Declare idempotency, confirmation, and human approval in a manifest. api owners 04 Approve Risk read, then a human exposes each operation. Nothing ships by default. security 05 Deploy Serve the MCP bundle, install the plugin — agents pick up the skill. platform 06 Govern Recompile on spec change. Drift that loosens safety is blocking, not a diff. security · platform
fig 03 · the conversion journey — approval and governance are pipeline steps, not afterthoughts

Keep content-addressed source snapshots.

For gateway exports, inventory and audit the estate before importing individual APIs. Do not flatten a gateway estate into one tool catalog.

Use anvil agentify for an unfamiliar API. It captures the source, compiles it, assesses operations, proposes capability groups, and stops for review.

For legacy configuration, inventory first. The result is evidence and a candidate binding. It is not a runtime.

Keep anvil.yaml beside the source contract.

Record stable names, idempotency, confirmation, auth posture, retry constraints, and authored workflows. Review the manifest like code because it changes what agents may call.

Approval changes exposure in the CLI, MCP server, and SDKs.

Approve only the operations needed for the use case. Reviewing one operation is not evidence for approving the whole service.

Run certification, self-test, conformance, and simulation against the same bundle.

If target or ledger artifacts become part of the certified bundle, generate them before the final assurance pass.

anvil publish creates an operator plan. Your delivery system still owns credentials, provider mutations, rollout, and rollback.

Recompile or run anvil sync when the source changes.

Not all diffs mean the same thing. A description edit, a removed confirmation rule, and a wider auth scope deserve different review. Review semantic drift, not just changed lines.

DecisionAPI ownerPlatformSecurity / riskAgent team
Maintain source contractOwnsSupportsReviews material changesConsumes
Supply missing semanticsOwnsProvides schema and toolsReviews safety-sensitive claimsProvides use cases
Approve exposureConsultedRuns the workflowOwns sensitive-operation policyNever self-approves
Build and verify bundleSupportsOwnsDefines required gatesConsumes records
Deploy runtimeProvides upstream coordinatesOwnsReviews IAM and egressRegisters endpoint
Resolve driftOwns source changeRuns detectionReviews safety looseningRevalidates workflows
Confirm legacy bindingConsultedCoordinates middleware ownerReviews exposureDoes not infer semantics
Operate legacy adapterSupports behaviorOwns adapter lifecycleReviews identity and networkConsumes approved surface
Existing controlAnvil artifact or gate
Source provenanceContent-addressed source snapshot
Change reviewManifest and capability decision in the service repository
Least privilegeOnly approved operations enter callable surfaces
Separation of dutiesExplicit operation review and human-approval policy
Release evidenceHash-bound certification, self-test, conformance, and simulation records
Change detectionSemantic drift report that separates policy changes from documentation changes
Secret managementCredential contract with names and references, never values
Runtime egressReviewed host policy plus platform network controls

Anvil should plug into source review, identity, secrets, deployment, and incident response. Do not build a second control plane around it.

  • One service.
  • One owning team.
  • One consequential mutation.
  • One approved capability.
  • One mock or non-production runtime.
  • One written list of unresolved gaps.
  • Put source capture, compile, lint, and assessment in CI.
  • Keep approval as a reviewed change.
  • Require the same assurance gates for every bundle hash.
  • Standardize runtime identity, secret references, egress, and telemetry.
  • Publish one service-repository example.
  • Require a written ownership contract for onboarding.
  • Publish approved bundles and skills through the catalog you already operate.
  • Keep estate inventory separate from operation approval.
  • Track failures by source, review, assurance, deployment, and runtime stage.

Track:

  • time to first approved capability;
  • percentage of candidate operations still in review_required;
  • review latency by missing claim type;
  • assurance failure rate by lane;
  • time to resolve blocking drift;
  • percentage of live runtimes with current bundle evidence; and
  • incidents caused by wrong source or manifest claims.

Do not optimize generated tool count. A useful capability has an owner, a reviewed contract, current evidence, and an operated runtime.