This document introduces the Blazes framework for analyzing and enforcing consistency in distributed systems. It begins with an overview of the dataflow model of distributed computation using components that interact asynchronously via streams. It then discusses types of anomalies that can occur due to asynchrony and partial failure, such as cross-run nondeterminism and divergence. The document proposes using component properties like convergence and confluence to prevent anomalies, as well as constraining message delivery orders. It presents the Blazes approach of labeling components with these properties to analyze compositional consistency and selecting appropriate coordination like ordering and sealing. Modes of the Blazes framework are described, including analyzing systems as "grey boxes" and modeling their semantics as "white boxes."