Technology radar¶
Decision
This page records a decision and its status. A Proposed decision is not binding; an Accepted decision is binding on the Factory until amended or superseded.
The 2025 documentation predates most of the agentic protocol and operations practice that exists today. This radar (decision D44, 2026-10-09) states where the Factory stands on each item and over which horizon it applies: now (first governed workflow), next (controlled writes and generation), later (2–3 years: autonomy, marketplaces, fleet). Rings: adopt (decided, designed here), trial (designed, evidence required before relied upon), assess (watched, no design commitment), hold (deliberately not used).
mindmap
root((Technology radar))
Protocols
MCP — adopt, now
A2A — adopt, next
OpenAPI / code-first gRPC — adopt, now
CloudEvents envelope profile — trial, next
Agent runtime
Microsoft Agent Framework — adopt, now
Durable agent execution — trial, now
Structured outputs — adopt, now
Multi-agent supervisor topologies — trial, next
Semantic Kernel orchestration — hold
Identity and trust
Workload identity for agents — adopt, now
Delegated user scopes per run — adopt, now
Trust tiers for untrusted content — adopt, now
Signed asset releases — adopt, next
Operations
OpenTelemetry GenAI conventions — adopt, now
Evaluation-driven release — adopt, now
AI gateway patterns — adopt, now
LLM-native observability and replay — trial, next
Execution
microVM sandboxes — adopt, next
Computer-use and browser agents — trial, next
Git worktree workspaces — adopt, now
Knowledge and memory
Scoped retrieval contract — adopt, now
Governed memory promotion — adopt, next
Repository intelligence graphs — trial, next
Agent marketplaces and A2A discovery — assess, later
Items¶
| Item | Ring | Horizon | What it means for the Factory | Exists in ConnectSoft today | Governing decision |
|---|---|---|---|---|---|
| MCP (Model Context Protocol) | adopt | now | The protocol for tools, resources and prompts. Every tool the Factory exposes or consumes is an MCP capability behind the governed executor (GW-05); servers are registered, authenticated and governed; descriptors carry side-effect classes. | ConnectSoft.Extensions.ModelContextProtocol (hosting, OAuth protected-resource metadata, governance toolkit) — authentication opt-in today |
ADR-0022 |
| A2A (Agent-to-Agent protocol) | adopt | next | Interoperability surface for agents calling agents: agent cards for discovery, a task lifecycle mapped onto Run Control, authenticated by workload identity. Used between Factory tenants' agents, with partner agents and with external agent platforms. | Nothing | ADR-0023 |
| OpenAPI and code-first gRPC | adopt | now | REST for public and BFF surfaces, code-first gRPC for internal; contracts in the service model | ServiceModel.RestApi, ServiceModel.Grpc in the templates |
ADR-0009, canonical layering |
| CloudEvents as an envelope profile | trial | next | Optional mapping of the ADR-0014 envelope onto CloudEvents attributes for external consumers; the port stays MessagingModel |
Nothing | ADR-0012 note |
| Microsoft Agent Framework | adopt | now | Primary execution adapter; agents, tools, workflows | ConnectSoft.Extensions.AI.AgentsFramework 1.21.0 (pin drift in two packages) |
ADR-0002 |
| Durable agent execution | trial | now | Decision between the Agent Framework durable/workflow extension, Orleans grains with the outbox, or a process manager on Run Control; the spike page in the Agent Mesh platform settles it with evidence | Orleans adapter with outbox/inbox; no durable runs | ADR-0014; Agent Mesh spike |
| Structured outputs and tool-call reliability | adopt | now | Schema-constrained generation; validate before acting; repair → retry → fallback | Microsoft.Extensions.AI structured output support |
Model gateway contract |
| Multi-agent supervisor topologies | trial | next | Not the default; a supervisor workflow with bounded delegation and per-agent budgets | Nothing | Agent Mesh platform |
| Semantic Kernel orchestration | hold | — | Excluded; vector-store connectors allowed | Connectors referenced | ADR-0002 note |
| Workload identity for agents | adopt | now | Every runtime worker and every run has a workload identity (SPIFFE-style id, short-lived token) distinct from the requester; delegated user scopes are carried per run and narrowed per step | Identity Platform templates; no workload identity issuance | ADR-0015, ADR-0101 |
| Trust tiers for untrusted content | adopt | now | System policy > agent > skill > user > trusted knowledge > tool results > untrusted external; content labelled with its tier; outputs validated | Nothing | Tool policies page |
| Signed asset releases | adopt | next | Release manifests signed; closure hashes verified at load | Nothing | Registries page |
| OpenTelemetry GenAI semantic conventions | adopt | now | Spans and metrics for model calls, tool calls, agent steps and evaluations follow the GenAI conventions; no content attributes by default | OpenTelemetry in every template; connectsoft.ai.factory.agent meter |
Observability foundations |
| Evaluation-driven release | adopt | now | Every release passes a gate with thresholds per profile and no regression | Microsoft.Extensions.AI.Evaluation referenced |
Quality gates |
| AI gateway patterns | adopt | now | Profile resolution, policy, reservation, routing, prompt caching, fallback with equivalent constraints, receipts | Keyed IChatClient registrations only |
Model gateway |
| LLM-native observability and replay | trial | next | Trace trees per run; replay of a run against a newer release as a separate linked run; no deterministic replay promise | Nothing | ADR-0014; evaluation page |
| microVM sandboxes | adopt | next | Per-run isolated workspaces with egress allow-lists; container sandboxes acceptable for the first workflow | Nothing | Sandboxes page |
| Computer-use and browser agents | trial | next | Treated as tools with side-effect class per action; always sandboxed; screenshots classified | Nothing | Tool registry |
| Git worktree workspaces | adopt | now | One worktree per run; drafts never pushed without approval | Nothing in the Factory | Workspaces page |
| Scoped retrieval contract | adopt | now | Scope enforced before top-k; citations with source revision and index version | In-memory connector only; post-filtering | ADR-0013 |
| Governed memory promotion | adopt | next | Observation → candidate → review → promotion with expiry and revocation; tenant-scoped | Nothing | ADR-0021, Knowledge platform |
| Repository intelligence graphs | trial | next | Symbol, dependency, call and ownership graphs per revision as retrieval sources | Graphify process documented canonically; no artefacts | BC-39 |
| Agent marketplaces and A2A discovery | assess | later | Distribution of qualified releases and discovery of partner agents | Nothing | Marketplace platform |
Review rhythm¶
The radar is reviewed whenever a platform package closes and at least once per quarter of work; a ring change is a decision-log entry, and an item moving to adopt gets a page or an ADR.