Engineering Log: Launch day - State Backend Insights and Inventory go live
Two months of demo days showing what we're building. Today we stopped showing and started shipping. State Backend Insights and Inventory are live. Unlimited usage pricing is live. Gap Analysis that generates Terraform code is live. This is the evolution phase - taking everything we've demonstrated and making it production-ready.
Evolution and revolution
We're establishing a cadence for demo days. Some months focus on evolution - refining and launching features we've already shown. Other months focus on revolution - introducing completely new functionality that changes how you think about infrastructure management. This is an evolution demo day. Everything we're launching today was demonstrated in December. The difference is that now it's production-ready.
Here's the recording.
What launched today
State Backend Insights and Inventory are available now. Insights gives you high-level state exploration through visualization and blast radius analysis. When you're looking at a resource, you can see everything that depends on it and everything it depends on. That's the blast radius - the scope of potential impact if this resource changes.
Inventory provides deeper detail on state files, including complete update history. You can query resources, filter by attributes, and track how your infrastructure evolves over time. The transactional timeline shows every state change with metadata about what triggered it - the PR number, the CI run, whoever committed the change.
Gap Analysis is the feature that got the most attention in the demo. It compares your Terraform state files to your actual cloud accounts and identifies resources that exist in the cloud but aren't managed by Terraform. Then it generates the Terraform code needed to bring those resources under management. Import blocks, resource configurations, all of it. We're planning to integrate Claude or ChatGPT so the generated code matches your repository's style and conventions.
Why Gap Analysis matters
Every organization has infrastructure drift. Someone creates a resource manually for debugging, or an old script provisions something outside Terraform, or a team spins up a proof-of-concept and forgets to tear it down. Gap Analysis surfaces that drift and gives you the code to fix it. This isn't about enforcement - it's about visibility and making it easy to bring unmanaged resources back under control.
Pricing that doesn't penalize growth
We announced a new pricing model. The core principle is simple: we don't charge you more for growing your team or managing more infrastructure. Unlimited users. Unlimited usage. The cost is a flat monthly fee based on which features you're using, and Stategraph is a multi-product company so you opt into specific products rather than paying for everything.
There are additional costs for things that require human time - custom MSAs, security questionnaires, compliance documentation - but the maximum annual price is $14,500. That's it. No surprise bills because you hired three more infrastructure engineers or migrated another hundred root modules to Stategraph.
This pricing structure came out of conversations we had throughout 2025. The consistent feedback was that organizations feel like they're overpaying for software, and that pricing models often penalize you for making good architectural choices. If splitting your infrastructure into more root modules costs more money, you're being penalized for modularity. If adding more team members to your license costs more money, you're being penalized for hiring. We're fixing that.
Query interface and the power of structured data
The demo showcased the Query screen, where you can run MQL queries against your infrastructure. MQL is a subset of SQL designed specifically for querying Terraform state stored as structured data in PostgreSQL. You can write complex queries using Common Table Expressions to summarize transactions, aggregate resource counts, filter by provider type, or analyze module dependencies across all your state files.
This is only possible because Stategraph stores state as structured data in a database instead of treating it as an opaque JSON blob. When your state is in PostgreSQL tables with proper schemas for resources, dependencies, and outputs, you can ask questions about your infrastructure that are impossible to answer with file-based state.
From files to queryable infrastructure
Terraform state is already a graph. Resources have dependencies, outputs connect modules, changes propagate through the graph structure. The problem is that this graph is serialized into a JSON file. Stategraph takes that graph and stores it properly - in a database where you can query it, visualize it, and operate on subgraphs independently. This isn't a different representation of state. It's the correct representation.
What the questions revealed
The Q&A surfaced the same themes we see in every demo day. People want to know about CLI access, self-hosting, performance, and security. These aren't random concerns - they're the core requirements for any tool that touches Terraform state at scale.
CLI access: confirmed. Every API endpoint has a corresponding CLI command, including the Gap Analysis code generation. If you want to script infrastructure analysis or integrate Stategraph into your CI/CD pipelines, the CLI gives you that access.
Open source status: still being determined. We're doing active R&D and haven't decided which parts of the codebase will be open-sourced, but self-hosting is a first-class use case. You can run Stategraph in your own environment with full control over the database and backups.
Performance: we didn't provide benchmarks yet, but we explained the performance characteristics. For highly interconnected state files where you're modifying leaf nodes, operations can be as fast as a state refresh on that single resource. We're working on techniques to avoid pulling in unnecessary resources for highly connected states, and we committed to having benchmarks ready for the February demo day.
Security: Terraform state contains sensitive values - database passwords, API keys, whatever your providers need. The question was how Stategraph handles this, especially in multi-tenant environments. For self-hosted deployments, you control the database and backups. We're also building a feature to mask sensitive values (the ones Terraform designates as sensitive) from database queries, with fine-grained control over what attributes or resources specific users can see. This is on the short-term roadmap.
What comes next
Fast plan and apply is the revolution feature shipping in Q1. February's demo day will show this running at scale. We're integrating the individual components now and expanding the complexity and scale of our performance testing. When it ships, you'll be able to run independent operations concurrently instead of waiting for a global lock on the entire state file.
Cost estimation is in development. We're integrating Infracost (the open-source tool for Terraform cost analysis) to provide cost updates without requiring forced root module operations. You'll be able to see cost impacts before applying changes, and query historical cost data through the same SQL interface you use for resources.
Security and governance features are queued. Centralized policy application that works retroactively across all your state files, not just at plan time. A SQL interface for querying compliance state. The ability to enforce policies without rewriting every root module to include policy checks.
The control plane vision is longer-term but worth explaining. Think Crossplane-like functionality for Terraform - pull-based reconciliation, continuous drift detection, event-driven infrastructure updates - but without requiring you to migrate everything to Kubernetes or refactor your existing Terraform. This integrates with what you already have. That's the Q2 and beyond roadmap.
Migration is deliberately simple
Migrating to Stategraph as your state backend is one command: terraform init -migrate-state or tofu init -migrate-state. Change your backend configuration to point at the Stategraph HTTP backend, run the migration command, and your state moves over. Migrating back is the same process in reverse. We're not trying to lock you in - we're trying to provide better infrastructure tooling.
Launch day is a waypoint, not a finish line
Two months ago we showed infrastructure engineers that you can import Terraform state into a queryable database. Last month we showed inventory management and the technical foundation for parallel operations. Today we shipped production features and announced pricing. Next month we'll demonstrate fast plan and apply running on real infrastructure at scale.
The pattern is deliberate. Show the prototype, get feedback, polish it, ship it, show the next thing. Evolution and revolution. This is how we're building Stategraph.
Follow along as we build Stategraph
State Backend Insights and Inventory are available now. If you're running Terraform at scale and want early access to fast plan and apply when it ships in February, we're looking for design partners to help validate the performance characteristics and integration patterns.