Problem: the tolerance field for floating-point comparison was named `epsilon`, which is an implementation detail, not the user-visible concept. Solution: rename to `precision` in run.lua type annotations, internal variables, and comparison logic.