{"adoption": {"forks": 116, "observed_at": "2026-08-28T04:06:00.798066+00:00", "stars": 1970}, "canonical_url": "https://ross.abutalabs.com/products/google-ax", "card": {"archived": false, "artifact_type": "framework", "description": "An open source distributed agent runtime", "domain": ["large-language-models", "microservices", "infrastructure-as-code"], "enriched": true, "function": ["agent-framework", "mcp", "workflow-automation", "container-orchestration", "monitoring"], "health_score": 99, "homepage": "https://agentexecutor.io", "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "experimental", "member_repos": ["google/ax"], "name": "google/ax", "platform": ["go", "cloud", "self-hosted", "cli", "windows"], "pushed_at": "2026-08-20T05:56:51+00:00", "repo": "google/ax", "stars": 1970, "tags": ["agent-runtime", "distributed-agents", "resumable-execution", "a2a", "event-log", "single-writer", "harness", "google", "ai-agents", "devops", "kubernetes", "docker", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["run long-running autonomous AI agents reliably in distributed deployments", "resume agent executions after failures or interruptions", "deploy agents as isolated actors on Kubernetes", "audit and observe agent trajectories and execution state", "orchestrate multi-agent systems with MCP and A2A protocols", "bring custom LLM harnesses, tools, and skills to a managed runtime"], "what_it_is": "AX (Agent Executor) is a distributed agent runtime from Google that provisions isolated, suspendable/resumable environments to execute AI agents and harnesses. It provides durable event logging, automatic failure recovery, and execution resumption, with first-class Kubernetes support and native MCP/A2A protocol interoperability.", "when_to_avoid": ["you need a stable, production-hardened system - AX is in early development with expected breaking changes", "you want a simple single-process agent framework without distributed runtime overhead", "you need broad community contributions right now - external PRs are temporarily paused", "your use case is basic chatbot or prompt orchestration rather than autonomous execution"], "when_to_choose": ["you need durable, resumable execution for long-running autonomous agents", "you deploy agents across distributed or Kubernetes-based infrastructure", "you want isolated, multi-tenant agent execution with full audit trails", "you need MCP/A2A interoperability with a model- and harness-agnostic runtime"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/google-ax", "repo": "google/ax", "role": "main", "score": 80}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.798066+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:05:08.025787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a38e6d39558907ea637903cbaf9b0df3f2f9de65baa7dfe779a1d18fd5dca6", "fetched_at": "2026-08-28T04:06:00.798066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/ax"}, {"content_hash": "e35d6a8c40352b7bea1aa16fce251b31986c226ee96468ebcdd523ea8888aa2a", "fetched_at": "2026-08-29T10:44:37.536823+00:00", "kind": "homepage", "missing": false, "url": "https://agentexecutor.io"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.798066+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:05:08.025787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a38e6d39558907ea637903cbaf9b0df3f2f9de65baa7dfe779a1d18fd5dca6", "fetched_at": "2026-08-28T04:06:00.798066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/ax"}, {"content_hash": "e35d6a8c40352b7bea1aa16fce251b31986c226ee96468ebcdd523ea8888aa2a", "fetched_at": "2026-08-29T10:44:37.536823+00:00", "kind": "homepage", "missing": false, "url": "https://agentexecutor.io"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:05:08.025787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a38e6d39558907ea637903cbaf9b0df3f2f9de65baa7dfe779a1d18fd5dca6", "fetched_at": "2026-08-28T04:06:00.798066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/ax"}, {"content_hash": "e35d6a8c40352b7bea1aa16fce251b31986c226ee96468ebcdd523ea8888aa2a", "fetched_at": "2026-08-29T10:44:37.536823+00:00", "kind": "homepage", "missing": false, "url": "https://agentexecutor.io"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.798066+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.798066+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.798066+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:05:08.025787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a38e6d39558907ea637903cbaf9b0df3f2f9de65baa7dfe779a1d18fd5dca6", "fetched_at": "2026-08-28T04:06:00.798066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/ax"}, {"content_hash": "e35d6a8c40352b7bea1aa16fce251b31986c226ee96468ebcdd523ea8888aa2a", "fetched_at": "2026-08-29T10:44:37.536823+00:00", "kind": "homepage", "missing": false, "url": "https://agentexecutor.io"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.798066+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.798066+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:05:08.025787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a38e6d39558907ea637903cbaf9b0df3f2f9de65baa7dfe779a1d18fd5dca6", "fetched_at": "2026-08-28T04:06:00.798066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/ax"}, {"content_hash": "e35d6a8c40352b7bea1aa16fce251b31986c226ee96468ebcdd523ea8888aa2a", "fetched_at": "2026-08-29T10:44:37.536823+00:00", "kind": "homepage", "missing": false, "url": "https://agentexecutor.io"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.798066+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.798066+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.798066+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:05:08.025787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a38e6d39558907ea637903cbaf9b0df3f2f9de65baa7dfe779a1d18fd5dca6", "fetched_at": "2026-08-28T04:06:00.798066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/ax"}, {"content_hash": "e35d6a8c40352b7bea1aa16fce251b31986c226ee96468ebcdd523ea8888aa2a", "fetched_at": "2026-08-29T10:44:37.536823+00:00", "kind": "homepage", "missing": false, "url": "https://agentexecutor.io"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.798066+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.798066+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:05:08.025787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a38e6d39558907ea637903cbaf9b0df3f2f9de65baa7dfe779a1d18fd5dca6", "fetched_at": "2026-08-28T04:06:00.798066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/ax"}, {"content_hash": "e35d6a8c40352b7bea1aa16fce251b31986c226ee96468ebcdd523ea8888aa2a", "fetched_at": "2026-08-29T10:44:37.536823+00:00", "kind": "homepage", "missing": false, "url": "https://agentexecutor.io"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:05:08.025787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a38e6d39558907ea637903cbaf9b0df3f2f9de65baa7dfe779a1d18fd5dca6", "fetched_at": "2026-08-28T04:06:00.798066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/ax"}, {"content_hash": "e35d6a8c40352b7bea1aa16fce251b31986c226ee96468ebcdd523ea8888aa2a", "fetched_at": "2026-08-29T10:44:37.536823+00:00", "kind": "homepage", "missing": false, "url": "https://agentexecutor.io"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:05:08.025787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a38e6d39558907ea637903cbaf9b0df3f2f9de65baa7dfe779a1d18fd5dca6", "fetched_at": "2026-08-28T04:06:00.798066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/ax"}, {"content_hash": "e35d6a8c40352b7bea1aa16fce251b31986c226ee96468ebcdd523ea8888aa2a", "fetched_at": "2026-08-29T10:44:37.536823+00:00", "kind": "homepage", "missing": false, "url": "https://agentexecutor.io"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:05:08.025787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a38e6d39558907ea637903cbaf9b0df3f2f9de65baa7dfe779a1d18fd5dca6", "fetched_at": "2026-08-28T04:06:00.798066+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/ax"}, {"content_hash": "e35d6a8c40352b7bea1aa16fce251b31986c226ee96468ebcdd523ea8888aa2a", "fetched_at": "2026-08-29T10:44:37.536823+00:00", "kind": "homepage", "missing": false, "url": "https://agentexecutor.io"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 11, "rhythm": 97}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 156, "days_push": 13, "days_rel": 20, "gap_med": 11.0, "n_releases_24m": 5}, "score": 80, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}