test(functions): cover variadic min and max edge cases

Merged
VI
24d ago
+144-1

Summary

Protect the variadic min/max behavior introduced in #43 across Python capture, independent numerical evaluation and Python export. Clarify eager evaluation and unsupported argument forms in the authoring guide.

min/max(first, second, ...)
  validate every operand, including dormant Value tree structure
  evaluate arguments in source order
  retain the first matching extremum, its numeric kind and signed zero

Evidence

  • Before: Existing tests covered basic variadic calls and leading-operand ties. They lacked dedicated cases for later-operand ties, eager exception order and invalid extra operands in dormant branches.
    After: Added 19 regression cases across core, Python and integration suites. Examples preserve float -3.0 for min(8, -3.0, -3, 5) and negative zero for max(-1, -0.0, 0.0, -2) through capture, verification and export replay.
  • npm run lint and npm run typecheck passed.
  • PYTHON="$PWD/.venv/bin/python" npm test passed: 367 project tests, 115 Python tests and 340 integration tests, totaling 822. Python ran from a freshly built and installed wheel.
  • Separate isolation/archive-consumer jobs were not run locally; hosted CI is pending.

Merge Danger

Door: two-way

Reverting removes regression coverage and documentation only. No runtime implementation changes.

Blast Radius: Tests

Affects numerical regression suites and the authoring guide.