Card 28 of 44· Domain 3 · Deploy

ALM per platform — what differs

How each platform versions and promotes, the catch that comes with each, why a kill switch is not a rollback, and where to look first when dev works and production does not.

ALM per platform — what differs
Open the card in a new tab to read it at full size.

Card 27 set out the lifecycle in general. This one goes platform by platform,
because the outline names each separately and each has its own way of being
versioned — and its own thing that catches people out.

What differs, platform by platform

Copilot Studio agents move between environments inside a solution. The catch:
connection references and environment variables must be remapped, or the agent
arrives pointing somewhere it should not.

Connectors and actions travel in the same solution as the agent. The catch: a
missing connection silently changes behaviour. Silently is the operative word —
nothing errors, the agent simply stops being able to do something and works around
it.

Data used by AI follows a content lifecycle, not a code lifecycle. It changes
behaviour with no deployment, so it needs change control of its own.

Microsoft Foundry Agent Service uses infrastructure as code plus an evaluation
gate. Promote the model version explicitly rather than implicitly, or you inherit
whatever happened to be current.

Custom AI models are versioned artefacts with validation criteria. A retrained
model is a new release with a new evaluation, not an update.

AI in Dynamics 365 moves configuration as solutions, with features enabled per
environment. The catch is different in kind: prebuilt behaviour can change under
you on vendor updates. You did not change anything and the behaviour changed
anyway.

The gate that matters

An evaluation gate before promotion. Run the evaluation set and compare against
the incumbent, with the same bar as card 26: no worse on any dimension, better on
at least one.

Environment strategy

Development, test and production at minimum. Consider a separate environment for
anything third-party. And routing decides where citizen-built agents land, which
is the control that stops them appearing in production by default.

Rollback

You must be able to go back — including the knowledge. Rolling back the
definition while leaving the content in place returns you to a state that never
existed.

And a distinction worth keeping: a kill switch is not a rollback. One stops the
thing; the other returns it to a known good state. Autonomous agents need both.

Exam trap. Two agents can hold identical definitions and behave differently
because their connections resolve to different systems or their knowledge
differs. When a scenario describes "works in dev, wrong in production", look at
connections and content before the model.

The one line to carry: when behaviour differs between environments, suspect
the connections and the content first — the definition is usually the thing that
did travel correctly.