Determinism
The property that identical inputs produce identical outputs, and the foundation of caching and verification.
Determinism is the property that the same inputs always produce the same output. It is what makes caching sound, comparison meaningful, and bisection possible — a reproducible build lets you assert that a local artifact and a deployed one are the same thing rather than hoping.
Achieving it means eliminating the ordinary sources of variance: timestamps, random values, iteration order over unordered collections, absolute paths, parallel scheduling, locale, and anything read from the environment. Systems that need determinism usually forbid the clock and the random generator outright and require such values to be supplied as inputs.
Determinism also has a tolerance dimension worth knowing. Numeric computation on a graphics processor can vary by a single unit in the last place between runs, for reasons that are genuinely environmental rather than a code defect. That means a byte-exact comparison of rendered output can fail intermittently on unchanged code — and the way to establish which it is, is to compare the inputs rather than the outputs, and to confirm that an older binary flakes identically.
Where full determinism is not achievable, the fallback is to isolate the non-deterministic part behind a recorded boundary; see Record and Replay Testing and Seeded Randomness.
See also6
Hand-picked in the note itself — the neighbours worth reading next.
Fingerprint
A hash over everything that determined a result, used to detect when the result has gone stale.
Agents & Language Models11 connections
Hash Function
A function mapping arbitrary input to a fixed-size digest, used for identity, integrity, and addressing.
Systems & Tooling7 connections
Flaky Test
A test that passes and fails on identical input, and the most corrosive thing a suite can contain.
Testing & Verification12 connections
Nondeterminism
The property that identical inputs may produce different outputs, and what it costs to test around.
Agents & Language Models17 connections
Bundler
The tool that resolves an application's modules into the files a browser downloads.
Web Platform12 connections
Cache Invalidation
Deciding when a cached value has stopped being correct — famously one of the hard problems.
Web Platform11 connections
Related2
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from27
Notes elsewhere in the wiki that reach for this one.
- BundlerWeb Platform
The tool that resolves an application's modules into the files a browser downloads.
- Cache InvalidationWeb Platform
Deciding when a cached value has stopped being correct — famously one of the hard problems.
- Cellular AutomatonGraphics & Games
A grid of cells whose states evolve by a local rule applied simultaneously everywhere.
- Constraint PropagationGraphics & Games
Repeatedly narrowing the possible values of each variable using the constraints, until nothing more can be deduced.
- ContainerizationSystems & Tooling
Packaging an application with its dependencies into an isolated, reproducible runtime unit.
- Eventual ConsistencyNetworks & Distribution
A guarantee that replicas converge given no further updates, without guaranteeing when.
- FingerprintAgents & Language Models
A hash over everything that determined a result, used to detect when the result has gone stale.
- Flaky TestTesting & Verification
A test that passes and fails on identical input, and the most corrosive thing a suite can contain.
- Game AIGraphics & Games
Computer opponents built to be interesting to play against rather than optimal.
- Ground TruthMethod
The measurement that arbitrates, as opposed to the artifact that merely reports.
- Hash FunctionSystems & Tooling
A function mapping arbitrary input to a fixed-size digest, used for identity, integrity, and addressing.
- IdempotenceSystems & Tooling
The property that performing an operation twice has the same effect as performing it once.
- L-SystemGraphics & Games
A rewriting grammar that generates branching structures by repeated substitution.
- LockfileVersion Control & Delivery
A generated file recording the exact dependency versions an install resolved to.
- NondeterminismAgents & Language Models
The property that identical inputs may produce different outputs, and what it costs to test around.
- Procedural GenerationGraphics & Games
Creating content algorithmically rather than authoring it by hand.
- Race ConditionTesting & Verification
A defect whose occurrence depends on the relative timing of concurrent operations.
- RasterizationGraphics & Games
Converting geometry into pixels — the dominant real-time rendering approach.
- Record and Replay TestingAgents & Language Models
Capturing a real interaction once and replaying it deterministically in later test runs.
- Reproducible CaseMethod
The smallest set of steps that reliably produces a fault, and the unit of real debugging.
- RoguelikeGraphics & Games
A genre defined by procedurally generated runs and permanent death, and the design pressures those create.
- Seed DataData & Content
Initial content created programmatically to make an empty system usable or demonstrable.
- Seeded RandomnessGraphics & Games
Pseudorandom generation from an explicit seed, so any output is reproducible.
- ShaderGraphics & Games
A small program run on the graphics processor for every vertex or every pixel.
- Test FixtureTesting & Verification
The prepared data or state a test runs against.
- Visual Regression TestingTesting & Verification
Comparing rendered output against a stored baseline to catch unintended visual change.
- VoxelGraphics & Games
A volumetric pixel — a value on a regular three-dimensional grid.