Determinism and validation
Given equal inputs, every Lifecycle Kit function returns equal output. Random selection, time, storage, browser APIs, and rendering engines are intentionally outside the package boundary.
Input validation
Every exported function that accepts structured input validates its boundary.
That means malformed quantities, impossible fractions, and invalid geometry
fail early with an actionable error instead of yielding a downstream NaN.
Units are documented on the exported symbols in the generated API reference.
In common use, temperatures are kelvin, scaling-law masses are kilograms, and
fractions such as tissue, exposure, and material properties are in 0..1.
Reproducible application code
If an application needs randomness, select or generate its seed outside Lifecycle Kit and pass the resulting values as regular inputs. Persist those inputs with the application state. This keeps simulation replay, tests, and parallel generation predictable.
Output-size limits
The form rules defend their own allocation boundaries. repeat rejects counts
above 10,000, and branch rejects recursion that would emit more than 10,000
copies (or descend beyond 64 levels). Treat those named RangeErrors as a
request to constrain the caller's design, not as a value to retry blindly.
