TL;DR
Built a .NET A2A demo to validate the triage pattern before deploying the Python system. If the shape only works in one stack, it is not a portable pattern.
Teams is the ingest channel for this deployment, not a hard requirement. The bot posts to a channel-agnostic /ingress endpoint; any other ingest can do the same.
Teams timeout budgets forced a full async reply architecture.
Adaptive card size limits forced progressive disclosure: compact badge up front, everything else behind toggles.






