{
  "schemaVersion": "1.0.0",
  "evidenceCutoff": "2026-08-28",
  "sources": [
    {"id":"LG-REL","framework":"langgraph","title":"LangGraph 1.2.11 release","publisher":"LangChain","url":"https://github.com/langchain-ai/langgraph/releases/tag/1.2.11","sourceType":"official-release","verifiedOn":"2026-08-28","supports":["release","license"],"limitations":"The repository publishes several packages; this record identifies the Python langgraph core release rather than the separately versioned SDK or checkpoint packages."},
    {"id":"LG-OVERVIEW","framework":"langgraph","title":"LangGraph overview","publisher":"LangChain","url":"https://docs.langchain.com/oss/python/langgraph/overview","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["orchestration","observability","deployment"],"limitations":"Product overview language is used only for documented mechanisms; it is not evidence of comparative superiority, adoption, or outcome quality."},
    {"id":"LG-PERSIST","framework":"langgraph","title":"LangGraph persistence","publisher":"LangChain","url":"https://docs.langchain.com/oss/python/langgraph/persistence","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["state","recovery"],"limitations":"InMemorySaver examples are development fixtures. Production durability depends on selecting and operating a persistent checkpointer backend."},
    {"id":"LG-HITL","framework":"langgraph","title":"LangGraph interrupts","publisher":"LangChain","url":"https://docs.langchain.com/oss/python/langgraph/interrupts","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["approval","recovery"],"limitations":"An interrupt supplies a pause/resume primitive. Approval policy, identity, authorization, timeout, and escalation remain application responsibilities."},
    {"id":"LG-SERVER","framework":"langgraph","title":"LangGraph Agent Server","publisher":"LangChain","url":"https://docs.langchain.com/langsmith/agent-server","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["recovery","deployment"],"limitations":"Agent Server is a deployment runtime with infrastructure and licensing considerations separate from the open-source graph library."},
    {"id":"LG-PRIVACY","framework":"langgraph","title":"LangSmith data storage and privacy","publisher":"LangChain","url":"https://docs.langchain.com/langsmith/data-storage-and-privacy","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["observability","state"],"limitations":"Storage and trace behavior depends on runtime configuration. Teams must verify telemetry, retention, encryption, and regional requirements for their deployment."},
    {"id":"MAF-REL","framework":"microsoft-agent-framework","title":"Microsoft Agent Framework Python 1.16.0 release","publisher":"Microsoft","url":"https://github.com/microsoft/agent-framework/releases/tag/python-1.16.0","sourceType":"official-release","verifiedOn":"2026-08-28","supports":["release","license"],"limitations":"The repository versions language packages independently. This comparison stamps the Python track and does not imply identical version numbers across .NET and Go."},
    {"id":"MAF-OVERVIEW","framework":"microsoft-agent-framework","title":"Microsoft Agent Framework overview","publisher":"Microsoft Learn","url":"https://learn.microsoft.com/en-us/agent-framework/overview/","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["orchestration","deployment","positioning"],"limitations":"The overview identifies product scope and succession from AutoGen and Semantic Kernel; it does not prove compatibility with every predecessor application."},
    {"id":"MAF-CHECKPOINT","framework":"microsoft-agent-framework","title":"Agent Framework workflow checkpoints","publisher":"Microsoft Learn","url":"https://learn.microsoft.com/en-us/agent-framework/workflows/checkpoints","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["state","recovery"],"limitations":"Checkpoint availability does not make external side effects idempotent. Durable storage, schema migration, and replay-safe tool design remain deployment work."},
    {"id":"MAF-HITL","framework":"microsoft-agent-framework","title":"Agent Framework workflow human-in-the-loop","publisher":"Microsoft Learn","url":"https://learn.microsoft.com/en-us/agent-framework/workflows/human-in-the-loop","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["approval","recovery"],"limitations":"Request and approval primitives do not define the enterprise approver identity, authorization policy, response deadline, or separation-of-duties rules."},
    {"id":"MAF-CAPABILITIES","framework":"microsoft-agent-framework","title":"Agent capabilities","publisher":"Microsoft Learn","url":"https://learn.microsoft.com/en-us/agent-framework/agents/","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["observability","governance"],"limitations":"A capability catalog confirms supported surfaces, not their readiness for a particular workload, language binding, compliance regime, or operations team."},
    {"id":"CR-REL","framework":"crewai","title":"CrewAI 1.15.18 release","publisher":"CrewAI","url":"https://github.com/crewAIInc/crewAI/releases/tag/1.15.18","sourceType":"official-release","verifiedOn":"2026-08-28","supports":["release","license"],"limitations":"The release tag stamps the Python package. Managed AMP capabilities have a separate service lifecycle and are not versioned by this tag."},
    {"id":"CR-DOCS","framework":"crewai","title":"CrewAI documentation","publisher":"CrewAI","url":"https://docs.crewai.com/","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["orchestration","observability"],"limitations":"The documentation landing page describes the combined open-source and enterprise journey; individual deployment entitlements require separate verification."},
    {"id":"CR-FLOWS","framework":"crewai","title":"CrewAI Flows","publisher":"CrewAI","url":"https://docs.crewai.com/en/concepts/flows","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["state","approval","recovery"],"limitations":"SQLite persistence is a default mechanism, not a production architecture. The application must select durable storage and define idempotent effects and approval delivery."},
    {"id":"CR-AMP","framework":"crewai","title":"CrewAI AMP introduction","publisher":"CrewAI","url":"https://docs.crewai.com/enterprise/introduction","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["observability","deployment"],"limitations":"AMP is a managed commercial platform. Its presence does not mean the open-source package includes every managed monitoring, access, or scaling function."},
    {"id":"CR-PROD","framework":"crewai","title":"CrewAI production architecture","publisher":"CrewAI","url":"https://github.com/crewAIInc/crewAI/blob/main/docs/v1.12.2/en/concepts/production-architecture.mdx","sourceType":"official-repository-docs","verifiedOn":"2026-08-28","supports":["recovery","deployment"],"limitations":"This versioned repository document predates the comparison cutoff release. It supports the architectural boundary only; current commands must be checked against live docs."},
    {"id":"OA-REL","framework":"openai-agents-sdk","title":"OpenAI Agents SDK Python 0.22.0 release","publisher":"OpenAI","url":"https://github.com/openai/openai-agents-python/releases/tag/v0.22.0","sourceType":"official-release","verifiedOn":"2026-08-28","supports":["release","license"],"limitations":"This tag covers the Python SDK. Other OpenAI agent products and language SDKs have distinct release surfaces and are outside this version stamp."},
    {"id":"OA-RUN","framework":"openai-agents-sdk","title":"Running agents","publisher":"OpenAI","url":"https://openai.github.io/openai-agents-python/running_agents/","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["state","recovery","deployment"],"limitations":"Durable execution integrations add separate runtimes and operating models. The SDK alone does not operate their queues, storage, retries, or worker lifecycle."},
    {"id":"OA-HITL","framework":"openai-agents-sdk","title":"Human-in-the-loop","publisher":"OpenAI","url":"https://openai.github.io/openai-agents-python/human_in_the_loop/","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["approval","state"],"limitations":"Tool approval is a mechanism, not a complete governance policy. Identity, authorization, separation of duties, escalation, and audit retention remain application concerns."},
    {"id":"OA-TRACE","framework":"openai-agents-sdk","title":"Tracing","publisher":"OpenAI","url":"https://openai.github.io/openai-agents-python/tracing/","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["observability"],"limitations":"Trace content can include sensitive data depending on configuration. Enterprises must set capture, export, retention, and access policies before production use."},
    {"id":"GA-REL","framework":"google-adk","title":"Google ADK Python 2.8.0 release","publisher":"Google","url":"https://github.com/google/adk-python/releases/tag/v2.8.0","sourceType":"official-release","verifiedOn":"2026-08-28","supports":["release","license"],"limitations":"This tag stamps the Python SDK. TypeScript, Go, Java, and Kotlin bindings are separate packages and may expose different features or release numbers."},
    {"id":"GA-STATE","framework":"google-adk","title":"ADK session state","publisher":"Google","url":"https://google.github.io/adk-docs/sessions/state/","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["state","recovery"],"limitations":"Persistence depends on SessionService. In-memory state is explicitly non-durable and cannot support process-restart recovery."},
    {"id":"GA-HITL","framework":"google-adk","title":"ADK graph human input","publisher":"Google","url":"https://google.github.io/adk-docs/graphs/human-input/","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["approval"],"limitations":"Human input primitives need application-specific identity, authorization, UI, timeout, and escalation handling to become an enterprise approval control."},
    {"id":"GA-RESUME","framework":"google-adk","title":"ADK runtime resume","publisher":"Google","url":"https://google.github.io/adk-docs/runtime/resume/","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["approval","recovery"],"limitations":"Resume behavior depends on a resumable workflow and persistent session implementation. Teams must test replay behavior around external side effects."},
    {"id":"GA-OBS","framework":"google-adk","title":"ADK observability","publisher":"Google","url":"https://google.github.io/adk-docs/observability/","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["observability"],"limitations":"Cloud Trace and analytics behavior depends on deployment and capture configuration. Full prompt-response logging has additional privacy and storage implications."},
    {"id":"GA-DEPLOY","framework":"google-adk","title":"ADK deployment options","publisher":"Google","url":"https://google.github.io/adk-docs/deploy/","sourceType":"official-docs","verifiedOn":"2026-08-28","supports":["deployment"],"limitations":"Agent Runtime, Cloud Run, and GKE have different cost, identity, networking, scaling, and operational boundaries; listing them is not a recommendation."}
  ]
}
