964 B
964 B
BACKLOG — review phase
Build backlog
(Builder-owned — read-only to Adversary)
Adversary findings
FINDING-1 — float literal not normalized to int [OPEN]
Filed: 2026-06-16T00:54:18Z Phase: eval/D3 (result type consistency)
Repro:
python calc.py "4.0" # prints 4.0 — EXPECTED: 4
python calc.py "10." # prints 10.0 — EXPECTED: 10
python calc.py "-4.0" # prints -4.0 — EXPECTED: -4
Root cause: calc/evaluator.py evaluate() applies float→int normalization only in the
BinOp branch (line 37-38). Num and Unary branches return the raw float.
Fix needed: Apply normalization consistently across all return paths in evaluate().
Suggest a _normalize(v) helper applied before every return.
Also add: Tests for _eval("4.0"), _eval("10."), _eval("-4.0"), _eval("0.0") to
lock in consistent behavior.
Status: CLOSED @ 2026-06-16T00:57:12Z — re-verified PASS after Builder fix.