# ubx Internals - [ubx Internals](https://developer.ubiquex.io/index.md): How ubx is built and why, for a human trying to understand the system. - [Overview](https://developer.ubiquex.io/overview.md): What ubx is, the ledger-over-state-file thesis, and how it differs from Terraform and Pulumi. - [Architecture](https://developer.ubiquex.io/architecture.md): The trust chain from authoring to apply, why the execution layer speaks tfplugin directly, and failure semantics. - [Schema Constitution](https://developer.ubiquex.io/schema-constitution.md): The canonical hashing rules for a proposal — ratified, and changeable only by a schema_version bump, never an in-place edit. - [Repository Map](https://developer.ubiquex.io/repository-map.md): What depends on what, across the 22 repos that make up the current system — not a flat list of all of them. - [Provider System](https://developer.ubiquex.io/provider-system.md): The four real schema sources, why they converge on one translated form before snapshotting, and the mixed-source dispatch layer that had to exist to serve AWS at all. - [SDK and Codegen](https://developer.ubiquex.io/sdk-and-codegen.md): How a wire type's own name decides where its bindings land — and the three real bugs that came from getting that wrong. - [Docs Pipeline](https://developer.ubiquex.io/docs-pipeline.md): The artifact model that turns a schema dump into a resource-reference page, the coverage check, and the provenance enforcement that closed UBI-197. - [Workflows](https://developer.ubiquex.io/workflows.md): The three sequences that recur across this system: updating an SDK, updating the docs, onboarding a new provider. - [Decisions](https://developer.ubiquex.io/decisions.md): Why things are the way they are. Most of this exists only in Linear discussion, not in any repo — this page is the one place it survives as a reachable document. - [Conventions](https://developer.ubiquex.io/conventions.md): The rules and the real incidents that produced them — verification traps that cost real time before they became rules. - [Proposal](https://developer.ubiquex.io/concepts/proposal.md): The typed, hashed, signed unit of change the whole system is organized around. - [Ledger](https://developer.ubiquex.io/concepts/ledger.md): The per-stack, append-only chain of accepted proposals — the only source of truth. - [IR](https://developer.ubiquex.io/concepts/ir.md): The typed resource graph schema every medium ultimately compiles down to. - [Resolver](https://developer.ubiquex.io/concepts/resolver.md): The deterministic component that turns typed intent into a resolved delta — the only place values get computed. - [Executor](https://developer.ubiquex.io/concepts/executor.md): The per-resource failure-state machine that owns everything that happens once a proposal ships. - [Drift](https://developer.ubiquex.io/concepts/drift.md): Reality diverging from the ledger becomes an implicit proposal, not a silent overwrite. - [Cross-Stack References](https://developer.ubiquex.io/concepts/cross-stack-references.md): A pinned import against a neighbor's ledger, never a live pointer. - [Staleness](https://developer.ubiquex.io/concepts/staleness.md): If what a proposal was resolved against has moved, the proposal is detected as stale, never applied as if nothing changed. - [Blueprints](https://developer.ubiquex.io/concepts/blueprints.md): Signed, reusable, parameterized proposal templates — compiled once, called from any medium, zero AI at call time.