Skip to main content

Architecture Decision Records

ADRs record durable architectural choices and their consequences. Existing decisions are numbered in chronological order and remain in Git when superseded.

Format

# ADR-XXXX: Title

## Status

Proposed | Accepted | Deprecated | Superseded

## Context

...

## Decision

...

## Consequences

...

Use Proposed when implementation or repository evidence does not establish a settled choice. Never rewrite an accepted ADR to conceal a later decision; add a new ADR and mark the old one superseded.

Catalog

  1. ADR-0001 — Start with a modular monolith
  2. ADR-0002 — Local JSON default, PostgreSQL target
  3. ADR-0003 — Microsoft.Extensions.AI boundary
  4. ADR-0004 — Standalone scheduler before Quartz
  5. ADR-0005 — REST, UI, and MCP share application services
  6. ADR-0006 — Agentstration is the independent Management Plane
  7. ADR-0007 — SQLite control-plane storage for standalone mode
  8. ADR-0008 — Reconstructible Microsoft Agent Framework runtime
  9. ADR-0009 — Independent Work Plane with local Runtime dispatch
  10. ADR-0010 — Independent Flow definition module
  11. ADR-0011 — Dedicated Management module
  12. ADR-0012 — Runtime Run resource and observable execution
  13. ADR-0013 — Model-provider boundary and local Ollama adapter
  14. ADR-0014 — Configuration-backed model resolution into MAF
  15. ADR-0015 — Persisted model profiles and provider APIs
  16. ADR-0016 — Real model invocation from Agent Runner
  17. ADR-0017 — Canonical runtime/model options and capabilities
  18. ADR-0018 — Persisted model-provider declarations and dynamic clients
  19. ADR-0019 — Flow-owned Run resource and execution Console
  20. ADR-0020 — Workplace Entry, Interaction, and Task vertical
  21. ADR-0021 — Standalone Workplace and Work API hosts
  22. ADR-0022 — Interaction as durable conversation and FlowRun continuation
  23. ADR-0023 — Console supervision of WorkTasks through Work API
  24. ADR-0024 — Entries always target executable Flows
  25. ADR-0025 — Tenant, workspace, and identity foundation
  26. ADR-0026 — Out-of-process model-provider extensions through AEP
  27. ADR-0027 — AEP tool contributions resolve to MCP
  28. ADR-0028 — Tool Providers materialize a governed catalog
  29. ADR-0029 — Aspire consumes an existing local Ollama installation
  30. ADR-0030 — AEP is an autonomous SDK and Inspector repository
  31. ADR-0031 — Agentstration-native declarative resource envelope
  32. ADR-0032 — Use one authoritative standalone server
  33. ADR-0033 — Canonical resource names and explicit execution identities
  34. ADR-0034 — Seal MAF Flow orchestration behind the runtime adapter
  35. ADR-0035 — Resource names are scoped by explicit namespaces
  36. ADR-0036 — Runtime resolution and control-plane hardening
  37. ADR-0037 — Packs are Management and distribution artifacts
  38. ADR-0038 — Pack Projects retain sources and produce local immutable builds
  39. ADR-0039 — Pack manifests use the native definition envelope
  40. ADR-0040 — Secrets and Vaults V1
  41. ADR-0041 — Pack resource bindings are logical and installation-scoped
  42. ADR-0042 — Authentication and authorization boundaries
  43. ADR-0043 — Console API calls propagate only an explicitly trusted Web session
  44. ADR-0044 — Identity schema and Web key material are durable
  45. ADR-0045 — Security events are an append-only Management log
  46. ADR-0046 — Platform administration is explicitly transferable
  47. ADR-0047 — External identities are explicitly linked to Principals
  48. ADR-0048 — FlowRuns carry a durable execution scope
  49. ADR-0049 — Workplace Dashboards own Entry composition
  50. ADR-0050 — Background Control Plane access is explicit
  51. ADR-0051 — Pack Projects can originate from reviewed workspace snapshots
  52. ADR-0052 — Pack composition distinguishes contained model configuration from bindings
  53. ADR-0053 — Workspace scope is part of durable identity
  54. ADR-0054 — Durable interactive Flow execution preserves exact runtime identity
  55. ADR-0055 — Agentstration owns the Tool execution boundary
  56. ADR-0056 — Tool execution hooks are ordered Runtime guards
  57. ADR-0057 — Tool execution Hook resources select built-in Runtime handlers
  58. ADR-0058 — Tool governance decisions are traced per physical attempt
  59. ADR-0059 — Tool arguments require explicit bounded retention
  60. ADR-0060 — Entry owns Workplace execution presentation
  61. ADR-0061 — llama.cpp is an AEP provider and capabilities are resolved effectively
  62. ADR-0062 — Extension options use immutable versioned contracts
  63. ADR-0063 — Extension registrations are managed discovery sources
  64. ADR-0064 — Extension option migrations are explicit
  65. ADR-0065 — Model Providers bind registered extension contributions
  66. ADR-0066 — Pack Runtime Profile bindings drive local deployment
  67. ADR-0067 — LocalAI is an independent AEP provider
  68. ADR-0068 — Triggers submit Work through a reconstructible Quartz projection