# Functions

NewConsistencyCheck creates a new consistency check reflecting the provided values.
ParseStage parses a MigrationStage from a string, or returns an error if the stage is unrecognized.

# Constants

Complete - migration is done.
Concurrent executes both reads in separate go routines, and waits until both calls have finished before proceeding.
DualWrite - write to both "old" and "new", "old" is authoritative for reads.
Live - both "new" and "old" versions run with a preference for "new".
New represents the technology source we are migrating towards.
Off - migration hasn't started, "old" is authoritative for reads and writes.
Old represents the technology source we are migrating away from.
RampDown - only read from "new", write to "old" and "new".
Random execution randomly decides if the authoritative read should execute first or second.
Read denotes a read-related migration operation.
Serial execution ensures the authoritative read will always complete execution before executing the non-authoritative read.
Shadow - both "new" and "old" versions run with a preference for "old".
Write denotes a write-related migration operation.

# Structs

ConsistencyCheck records the results of a consistency check and the ratio at which the check was sampled.

# Type aliases

ExecutionOrder represents the various execution modes this SDK can operate under while performing migration-assisted reads.
Operation represents a type of migration operation; namely, read or write.
Origin represents the source of origin for a migration-related operation.
Stage denotes one of six possible stages a technology migration could be a part of, progressing through the following order.