1.0 KiB
1.0 KiB
DONE
Phase: review — comprehensive deferred cold-verification Adversary comprehensive PASS received @ 2026-06-16T00:57:12Z (commit a7dbf70).
Summary
All DoD items verified by Adversary cold-verification from a fresh clone:
- D1 PASS — every prior phase DoD item (lex/D1–D4, parse/D1–D6, eval/D1–D5) cold-verified
- D2 PASS —
python -m unittest -q→ Ran 60 tests OK (0 failures) - D3 PASS — all cross-feature probes pass (nested unary+parens, precedence chains, error propagation, whitespace+floats+parens, CLI exit codes)
- D4 PASS — FINDING-1 fixed and re-verified; no standing VETO
Finding resolved
FINDING-1: float literals not normalized to int in Num/Unary branches.
Fix: extracted _normalize() helper in calc/evaluator.py, applied at every return site.
4 regression tests added to calc/test_evaluator.py.
Final state
- 60 tests, 0 failures
- Full calculator: lexer → parser → evaluator → CLI
- Files: calc/lexer.py, calc/parser.py, calc/evaluator.py, calc.py + full test suites