{
 "edition": "2026-10-16",
 "years": [
  2015,
  2016,
  2017,
  2018,
  2019,
  2020,
  2021,
  2022,
  2023,
  2024,
  2025,
  2026
 ],
 "ai_labels": [
  [
   "infra",
   "AI code and plan generation"
  ],
  [
   "stack",
   "AI platform stack"
  ],
  [
   "ops",
   "AI-assisted operations"
  ],
  [
   "agents",
   "Agent openness"
  ]
 ],
 "index_weights": {
  "cap": 35,
  "cred": 20,
  "safety": 20,
  "ai": 10,
  "integ": 10,
  "mom": 5
 },
 "domains": [
  {
   "key": "breadth",
   "label": "Provisioning breadth",
   "weight": 15
  },
  {
   "key": "config",
   "label": "Configuration management depth",
   "weight": 12
  },
  {
   "key": "state",
   "label": "State, planning and safety",
   "weight": 12
  },
  {
   "key": "lang",
   "label": "Language and authoring",
   "weight": 10
  },
  {
   "key": "orch",
   "label": "Orchestration and self-service",
   "weight": 10
  },
  {
   "key": "scale",
   "label": "Scale and control plane",
   "weight": 8
  },
  {
   "key": "security",
   "label": "Security and compliance",
   "weight": 10
  },
  {
   "key": "baremetal",
   "label": "Bare metal and day-2 operations",
   "weight": 8
  },
  {
   "key": "ecosystem",
   "label": "Ecosystem and integrations",
   "weight": 8
  },
  {
   "key": "ai",
   "label": "AI assistance",
   "weight": 7
  }
 ],
 "groups": {
  "iac": "Infrastructure-as-code engine",
  "platform": "IaC management platform",
  "config": "Configuration management",
  "provisioning": "Host and bare-metal provisioning",
  "cloud": "Single-cloud reference",
  "engine": "Open-source engine"
 },
 "platforms": [
  {
   "key": "spacelift",
   "name": "Spacelift",
   "short": "Spacelift",
   "kind": "product",
   "group": "platform",
   "since": 2021,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 20,
    "C": 40,
    "M": 25,
    "U": 5,
    "P": 10
   },
   "idx": 0.24,
   "domains": {
    "breadth": {
     "2021": 2.5,
     "2022": 2.5,
     "2023": 3,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "config": {
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "state": {
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 4,
     "2026": 4.5
    },
    "lang": {
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 3
    },
    "orch": {
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 4,
     "2025": 4,
     "2026": 4.5
    },
    "scale": {
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 3.5,
     "2026": 4
    },
    "security": {
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3.5,
     "2026": 4
    },
    "baremetal": {
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "ecosystem": {
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 3,
     "2025": 3.5,
     "2026": 4
    },
    "ai": {
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0.5,
     "2026": 3.5
    }
   },
   "cred": [
    [
     "Cadence",
     4.5,
     "Dated changelog entries almost every week to 2026-10-14; spacectl and the Terraform provider release monthly"
    ],
    [
     "Roadmap transparency",
     3,
     "Public changelog and feedback board; the coming soon items (ARM/Bicep, unmanaged resources) carry no dates"
    ],
    [
     "Say-do",
     4,
     "Intent went from early access (2025-10-08) to GA (2026-03-18) in five months; Self-Hosted and Ansible shipped as announced; two coming soon items still pending"
    ],
    [
     "Velocity",
     4.5,
     "Intelligence, remote MCP, templates, Flows, Kubernetes autoscaling and notification policies all within 2026"
    ],
    [
     "Lifecycle stability",
     3,
     "Forced worker transport change by 2027-01-01 and the old MCP endpoint removed after 2026-08-01; plan line-up changes in 2026 are reported by a third-party tracker only"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     2.5,
     "Official pricing page is undated; Starter+ listed at $20,000 with the period stated only in the FAQ; a third-party tracker reports tier churn in 2026 (unverified)"
    ],
    [
     "Purchase constraints",
     3,
     "Free plan limited to 2 users; the entry paid tier is an annual subscription; Business and up by quote; Self-Hosted and air-gapped only on Enterprise+"
    ],
    [
     "Channel and access",
     2,
     "Direct sales; a partner programme exists with unpublished terms; no open binary except spacectl and the provider"
    ],
    [
     "Owner stability",
     2,
     "Independent and venture backed since 2021; the $51M Series C of 2025-07 adds exit pressure; no acquisition found"
    ],
    [
     "Cost of staying supported",
     2.5,
     "SaaS updates itself; Self-Hosted gets features only with its next release; worker transport migration required by 2027-01-01"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     1,
     "Standard Terraform, OpenTofu, Pulumi and Ansible code and state; stacks, contexts and Spaces are Spacelift objects"
    ],
    [
     "Export path",
     1.5,
     "Code and state stay yours and the Terraform provider exports configuration; policies, contexts and worker pools need a rebuild elsewhere"
    ],
    [
     "Stack coupling",
     2,
     "Runs, policies, contexts and worker pools bind to Spacelift APIs; Rego policies are portable in principle"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "Any cloud; Self-Hosted on AWS, Azure, GCP or Kubernetes; air-gapped on Enterprise+"
    ],
    [
     "Skills and tooling coupling",
     2,
     "Engine skills plus Rego, Spacelift policy types and Flows"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     3,
     "A programme exists; its terms are not published"
    ],
    [
     "Multi-tenancy and self-service",
     4.5,
     "Spaces, blueprints, templates and unlimited users on paid plans"
    ],
    [
     "API and infrastructure-as-code",
     4.5,
     "GraphQL API, Terraform provider (1.57.0), spacectl and a remote MCP server"
    ],
    [
     "Skills and certification",
     2,
     "Documentation and training; no certification programme found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Spacelift is the broadest platform in this group: six engine types, a self-hosted and air-gapped option, and an AI record where the headline item (Intent) reached GA five months after early access. Its customer-driven changelog, almost weekly since 2025, earns the highest credibility score of the platforms. The scores are held back by entry pricing (a $20,000 annual Starter+ tier above a two-user Free plan) and by self-hosting being limited to Enterprise+. The one thing to check before signing is the Self-Hosted release lag against SaaS, together with the private worker transport change due by 2027-01-01.",
   "report": "/reports/infrastructure-automation-ledger-2026/spacelift",
   "ai": {
    "infra": {
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0.5,
     "2026": 3
    },
    "stack": {
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 1
    },
    "ops": {
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 2
    },
    "agents": {
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 2,
     "2026": 3.5
    }
   },
   "ai_basis": {
    "infra": "2026-03: Intent GA generates and applies infrastructure from natural language under Intent policies; Infra Assistant Build mode carries no GA label",
    "stack": "2026-04: bring-your-own-model through AWS Bedrock; a Spacelift-provided model with a $10 monthly budget on Free",
    "ops": "2026-03: Intelligence covers drift management, policy creation and troubleshooting; the docs give no GA label, so half credit",
    "agents": "2026-05: remote MCP server at /mcp with per-user OAuth, an mcp:read scope and Intent policies; GA label not stated"
   },
   "ai_ledger": {
    "announced": 5,
    "ga": 4,
    "preview": 1,
    "pending": 0,
    "dropped": 0,
    "note": "Spacelift's docs do not label release stages; the remote MCP server and Infra Assistant are open to every account and are counted as shipped, the MCP tools parameter is labelled Alpha."
   },
   "ai_reading": "Spacelift has the widest AI surface in this group: natural language provisioning that reached GA, an assistant in the UI and a remote MCP server with per-user OAuth and policy checks. What is missing is a GA label on the assistant and the MCP server and a description of how AI actions appear in the audit trail.",
   "mom": 27.2,
   "credT": 19,
   "commT": 12,
   "lockT": 7,
   "integT": 14
  },
  {
   "key": "aap",
   "name": "Red Hat Ansible Automation Platform",
   "short": "Ansible Automation Platform",
   "kind": "product",
   "group": "config",
   "since": 2015,
   "archetype": "Integrated stack with an AI-led roadmap",
   "grade": "B",
   "driver": "P",
   "mix": {
    "V": 29,
    "C": 24,
    "M": 12,
    "U": 0,
    "P": 35
   },
   "idx": 0.45,
   "domains": {
    "breadth": {
     "2015": 2,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 3,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 4
    },
    "config": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 4,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "state": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "lang": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 4,
     "2026": 4
    },
    "orch": {
     "2015": 3,
     "2016": 3,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 4,
     "2024": 4,
     "2025": 4.5,
     "2026": 4.5
    },
    "scale": {
     "2015": 2,
     "2016": 2,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "security": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 4
    },
    "baremetal": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "ecosystem": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 4,
     "2021": 4.5,
     "2022": 4.5,
     "2023": 4.5,
     "2024": 4.5,
     "2025": 4.5,
     "2026": 4.5
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 3,
     "2024": 3,
     "2025": 3.5,
     "2026": 4
    }
   },
   "cred": [
    [
     "Cadence",
     3.5,
     "Majors on 2023-06-27, 2024-09-30, 2025-10-01 and 2026-06-10 (15, 12 and 8 month gaps); dates are not published in advance"
    ],
    [
     "Roadmap transparency",
     2.5,
     "Public release notes and lifecycle page; direction appears in blogs and keynotes, no dated roadmap, and the AWX upstream published no plan for 18 months"
    ],
    [
     "Say-do",
     3.5,
     "3 of 6 AI items GA; MCP server and bring-your-own-knowledge still preview; orchestrator pending without a date"
    ],
    [
     "Velocity",
     4,
     "Several substantive capabilities per release since 2.5"
    ],
    [
     "Lifecycle stability",
     3,
     "About three years per release, but 2.5 shipped without an upgrade path, RPM installs end after 2.6 and 2.4 has no direct path to 2.7"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     2,
     "No licence change found; with no public list price, changes cannot be checked"
    ],
    [
     "Purchase constraints",
     3.5,
     "Subscription only, per managed node, quote based; no free production tier"
    ],
    [
     "Channel and access",
     2,
     "Direct, partners and cloud marketplaces; downloads and patches need an active subscription"
    ],
    [
     "Owner stability",
     1.5,
     "Long-term owner IBM; IBM also owns HashiCorp, so Terraform now sits in the same portfolio"
    ],
    [
     "Cost of staying supported",
     3,
     "Three-year windows, installer migrations, RHEL 9 move for 2.6, default ansible-core pinned at 2.16"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     1.5,
     "Playbooks and rulebooks are open YAML; controller objects live in the platform database"
    ],
    [
     "Export path",
     2.5,
     "Playbooks run on community ansible-core; job templates, workflows and schedules need rebuilding, and the AWX exit path has not shipped since 2024"
    ],
    [
     "Stack coupling",
     2.5,
     "2.7 new installs need RHEL 9.6 or later, RHEL 10 or OpenShift, plus PostgreSQL 15 to 17 and Redis"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "Any server; air-gapped topologies supported; managed options optional"
    ],
    [
     "Skills and tooling coupling",
     1.5,
     "Common Ansible skills plus product-specific execution environments, hub and mesh"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     4,
     "Red Hat Partner Connect for certified content, reseller channel and marketplace listings; terms not read"
    ],
    [
     "Multi-tenancy and self-service",
     4.5,
     "Organizations, teams, shared RBAC since 2.5, self-service portal GA since 2.6"
    ],
    [
     "API and infrastructure-as-code",
     4,
     "REST API behind the platform gateway; configuration as code through collections"
    ],
    [
     "Skills and certification",
     4,
     "Exam-based Red Hat certifications and a large talent pool"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Ansible Automation Platform scores highest in its group because it adds everything the engine lacks: scheduling, workflows, event-driven runs, a self-service portal, shared RBAC and generally available AI assistance. Its credibility is held back by a roadmap that lives in blog posts and by packaging churn, with installer changes and missing upgrade paths across 2.4, 2.5 and 2.7. The buyer's main check is the upstream: AWX has not released since July 2024, Red Hat's refactor shipped only as an untagged container image, so the open exit path for the controller is weaker than it was. Price must be requested, and the AWS listing is the only public figure to compare against.",
   "report": "/reports/infrastructure-automation-ledger-2026/aap",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3.5
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 1,
     "2026": 1
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 3,
     "2026": 3
    },
    "agents": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 3
    }
   },
   "ai_basis": {
    "infra": "2.7: coding assistant adds Red Hat AI and Google Gemini beside watsonx",
    "stack": "2.6: bring-your-own-model for the assistant through Red Hat AI, OpenAI or Azure OpenAI; no AI platform of its own",
    "ops": "2.6: Lightspeed intelligent assistant GA in the platform UI; bring-your-own-knowledge still technology preview in 2.7",
    "agents": "2.6.4: official MCP server in technology preview with read-only and read-write modes and RBAC inheritance"
   },
   "ai_ledger": {
    "announced": 6,
    "ga": 3,
    "preview": 2,
    "pending": 1,
    "dropped": 0,
    "note": "GA: Lightspeed code generation, the intelligent assistant and the extra model providers; preview: the MCP server and bring-your-own-knowledge; pending: the automation orchestrator."
   },
   "ai_reading": "Red Hat ships AI for writing and explaining automation and for chatting with the platform, and both are generally available. The agent interface is still a technology preview after two releases, so an agent-driven estate on it runs outside production support today.",
   "mom": 13.1,
   "credT": 16.5,
   "commT": 12,
   "lockT": 8.5,
   "integT": 16.5
  },
  {
   "key": "terraform",
   "name": "HashiCorp Terraform (CLI, HCP Terraform, Terraform Enterprise)",
   "short": "Terraform",
   "kind": "product",
   "group": "iac",
   "since": 2015,
   "archetype": "Dependable builder",
   "grade": "A",
   "driver": "C",
   "mix": {
    "V": 10,
    "C": 45,
    "M": 10,
    "U": 5,
    "P": 30
   },
   "idx": 0.15,
   "domains": {
    "breadth": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 4,
     "2026": 4
    },
    "config": {
     "2015": 0.5,
     "2016": 0.5,
     "2017": 0.5,
     "2018": 0.5,
     "2019": 0.5,
     "2020": 0.5,
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 0.5,
     "2025": 1,
     "2026": 1
    },
    "state": {
     "2015": 2,
     "2016": 2,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 4,
     "2024": 4,
     "2025": 4.5,
     "2026": 4.5
    },
    "lang": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 3,
     "2018": 3,
     "2019": 3.5,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4.5,
     "2024": 4.5,
     "2025": 4.5,
     "2026": 4.5
    },
    "orch": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 3,
     "2022": 3,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 4,
     "2026": 4
    },
    "scale": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "security": {
     "2015": 0.5,
     "2016": 0.5,
     "2017": 0.5,
     "2018": 0.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 4,
     "2026": 4
    },
    "baremetal": {
     "2015": 0.5,
     "2016": 0.5,
     "2017": 0.5,
     "2018": 0.5,
     "2019": 0.5,
     "2020": 0.5,
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "ecosystem": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 4.5,
     "2021": 4.5,
     "2022": 4.5,
     "2023": 4.5,
     "2024": 4.5,
     "2025": 4.5,
     "2026": 4.5
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0.5,
     "2026": 3.5
    }
   },
   "cred": [
    [
     "Cadence",
     4,
     "A minor every three to five months (1.14 on 2025-11-19, 1.15 on 2026-04-29, 1.16 on 2026-08-26) and weekly patches; dates are not announced in advance"
    ],
    [
     "Roadmap transparency",
     3.5,
     "Public changelogs, an open issue tracker and alpha experiments listed in the main changelog; no dated public roadmap"
    ],
    [
     "Say-do",
     3.5,
     "MCP server beta to GA in about 13 months, Stacks GA on the day announced, query and actions in core within two months; Infragraph still preview, Azure Copilot GA not found, CDKTF dropped, policy framework GA pending"
    ],
    [
     "Velocity",
     4.5,
     "Several substantive capabilities in each of 1.14, 1.15 and 1.16"
    ],
    [
     "Lifecycle stability",
     2.5,
     "CDKTF archived 2025-12-10, Replicated installer ended 2026-04-01, legacy Free plan ended 2026-03-31; CLI minors supported about nine months"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     4,
     "MPL 2.0 to BUSL 1.1 in 2023, billing moved to managed resources in 2023, legacy Free plan retired in 2026, top tier renamed from Plus to Premium"
    ],
    [
     "Purchase constraints",
     2,
     "CLI free to use outside competing hosted services; Free tier up to 500 managed resources; HCP Terraform is subscription only; Terraform Enterprise by quote"
    ],
    [
     "Channel and access",
     1.5,
     "Public CLI binaries and patches; partner entry by application with no published criteria; Terraform Enterprise images need a licence; support moved to IBM sites"
    ],
    [
     "Owner stability",
     4,
     "Acquisition by IBM closed 2025-02-27; CDKTF dropped within the year; product names now carry the IBM prefix"
    ],
    [
     "Cost of staying supported",
     3,
     "New minor every three to five months and about nine months of support per minor; Terraform Enterprise releases monthly and the Replicated path was closed"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     1.5,
     "HCL and JSON state are openly readable; Stacks files (.tfcomponent.hcl, .tfdeploy.hcl) run only on the HashiCorp product"
    ],
    [
     "Export path",
     1.5,
     "OpenTofu runs most HCL; Pulumi reads Terraform state and converts HCL; state is downloadable from HCP Terraform"
    ],
    [
     "Stack coupling",
     0.5,
     "Any hypervisor, cloud or service through providers"
    ],
    [
     "Hardware / cloud coupling",
     1,
     "CLI works offline; HCP Terraform is SaaS only, Terraform Enterprise is self-hosted"
    ],
    [
     "Skills and tooling coupling",
     0.5,
     "The widest IaC skills base; skills transfer to OpenTofu"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     3.5,
     "900+ partners including 650+ integrators and resellers; entry by application, no tiers or criteria published"
    ],
    [
     "Multi-tenancy and self-service",
     4,
     "Organizations, projects, teams, no-code provisioning, Stacks, private registry, SSO on every tier"
    ],
    [
     "API and infrastructure-as-code",
     4.5,
     "Full HCP Terraform API; the tfe provider manages the platform itself (not re-verified)"
    ],
    [
     "Skills and certification",
     4.5,
     "Three exam-based certifications: Associate, Infrastructure Engineer Professional, Authoring and Operations Advanced"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Terraform's engineering record since 2023 is demand-led: import blocks, a test framework, ephemeral values, query and actions each closed a long-standing gap, and the CLI keeps shipping every few months. Its commercial record is the opposite: the BUSL change, resource-based billing, the IBM purchase, the CDKTF shutdown and the Free plan retirement were all portfolio decisions, which is why commercial risk is the highest in this group. The capability lead over OpenTofu now rests on the HCP side (Stacks, policy gate, drift detection, HYOK) rather than on the CLI. Before signing, check how many managed resources your estate holds, because that number drives the bill and the Free tier cap of 500.",
   "report": "/reports/infrastructure-automation-ledger-2026/terraform",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 1.5
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0.5
    },
    "agents": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 3,
     "2026": 4.5
    }
   },
   "ai_basis": {
    "infra": "Plan explanation and registry lookups reach third-party assistants through the GA MCP server; no in-product code generator found",
    "stack": "None",
    "ops": "HCP Terraform powered by Infragraph in public preview (2026-05-04); HCP Terraform Metrics announced 2026-09-03",
    "agents": "MCP server GA (2026-06-11): existing authentication and authorization, per-user tokens, rate limiting, OpenTelemetry audit; open source under MPL 2.0"
   },
   "ai_ledger": {
    "announced": 4,
    "ga": 1,
    "preview": 2,
    "pending": 1,
    "dropped": 0,
    "note": "The MCP server is GA; Infragraph and the Azure Copilot integration are previews; Terraform for IBM Z with intent-driven workflows has no stated status."
   },
   "ai_reading": "Terraform's AI story is the agent interface: the MCP server went from beta to GA in 13 months with identity, rate limits and audit. There is no code generator in the product, and the operations side (Infragraph) is still a preview for qualified customers.",
   "mom": 17.6,
   "credT": 18,
   "commT": 14.5,
   "lockT": 5,
   "integT": 16.5
  },
  {
   "key": "cloudformation",
   "name": "AWS CloudFormation (with the AWS CDK)",
   "short": "CloudFormation",
   "kind": "product",
   "group": "cloud",
   "since": 2015,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 21,
    "C": 63,
    "M": 0,
    "U": 0,
    "P": 16
   },
   "idx": 0.25,
   "domains": {
    "breadth": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "config": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    },
    "state": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 4,
     "2025": 4.5,
     "2026": 4.5
    },
    "lang": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 3,
     "2020": 3,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 4,
     "2026": 4
    },
    "orch": {
     "2015": 2,
     "2016": 2,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3.5,
     "2026": 3.5
    },
    "scale": {
     "2015": 3,
     "2016": 3,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "security": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "baremetal": {
     "2015": 0.5,
     "2016": 0.5,
     "2017": 0.5,
     "2018": 0.5,
     "2019": 0.5,
     "2020": 0.5,
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 0.5,
     "2025": 0.5,
     "2026": 1
    },
    "ecosystem": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 2.5,
     "2026": 3
    }
   },
   "cred": [
    [
     "Cadence",
     4,
     "CDK library every one to two weeks (ten releases from 2026-08-10 to 2026-10-08); service changes monthly; no published rhythm"
    ],
    [
     "Roadmap transparency",
     3,
     "Dated What's New posts and blogs; no dated service roadmap read"
    ],
    [
     "Say-do",
     3.5,
     "Most features reach GA at announcement; cdk refactor in preview for 13 months; Git sync GA date not found"
    ],
    [
     "Velocity",
     4,
     "Several substantive items per quarter in 2025-11 and 2026-06"
    ],
    [
     "Lifecycle stability",
     3,
     "Engine stable since 2011; authoring tools renamed and retired (Infrastructure Composer, Q Developer IDE plugins, CDK for Terraform)"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     0.5,
     "No charge for AWS-namespace resources in every source read; per-operation fee for third-party types and hooks; no price change found"
    ],
    [
     "Purchase constraints",
     1,
     "Nothing to buy, but an AWS account is required and there is no standalone product"
    ],
    [
     "Channel and access",
     0.5,
     "Open to any AWS customer; CDK and the CloudFormation CLI are open source on GitHub and npm"
    ],
    [
     "Owner stability",
     0.5,
     "Built in house by Amazon Web Services; no ownership change"
    ],
    [
     "Cost of staying supported",
     1.5,
     "No upgrade fees; surrounding tools retired on notice (Infrastructure Composer console 2026-12-07, Q Developer IDE plugins 2027-04-30)"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     3.5,
     "AWS-specific template schema and CDK constructs; state lives inside the service"
    ],
    [
     "Export path",
     3,
     "IaC generator imports into templates; no exporter to another tool; CDK for Terraform archived 2025-12-10"
    ],
    [
     "Stack coupling",
     4,
     "AWS resources only; registry extensions run and bill inside AWS"
    ],
    [
     "Hardware / cloud coupling",
     4.5,
     "Managed service only; no self-hosted or air-gapped mode; pre-deployment validation excludes China Regions"
    ],
    [
     "Skills and tooling coupling",
     2,
     "Large AWS skills pool; CDK in five general-purpose languages; Guard and cfn-lint are AWS specific"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     3.5,
     "AWS Partner Network exists; its terms were not read for this edition"
    ],
    [
     "Multi-tenancy and self-service",
     4,
     "StackSets with AWS Organizations, Service Catalog and Control Tower managed hooks; the account is the tenant, there is no customer portal"
    ],
    [
     "API and infrastructure-as-code",
     5,
     "Every action is an API; Cloud Control API gives uniform create, read, update, delete and list; CDK Toolkit Library embeds the deploy engine"
    ],
    [
     "Skills and certification",
     4,
     "AWS certifications and a very large skills pool; specific tracks not checked"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "CloudFormation sits in this Ledger as the single-cloud reference, and its scores read that way: planning, safety and security are near the top of the field inside AWS, while provisioning breadth and bare metal stay low because nothing outside AWS can be described in a template. Credibility is steady: features arrive at GA without pre-announcement and the engine has kept its shape since 2011, though the authoring tools around it churn (Infrastructure Composer, the Q Developer plugins, CDK for Terraform). Lock-in is the highest in the group by design, since state, formats and the control plane all live in one cloud and the only import path points inward. A buyer planning on the CDK should check the status of cdk refactor, still a preview 13 months after launch, before committing to large restructures.",
   "report": "/reports/infrastructure-automation-ledger-2026/cloudformation",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 2,
     "2026": 2
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 1.5,
     "2026": 1.5
    },
    "agents": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 3,
     "2026": 4.5
    }
   },
   "ai_basis": {
    "infra": "IaC MCP server gives assistants documentation search, cfn-lint and Guard checks; Q Developer IDE generation retires 2027-04-30; no plan explanation",
    "stack": "None",
    "ops": "IaC MCP server troubleshoots failed deployments from CloudTrail events; Q Developer console chat is AWS-wide rather than CloudFormation specific",
    "agents": "AWS MCP Server GA with IAM guardrails, CloudWatch metrics and CloudTrail logging; two Regions; express mode aimed at agents"
   },
   "ai_ledger": {
    "announced": 4,
    "ga": 3,
    "preview": 0,
    "pending": 1,
    "dropped": 0,
    "note": "The pending item is the retirement of the Amazon Q Developer IDE plugins on 2027-04-30, with Kiro named as successor and no published statement on CloudFormation generation."
   },
   "ai_reading": "AWS has two agent routes around CloudFormation: a managed AWS MCP Server with IAM guardrails and CloudTrail logging, GA since 2026-05-06 in two Regions, and a local open-source IaC MCP server that searches documentation, lints templates and checks Guard rules but cannot create a stack. Code generation sits in Amazon Q Developer, whose IDE plugins reach end of support on 2027-04-30 with Kiro named as the successor and no published statement on CloudFormation generation. There is no plan explanation feature and no AI in CloudFormation's own operations.",
   "mom": 9.4,
   "credT": 17.5,
   "commT": 4,
   "lockT": 17,
   "integT": 16.5
  },
  {
   "key": "pulumi",
   "name": "Pulumi (open source engine and Pulumi Cloud)",
   "short": "Pulumi",
   "kind": "product",
   "group": "iac",
   "since": 2018,
   "archetype": "Real innovator",
   "grade": "B",
   "driver": "V",
   "mix": {
    "V": 47,
    "C": 27,
    "M": 13,
    "U": 0,
    "P": 13
   },
   "idx": 0.54,
   "domains": {
    "breadth": {
     "2018": 2,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3.5
    },
    "config": {
     "2018": 0.5,
     "2019": 0.5,
     "2020": 0.5,
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "state": {
     "2018": 2,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 4
    },
    "lang": {
     "2018": 3.5,
     "2019": 4.5,
     "2020": 4.5,
     "2021": 4.5,
     "2022": 4.5,
     "2023": 4.5,
     "2024": 4.5,
     "2025": 4.5,
     "2026": 4.5
    },
    "orch": {
     "2018": 1,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 3.5
    },
    "scale": {
     "2018": 1.5,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "security": {
     "2018": 1,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 4
    },
    "baremetal": {
     "2018": 0.5,
     "2019": 0.5,
     "2020": 0.5,
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "ecosystem": {
     "2018": 1.5,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3.5
    },
    "ai": {
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0.5,
     "2026": 3
    }
   },
   "cred": [
    [
     "Cadence",
     4,
     "A minor roughly every week (3.266.0 on 2026-09-30 to 3.269.0 on 2026-10-15); the rhythm is visible but not published"
    ],
    [
     "Roadmap transparency",
     3,
     "Open repository, changelog, blog and release notes; no dated roadmap found"
    ],
    [
     "Say-do",
     3,
     "ESC went from preview to GA in 11 months; Insights 2.0 and Neo have no dated GA announcement, so one of three trackable previews is clearly closed"
    ],
    [
     "Velocity",
     4.5,
     "Many capabilities a month across the engine, Deployments and Neo"
    ],
    [
     "Lifecycle stability",
     2.5,
     "One rolling 3.x line with no forced upgrades, but no support policy page and tiers renamed twice in 2026"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     3.5,
     "Engine licence unchanged; the cloud service added per-token Neo pricing (2026-06-17), renamed every tier (2026-09-21) and repriced Enterprise (2026-09-28)"
    ],
    [
     "Purchase constraints",
     2,
     "Free edition for one user; self-hosting only on Enterprise at $2,000 a month; compliance policy packs and SCIM on Enterprise only"
    ],
    [
     "Channel and access",
     1,
     "Open source CLI, self-serve signup, AWS Marketplace listing; partner terms not published"
    ],
    [
     "Owner stability",
     2.5,
     "Independent venture-backed company; last funding round found is 2023; no acquisition"
    ],
    [
     "Cost of staying supported",
     2,
     "No version windows to manage; paid support add-ons from $625 a month (tracker, not read at Pulumi)"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     2,
     "Programs in general-purpose languages; JSON checkpoint state is documented"
    ],
    [
     "Export path",
     2.5,
     "No documented export to another IaC tool; the conversion path runs into Pulumi, not out of it"
    ],
    [
     "Stack coupling",
     0.5,
     "Any backend (Pulumi Cloud, S3 and compatible, Azure Blob, GCS, PostgreSQL, local file)"
    ],
    [
     "Hardware / cloud coupling",
     1.5,
     "Pulumi Cloud is the default and hosts ESC, Deployments, Neo and Insights; self-managed backends cannot recover from some partial failures"
    ],
    [
     "Skills and tooling coupling",
     1.5,
     "Ordinary programming skills plus the Pulumi resource model"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2.5,
     "Partners page lists cloud, technology and integrator partners; no tiers, criteria or certification stated"
    ],
    [
     "Multi-tenancy and self-service",
     3.5,
     "Organisations, teams, RBAC with custom roles (25 on Pro, unlimited on Enterprise), SCIM on Enterprise, templates"
    ],
    [
     "API and infrastructure-as-code",
     4.5,
     "REST API plus the Automation API in Node.js, Python and Go"
    ],
    [
     "Skills and certification",
     2,
     "No certification found; general language skills are common, Pulumi-specific experience is rarer"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Pulumi's engine has not changed its licence or its major version since 2021, and the language and authoring score has been near the top of the group since 1.0. What moves is the cloud service: ESC, Insights, Deployments and Neo arrived as vision items, and in 2026 the tiers, prices and the AI agent all changed within four months. The commercial risk score sits below Terraform's because the engine is Apache 2.0 and the owner is unchanged, and above OpenTofu's because self-hosting, drift remediation and compliance packs are gated to paid editions. Check the state backend decision first: leaving Pulumi Cloud for a self-managed backend gives up ESC, Deployments and Neo, and no export path to another IaC tool is documented.",
   "report": "/reports/infrastructure-automation-ledger-2026/pulumi",
   "ai": {
    "infra": {
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0.5,
     "2026": 3
    },
    "stack": {
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 2
    },
    "agents": {
     "2018": 1,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 3.5
    }
   },
   "ai_basis": {
    "infra": "Neo generates and applies infrastructure changes inside Pulumi Cloud under RBAC and policy; the vendor states it is generally available, billed per token; Neo CLI since 2026-05-20",
    "stack": "None",
    "ops": "Neo scheduled tasks and pulumi do (2026-05) run operations work; Neo Security is a research preview (2026-08-28)",
    "agents": "Hosted MCP server at mcp.ai.pulumi.com with organisation-scoped tokens, agent accounts (2026-05); the server does not run pulumi up itself and its GA status is not stated"
   },
   "ai_ledger": {
    "announced": 4,
    "ga": 2,
    "preview": 2,
    "pending": 0,
    "dropped": 0,
    "note": "Neo's GA rests on the vendor product page and per-token billing; no dated GA announcement was found. The MCP bridge and Neo Security remain previews."
   },
   "ai_reading": "Pulumi is the only product in this group with an in-product agent that writes and applies changes, and the only one that bills AI by the token. The buyer-side gap is proof: no dated GA post for Neo, no stated GA for the MCP server, and the benchmark that supports the claims is the vendor's own.",
   "mom": 13.9,
   "credT": 17,
   "commT": 11,
   "lockT": 8,
   "integT": 12.5
  },
  {
   "key": "ansiblecore",
   "name": "Ansible (ansible-core and the community package)",
   "short": "Ansible",
   "kind": "engine",
   "group": "engine",
   "since": 2015,
   "archetype": "Dependable engine on a published calendar",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 7,
    "C": 36,
    "M": 14,
    "U": 36,
    "P": 7
   },
   "idx": 0.13,
   "domains": {
    "breadth": {
     "2015": 2,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 3,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 4
    },
    "config": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "state": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    },
    "lang": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 4,
     "2026": 4
    },
    "orch": {
     "2015": 1,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    },
    "scale": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    },
    "security": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 2,
     "2024": 2,
     "2025": 2.5,
     "2026": 2.5
    },
    "baremetal": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "ecosystem": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 4,
     "2021": 4.5,
     "2022": 4.5,
     "2023": 4.5,
     "2024": 4.5,
     "2025": 4.5,
     "2026": 4.5
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     4.5,
     "Published May and November rhythm, kept for 2.20 (2025-11-03) and 2.21 (2026-05-18); 2.19 landed 2025-07-21"
    ],
    [
     "Roadmap transparency",
     4.5,
     "Public per-release roadmap pages with dates, open tracker, porting guides; feature plans beyond deprecations are thin"
    ],
    [
     "Say-do",
     4,
     "Dated releases held; deprecation promises for 2.23 and 2.24 still pending"
    ],
    [
     "Velocity",
     3.5,
     "2.19 brought several substantive changes; 2.20 and 2.21 were maintenance and platform floors"
    ],
    [
     "Lifecycle stability",
     3,
     "About 18 to 24 months per version, no LTS, Python floor rises each cycle, templating breaks in 2.19"
    ]
   ],
   "comm": null,
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     1,
     "Open YAML and plain-text inventory, Ansible specific"
    ],
    [
     "Export path",
     2,
     "No state to export; leaving means rewriting playbooks in another tool"
    ],
    [
     "Stack coupling",
     0.5,
     "Agentless; needs Python on Linux targets and PowerShell 5.1 or later on Windows"
    ],
    [
     "Hardware / cloud coupling",
     0,
     "Any host, fully offline"
    ],
    [
     "Skills and tooling coupling",
     1,
     "Widely held skills; open tooling"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     3,
     "No programme for the engine; anyone can build on it; certified content runs through Red Hat Partner Connect"
    ],
    [
     "Multi-tenancy and self-service",
     0.5,
     "None in the engine"
    ],
    [
     "API and infrastructure-as-code",
     3.5,
     "CLI, ansible-runner library and ansible-rulebook; no REST API of its own"
    ],
    [
     "Skills and certification",
     4.5,
     "Exam-based Red Hat certification (EX294) and a very large talent pool"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Ansible is the most widely reached automation engine on this list, and the collections model means its breadth is now set by vendors and community teams as much as by Red Hat. The engine itself has changed slowly since 2020: the real movement is in collections and in the 2.19 templating rework. Its limits are structural: no state file, no drift detection, no control plane and no AI, so every one of those needs a product on top. The thing to check before you build on it is which collection covers your platform and who maintains it, because Proxmox VE and XCP-ng are community or nothing while vSphere, Nutanix and Hyper-V have certified content.",
   "report": "/reports/infrastructure-automation-ledger-2026/ansiblecore",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "CLI and the ansible-runner Python API; no REST API and no official MCP server for the engine"
   },
   "ai_ledger": {
    "announced": 0,
    "ga": 0,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "Red Hat's AI features (Lightspeed, the intelligent assistant, the MCP server) ship in Ansible Automation Platform and are counted there."
   },
   "ai_reading": "The engine has no AI feature of its own and no official agent interface. Agents can call it only through the command line or the runner library, which is why the AI score sits near zero here while the platform built on it scores.",
   "mom": 6.7,
   "credT": 19.5,
   "commT": null,
   "lockT": 4.5,
   "integT": 11.5
  },
  {
   "key": "bicep",
   "name": "Azure Bicep (with ARM and deployment stacks)",
   "short": "Bicep",
   "kind": "product",
   "group": "cloud",
   "since": 2021,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 21,
    "C": 74,
    "M": 5,
    "U": 0,
    "P": 0
   },
   "idx": 0.21,
   "domains": {
    "breadth": {
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "config": {
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    },
    "state": {
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 3,
     "2025": 3,
     "2026": 3.5
    },
    "lang": {
     "2021": 3,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "orch": {
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "scale": {
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "security": {
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "baremetal": {
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "ecosystem": {
     "2021": 3,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "ai": {
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 1,
     "2026": 2.5
    }
   },
   "cred": [
    [
     "Cadence",
     3.5,
     "Ten minor versions in twelve months, about monthly; no published schedule"
    ],
    [
     "Roadmap transparency",
     3.5,
     "Open GitHub repository, release notes and experimental feature docs; no written roadmap"
    ],
    [
     "Say-do",
     3.5,
     "Experimental items reach GA (snapshot in 9 months, console in 6, extendable parameter files in 23); Kubernetes extension and local deploy still experimental after two years"
    ],
    [
     "Velocity",
     4,
     "Several language and tooling items per release"
    ],
    [
     "Lifecycle stability",
     3,
     "Still 0.x with breaking changes in minor versions and no support windows; ARM compatibility kept; deprecations carried out on notice"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     0.5,
     "Free and MIT throughout; no pricing page exists"
    ],
    [
     "Purchase constraints",
     0.5,
     "Nothing to buy; an Azure subscription is needed to deploy"
    ],
    [
     "Channel and access",
     0.5,
     "Open download from GitHub, winget, the Azure CLI and the VS Code extension"
    ],
    [
     "Owner stability",
     0.5,
     "Microsoft, built in house; no ownership change"
    ],
    [
     "Cost of staying supported",
     1,
     "Free updates; the current CLI is expected; experimental features excluded from support; Arc-enabled SCVMM retires September 2029"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     3,
     "Azure-specific language compiled to ARM JSON; open-source compiler and decompiler"
    ],
    [
     "Export path",
     2.5,
     "Decompile ARM to Bicep and export stack resources as JSON; nothing out to another cloud or tool"
    ],
    [
     "Stack coupling",
     4,
     "Azure resource model only"
    ],
    [
     "Hardware / cloud coupling",
     4,
     "Azure control plane required even for on-prem VMs, through an Arc resource bridge; sovereign and custom clouds supported"
    ],
    [
     "Skills and tooling coupling",
     1.5,
     "Large Azure skills base; Azure CLI and PowerShell skills carry over"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     3.5,
     "Microsoft partner programme exists; terms not read; anyone can publish modules and contribute to Azure Verified Modules"
    ],
    [
     "Multi-tenancy and self-service",
     4,
     "Azure RBAC with two deployment stack roles, management group scope, deny settings, Arc RBAC for on-prem VMs"
    ],
    [
     "API and infrastructure-as-code",
     4.5,
     "First-class front end to ARM; SDKs in five languages; RPC client and language server packages"
    ],
    [
     "Skills and certification",
     4,
     "Microsoft certifications and a large skills pool; specific tracks not checked"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Bicep scores as the single-cloud reference for a language without a state file: Azure holds the state, what-if is the plan, and deployment stacks added the managed-resource list and deny settings that a state-based tool gets from its state file. The language itself is the strongest part of the record, with a release about every month and experimental features that do reach GA, if slowly. Breadth and bare metal are low by design: vSphere and Hyper-V are reachable only through Azure Arc, which needs a resource bridge and a live connection to Azure, and Proxmox VE, Nutanix, XCP-ng and KubeVirt have no path at all. The one thing to check is which features your templates rely on, because experimental features are excluded from Microsoft Support, and the Kubernetes extension and local deploy have stayed experimental for more than two years.",
   "report": "/reports/infrastructure-automation-ledger-2026/bicep",
   "ai": {
    "infra": {
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 1.5
    },
    "stack": {
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 3,
     "2026": 3.5
    }
   },
   "ai_basis": {
    "infra": "MCP server supplies resource schemas, Azure Verified Module metadata and best practices to a coding assistant; no Bicep generator of its own",
    "stack": "None",
    "ops": "None",
    "agents": "0.40.2: MCP server in the VS Code extension and as a NuGet package; ten read-only tools, no deploy, no identity or audit layer; not labelled GA"
   },
   "ai_ledger": {
    "announced": 1,
    "ga": 1,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "Microsoft Learn labels the MCP server neither preview nor GA; it ships in the released extension and as a NuGet package, so it is counted as shipped."
   },
   "ai_reading": "Bicep's AI story is one local MCP server, shipped in the VS Code extension from 0.40.2 (2026-01-24) and as a NuGet package, with ten read-only tools for schemas, diagnostics, decompile, snapshots and Azure Verified Module metadata. It does not deploy, and the documentation claims no identity, guardrail or audit layer beyond local execution. There is no Bicep-specific code generator, no plan explanation and no AI in operations.",
   "mom": 11.2,
   "credT": 17.5,
   "commT": 3,
   "lockT": 15,
   "integT": 16
  },
  {
   "key": "harnessiacm",
   "name": "Harness Infrastructure as Code Management (IaCM)",
   "short": "Harness IaCM",
   "kind": "product",
   "group": "platform",
   "since": 2025,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 16,
    "C": 63,
    "M": 11,
    "U": 5,
    "P": 5
   },
   "idx": 0.18,
   "domains": {
    "breadth": {
     "2025": 3,
     "2026": 3.5
    },
    "config": {
     "2025": 2,
     "2026": 2.5
    },
    "state": {
     "2025": 3.5,
     "2026": 4
    },
    "lang": {
     "2025": 3,
     "2026": 3
    },
    "orch": {
     "2025": 3.5,
     "2026": 4
    },
    "scale": {
     "2025": 3.5,
     "2026": 3.5
    },
    "security": {
     "2025": 3.5,
     "2026": 4
    },
    "baremetal": {
     "2025": 0.5,
     "2026": 0.5
    },
    "ecosystem": {
     "2025": 3.5,
     "2026": 3.5
    },
    "ai": {
     "2025": 0,
     "2026": 3
    }
   },
   "cred": [
    [
     "Cadence",
     4.5,
     "Release notes every month from 2025-02 to 2026-10 except May and June 2026"
    ],
    [
     "Roadmap transparency",
     3,
     "Release notes label Beta and Limited GA; no public roadmap read"
    ],
    [
     "Say-do",
     3.5,
     "Terragrunt went from Beta (2025-10) to GA (2026-04) in six months; the provider registry (Beta 2025-10) and AWS CDK (2026-03) have no GA entry"
    ],
    [
     "Velocity",
     4.5,
     "Terragrunt, CDK, Ansible depth, two agents and the MCP server within 12 months"
    ],
    [
     "Lifecycle stability",
     3,
     "Terraform capped at 1.5.x; many features in Beta; a module inside a larger platform with its own licence enforcement since 2025-04"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     2,
     "Prices undisclosed; Essentials licence enforcement for IaCM added 2025-04"
    ],
    [
     "Purchase constraints",
     4,
     "Sold only inside the Essentials bundle or as an Enterprise module; absent from the Free plan; Self-Managed is an add-on; Essentials capped at 500 users"
    ],
    [
     "Channel and access",
     3,
     "Direct sales, quote only; no partner programme found for the module"
    ],
    [
     "Owner stability",
     1.5,
     "Independent with $570M raised (vendor figure); no sale found"
    ],
    [
     "Cost of staying supported",
     2.5,
     "Self-Managed release notes are separate and trail SaaS; a bundle renewal carries the whole platform"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     1,
     "Standard Terraform, OpenTofu, Terragrunt and Ansible code in your Git"
    ],
    [
     "Export path",
     2,
     "Code is portable; state export from workspaces is not documented; pipelines and policy sets are Harness objects"
    ],
    [
     "Stack coupling",
     3,
     "Account, organisation, project and workspace hierarchy, pipelines and connectors"
    ],
    [
     "Hardware / cloud coupling",
     1.5,
     "SaaS or Self-Managed Enterprise Edition; air-gapped use not confirmed"
    ],
    [
     "Skills and tooling coupling",
     2,
     "Harness pipeline YAML and OPA"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2,
     "None found for the module"
    ],
    [
     "Multi-tenancy and self-service",
     4,
     "Organisations and projects with RBAC; Ephemeral Workspaces in Limited GA"
    ],
    [
     "API and infrastructure-as-code",
     4,
     "API, iacm plan CLI and the Harness MCP server"
    ],
    [
     "Skills and certification",
     2,
     "No IaCM certification found; Harness training not checked"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Harness IaCM has moved fastest of the six since early 2025: Terragrunt from Beta to GA in six months, Ansible depth, AWS CDK, two agents and an MCP server, all logged in monthly release notes. Its capability sits between Spacelift and env zero, and its credibility is second only to Spacelift. The commercial side is the drag: the module cannot be bought on its own, prices are undisclosed and self-management is an add-on, so a buyer takes on the whole Harness platform to get it. The thing to check is how much of what you need is still Beta, since the CDK, module lifecycle, both agents and parts of Ansible were Beta on 2026-10-15.",
   "report": "/reports/infrastructure-automation-ledger-2026/harnessiacm",
   "ai": {
    "infra": {
     "2025": 0,
     "2026": 0.5
    },
    "stack": {
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2025": 0,
     "2026": 1.5
    },
    "agents": {
     "2025": 1.5,
     "2026": 3
    }
   },
   "ai_basis": {
    "infra": "Vendor says pipelines and OPA policies can be generated from prompts (vendor claim); no HCL generation confirmed",
    "stack": "None",
    "ops": "2026-08: Remediation Agent opens pull requests for drift and Blast Radius Agent scores plan risk, both Beta (half credit)",
    "agents": "2026-02: native MCP server support, extended 2026-09 to create and update IaCM entities; the MCP repository's licence and authentication were not read"
   },
   "ai_ledger": {
    "announced": 4,
    "ga": 2,
    "preview": 2,
    "pending": 0,
    "dropped": 0,
    "note": "The MCP server and the query assistant shipped without a stated stage; both agents are Beta as of 2026-10-15."
   },
   "ai_reading": "Harness has the longest AI list in this group, two autonomous agents plus an MCP server that can now write IaCM objects, but only the MCP server is in general use and neither agent carries a GA label. The score rises when the Remediation Agent leaves Beta.",
   "mom": 10.1,
   "credT": 18.5,
   "commT": 13,
   "lockT": 9.5,
   "integT": 12
  },
  {
   "key": "env0",
   "name": "env0 (now branded env zero)",
   "short": "env zero",
   "kind": "product",
   "group": "platform",
   "since": 2020,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 20,
    "C": 55,
    "M": 10,
    "U": 5,
    "P": 10
   },
   "idx": 0.24,
   "domains": {
    "breadth": {
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "config": {
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    },
    "state": {
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 4,
     "2026": 4.5
    },
    "lang": {
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 3,
     "2026": 3
    },
    "orch": {
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 4,
     "2026": 4
    },
    "scale": {
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 3
    },
    "security": {
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3.5,
     "2026": 4
    },
    "baremetal": {
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ecosystem": {
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 3,
     "2026": 3.5
    },
    "ai": {
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 3,
     "2026": 3
    }
   },
   "cred": [
    [
     "Cadence",
     3.5,
     "Changelog posts most months; none from September to December 2025 apart from November; about three entries a month in 2026"
    ],
    [
     "Roadmap transparency",
     2.5,
     "Changelog only; no public roadmap or tracker"
    ],
    [
     "Say-do",
     3,
     "MCP server shipped in 2025-09 within its quarter; AI summaries (Beta 2025-04) and Code Optimizer (Beta 2025-11) have no GA entry"
    ],
    [
     "Velocity",
     3.5,
     "Drift remediation, Cloud Analyst, MCP server, SCIM, agent pools and a new CLI within 18 months"
    ],
    [
     "Lifecycle stability",
     3,
     "Terraform held at 1.5.x by design; rebrand to env zero without a published notice; Azure DevOps connections must move to Entra ID"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     2.5,
     "Pricing updates announced 2025-05 without published detail; tiers renamed Cloud Navigator and Cloud Pilot; Free plan added 2026-07"
    ],
    [
     "Purchase constraints",
     2,
     "Free plan with 250 runs a month; paid plans by quote only, metered per successful apply or environment"
    ],
    [
     "Channel and access",
     2.5,
     "Direct sales; no partner programme found; control plane SaaS only"
    ],
    [
     "Owner stability",
     2.5,
     "Venture backed; CEO changed 2025-05; last funding found 2023-03"
    ],
    [
     "Cost of staying supported",
     2,
     "SaaS; per-apply metering grows with use; no upgrade work on the control plane"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     1,
     "Standard engine code in your Git; state on the env zero backend or your own"
    ],
    [
     "Export path",
     2,
     "Code is portable; an exit path for environments, templates and approval policies is not documented"
    ],
    [
     "Stack coupling",
     2,
     "Projects, environments, templates and OPA approval policies are env zero objects"
    ],
    [
     "Hardware / cloud coupling",
     2,
     "SaaS control plane; self-hosted agents need outbound internet; no air-gapped mode"
    ],
    [
     "Skills and tooling coupling",
     1.5,
     "Terraform, OpenTofu and Rego skills transfer"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2,
     "No partner programme found"
    ],
    [
     "Multi-tenancy and self-service",
     4,
     "Projects, RBAC, SSO and SCIM, managed self-service with a template catalogue"
    ],
    [
     "API and infrastructure-as-code",
     4,
     "REST API, Terraform provider (1.33.2), CLI (2026-07) and an open-source MCP server"
    ],
    [
     "Skills and certification",
     2,
     "Documentation; no certification found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "env zero covers the core platform job well: plan and approval policies, drift detection with remediation and cause analysis, saved plans and SCIM, shipped at a steady monthly pace. It scores close to Spacelift on state and self-service and below it on configuration management, scale and transparency, because the control plane is SaaS only and there is no public roadmap. The rebrand from env0 and the 2025 pricing update both happened without a published notice, which is why lifecycle stability and price volatility sit in the middle. Check whether the Free plan's self-hosted runner is real: the pricing page lists one, the agent documentation says agents are for Enterprise customers.",
   "report": "/reports/infrastructure-automation-ledger-2026/env0",
   "ai": {
    "infra": {
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0.5,
     "2026": 0.5
    },
    "stack": {
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 2,
     "2026": 2
    },
    "agents": {
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 3,
     "2026": 3
    }
   },
   "ai_basis": {
    "infra": "2025-11: Code Optimizer in Beta improves existing code; no HCL generation found (half step)",
    "stack": "None",
    "ops": "2025-03: Cloud Analyst answers natural language questions over drift and DORA data as a Cloud Pilot add-on; AI error insights in Beta since 2025-04; no GA label on either",
    "agents": "2025-09: official open-source MCP server (Apache-2.0) with deploy and approve tools gated by in-product approval; 2026-07 CLI ships agent skills"
   },
   "ai_ledger": {
    "announced": 5,
    "ga": 3,
    "preview": 2,
    "pending": 0,
    "dropped": 0,
    "note": "Cloud Analyst, the MCP server and the agent CLI shipped without a stated stage; AI summaries and Code Optimizer are still Beta."
   },
   "ai_reading": "env zero's AI work is strongest on the agent side: an open-source MCP server whose deploy tools wait for approval inside the product, and a CLI that installs skills for coding agents. Code generation is absent and the operator assistant is an add-on without a GA label.",
   "mom": 18,
   "credT": 15.5,
   "commT": 11.5,
   "lockT": 8.5,
   "integT": 12
  },
  {
   "key": "crossplane",
   "name": "Crossplane (CNCF)",
   "short": "Crossplane",
   "kind": "product",
   "group": "iac",
   "since": 2018,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 33,
    "C": 40,
    "M": 0,
    "U": 0,
    "P": 27
   },
   "idx": 0.45,
   "domains": {
    "breadth": {
     "2018": 1,
     "2019": 1,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2.5,
     "2026": 2.5
    },
    "config": {
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 1,
     "2026": 1
    },
    "state": {
     "2018": 1,
     "2019": 1,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 3
    },
    "lang": {
     "2018": 1,
     "2019": 1,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 3,
     "2025": 3,
     "2026": 3.5
    },
    "orch": {
     "2018": 1,
     "2019": 1,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 3,
     "2025": 4,
     "2026": 4
    },
    "scale": {
     "2018": 1,
     "2019": 1,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 3,
     "2026": 3.5
    },
    "security": {
     "2018": 0.5,
     "2019": 0.5,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2.5,
     "2026": 3
    },
    "baremetal": {
     "2018": 0.5,
     "2019": 0.5,
     "2020": 0.5,
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "ecosystem": {
     "2018": 1,
     "2019": 1,
     "2020": 2,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "ai": {
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     5,
     "Published 13-week cycle with a calendar to May 2027; v2.2, v2.3 and v2.4 shipped on their dates"
    ],
    [
     "Roadmap transparency",
     4,
     "Public release calendar, open repository and release notes; the feature roadmap was not read"
    ],
    [
     "Say-do",
     4,
     "Release dates held through 2026; composition functions went alpha to v1 in 19 months; Upbound's AI items have no stated status"
    ],
    [
     "Velocity",
     4,
     "Several capabilities in 2.0 and 2.4; 2.2 and 2.3 content read only in part"
    ],
    [
     "Lifecycle stability",
     3,
     "Nine months per minor, three supported; v1 to v2 upgrade only from v1.20; CLI renamed in 2.4; native patch and transform deprecated in 1.17"
    ]
   ],
   "comm": [
    [
     "Maintainer concentration",
     3.5,
     "Upbound is the creator and primary maintainer and the graduation post names no other maintainer organisation; 3,000+ contributors from 480+ companies are vendor-reported"
    ],
    [
     "Backer health",
     2,
     "Upbound is venture backed with $69 million raised; the CNCF hosts the project; no sponsor list read"
    ],
    [
     "Licence-change risk",
     1.5,
     "Apache 2.0 held by the CNCF; the risk sits in the providers, where Upbound gated Official Providers in 2025 and tied them to UXP"
    ],
    [
     "Abandonment signs",
     0.5,
     "Quarterly releases kept, calendar published to 2027, CNCF Graduated in 2025"
    ],
    [
     "Security response",
     1.5,
     "Two security audits before graduation; 2.4 hardened garbage collection; maintenance is best effort with no response SLA"
    ]
   ],
   "risk": "sustainability",
   "lock": [
    [
     "Formats",
     2.5,
     "Kubernetes YAML, but XRDs, Compositions and functions are Crossplane specific"
    ],
    [
     "Export path",
     3,
     "No documented path to another IaC tool; managed resources can be left in place when a claim is deleted"
    ],
    [
     "Stack coupling",
     3,
     "Requires a Kubernetes control plane"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "Any cluster, offline capable; the engine needs no Upbound account"
    ],
    [
     "Skills and tooling coupling",
     2.5,
     "Kubernetes skills are common; composition and function authoring skills are scarce"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2.5,
     "Foundation project with open downloads; Upbound's partner terms not found and its Official Providers are gated"
    ],
    [
     "Multi-tenancy and self-service",
     4,
     "Namespaced composite resources in v2 give per-tenant APIs under Kubernetes RBAC"
    ],
    [
     "API and infrastructure-as-code",
     4.5,
     "The Kubernetes API is the whole interface; any client and any GitOps tool works"
    ],
    [
     "Skills and certification",
     2,
     "No certification found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Crossplane scores highest in this group on orchestration and self-service because the product is a Kubernetes API that platform teams expose to tenants, and it is the only one that repairs drift continuously rather than reporting it. It scores lower on state and planning because there is no plan or diff before a change reaches the cluster, and on breadth because the on-prem hypervisor providers are maintained by individuals. The cadence record is the best in the group, with dates published two years ahead and kept. Check your dependence on Upbound before adopting: the Official Providers for the big clouds are free only in their latest version and, from UXP 2.0, run only on Upbound's distribution.",
   "report": "/reports/infrastructure-automation-ledger-2026/crossplane",
   "ai": {
    "infra": {
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2018": 1,
     "2019": 1,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "1.0: every object behind a stable Kubernetes API that any agent can drive; no official MCP server verified"
   },
   "ai_ledger": {
    "announced": 2,
    "ga": 0,
    "preview": 0,
    "pending": 2,
    "dropped": 0,
    "note": "UXP 2.0's AI-enhanced operations and the Upbound Marketplace MCP server were announced without a stated status; neither was read from a primary page."
   },
   "ai_reading": "The project's own position is that a Kubernetes API is the agent interface, and it ships no AI feature. Upbound announces AI insights and an MCP server for its distribution, but no status, date or documentation page could be verified in this pass.",
   "mom": 17.5,
   "credT": 20,
   "commT": 9,
   "lockT": 11.5,
   "integT": 13
  },
  {
   "key": "puppet",
   "name": "Puppet (Puppet Core and Puppet Enterprise)",
   "short": "Puppet",
   "kind": "product",
   "group": "config",
   "since": 2015,
   "archetype": "Gated builds, portfolio pull",
   "grade": "B",
   "driver": "P",
   "mix": {
    "V": 12,
    "C": 35,
    "M": 6,
    "U": 12,
    "P": 35
   },
   "idx": 0.22,
   "domains": {
    "breadth": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 2,
     "2026": 2
    },
    "config": {
     "2015": 4,
     "2016": 4,
     "2017": 4,
     "2018": 4,
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4.5,
     "2025": 4.5,
     "2026": 4.5
    },
    "state": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "lang": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 4,
     "2018": 4,
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "orch": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3.5,
     "2026": 3.5
    },
    "scale": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "security": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3.5,
     "2025": 4,
     "2026": 4
    },
    "baremetal": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "ecosystem": {
     "2015": 4,
     "2016": 4,
     "2017": 4,
     "2018": 4,
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 3.5,
     "2026": 3.5
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 3,
     "2026": 3
    }
   },
   "cred": [
    [
     "Cadence",
     3.5,
     "A Puppet Core minor every 6 to 10 weeks since 2025-11 and PE roughly monthly; the lifecycle page gives projected months, not dates"
    ],
    [
     "Roadmap transparency",
     2,
     "Release notes public without login; no public roadmap; the public repository stopped at 8.10.0 on 2024-10-22"
    ],
    [
     "Say-do",
     3,
     "Infra Assistant, Edge and Core 9 shipped; PE 2026.0 came about two months after the August projection; the Ecosystem Advisory Board of 2024-11 was not found"
    ],
    [
     "Velocity",
     3.5,
     "Edge, Infra Assistant, vulnerability remediation and a Ruby 4 baseline within two years"
    ],
    [
     "Lifecycle stability",
     2,
     "Each Core minor supersedes the previous; the support model changed to Latest and Latest minus 1 on 2026-08-06; open source Puppet 7 ended 2025-04-30 with no public 8.x builds after 2024-10"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     4,
     "Public packages replaced by EULA-gated Puppet Core in February 2025 with a 25-node free cap; support model changed in 2026-08"
    ],
    [
     "Purchase constraints",
     3,
     "Free tier is development and test only up to 25 nodes; commercial licences by quote, no list prices"
    ],
    [
     "Channel and access",
     4,
     "Forge account, MFA and API key needed to download even the free tier; patches only in Core and PE builds; partner terms not found"
    ],
    [
     "Owner stability",
     3,
     "Perforce, private-equity backed, since 2022-05-18; about 15% of the Portland staff laid off in August 2022 (secondary source)"
    ],
    [
     "Cost of staying supported",
     3.5,
     "Every Core minor must be taken to stay supported; PE Latest gets 12 months of full maintenance"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     2.5,
     "Puppet DSL and Hiera are documented text formats, specific to Puppet and OpenVox"
    ],
    [
     "Export path",
     2.5,
     "OpenVox is a drop-in replacement; no converter to other tools"
    ],
    [
     "Stack coupling",
     1,
     "Any OS; own server, PuppetDB and PostgreSQL"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "None"
    ],
    [
     "Skills and tooling coupling",
     2.5,
     "Puppet and Ruby skills, less common than Ansible"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2.5,
     "Partner programme terms not found; vendor sells direct"
    ],
    [
     "Multi-tenancy and self-service",
     2.5,
     "RBAC, node groups and environments; no tenant model"
    ],
    [
     "API and infrastructure-as-code",
     3.5,
     "PuppetDB, orchestrator, RBAC and code manager APIs; Bolt plans"
    ],
    [
     "Skills and certification",
     2.5,
     "Training exists; current certification status not found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Puppet's engine still scores as high on configuration depth as any tool in this Ledger, and the commercial terms around it changed more than any other product here between November 2024 and August 2026. Supported builds left the public repositories in February 2025, the free tier became a 25-node development licence under an EULA, the AI features sit in a new top edition, and the support model shortened to Latest and Latest minus 1. Capability kept rising through that period with Edge, vulnerability remediation and Infra Assistant. A buyer should read the Puppet Core EULA against their own use and node count before standardising, and compare the per-node quote with the cost of running OpenVox with partner support.",
   "report": "/reports/infrastructure-automation-ledger-2026/puppet",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 3,
     "2026": 3
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 3,
     "2026": 3
    },
    "agents": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 3,
     "2026": 3
    }
   },
   "ai_basis": {
    "infra": "PE 2025.7: Infra Assistant code assist for code, tasks and plans (PE Advanced)",
    "stack": "None",
    "ops": "PE 2025.4: Infra Assistant natural-language queries about the estate (PE Advanced)",
    "agents": "PE 2025.7: Puppet MCP server authenticated with PE API keys; no GA or preview label found"
   },
   "ai_ledger": {
    "announced": 2,
    "ga": 2,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "Both items are limited to PE Advanced. The MCP server carries no GA or preview label in the documentation and is counted as shipped."
   },
   "ai_reading": "Puppet ships a code assistant, an operator assistant and an official MCP server, all inside the top edition and all within one year of their announcement. The MCP server exposes documentation and entity lookups with PE API keys; it has no published guardrail or audit model, so it stays at the preview anchor.",
   "mom": 11.5,
   "credT": 14,
   "commT": 17.5,
   "lockT": 9,
   "integT": 11
  },
  {
   "key": "scalr",
   "name": "Scalr",
   "short": "Scalr",
   "kind": "product",
   "group": "platform",
   "since": 2022,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 14,
    "C": 50,
    "M": 14,
    "U": 14,
    "P": 7
   },
   "idx": 0.18,
   "domains": {
    "breadth": {
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2.5,
     "2026": 3
    },
    "config": {
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "state": {
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 4,
     "2026": 4.5
    },
    "lang": {
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 3,
     "2026": 3
    },
    "orch": {
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "scale": {
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2.5,
     "2026": 3
    },
    "security": {
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 4
    },
    "baremetal": {
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ecosystem": {
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "ai": {
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 3
    }
   },
   "cred": [
    [
     "Cadence",
     4,
     "Agent changelog has about 59 dated entries from 2025-01-03 to 2026-10-12; the provider releases monthly; no platform changelog"
    ],
    [
     "Roadmap transparency",
     2,
     "Agent changelog only; platform release notes and a roadmap were not found"
    ],
    [
     "Say-do",
     2.5,
     "Too little is announced to judge; the kubernetes-job driver (alpha 2025-10) and module cache (alpha 2025-12) have no GA entry"
    ],
    [
     "Velocity",
     3,
     "Mostly agent hardening and OpenTofu tracking; Scalr AI and the MCP server added in 2026"
    ],
    [
     "Lifecycle stability",
     3.5,
     "Agent packaging deprecation (2026-03-31) came with a migration path; Terraform frozen at 1.5.7 by design"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     1.5,
     "$0.99 per run and 50 free runs a month on 2026-10-15; no earlier price found to compare against"
    ],
    [
     "Purchase constraints",
     1,
     "Free tier, pay per run with no minimum on Business; Enterprise from 20,000 runs a year; users, agents and SAML not charged separately"
    ],
    [
     "Channel and access",
     2,
     "Direct and self-serve; no partner programme found; SaaS only"
    ],
    [
     "Owner stability",
     1.5,
     "Founder led since 2011; profitable per the vendor (vendor claim); last funding found 2017"
    ],
    [
     "Cost of staying supported",
     1.5,
     "SaaS; per-run metering; agent upgrades by pulling a Docker image"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     1,
     "Standard Terraform and OpenTofu code and state"
    ],
    [
     "Export path",
     1.5,
     "Code in Git; state can stay outside the Scalr backend; Rego policies portable"
    ],
    [
     "Stack coupling",
     2,
     "Environment and workspace model; policy groups with a scalr-policy.hcl file"
    ],
    [
     "Hardware / cloud coupling",
     2.5,
     "Control plane SaaS only; a self-hosted control plane was not found; agents need outbound access only"
    ],
    [
     "Skills and tooling coupling",
     1,
     "Terraform and OPA skills transfer"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2,
     "No partner programme found"
    ],
    [
     "Multi-tenancy and self-service",
     3.5,
     "Account, environment and workspace scopes with custom RBAC and agent pools per environment; no template catalogue found"
    ],
    [
     "API and infrastructure-as-code",
     4,
     "API, Terraform provider (3.20.0), CLI and MCP server"
    ],
    [
     "Skills and certification",
     1.5,
     "Documentation; no certification found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Scalr does one thing, Terraform and OpenTofu runs with policy and drift control, and prices it per run with no minimum, which gives it the lowest commercial risk among the paid platforms. Its state and planning score matches Spacelift and env zero; the gap is breadth (no Ansible or Pulumi), orchestration and transparency, since the platform publishes no release notes of its own. The MCP design, OAuth per user and per-tool allow lists, is the most conservative in the group. Before committing, confirm that the SaaS-only control plane and the Terraform 1.5.7 ceiling fit your estate, and ask which plans include scheduled drift detection, because the documentation does not say.",
   "report": "/reports/infrastructure-automation-ledger-2026/scalr",
   "ai": {
    "infra": {
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 2.5
    },
    "agents": {
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 3.5
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "2026-02: Scalr AI (Claude) explains failed runs, summarises dry runs and reviews plans and cost for approvers; off by default; recommends fixes and applies none; GA stage not stated",
    "agents": "2026-10: remote MCP with OAuth inheriting the user's permissions, per-tool allow and deny lists and an Enterprise audit log; writes limited to workspaces and variables"
   },
   "ai_ledger": {
    "announced": 2,
    "ga": 2,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "Both items shipped without a stated stage; nothing was announced ahead of shipping."
   },
   "ai_reading": "Scalr's AI is deliberately narrow: Claude explains failures and summarises plans for approvers, and the MCP server is mostly read-only with admin control over every tool. That design scores well on guardrails and audit and low on generation, which the product does not attempt.",
   "mom": 13.2,
   "credT": 15,
   "commT": 7.5,
   "lockT": 8,
   "integT": 11
  },
  {
   "key": "opentofu",
   "name": "OpenTofu (Linux Foundation)",
   "short": "OpenTofu",
   "kind": "product",
   "group": "iac",
   "since": 2024,
   "archetype": "Dependable builder",
   "grade": "A",
   "driver": "C",
   "mix": {
    "V": 20,
    "C": 47,
    "M": 27,
    "U": 7,
    "P": 0
   },
   "idx": 0.21,
   "domains": {
    "breadth": {
     "2024": 3.5,
     "2025": 4,
     "2026": 4
    },
    "config": {
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "state": {
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "lang": {
     "2024": 4.5,
     "2025": 4.5,
     "2026": 4.5
    },
    "orch": {
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "scale": {
     "2024": 2,
     "2025": 2,
     "2026": 2
    },
    "security": {
     "2024": 2,
     "2025": 2.5,
     "2026": 2.5
    },
    "baremetal": {
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "ecosystem": {
     "2024": 3,
     "2025": 3.5,
     "2026": 3.5
    },
    "ai": {
     "2024": 0,
     "2025": 1.5,
     "2026": 1.5
    }
   },
   "cred": [
    [
     "Cadence",
     4,
     "A minor every five to six months (2025-01-09, 2025-06-24, 2025-12-09, 2026-05-14, 2026-09-30) with betas and release candidates; support dates are published, release dates are not"
    ],
    [
     "Roadmap transparency",
     4,
     "Open repository, RFC process and issue tracker, project blog; no dated roadmap file"
    ],
    [
     "Say-do",
     4,
     "1.6.0 GA held its announced date; state encryption, ephemeral values and OCI sources shipped; linting and symbol libraries remain experimental"
    ],
    [
     "Velocity",
     4,
     "Several substantive features in each minor since 1.7"
    ],
    [
     "Lifecycle stability",
     4,
     "About 12 months of support per series with published end dates and two or three series supported at once; the 1.11 end date differs by 19 days between the changelog and endoflife.date"
    ]
   ],
   "comm": [
    [
     "Maintainer concentration",
     2.5,
     "Technical Steering Committee membership and funders not found on the project site (the about page returned 404); governance sits with LF Projects, LLC"
    ],
    [
     "Backer health",
     1.5,
     "Linux Foundation project since 2023-09-20 and CNCF Sandbox since 2025-04-23; no sponsor list read"
    ],
    [
     "Licence-change risk",
     1,
     "MPL 2.0 held by a foundation; the project exists because of a licence change and its manifesto commits to staying open source"
    ],
    [
     "Abandonment signs",
     0.5,
     "Five minors in 21 months, patch releases on two series in October 2026, support windows published to 2028"
    ],
    [
     "Security response",
     2,
     "No advisory process read in this pass; patches land on supported series (1.12.8 on 2026-10-14) and 1.13 added crash recovery to errored.tfstate"
    ]
   ],
   "risk": "sustainability",
   "lock": [
    [
     "Formats",
     1,
     "HCL and JSON state shared with Terraform; a state encrypted by OpenTofu is readable only by OpenTofu"
    ],
    [
     "Export path",
     1.5,
     "Back to Terraform only before diverging features (enabled, state encryption, provider for_each) are used; Pulumi converts HCL"
    ],
    [
     "Stack coupling",
     0.5,
     "Any backend, any provider"
    ],
    [
     "Hardware / cloud coupling",
     0,
     "Fully offline capable; no cloud service"
    ],
    [
     "Skills and tooling coupling",
     1,
     "Terraform skills transfer directly"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     3,
     "No programme and no vendor; MPL 2.0 carries no competitive-use clause, so hosted platforms can run and resell it"
    ],
    [
     "Multi-tenancy and self-service",
     0.5,
     "Engine only; runs, approvals and tenancy come from third-party platforms"
    ],
    [
     "API and infrastructure-as-code",
     3,
     "CLI with JSON output and machine readable streams; no API server"
    ],
    [
     "Skills and certification",
     2.5,
     "No OpenTofu exam found; Terraform certifications and the Terraform talent pool apply"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "OpenTofu matches Terraform's CLI on breadth, language and state, and in two places goes further: state and plan encryption since 1.7 and published support windows for every series. It scores low on orchestration, scale and security because those live in the platforms that run it, which is the point of an engine with no vendor. The sustainability record is good on cadence and delivery and thin on governance disclosure: who sits on the steering committee and who funds the work could not be read from the project site. Check which features you use before assuming a return path to Terraform, because encrypted state and the enabled meta-argument do not travel.",
   "report": "/reports/infrastructure-automation-ledger-2026/opentofu",
   "ai": {
    "infra": {
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2024": 1,
     "2025": 2.5,
     "2026": 2.5
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "Official MCP server 1.0.0 (2025-06-06) reads registry data and documentation through five tools; no identity or audit layer; no release since"
   },
   "ai_ledger": {
    "announced": 1,
    "ga": 1,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "The one AI item is a documentation lookup server; whether it is still maintained is an open question."
   },
   "ai_reading": "OpenTofu has no AI inside the engine and states no plan for one. Its MCP server answers registry and documentation questions for an assistant and does not touch infrastructure.",
   "mom": 5.4,
   "credT": 20,
   "commT": 7.5,
   "lockT": 4,
   "integT": 9
  },
  {
   "key": "ironic",
   "name": "OpenStack Ironic (with Bifrost)",
   "short": "Ironic",
   "kind": "product",
   "group": "provisioning",
   "since": 2015,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 0,
    "C": 62,
    "M": 0,
    "U": 15,
    "P": 23
   },
   "idx": 0,
   "domains": {
    "breadth": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    },
    "config": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    },
    "state": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 2
    },
    "lang": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    },
    "orch": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2.5
    },
    "scale": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3.5,
     "2026": 3.5
    },
    "security": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2.5,
     "2026": 3
    },
    "baremetal": {
     "2015": 4,
     "2016": 4,
     "2017": 4,
     "2018": 4,
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 4,
     "2026": 4.5
    },
    "ecosystem": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     5,
     "Six-month OpenStack cycle with published dates; 2026.2 released 2026-09-30 as scheduled"
    ],
    [
     "Roadmap transparency",
     4.5,
     "Public specs, release notes, deprecation notices and series schedules with end-of-life estimates"
    ],
    [
     "Say-do",
     3.5,
     "Few announcements; experimental items stay marked experimental; deprecated items are removed on the stated series"
    ],
    [
     "Velocity",
     4,
     "Several substantive items in each of 2025.2, 2026.1 and 2026.2"
    ],
    [
     "Lifecycle stability",
     3.5,
     "About 18 months maintained per series with SLURP skip-level upgrades; vendor hardware types retired in 2026.2"
    ]
   ],
   "comm": [
    [
     "Maintainer concentration",
     2,
     "OpenStack project under a Technical Committee with many contributing companies; the split by employer was not collected"
    ],
    [
     "Backer health",
     1.5,
     "OpenInfra Foundation is now part of the Linux Foundation; Red Hat, Canonical and Mirantis ship Ironic in paid products"
    ],
    [
     "Licence-change risk",
     0.5,
     "Apache-2.0 under a foundation"
    ],
    [
     "Abandonment signs",
     0.5,
     "Six-month releases kept through 39.0.0; Bifrost 21.1.0 in the same series"
    ],
    [
     "Security response",
     1.5,
     "OpenStack vulnerability process; API hardening in 2025.2 and 2026.2; no advisory record was read"
    ]
   ],
   "risk": "sustainability",
   "lock": [
    [
     "Formats",
     0.5,
     "Standard images and a REST API"
    ],
    [
     "Export path",
     2,
     "API and SDK export node records; no neutral exporter, though Metal3 re-enrolls the same nodes"
    ],
    [
     "Stack coupling",
     2,
     "Message bus or JSON-RPC and a SQL database; Keystone optional"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "Any server with IPMI or Redfish; offline capable"
    ],
    [
     "Skills and tooling coupling",
     2.5,
     "OpenStack-style skills; Ansible for Bifrost"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     4,
     "Open source; vendors run their own programmes"
    ],
    [
     "Multi-tenancy and self-service",
     3,
     "Keystone projects, owner and lessee fields, per-step policy"
    ],
    [
     "API and infrastructure-as-code",
     4,
     "REST API with microversions, SDK, Bifrost Ansible playbooks, Metal3 operator"
    ],
    [
     "Skills and certification",
     3,
     "OpenStack training; no Ironic-specific certification found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Ironic has the highest credibility in this group: a six-month cycle with published dates, public specs and deprecations that land when promised. Its capability total is low because the Ledger measures the whole automation stack and Ironic is a bare-metal engine only, with no plan mode, no configuration engine and no VM or cloud targets; within the bare-metal domain it is the deepest tool scored. Sustainability risk is the lowest of the three community projects because a foundation owns it and three vendors sell it. Check the hardware list before upgrading: 2026.2 retired the SNMP, iRMC and iLO hardware types, leaving Redfish as the main path for older servers.",
   "report": "/reports/infrastructure-automation-ledger-2026/ironic",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "REST API with microversions and token authentication; no MCP server found"
   },
   "ai_ledger": {
    "announced": 0,
    "ga": 0,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "No AI items announced."
   },
   "ai_reading": "Ironic has no AI features and no official agent interface beyond its REST API. OpenStack clouds run AI workloads on Ironic nodes, but nothing in Ironic itself targets AI.",
   "mom": 5.8,
   "credT": 20.5,
   "commT": 6,
   "lockT": 7.5,
   "integT": 14
  },
  {
   "key": "terragrunt",
   "name": "Terragrunt (Gruntwork, with Terragrunt Scale)",
   "short": "Terragrunt",
   "kind": "product",
   "group": "iac",
   "since": 2016,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 11,
    "C": 78,
    "M": 11,
    "U": 0,
    "P": 0
   },
   "idx": 0.11,
   "domains": {
    "breadth": {
     "2016": 1,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "config": {
     "2016": 0.5,
     "2017": 0.5,
     "2018": 0.5,
     "2019": 0.5,
     "2020": 0.5,
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "state": {
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 3
    },
    "lang": {
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 3
    },
    "orch": {
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 3.5
    },
    "scale": {
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 3
    },
    "security": {
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 2
    },
    "baremetal": {
     "2016": 0.5,
     "2017": 0.5,
     "2018": 0.5,
     "2019": 0.5,
     "2020": 0.5,
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "ecosystem": {
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 3
    },
    "ai": {
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0.5
    }
   },
   "cred": [
    [
     "Cadence",
     4,
     "A patch about every two weeks and a minor about every quarter with numbered release candidates; the 1.0 schedule was published, the rolling rhythm is not"
    ],
    [
     "Roadmap transparency",
     3.5,
     "Published 1.0 schedule, open repository with documented experiments and strict controls; no rolling roadmap"
    ],
    [
     "Say-do",
     4,
     "1.0.0 landed on 2026-03-30, inside the announced quarter; Scale onboarding for GitLab, Azure and GCP and the dashboard are still pending"
    ],
    [
     "Velocity",
     4,
     "Several features per release; experiments graduate on a steady rhythm (six in 1.1.0, eleven in the 1.2 candidates)"
    ],
    [
     "Lifecycle stability",
     3,
     "1.x compatibility promise, but the 1.0 and 1.2 release notes still list breaking changes, the compatibility table lags OpenTofu 1.13 and Terraform 1.15, and no support window is published"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     1.5,
     "MIT engine unchanged; Scale is new in 2026 with a free tier and unpublished paid prices, so the record is short rather than volatile"
    ],
    [
     "Purchase constraints",
     1.5,
     "CLI free for any use; Scale free up to 25 units, paid tiers by quote per unit"
    ],
    [
     "Channel and access",
     1,
     "Open download with attested releases; direct sales and AWS Marketplace; no partner programme found"
    ],
    [
     "Owner stability",
     2.5,
     "Small private company; funding, revenue and ownership history not found"
    ],
    [
     "Cost of staying supported",
     1.5,
     "Free updates and no forced cadence; the Team library licence ends with the subscription"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     1.5,
     "terragrunt.hcl and Stacks files are Terragrunt specific; the modules and state underneath stay standard"
    ],
    [
     "Export path",
     1.5,
     "Drop the wrapper and run tofu or terraform directly, losing generation, dependency ordering and backend bootstrap"
    ],
    [
     "Stack coupling",
     0.5,
     "Any backend and either engine; neutral to the Terraform licence split"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "Offline capable; Scale needs a Gruntwork account and runs inside the customer's own CI"
    ],
    [
     "Skills and tooling coupling",
     1,
     "Terraform skills plus the Terragrunt unit and stack model"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2,
     "No partner programme found; direct sales and AWS Marketplace"
    ],
    [
     "Multi-tenancy and self-service",
     2,
     "Account Factory and multi-repo management only in the Enterprise commercial tier; nothing in the CLI"
    ],
    [
     "API and infrastructure-as-code",
     3.5,
     "Stable JSON and CSV outputs and run reports since 1.0; no API server"
    ],
    [
     "Skills and certification",
     2,
     "No certification or training found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Terragrunt scores on what a wrapper can add: dependency ordering across hundreds of units, run reports, a runner pool and a stable command surface, all of which arrived or were promised with 1.0 in March 2026. It cannot score on what it borrows, so state, breadth and security sit below the engines it drives, and drift detection only exists in the paid Scale layer. The credibility record is short and clean: a published schedule for 1.0 that was kept. Check the compatibility table before upgrading the engine underneath, because it listed OpenTofu up to 1.12.x and Terraform up to 1.14.x while both projects were already two minors ahead.",
   "report": "/reports/infrastructure-automation-ledger-2026/terragrunt",
   "ai": {
    "infra": {
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 2.5
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "Gruntwork Library MCP server for the module catalog and docs, private beta for paid subscribers (2026-06-01); stable JSON output since 1.0"
   },
   "ai_ledger": {
    "announced": 1,
    "ga": 0,
    "preview": 1,
    "pending": 0,
    "dropped": 0,
    "note": "The one AI item is a documentation lookup server in private beta."
   },
   "ai_reading": "Terragrunt has no AI in the product. The Gruntwork Library MCP server lets an assistant search the paid module catalog, and third-party MCP servers for the docs exist without Gruntwork's involvement.",
   "mom": 11.1,
   "credT": 18.5,
   "commT": 8,
   "lockT": 5,
   "integT": 9.5
  },
  {
   "key": "cfengine",
   "name": "CFEngine (Community and Enterprise)",
   "short": "CFEngine",
   "kind": "product",
   "group": "config",
   "since": 2015,
   "archetype": "Dependable builder, narrow field",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 18,
    "C": 73,
    "M": 0,
    "U": 0,
    "P": 9
   },
   "idx": 0.2,
   "domains": {
    "breadth": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    },
    "config": {
     "2015": 4,
     "2016": 4,
     "2017": 4,
     "2018": 4,
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "state": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "lang": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "orch": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    },
    "scale": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "security": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "baremetal": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 1.5
    },
    "ecosystem": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 2
    }
   },
   "cred": [
    [
     "Cadence",
     4.5,
     "A feature release about every six months (2024-07, 2025-01, 2025-05, 2026-01, 2026-07) and patch releases on both LTS lines"
    ],
    [
     "Roadmap transparency",
     3,
     "A blog per release and open GitHub; roadmap statements limited to the LTS rhythm"
    ],
    [
     "Say-do",
     4,
     "3.25 features reached the 3.27 LTS twelve months later as announced; few promises to test"
    ],
    [
     "Velocity",
     3,
     "Audit log, two-factor, AI agent and container view, mostly additive"
    ],
    [
     "Lifecycle stability",
     4.5,
     "An LTS about every 18 months, supported three years with published end-of-life dates; platform drops announced with a paid extended option"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     0.5,
     "No licence or price change found; 25 free hosts since 2009"
    ],
    [
     "Purchase constraints",
     1.5,
     "Community edition free without limits; Enterprise by quote above 25 hosts"
    ],
    [
     "Channel and access",
     1.5,
     "Open downloads and public repositories; partner terms not found"
    ],
    [
     "Owner stability",
     1.5,
     "Private Norwegian company with the same product since 2008; no acquisition found"
    ],
    [
     "Cost of staying supported",
     2,
     "Three-year LTS; from 3.27 Solaris, AIX, HP-UX and SUSE need a paid extended support agreement"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     3,
     "Promise language and masterfiles are specific to CFEngine"
    ],
    [
     "Export path",
     3.5,
     "No converter found; GPL v3 code allows a fork"
    ],
    [
     "Stack coupling",
     0.5,
     "Any Linux or Windows host"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "None"
    ],
    [
     "Skills and tooling coupling",
     3.5,
     "Small skills pool"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2,
     "Not found; direct sales"
    ],
    [
     "Multi-tenancy and self-service",
     2,
     "Role-based host visibility and report access"
    ],
    [
     "API and infrastructure-as-code",
     3,
     "Enterprise REST API, cfbs, cf-remote"
    ],
    [
     "Skills and certification",
     2,
     "Training offered; certification not found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "CFEngine is the steadiest product in this group: the same owner since 2008, the same free tier since 2009, a published LTS rhythm that has held, and no licence event to report. The price of that steadiness is scope. It configures hosts and nothing else, the Community edition is Linux only, 3.27 dropped Solaris, AIX, HP-UX and SUSE from standard support, and the skills pool is small. A buyer should check the platform list of the current LTS against their estate before anything else.",
   "report": "/reports/infrastructure-automation-ledger-2026/cfengine",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 3
    },
    "agents": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "3.27 LTS: Mission Portal AI agent answers questions from reporting data through visible SQL; OpenAI, Anthropic, Gemini, Ollama or any OpenAI-compatible endpoint",
    "agents": "Enterprise REST API; no official MCP server"
   },
   "ai_ledger": {
    "announced": 1,
    "ga": 1,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "The AI agent shipped in an LTS without a beta label."
   },
   "ai_reading": "CFEngine's one AI feature is an operator assistant that answers questions about the estate from reporting data, with the provider chosen by the customer, including a local model. It generates no policy code, and there is no agent interface beyond the REST API.",
   "mom": 5.8,
   "credT": 19,
   "commT": 7,
   "lockT": 11,
   "integT": 9
  },
  {
   "key": "semaphore",
   "name": "Semaphore UI (Community, Pro and Enterprise)",
   "short": "Semaphore UI",
   "kind": "product",
   "group": "platform",
   "since": 2015,
   "archetype": "Founder-led orchestration layer, fast cadence",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 8,
    "C": 69,
    "M": 8,
    "U": 0,
    "P": 15
   },
   "idx": 0.09,
   "domains": {
    "breadth": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1.5,
     "2025": 2,
     "2026": 2
    },
    "config": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1.5,
     "2026": 1.5
    },
    "state": {
     "2015": 0.5,
     "2016": 0.5,
     "2017": 0.5,
     "2018": 0.5,
     "2019": 0.5,
     "2020": 0.5,
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 2
    },
    "lang": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1.5
    },
    "orch": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 3.5
    },
    "scale": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 2,
     "2025": 2,
     "2026": 2.5
    },
    "security": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 2,
     "2024": 2,
     "2025": 2.5,
     "2026": 3
    },
    "baremetal": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ecosystem": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 2.5,
     "2026": 3
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 1.5
    }
   },
   "cred": [
    [
     "Cadence",
     3.5,
     "A minor release every one to three months since 2024-10, with a six-month gap before 2.17; two lines patched; no published rhythm"
    ],
    [
     "Roadmap transparency",
     4,
     "Public roadmap page with target versions, open repository and release notes; no status labels or dates"
    ],
    [
     "Say-do",
     3.5,
     "The one dated promise checked (workflows in 2.19) shipped in 2.19 on 2026-08-15; the 2.20 items are still alpha; thin record"
    ],
    [
     "Velocity",
     3.5,
     "One or two substantive features in most minors since 2.11"
    ],
    [
     "Lifecycle stability",
     2.5,
     "No support policy, Pro terms changed at least once (legacy pricing clause), and the project depends on one maintainer"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     2,
     "MIT unchanged; the Pro price model changed at an unknown date (legacy pricing clause) and workflows are listed as Community on one page and Pro on another"
    ],
    [
     "Purchase constraints",
     1,
     "Free Community edition, monthly or annual Pro, 30-day trial; capacity cannot be reduced during a term"
    ],
    [
     "Channel and access",
     1,
     "Open downloads on GitHub and Docker Hub; sales direct through the site; no partner programme"
    ],
    [
     "Owner stability",
     3.5,
     "No legal entity named; one main author holds most commits"
    ],
    [
     "Cost of staying supported",
     1.5,
     "Updates are free; support SLA only on paid plans; HA and audit features sit in Enterprise"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     0.5,
     "Playbooks and Terraform code stay in the operator's Git repositories"
    ],
    [
     "Export path",
     1,
     "Project export and import via CLI since 2.17 and a REST API; objects need recreating in another controller"
    ],
    [
     "Stack coupling",
     0.5,
     "SQLite, MySQL or PostgreSQL; Redis for Enterprise HA"
    ],
    [
     "Hardware / cloud coupling",
     0,
     "Any host; Docker image and Helm chart"
    ],
    [
     "Skills and tooling coupling",
     1,
     "Skills are those of the wrapped tools"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     1,
     "No partner programme found; a partnership contact address only"
    ],
    [
     "Multi-tenancy and self-service",
     2.5,
     "Projects, teams, roles and survey inputs; custom roles and IdP group mapping in Enterprise; no tenant isolation described"
    ],
    [
     "API and infrastructure-as-code",
     3,
     "REST API with Swagger docs, CLI and a vendor Ansible collection"
    ],
    [
     "Skills and certification",
     0.5,
     "None found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Semaphore UI scores as what it is: a thin, fast-moving control layer whose provisioning and configuration depth belong to the tools it launches. Since late 2024 it has added the pieces a small team needs from a controller, namely runners, SSO, secret managers, workflows with approvals and executors, and its public roadmap is more specific than Red Hat's. The gaps are structural: no dry run or drift view of its own and no audit log outside an alpha. The heaviest risk is commercial, because no company stands behind the Pro licence and one maintainer carries the project. The buyer's check is simple: confirm the entity you are paying and whether the features you need, workflows and HA among them, sit in Community, Pro or Enterprise.",
   "report": "/reports/infrastructure-automation-ledger-2026/semaphore",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 3
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "Official MCP server for projects, templates, inventories, repositories, schedules and task context, listed in all editions without a GA or preview label"
   },
   "ai_ledger": {
    "announced": 1,
    "ga": 0,
    "preview": 1,
    "pending": 0,
    "dropped": 0,
    "note": "The MCP server is the only AI item; it is counted as preview until the vendor labels it."
   },
   "ai_reading": "Semaphore UI has no AI generation or assistant. Its MCP server lets an agent manage projects and launch tasks, which is more than most tools in its price class offer, but the documentation could not be read and no status label is published.",
   "mom": 21.7,
   "credT": 17,
   "commT": 9,
   "lockT": 3,
   "integT": 7
  },
  {
   "key": "satellite",
   "name": "Red Hat Satellite",
   "short": "Satellite",
   "kind": "product",
   "group": "provisioning",
   "since": 2015,
   "archetype": "Integrated stack",
   "grade": "B",
   "driver": "P",
   "mix": {
    "V": 21,
    "C": 29,
    "M": 0,
    "U": 14,
    "P": 36
   },
   "idx": 0.43,
   "domains": {
    "breadth": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2.5
    },
    "config": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "state": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 1.5
    },
    "lang": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "orch": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "scale": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "security": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3.5
    },
    "baremetal": {
     "2015": 4,
     "2016": 4,
     "2017": 4,
     "2018": 4,
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "ecosystem": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0.5,
     "2026": 0.5
    }
   },
   "cred": [
    [
     "Cadence",
     4.5,
     "Two minors a year in spring and autumn since 2018 (6.11 slipped to July 2022); monthly z-streams"
    ],
    [
     "Roadmap transparency",
     2.5,
     "Release notes public; knowledge base behind a login; roadmap only in blog posts; 6.20 GA given as 2027 without a date"
    ],
    [
     "Say-do",
     3,
     "The vulnerability service went from preview (6.18) to GA (6.19) in six months; the MCP server is still preview after two releases; 6.20 is pending"
    ],
    [
     "Velocity",
     3,
     "A few capabilities per minor on top of maintenance"
    ],
    [
     "Lifecycle stability",
     3.5,
     "Published N-2 policy, about 12 months full support plus maintenance and paid EUS; the 6.20 limited availability build needs a fresh install on RHEL 10"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     2,
     "No public price list; no change found since 2023; reseller prices only"
    ],
    [
     "Purchase constraints",
     3,
     "Subscription only, layered on RHEL and Smart Management subscriptions; no free edition"
    ],
    [
     "Channel and access",
     2.5,
     "Direct and resellers; software, errata and part of the knowledge base behind the customer portal"
    ],
    [
     "Owner stability",
     1.5,
     "IBM subsidiary since 2019-07-09, run as its own division; no strategy reversal found"
    ],
    [
     "Cost of staying supported",
     3,
     "Two minors a year under an N-2 policy; Extended Update Support costs extra since 6.16; the 6.20 early access build is a reinstall"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     1.5,
     "Open APIs, plain-text templates, Pulp repositories"
    ],
    [
     "Export path",
     2,
     "Same code base as upstream Foreman and Katello, but no documented migration either way"
    ],
    [
     "Stack coupling",
     3,
     "RHEL hosts only; Pulp and Candlepin; 6.20 needs RHEL 10 containers"
    ],
    [
     "Hardware / cloud coupling",
     1,
     "Any x86 server running RHEL; disconnected operation documented"
    ],
    [
     "Skills and tooling coupling",
     2.5,
     "Red Hat and Foreman specific concepts and training"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     3,
     "Red Hat partner programme exists; terms not read for this edition"
    ],
    [
     "Multi-tenancy and self-service",
     3,
     "Organisations and locations with RBAC; no requester portal"
    ],
    [
     "API and infrastructure-as-code",
     3.5,
     "REST API, Hammer CLI and Ansible content"
    ],
    [
     "Skills and certification",
     3.5,
     "Red Hat training and exams cover Satellite (course list not re-verified)"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Satellite scores close to upstream Foreman on capability and above it on security and lifecycle, which is what the subscription buys: a published N-2 policy, Red Hat compliance content and a vulnerability service that went GA within six months of preview. The costs are commercial: subscription only, RHEL only, paid Extended Update Support, and a hypervisor list that stops at vSphere, libvirt and a preview of OpenShift Virtualization. The 6.20 generation moves to containers on RHEL 10 with a fresh install in the limited availability build, so an upgrade plan is the one thing to check before committing a 2027 budget.",
   "report": "/reports/infrastructure-automation-ledger-2026/satellite",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 1
    },
    "agents": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 3,
     "2026": 3
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "6.19: Lightspeed vulnerability service fully supported (rule-based vulnerability analytics)",
    "agents": "6.18: MCP server in Technology Preview, able to patch hosts and manage content views; still preview in 6.19"
   },
   "ai_ledger": {
    "announced": 3,
    "ga": 1,
    "preview": 1,
    "pending": 1,
    "dropped": 0,
    "note": "The GA item is the vulnerability service; the MCP server has been preview for two releases and the 6.20 AI items have no published detail."
   },
   "ai_reading": "Satellite's AI so far is the Lightspeed vulnerability service, which is analytics rather than generation, and an MCP server that has stayed in Technology Preview since 6.18. Red Hat promises more AI-assisted capability at 6.20 GA in 2027 without saying what.",
   "mom": 3.2,
   "credT": 16.5,
   "commT": 12,
   "lockT": 10,
   "integT": 13
  },
  {
   "key": "foreman",
   "name": "The Foreman (with Katello)",
   "short": "Foreman",
   "kind": "engine",
   "group": "engine",
   "since": 2015,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 25,
    "C": 42,
    "M": 0,
    "U": 33,
    "P": 0
   },
   "idx": 0.38,
   "domains": {
    "breadth": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 3
    },
    "config": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "state": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 1.5
    },
    "lang": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "orch": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "scale": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "security": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 3
    },
    "baremetal": {
     "2015": 4,
     "2016": 4,
     "2017": 4,
     "2018": 4,
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "ecosystem": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     4.5,
     "Quarterly releases on a three-month rhythm since 2013; 3.17 2025-12, 3.18 2026-03, 3.19 2026-06, 5.0 2026-09"
    ],
    [
     "Roadmap transparency",
     3,
     "Public code, issue tracker and release-team posts; no dated roadmap"
    ],
    [
     "Say-do",
     3,
     "Few formal announcements; 5.0 shipped what the release candidates described; the Puppet removal (5.2) and Ubuntu 22.04 end (5.1) are pending and known only from a secondary source"
    ],
    [
     "Velocity",
     3,
     "Each release mixes framework maintenance (Rails, Ruby, PatternFly) with one or two capabilities; 5.0 was mostly packaging"
    ],
    [
     "Lifecycle stability",
     2.5,
     "Only the latest two releases get fixes, about six months each; the installer is being replaced; EL10 only through containers with no migration path from RPM installs"
    ]
   ],
   "comm": null,
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     1.5,
     "ERB and kickstart templates in a PostgreSQL database; everything reachable through the REST API"
    ],
    [
     "Export path",
     2,
     "API and Hammer export everything; no export to another provisioning tool"
    ],
    [
     "Stack coupling",
     2,
     "Katello needs Pulp, Candlepin and PostgreSQL; Smart Proxy services for DHCP, DNS and TFTP"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "Any x86 server; fully offline capable"
    ],
    [
     "Skills and tooling coupling",
     2,
     "Foreman-specific concepts (host groups, Smart Proxies) on top of standard Linux skills; Satellite skills transfer"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2,
     "No partner programme; open code and open downloads"
    ],
    [
     "Multi-tenancy and self-service",
     3,
     "Organisations and locations with RBAC; no portal for requesters"
    ],
    [
     "API and infrastructure-as-code",
     3.5,
     "REST API, Hammer CLI and foreman-ansible-modules; no Terraform provider found"
    ],
    [
     "Skills and certification",
     2,
     "Community documentation; certification exists only for Red Hat Satellite"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Foreman keeps a quarterly rhythm that few tools in this Ledger match, and its bare-metal lifecycle (discovery, PXE, images, content, errata) is the deepest in the group outside Ironic. Its scores are held back by what it is not: there is no plan mode, no configuration engine of its own, and the Puppet path it was built around is being removed in favour of OpenVox. The 5.0 release is a packaging turn, with EL10 available only through the new container installer and no migration from RPM installs. A buyer should check whether the Proxmox VE plugin works against Proxmox VE 8 or 9 before building on it, because its compatibility table stops below 8.0.",
   "report": "/reports/infrastructure-automation-ledger-2026/foreman",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "Full REST API with tokens and Hammer CLI; the official foreman-mcp-server repository is experimental with no release"
   },
   "ai_ledger": {
    "announced": 1,
    "ga": 0,
    "preview": 0,
    "pending": 1,
    "dropped": 0,
    "note": "The one item is the experimental MCP server repository, which has no release or tag."
   },
   "ai_reading": "Foreman has no AI generation and no AI in its own operations. Agents can drive the REST API, and an official MCP server exists only as an experimental repository without a release.",
   "mom": 2.5,
   "credT": 16,
   "commT": null,
   "lockT": 8,
   "integT": 10.5
  },
  {
   "key": "openvox",
   "name": "OpenVox (Vox Pupuli fork of Puppet)",
   "short": "OpenVox",
   "kind": "product",
   "group": "config",
   "since": 2025,
   "archetype": "Community continuation at upstream pace",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 8,
    "C": 46,
    "M": 15,
    "U": 31,
    "P": 0
   },
   "idx": 0.11,
   "domains": {
    "breadth": {
     "2025": 1,
     "2026": 1
    },
    "config": {
     "2025": 4,
     "2026": 4
    },
    "state": {
     "2025": 3,
     "2026": 3
    },
    "lang": {
     "2025": 4,
     "2026": 4
    },
    "orch": {
     "2025": 2,
     "2026": 2.5
    },
    "scale": {
     "2025": 3.5,
     "2026": 3.5
    },
    "security": {
     "2025": 2.5,
     "2026": 3
    },
    "baremetal": {
     "2025": 1.5,
     "2026": 1.5
    },
    "ecosystem": {
     "2025": 3.5,
     "2026": 3.5
    },
    "ai": {
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     4,
     "8.x roughly monthly to quarterly on RubyGems; 9.0.0 and 9.1.0 eleven days apart"
    ],
    [
     "Roadmap transparency",
     3.5,
     "Road-to-9 post and a GitHub project; no dates"
    ],
    [
     "Say-do",
     3.5,
     "Fork, package move and OpenVox 9 delivered; the standards committee with Perforce proposed in January 2025 has no visible output"
    ],
    [
     "Velocity",
     3,
     "Ruby 4, OpenFact, FIPS builds and new platforms; new features wait for 10.x"
    ],
    [
     "Lifecycle stability",
     2.5,
     "No written support policy; 7.x ended July 2025; 8.x frozen on Ruby 3.2"
    ]
   ],
   "comm": [
    [
     "Maintainer concentration",
     2.5,
     "Seven-member PMC elected yearly; release engineering by a small group inside a larger module collective"
    ],
    [
     "Backer health",
     3.5,
     "No legal entity or funding found; volunteers plus partners who sell support"
    ],
    [
     "Licence-change risk",
     1.5,
     "Apache 2.0 with no CLA or EULA; copyright on the inherited code sits with Perforce, so neither side can relicense the fork alone"
    ],
    [
     "Abandonment signs",
     0.5,
     "Monthly releases, 9.0 shipped, VoxConf 2026 held"
    ],
    [
     "Security response",
     2.5,
     "FIPS builds and OpenSSL tracking; no advisory process found; fixes no longer arrive from the vendor's public repository"
    ]
   ],
   "risk": "sustainability",
   "lock": [
    [
     "Formats",
     2.5,
     "Puppet DSL and Hiera, the same documented text formats as Puppet"
    ],
    [
     "Export path",
     2.5,
     "Back to Puppet Core while compatibility holds; OpenFact facts may differ from Facter"
    ],
    [
     "Stack coupling",
     1,
     "Any OS; own server, PuppetDB and PostgreSQL"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "None"
    ],
    [
     "Skills and tooling coupling",
     2.5,
     "Puppet skills transfer directly; a niche pool"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2.5,
     "No programme; the project lists support partners"
    ],
    [
     "Multi-tenancy and self-service",
     1,
     "Environments only"
    ],
    [
     "API and infrastructure-as-code",
     3,
     "Puppet APIs and OpenBolt"
    ],
    [
     "Skills and certification",
     2,
     "Puppet skills transfer; no certification"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "OpenVox exists because Perforce moved Puppet's supported builds behind an EULA in February 2025, and in twenty months it has turned a package mirror into a project with its own release pipeline, its own fact engine and a 9.0 on Ruby 4. The scores sit under Puppet's because the PE console, compliance content, patching and AI are not part of the fork. Its risk is sustainability: no legal entity or funding is on record, and security fixes now depend on the project's own work. A buyer should ask the support partner they intend to use for a written response time and check that their modules are tested against OpenVox.",
   "report": "/reports/infrastructure-automation-ledger-2026/openvox",
   "ai": {
    "infra": {
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2025": 2,
     "2026": 2
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "Puppet Server and PuppetDB APIs; no official MCP server"
   },
   "ai_ledger": {
    "announced": 0,
    "ga": 0,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "No AI item has been announced."
   },
   "ai_reading": "OpenVox has announced no AI feature and has no MCP server. The agent path is the same Puppet Server and PuppetDB API as Puppet, without the Infra Assistant that Perforce ships in PE Advanced.",
   "mom": 2,
   "credT": 16.5,
   "commT": 10.5,
   "lockT": 9,
   "integT": 8.5
  },
  {
   "key": "chef",
   "name": "Chef (Infra Client, Automate and Chef 360)",
   "short": "Chef",
   "kind": "product",
   "group": "config",
   "since": 2015,
   "archetype": "Platform consolidator, forced moves",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 17,
    "C": 44,
    "M": 0,
    "U": 0,
    "P": 39
   },
   "idx": 0.27,
   "domains": {
    "breadth": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 1.5
    },
    "config": {
     "2015": 4,
     "2016": 4,
     "2017": 4,
     "2018": 4,
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 4,
     "2026": 4.5
    },
    "state": {
     "2015": 2.5,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "lang": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 4,
     "2018": 4,
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 4,
     "2026": 3.5
    },
    "orch": {
     "2015": 2,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 3,
     "2025": 3.5,
     "2026": 3.5
    },
    "scale": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 4
    },
    "security": {
     "2015": 3,
     "2016": 3.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 4,
     "2026": 4
    },
    "baremetal": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 2,
     "2026": 2
    },
    "ecosystem": {
     "2015": 4,
     "2016": 4,
     "2017": 4,
     "2018": 4,
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 3.5,
     "2026": 3.5
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0.5
    }
   },
   "cred": [
    [
     "Cadence",
     3.5,
     "19.x builds every one to two months and Chef 360 roughly monthly; a tentative dated roadmap for 2026"
    ],
    [
     "Roadmap transparency",
     3,
     "Tentative 2026 roadmap published 2026-02-27 and a public lifecycle table; the table contradicts the docs on Supermarket and lists dates before its own publication"
    ],
    [
     "Say-do",
     2.5,
     "Linux ARM and FIPS shipped about a month late; Infra Server retired within a year of 15.x; the AI Assistant is still a beta"
    ],
    [
     "Velocity",
     3.5,
     "Habitat re-platform, Target mode, Chef 360 HA and single sign-on within two years"
    ],
    [
     "Lifecycle stability",
     1.5,
     "Hosted Chef ended 2024-11-30, open source Infra Server ends 2026-11-30, Automate deprecated 2026-11-01, Supermarket deprecated, Omnibus replaced by Habitat, 17 and under ended 2026-02-05"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     4,
     "Proprietary binaries since April 2019; licence-key regime for all official downloads from 2025-12 to 2026-09; per-node prices not published"
    ],
    [
     "Purchase constraints",
     3,
     "Production needs a commercial per-node licence; the free key is non-production only"
    ],
    [
     "Channel and access",
     4,
     "Licence key for every official binary; unauthenticated downloads removed in phases; gem installs need a key at runtime"
    ],
    [
     "Owner stability",
     2.5,
     "Listed owner since October 2020; products consolidated into Chef 360, with Hosted Chef and the open source server ended"
    ],
    [
     "Cost of staying supported",
     3.5,
     "Infra Server users must move to Chef 360 or Cinc by November 2026; Automate users by November 2027"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     3,
     "Ruby cookbooks, Policyfiles and node objects on the server"
    ],
    [
     "Export path",
     3,
     "Documented migration to Cinc Server; moving to another tool means rewriting cookbooks"
    ],
    [
     "Stack coupling",
     1.5,
     "Any OS; Habitat packaging and Chef 360 on Kubernetes bring their own tooling"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "None"
    ],
    [
     "Skills and tooling coupling",
     3,
     "Chef and Ruby skills, a shrinking pool"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2.5,
     "Partner programme terms not found; vendor sells direct and through AWS Marketplace"
    ],
    [
     "Multi-tenancy and self-service",
     2.5,
     "Chef 360 RBAC, custom roles and environments; no tenant model for service providers"
    ],
    [
     "API and infrastructure-as-code",
     3.5,
     "Server REST API, Automate and Chef 360 APIs"
    ],
    [
     "Skills and certification",
     2.5,
     "Training exists; certification not found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Chef still converges Linux and Windows fleets as well as any tool here, and Infra Client 19 added agentless Target mode and a Habitat build. The buyer-facing story since late 2025 is the retirement of everything that was free to run: the open source Infra Server stops in November 2026, Supermarket and Automate are deprecated, and every official download needs a licence key. Chef 360 is the replacement, sold per node without published prices. A buyer should decide before November 2026 whether the server moves to Chef 360 or to the Cinc Server fork, because the cookbooks run on either.",
   "report": "/reports/infrastructure-automation-ledger-2026/chef",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0.5
    },
    "agents": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "Chef 360 1.7.1: Chef AI Assistant beta, invite-only, SaaS only",
    "agents": "Chef Server and Automate REST APIs with keys; no official MCP server"
   },
   "ai_ledger": {
    "announced": 1,
    "ga": 0,
    "preview": 1,
    "pending": 0,
    "dropped": 0,
    "note": "The one AI item is an invite-only beta in the SaaS edition."
   },
   "ai_reading": "Chef has no generally available AI feature. The assistant announced in May 2026 is an invite-only beta on the SaaS edition, and there is no official MCP server, so the only agent path is the REST API.",
   "mom": 4.7,
   "credT": 14,
   "commT": 17,
   "lockT": 11,
   "integT": 11
  },
  {
   "key": "juju",
   "name": "Canonical Juju",
   "short": "Juju",
   "kind": "product",
   "group": "provisioning",
   "since": 2015,
   "archetype": "Slow follower",
   "grade": "C",
   "driver": "C",
   "mix": {
    "V": 10,
    "C": 40,
    "M": 0,
    "U": 20,
    "P": 30
   },
   "idx": 0.2,
   "domains": {
    "breadth": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "config": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "state": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 1.5,
     "2026": 2
    },
    "lang": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "orch": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "scale": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 3,
     "2026": 3
    },
    "security": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "baremetal": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    },
    "ecosystem": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     3.5,
     "Frequent patch releases on 3.6 and 4.0; minors every 3 to 12 months; dates not published in advance"
    ],
    [
     "Roadmap transparency",
     2.5,
     "Release notes public; roadmap page not dated; the 4.0 notes list deferred items without dates"
    ],
    [
     "Say-do",
     3,
     "Few announcements to check; 3.6 LTS and 4.0 shipped; the lighter event API is pending"
    ],
    [
     "Velocity",
     3,
     "4.0 rebuilt the controller store and removed several commands; patch releases are maintenance"
    ],
    [
     "Lifecycle stability",
     2.5,
     "3.6 LTS to 2039 is long, but 3.0 to 3.5 each lived under a year, 4.0 needs a model migration from 3.6 and has no published end of life"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     1,
     "AGPLv3, free; no Juju price found and no change found"
    ],
    [
     "Purchase constraints",
     1,
     "No Juju SKU; support comes through Canonical contracts"
    ],
    [
     "Channel and access",
     1,
     "Open source, snaps and apt; Charmhub is public"
    ],
    [
     "Owner stability",
     1.5,
     "Single privately held vendor controls the project"
    ],
    [
     "Cost of staying supported",
     2,
     "Moving from 3.6 to 4.0 requires model migration; 4.0 has no published end of life"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     2.5,
     "Charm and bundle formats are specific to Juju"
    ],
    [
     "Export path",
     3,
     "export-bundle removed in 4.0; no generic export"
    ],
    [
     "Stack coupling",
     2.5,
     "Needs a Juju controller and charms; application knowledge lives in charms"
    ],
    [
     "Hardware / cloud coupling",
     1,
     "Many clouds; Ubuntu focus"
    ],
    [
     "Skills and tooling coupling",
     3.5,
     "Charm authoring (ops framework, Python) is a scarce skill"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2,
     "Open source; Canonical partner terms not researched"
    ],
    [
     "Multi-tenancy and self-service",
     3,
     "RBAC and multi-model controllers; JAAS for many controllers (vendor claim)"
    ],
    [
     "API and infrastructure-as-code",
     3.5,
     "Full API and CLI; Terraform provider 2.4.1"
    ],
    [
     "Skills and certification",
     2,
     "Charm skills are scarce; Canonical training not verified"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Juju's capability total looks respectable because it covers many clouds and brings a real language, registry and orchestration model, but those strengths belong to application operations rather than infrastructure provisioning, which is why it carries a scope note. The 4.0 line is a controller rewrite that removed export-bundle, KVM containers and other commands, and that removal costs a half step in State, planning and safety until the Terraform provider restored a plan path. Commercial risk is low because nothing is sold separately; lock-in is the highest in the group because knowledge lives in charms. Check which line you are buying into: 3.6 is supported to 2039, 4.0 has no published end of life.",
   "report": "/reports/infrastructure-automation-ledger-2026/juju",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "API and CLI; the mcp-juju snap on the edge channel is unofficial and its publisher is not confirmed"
   },
   "ai_ledger": {
    "announced": 0,
    "ga": 0,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "No official AI items; an unofficial mcp-juju snap sits on the edge channel at version 0.0.12."
   },
   "ai_reading": "Juju has no AI generation and no AI in its operations. Agents can drive the API and CLI; the only MCP server is an unofficial snap on the edge channel.",
   "mom": 0.8,
   "credT": 14.5,
   "commT": 6.5,
   "lockT": 12.5,
   "integT": 10.5
  },
  {
   "key": "maas",
   "name": "Canonical MAAS",
   "short": "MAAS",
   "kind": "product",
   "group": "provisioning",
   "since": 2015,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 8,
    "C": 69,
    "M": 8,
    "U": 8,
    "P": 8
   },
   "idx": 0.09,
   "domains": {
    "breadth": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 1.5
    },
    "config": {
     "2015": 1,
     "2016": 1,
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    },
    "state": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 2
    },
    "lang": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    },
    "orch": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "scale": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 3,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "security": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "baremetal": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "ecosystem": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     3,
     "Stated six-month rhythm; actual gaps of 6, 9 and 8 months between 3.4, 3.5, 3.6 and 3.7; dates not published in advance"
    ],
    [
     "Roadmap transparency",
     3,
     "Public repository, release notes and supported versions table; no dated roadmap"
    ],
    [
     "Say-do",
     3,
     "Little announced in advance; deprecations (DHCP snippets, PostgreSQL 14) are tracked; 3.8 has sat at rc1 since 2026-08-31"
    ],
    [
     "Velocity",
     3,
     "Architecture work (Temporal, Go agent) and hardware support in each release"
    ],
    [
     "Lifecycle stability",
     3,
     "Four versions supported, two of them fully; no LTS; deb packages tied to the Ubuntu release; the 3.5 boot resource migration cannot be reversed"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     1.5,
     "Per-machine tiers (US$30, 50 and 100 per year) and Ubuntu Pro; no change found, but no price history was found either"
    ],
    [
     "Purchase constraints",
     2,
     "Free self-support for any number of machines; HA, RBAC and SLAs listed as paid-tier features; controllers need Ubuntu Pro for support"
    ],
    [
     "Channel and access",
     1.5,
     "Open source, snaps and images; support direct from Canonical"
    ],
    [
     "Owner stability",
     1.5,
     "Privately held single vendor; no ownership change found"
    ],
    [
     "Cost of staying supported",
     2.5,
     "Only the four latest versions are supported, about two years; Ubuntu Pro required for controllers"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     1,
     "Standard images with curtin and cloud-init; open Packer templates"
    ],
    [
     "Export path",
     2,
     "REST API, CLI and Terraform provider; no migration tooling to another bare-metal manager"
    ],
    [
     "Stack coupling",
     2.5,
     "Ubuntu centred: debs match an Ubuntu release, controllers under Ubuntu Pro; one-way boot resource migration"
    ],
    [
     "Hardware / cloud coupling",
     1,
     "Any server with a BMC; offline image mirror supported"
    ],
    [
     "Skills and tooling coupling",
     1.5,
     "Ubuntu, cloud-init and curtin skills are common"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2.5,
     "Open source and freely deployable; Canonical partner terms not researched"
    ],
    [
     "Multi-tenancy and self-service",
     2,
     "Resource pools and RBAC (paid tiers); no requester portal"
    ],
    [
     "API and infrastructure-as-code",
     4,
     "Full REST API, CLI and a Canonical-maintained Terraform provider"
    ],
    [
     "Skills and certification",
     2.5,
     "Ubuntu training; no MAAS-specific certification found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "MAAS does one job, bare-metal commissioning and deployment, and does it with a clear support price list, which is rare in this group. Its capability total is low because the Ledger scores the whole automation stack and MAAS has no configuration engine, no plan mode and no cloud or hypervisor API beyond LXD and libvirt; the Terraform provider from Canonical is the only declarative path. Credibility is middling: the stated six-month rhythm has slipped to eight or nine, and 3.8 has been a release candidate since August 2026. The one thing to check is which features your estate needs from the paid tiers, because HA and RBAC are listed there.",
   "report": "/reports/infrastructure-automation-ledger-2026/maas",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2015": 2,
     "2016": 2,
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "REST API, CLI and Terraform provider; no MCP server found"
   },
   "ai_ledger": {
    "announced": 0,
    "ga": 0,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "No AI items announced; BlueField-3 DPU support serves AI hosts but is not AI assistance."
   },
   "ai_reading": "MAAS has no AI features and no official agent interface beyond its REST API. Its AI relevance is on the hardware side: 3.7 commissions and deploys NVIDIA BlueField-3 DPUs.",
   "mom": 5.4,
   "credT": 15,
   "commT": 9,
   "lockT": 8,
   "integT": 11
  },
  {
   "key": "salt",
   "name": "Salt (Salt Project and VMware Cloud Foundation SaltStack)",
   "short": "Salt",
   "kind": "product",
   "group": "config",
   "since": 2015,
   "archetype": "Capable core, shrinking under a portfolio owner",
   "grade": "B",
   "driver": "P",
   "mix": {
    "V": 7,
    "C": 27,
    "M": 0,
    "U": 0,
    "P": 67
   },
   "idx": 0.2,
   "domains": {
    "breadth": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2
    },
    "config": {
     "2015": 4,
     "2016": 4.5,
     "2017": 4.5,
     "2018": 4.5,
     "2019": 4.5,
     "2020": 4.5,
     "2021": 4.5,
     "2022": 4.5,
     "2023": 4.5,
     "2024": 4.5,
     "2025": 4.5,
     "2026": 4.5
    },
    "state": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 3
    },
    "lang": {
     "2015": 3,
     "2016": 3,
     "2017": 3,
     "2018": 3,
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "orch": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "scale": {
     "2015": 4,
     "2016": 4,
     "2017": 4,
     "2018": 4,
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4.5,
     "2025": 4.5,
     "2026": 4.5
    },
    "security": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 3,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "baremetal": {
     "2015": 2.5,
     "2016": 2.5,
     "2017": 2.5,
     "2018": 2.5,
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "ecosystem": {
     "2015": 3.5,
     "2016": 3.5,
     "2017": 3.5,
     "2018": 3.5,
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3
    },
    "ai": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     3,
     "Point releases about monthly on the maintained lines; majors irregular, 26 months between 3007.0 and 3008.0"
    ],
    [
     "Roadmap transparency",
     3,
     "Open Hour posts and the project blog; no written roadmap and no 3009 plan"
    ],
    [
     "Say-do",
     1.5,
     "3008 LTS was promised for fall 2024, April 2025 and fall 2025 and shipped 2026-05-27"
    ],
    [
     "Velocity",
     2.5,
     "One or two substantive items per major (clustering in 3007, Resources in 3008), with two years between majors"
    ],
    [
     "Lifecycle stability",
     2.5,
     "LTS windows are clear, but the STS line ended early, 3006 dropped to security only and 3008 removed modules without a deprecation period"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     3,
     "Engine licence unchanged; the commercial product was repackaged twice since 2023 and standalone sales ended in January 2024"
    ],
    [
     "Purchase constraints",
     3,
     "Engine is free; the commercial edition is quote only through Broadcom with no published metric"
    ],
    [
     "Channel and access",
     2.5,
     "Open downloads for the engine; the 3008 compatibility patch for the commercial RaaS plugin is only on the Broadcom support portal"
    ],
    [
     "Owner stability",
     4,
     "Post-acquisition owner with team cuts, founder and a core maintainer gone, and 19 of the 20 newest commits from one account in September 2026"
    ],
    [
     "Cost of staying supported",
     3,
     "Forced move from 3006 to 3008 with module removals; commercial support ends October 2028"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     1.5,
     "SLS files are YAML and Jinja in plain text, Salt specific"
    ],
    [
     "Export path",
     3,
     "No conversion path to another tool; states and pillar need rewriting"
    ],
    [
     "Stack coupling",
     1,
     "Master and minion over ZeroMQ or TCP with bundled Python; the commercial UI needs the RaaS stack"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "Any host, fully offline"
    ],
    [
     "Skills and tooling coupling",
     2,
     "Skills common among long-term users and scarcer in the market than Ansible's"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2,
     "No Salt-specific programme; the commercial edition goes through Broadcom's channel"
    ],
    [
     "Multi-tenancy and self-service",
     2,
     "External auth ACLs on the master; tenant roles and a UI only in the commercial edition"
    ],
    [
     "API and infrastructure-as-code",
     3.5,
     "salt-api, runners and the event bus; netapi clients are off by default since 3006.0"
    ],
    [
     "Skills and certification",
     2,
     "No certification found; shrinking public community"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Salt still does the hard parts well: an agent fleet with an event bus, master clustering, scheduled enforcement and a dry run that works everywhere, which is why its configuration, scale and orchestration scores match or beat Ansible's engine. Everything around that core has contracted since Broadcom took over: modules left core without a deprecation period, the vSphere and Proxmox paths are deprecated or idle, named maintainers have left and the LTS slipped three times. The one thing a buyer should check is the team behind the next release, because the open-source cadence now depends on a handful of Broadcom engineers and the commercial edition has a published end of support in October 2028.",
   "report": "/reports/infrastructure-automation-ledger-2026/salt",
   "ai": {
    "infra": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2015": 0,
     "2016": 0,
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2015": 1.5,
     "2016": 1.5,
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 1.5
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "salt-api REST interface with external auth; no official MCP server for operators (the repository's MCP servers expose developer test tooling)"
   },
   "ai_ledger": {
    "announced": 0,
    "ga": 0,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "No AI item was announced for Salt between 2023 and 2026 in the sources read."
   },
   "ai_reading": "Salt has no AI code generation, no assistant and no agent interface for operators. The only AI-related code in the project serves its own developers, so the score rests on the REST API alone.",
   "mom": 1.7,
   "credT": 12.5,
   "commT": 15.5,
   "lockT": 8,
   "integT": 9.5
  },
  {
   "key": "metal3",
   "name": "Metal3",
   "short": "Metal3",
   "kind": "product",
   "group": "provisioning",
   "since": 2019,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 13,
    "C": 63,
    "M": 0,
    "U": 13,
    "P": 13
   },
   "idx": 0.17,
   "domains": {
    "breadth": {
     "2019": 0.5,
     "2020": 0.5,
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "config": {
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    },
    "state": {
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 2
    },
    "lang": {
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    },
    "orch": {
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 2
    },
    "scale": {
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "security": {
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    },
    "baremetal": {
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3.5
    },
    "ecosystem": {
     "2019": 1.5,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2.5,
     "2026": 2.5
    },
    "ai": {
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     3.5,
     "Two to three minors a year (CAPM3 1.13.0 on 2026-05-18, 1.14.0 on 2026-09-09) with regular patch releases; no published schedule"
    ],
    [
     "Roadmap transparency",
     3.5,
     "Public documentation, version support table and open tracker; no dated roadmap"
    ],
    [
     "Say-do",
     3,
     "Few commitments to check; the v1beta2 API landed in 1.14"
    ],
    [
     "Velocity",
     3,
     "Several features per BMO minor"
    ],
    [
     "Lifecycle stability",
     2.5,
     "Two minors supported; the operator is still 0.x; BMC vendor drivers removed in 0.12 and 0.13"
    ]
   ],
   "comm": [
    [
     "Maintainer concentration",
     2.5,
     "Led by Ericsson and Red Hat; 57 organisations contributed during the sandbox phase (secondary)"
    ],
    [
     "Backer health",
     1.5,
     "CNCF Incubating since 2025-08; adopters named include SUSE, Ericsson, Red Hat, Fujitsu and Ikea (secondary)"
    ],
    [
     "Licence-change risk",
     0.5,
     "Apache-2.0 under the CNCF"
    ],
    [
     "Abandonment signs",
     1,
     "Steady releases through 2026; BMO 0.14.2 on 2026-10-15"
    ],
    [
     "Security response",
     2,
     "Process not read and no advisory record collected"
    ]
   ],
   "risk": "sustainability",
   "lock": [
    [
     "Formats",
     1,
     "Kubernetes YAML"
    ],
    [
     "Export path",
     2,
     "Plain YAML; the Ironic underneath can be driven standalone, but no exporter exists"
    ],
    [
     "Stack coupling",
     2.5,
     "Needs a Kubernetes management cluster and Ironic"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "Servers with IPMI or Redfish; offline capable"
    ],
    [
     "Skills and tooling coupling",
     2,
     "Kubernetes and Cluster API skills"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     1,
     "None; vendors embed the project"
    ],
    [
     "Multi-tenancy and self-service",
     1.5,
     "Kubernetes namespaces and RBAC only"
    ],
    [
     "API and infrastructure-as-code",
     3.5,
     "Kubernetes API and Cluster API provider"
    ],
    [
     "Skills and certification",
     1.5,
     "None found beyond general Kubernetes training"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Metal3 is the Kubernetes-native way to run Ironic, and its scores follow from that: strong bare-metal depth inherited from the engine, a continuous reconciliation model instead of a plan, and nothing outside bare metal. CNCF incubation in 2025 and a steady 2026 release train keep sustainability risk moderate, although the operator is still 0.x and each release has retired a BMC vendor driver. Integrator fit is the weakest in the group because nobody sells or certifies it directly. Check that your servers are on the regularly tested list (iDRAC 8+, iLO 5+, generic Redfish) before planning around it.",
   "report": "/reports/infrastructure-automation-ledger-2026/metal3",
   "ai": {
    "infra": {
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "Kubernetes API and custom resources; no MCP server found"
   },
   "ai_ledger": {
    "announced": 0,
    "ga": 0,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "No AI product items; the Copilot review plugin serves the project's own contributors."
   },
   "ai_reading": "Metal3 has no AI features. Agents can drive it through the Kubernetes API like any operator, and the only AI in the project is a code review plugin for its own pull requests.",
   "mom": 3.8,
   "credT": 15.5,
   "commT": 7.5,
   "lockT": 8,
   "integT": 7.5
  },
  {
   "key": "digger",
   "name": "Digger (now OpenTaco)",
   "short": "Digger",
   "kind": "product",
   "group": "platform",
   "since": 2023,
   "archetype": "Slow follower",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 27,
    "C": 45,
    "M": 18,
    "U": 0,
    "P": 9
   },
   "idx": 0.3,
   "domains": {
    "breadth": {
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2.5
    },
    "config": {
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "state": {
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 3.5
    },
    "lang": {
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    },
    "orch": {
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2.5
    },
    "scale": {
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    },
    "security": {
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 2
    },
    "baremetal": {
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ecosystem": {
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2.5
    },
    "ai": {
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     4,
     "Numbered releases about every two weeks in 2026 (v0.6.141 on 2026-01-21 to v0.6.154 on 2026-10-07); October 2025 to January 2026 not read"
    ],
    [
     "Roadmap transparency",
     2.5,
     "Open repository with 423 open issues; no roadmap read; the rename was announced in the README"
    ],
    [
     "Say-do",
     2.5,
     "Rename and widened scope shipped in part (repository and docs still say digger); remote runs still Beta"
    ],
    [
     "Velocity",
     3.5,
     "State service, token service, UI, drift service and sandbox runner within 2026"
    ],
    [
     "Lifecycle stability",
     2,
     "Project renamed 2025-11-07 with repository and docs still mixed; several component version lines"
    ]
   ],
   "comm": [
    [
     "Price and licence volatility",
     2,
     "MIT core with a proprietary ee/ directory; no price list published; the date the ee/ licence was introduced is not found"
    ],
    [
     "Purchase constraints",
     2,
     "Production use of ee/ needs a seat subscription; the core is free"
    ],
    [
     "Channel and access",
     1.5,
     "Open download of the core; ee/ source is readable; sales by contact"
    ],
    [
     "Owner stability",
     3.5,
     "Small startup; country, funding and investors not found; project renamed in 2025"
    ],
    [
     "Cost of staying supported",
     2,
     "No support lifecycle published"
    ]
   ],
   "risk": "commercial",
   "lock": [
    [
     "Formats",
     0.5,
     "Plain code and digger.yml"
    ],
    [
     "Export path",
     1,
     "Runs in your CI; state import and export through the backend interface (vendor claim)"
    ],
    [
     "Stack coupling",
     1.5,
     "Low for pull request automation; higher once OpenTaco state and remote runs are adopted"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "Self-hostable; telemetry can be disabled"
    ],
    [
     "Skills and tooling coupling",
     1,
     "Standard Terraform skills; OPA for RBAC"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     1.5,
     "No programme found"
    ],
    [
     "Multi-tenancy and self-service",
     1.5,
     "Not documented on the pages read"
    ],
    [
     "API and infrastructure-as-code",
     2.5,
     "CLI and orchestrator API; no Terraform provider found"
    ],
    [
     "Skills and certification",
     1,
     "None found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Digger started as the Atlantis alternative that runs inside your CI, and since the OpenTaco rename it is becoming a small platform with its own state service, drift detection and remote runs. The capability score is close to Atlantis today and will move if the Beta pieces land; the lock-in score is low because the orchestrator sits beside your CI rather than replacing it. The archetype reflects a thin public record (no roadmap, no pricing, a rename still half applied) rather than the release pace, which is fortnightly. Before depending on it, ask for the price list and the legal entity, neither of which is public, and note that owner stability carries the highest risk score of the six.",
   "report": "/reports/infrastructure-automation-ledger-2026/digger",
   "ai": {
    "infra": {
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "CLI and orchestrator API; no MCP server found"
   },
   "ai_ledger": {
    "announced": 0,
    "ga": 0,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "No AI item was found in the README or the docs overview; other docs sections were not fully browsed."
   },
   "ai_reading": "Digger has no AI feature and no MCP server in the sources read. The sandbox runner is infrastructure for remote execution, with no AI role stated.",
   "mom": 6.7,
   "credT": 14.5,
   "commT": 11,
   "lockT": 4.5,
   "integT": 6.5
  },
  {
   "key": "cinc",
   "name": "Cinc (community builds of Chef)",
   "short": "Cinc",
   "kind": "product",
   "group": "config",
   "since": 2019,
   "archetype": "Volunteer rebuild, now a fork",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 0,
    "C": 38,
    "M": 25,
    "U": 38,
    "P": 0
   },
   "idx": 0,
   "domains": {
    "breadth": {
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    },
    "config": {
     "2019": 4,
     "2020": 4,
     "2021": 4,
     "2022": 4,
     "2023": 4,
     "2024": 4,
     "2025": 4,
     "2026": 4
    },
    "state": {
     "2019": 2.5,
     "2020": 2.5,
     "2021": 2.5,
     "2022": 2.5,
     "2023": 2.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "lang": {
     "2019": 3.5,
     "2020": 3.5,
     "2021": 3.5,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3
    },
    "orch": {
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 1.5
    },
    "scale": {
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3.5,
     "2023": 3.5,
     "2024": 3.5,
     "2025": 3.5,
     "2026": 3.5
    },
    "security": {
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2.5
    },
    "baremetal": {
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 1.5
    },
    "ecosystem": {
     "2019": 3,
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "ai": {
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     3,
     "Rebuilds follow upstream with a lag of weeks to months; 19.1 to 19.3 within about three months, 19.4 not yet built"
    ],
    [
     "Roadmap transparency",
     3,
     "Blog posts for the Server fork and the platform policy; no dated roadmap"
    ],
    [
     "Say-do",
     3,
     "Server stable shipped in 2022; Server 16.0.0 fork pending; too few dated promises to judge"
    ],
    [
     "Velocity",
     2,
     "Rebuilds by design; no features of its own"
    ],
    [
     "Lifecycle stability",
     2.5,
     "No written lifecycle; a platform policy since 2026-10-11; depends on upstream and volunteers"
    ]
   ],
   "comm": [
    [
     "Maintainer concentration",
     3.5,
     "Small volunteer team; contributor count not found; the GitLab releases page returned an error"
    ],
    [
     "Backer health",
     3.5,
     "No legal entity or funding found; builds hosted by the OSU Open Source Lab; trademark use coordinated with Progress"
    ],
    [
     "Licence-change risk",
     2,
     "Apache 2.0 rebuild; depends on Progress keeping the Chef source open, which it says it will"
    ],
    [
     "Abandonment signs",
     2.5,
     "Upstream 19.4 (2026-10-14) not yet rebuilt; latest 19.x build from May 2026; the Server fork is pending"
    ],
    [
     "Security response",
     3,
     "Fixes arrive only as rebuilds of upstream releases; no advisory process found"
    ]
   ],
   "risk": "sustainability",
   "lock": [
    [
     "Formats",
     3,
     "Chef cookbooks and node objects"
    ],
    [
     "Export path",
     2.5,
     "Documented two-way migration with Chef through knife-ec-backup"
    ],
    [
     "Stack coupling",
     1,
     "Omnibus builds on any OS"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "None"
    ],
    [
     "Skills and tooling coupling",
     3,
     "Chef skills transfer; a shrinking pool"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     2,
     "No programme; no support providers found"
    ],
    [
     "Multi-tenancy and self-service",
     1,
     "Server organisations only"
    ],
    [
     "API and infrastructure-as-code",
     3,
     "Chef Server API"
    ],
    [
     "Skills and certification",
     1.5,
     "Community only"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Cinc is the free path for a Chef estate: the same source, rebuilt without licence keys, and a documented migration in both directions. It has lagged upstream by weeks to months for seven years, and it now takes on more than rebuilding, because the Chef Infra Server source freezes at the end of October 2026 and Cinc Server 16.0.0 is meant to carry on as an independent fork in maintenance mode. No legal entity, funding or security process is on record. A buyer should watch whether Cinc Server 16.0.0 ships around November 2026 and who signs its releases.",
   "report": "/reports/infrastructure-automation-ledger-2026/cinc",
   "ai": {
    "infra": {
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "Chef Server API; no official MCP server"
   },
   "ai_ledger": {
    "announced": 0,
    "ga": 0,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "No AI item has been announced."
   },
   "ai_reading": "Cinc has no AI feature and no MCP server. The agent path is the Chef Server API, and the upstream AI Assistant is a SaaS beta that a rebuild cannot carry.",
   "mom": 0,
   "credT": 13.5,
   "commT": 14.5,
   "lockT": 10,
   "integT": 7.5
  },
  {
   "key": "tinkerbell",
   "name": "Tinkerbell",
   "short": "Tinkerbell",
   "kind": "product",
   "group": "provisioning",
   "since": 2020,
   "archetype": "Slow follower",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 9,
    "C": 55,
    "M": 0,
    "U": 9,
    "P": 27
   },
   "idx": 0.14,
   "domains": {
    "breadth": {
     "2020": 0.5,
     "2021": 0.5,
     "2022": 0.5,
     "2023": 0.5,
     "2024": 0.5,
     "2025": 0.5,
     "2026": 0.5
    },
    "config": {
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    },
    "state": {
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 1.5
    },
    "lang": {
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 2
    },
    "orch": {
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 2
    },
    "scale": {
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1.5
    },
    "security": {
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 1.5
    },
    "baremetal": {
     "2020": 3,
     "2021": 3,
     "2022": 3,
     "2023": 3,
     "2024": 3,
     "2025": 3,
     "2026": 3.5
    },
    "ecosystem": {
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    },
    "ai": {
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     2.5,
     "Irregular: four months between 0.23.0 and 0.24.0, then 0.25.0 two days later; no schedule"
    ],
    [
     "Roadmap transparency",
     3,
     "Public roadmap repository, governance document and published advisories; no dated roadmap"
    ],
    [
     "Say-do",
     2.5,
     "Not enough announcements to measure"
    ],
    [
     "Velocity",
     2.5,
     "Consolidation into one binary and a UI in 2026; otherwise fixes"
    ],
    [
     "Lifecycle stability",
     1.5,
     "0.x versions, breaking changes between minors, no support windows published"
    ]
   ],
   "comm": [
    [
     "Maintainer concentration",
     3.5,
     "Origin sponsor Equinix Metal ended service on 2026-06-30; maintainer employers after that were not found"
    ],
    [
     "Backer health",
     3.5,
     "No vendor, no paid support; CNCF Sandbox since 2020 without incubation"
    ],
    [
     "Licence-change risk",
     0.5,
     "Apache-2.0 under the CNCF"
    ],
    [
     "Abandonment signs",
     2,
     "Three releases in 2026 show activity, but all are 0.x on an irregular rhythm"
    ],
    [
     "Security response",
     1.5,
     "A critical SSRF and a high template exposure were fixed in July 2026 within days of each other, with published GHSA advisories"
    ]
   ],
   "risk": "sustainability",
   "lock": [
    [
     "Formats",
     1.5,
     "Kubernetes YAML with Tinkerbell-specific workflow templates"
    ],
    [
     "Export path",
     2.5,
     "No export to other tools"
    ],
    [
     "Stack coupling",
     2.5,
     "Requires Kubernetes"
    ],
    [
     "Hardware / cloud coupling",
     0.5,
     "Any BMC with Redfish, IPMI or Intel AMT; offline capable"
    ],
    [
     "Skills and tooling coupling",
     2.5,
     "Kubernetes plus project concepts and Go templating; small community"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     1,
     "None"
    ],
    [
     "Multi-tenancy and self-service",
     1.5,
     "Kubernetes namespaces and RBAC only"
    ],
    [
     "API and infrastructure-as-code",
     3,
     "Kubernetes API and Cluster API provider 0.7.0"
    ],
    [
     "Skills and certification",
     1,
     "None found"
    ]
   ],
   "alt": null,
   "ranked": true,
   "reading": "Tinkerbell is the lightest tool in this group: a bare-metal workflow engine with network boot, BMC control and a metadata service, and little else the Ledger measures. Sustainability matters more than capability here: its origin sponsor Equinix Metal shut down on 2026-06-30, the project is still 0.x with no support windows, and the CNCF has not moved it past Sandbox in six years. On the positive side, two serious 2026 advisories were fixed within days and three releases shipped this year. Before adopting it, find out who the current maintainers work for, because the public record does not say.",
   "report": "/reports/infrastructure-automation-ledger-2026/tinkerbell",
   "ai": {
    "infra": {
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2,
     "2025": 2,
     "2026": 2
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "Kubernetes API and custom resources; no MCP server found"
   },
   "ai_ledger": {
    "announced": 0,
    "ga": 0,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "No AI items announced."
   },
   "ai_reading": "Tinkerbell has no AI features and no official agent interface beyond the Kubernetes API. Nothing on the record points to AI work.",
   "mom": 3.6,
   "credT": 12,
   "commT": 11,
   "lockT": 9.5,
   "integT": 6.5
  },
  {
   "key": "atlantis",
   "name": "Atlantis",
   "short": "Atlantis",
   "kind": "product",
   "group": "platform",
   "since": 2017,
   "archetype": "Dependable builder",
   "grade": "B",
   "driver": "C",
   "mix": {
    "V": 0,
    "C": 81,
    "M": 0,
    "U": 19,
    "P": 0
   },
   "idx": 0,
   "domains": {
    "breadth": {
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 2.5
    },
    "config": {
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "state": {
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 2.5,
     "2025": 2.5,
     "2026": 3
    },
    "lang": {
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1,
     "2026": 1
    },
    "orch": {
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 2,
     "2025": 2.5,
     "2026": 2.5
    },
    "scale": {
     "2017": 1,
     "2018": 1,
     "2019": 1,
     "2020": 1,
     "2021": 1,
     "2022": 1,
     "2023": 1,
     "2024": 1,
     "2025": 1.5,
     "2026": 2
    },
    "security": {
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 2,
     "2025": 2,
     "2026": 2.5
    },
    "baremetal": {
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ecosystem": {
     "2017": 2,
     "2018": 2,
     "2019": 2,
     "2020": 2,
     "2021": 2,
     "2022": 2,
     "2023": 2,
     "2024": 3,
     "2025": 3,
     "2026": 3
    },
    "ai": {
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    }
   },
   "cred": [
    [
     "Cadence",
     3.5,
     "16 tags in the 12 months to 2026-10-07, with a gap from September to November 2025 and four releases in June 2026"
    ],
    [
     "Roadmap transparency",
     3,
     "Public repository and issues; breaking changes called out in release notes; no roadmap"
    ],
    [
     "Say-do",
     3,
     "Little is promised; the v0.49.0 image change is announced and pending"
    ],
    [
     "Velocity",
     3,
     "Drift APIs, plan store and sticky approvals in 2026 after a quiet 2025"
    ],
    [
     "Lifecycle stability",
     3,
     "Breaking changes in minor versions (v0.29.0, v0.42.0); no LTS or supported-versions policy"
    ]
   ],
   "comm": [
    [
     "Maintainer concentration",
     3.5,
     "Three listed maintainers (Lambda, Slalom, Meetup) and three core contributors; no emeritus list"
    ],
    [
     "Backer health",
     3,
     "CNCF Sandbox since 2024-06-18 under LF Projects; no company funds development; the website calls it volunteer powered"
    ],
    [
     "Licence-change risk",
     1,
     "Apache-2.0 inside the CNCF; no licence change found"
    ],
    [
     "Abandonment signs",
     1.5,
     "16 tags in 12 months and issues triaged in October 2026; releases paused from September to November 2025"
    ],
    [
     "Security response",
     2,
     "Two advisories fixed in point releases (v0.47.1 on 2026-08-20, v0.48.1 on 2026-10-07); time from report to fix not published"
    ]
   ],
   "risk": "sustainability",
   "lock": [
    [
     "Formats",
     0.5,
     "Plain Terraform or OpenTofu code; atlantis.yaml is the only project-specific file"
    ],
    [
     "Export path",
     0.5,
     "Atlantis stores no state; remove the server and run the engine from CI"
    ],
    [
     "Stack coupling",
     1,
     "Workflow YAML and pull request comment habits"
    ],
    [
     "Hardware / cloud coupling",
     0,
     "Self-hosted anywhere; works offline except for the VCS connection"
    ],
    [
     "Skills and tooling coupling",
     0.5,
     "Standard Terraform skills"
    ]
   ],
   "integ": [
    [
     "Partner programme openness",
     1,
     "No programme and no commercial support offer"
    ],
    [
     "Multi-tenancy and self-service",
     1,
     "Repository and team allowlists only; one server per team in practice"
    ],
    [
     "API and infrastructure-as-code",
     2.5,
     "HTTP API for plan, apply and locks; Helm chart and Fargate module; drift APIs alpha"
    ],
    [
     "Skills and certification",
     1.5,
     "Documentation and community; no certification"
    ]
   ],
   "alt": null,
   "ranked": false,
   "reading": "Atlantis is scored for reference only: it is the pull request workflow the paid platforms grew out of, and it remains free, self-hosted and easy to leave, with the lowest lock-in in the group. It is not ranked because drift detection exists only as an alpha API since v0.45.0, and the other platform functions (state, registries, self-service, SSO) are left to the engine, the VCS and the CI system. Sustainability risk is moderate: three volunteer maintainers and no funding company, offset by CNCF membership and a steady release record. The one thing to check is the v0.49.0 image change, after which you must supply the Terraform or OpenTofu binary yourself.",
   "report": "/reports/infrastructure-automation-ledger-2026/atlantis",
   "ai": {
    "infra": {
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "stack": {
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "ops": {
     "2017": 0,
     "2018": 0,
     "2019": 0,
     "2020": 0,
     "2021": 0,
     "2022": 0,
     "2023": 0,
     "2024": 0,
     "2025": 0,
     "2026": 0
    },
    "agents": {
     "2017": 1.5,
     "2018": 1.5,
     "2019": 1.5,
     "2020": 1.5,
     "2021": 1.5,
     "2022": 1.5,
     "2023": 1.5,
     "2024": 1.5,
     "2025": 1.5,
     "2026": 1.5
    }
   },
   "ai_basis": {
    "infra": "None",
    "stack": "None",
    "ops": "None",
    "agents": "HTTP API for plan, apply and locks; drift APIs alpha since 2026-06; no MCP server found"
   },
   "ai_ledger": {
    "announced": 0,
    "ga": 0,
    "preview": 0,
    "pending": 0,
    "dropped": 0,
    "note": "No AI item was found in the website, README or release notes; the search allowance ran out before a dedicated search."
   },
   "ai_reading": "Atlantis has no AI feature and no MCP server in the sources read. Agents can only drive its HTTP API, which covers plan, apply and locks.",
   "mom": 12.6,
   "credT": 15.5,
   "commT": 11,
   "lockT": 2.5,
   "integT": 6
  }
 ]
}
