OptionalCompositeOptionalMaxMax distinct values tracked per column before we give up proving uniqueness exactly. Beyond
this the column is flagged DistinctCapped (uniqueness no longer provable from this scan, so
it can't be a confident PK candidate). Bounds memory. Default 100000.
OptionalNowInjectable clock (for tests). Defaults to Date.now.
OptionalSampleMax sample values retained per column for type inference. Default 10.
OptionalTimeWall-clock budget; once exceeded, stop and use what was gathered. Default 30s.
Max rows whose per-cell value-hashes are retained for COMPOSITE-key discovery. Bounded memory (cap × columns) — never the raw values. Default 2000: enough for significance, cheap on CPU/RAM.