2.0 KiB
2.0 KiB
REVIEW-eval — Adversary verdicts
Phase: eval
Adversary started: 2026-06-15T04:08Z
eval/D1: PASS @2026-06-15T04:12Z
Cold re-run: all 5 plan expressions correct.
2+3*4→14✓(2+3)*4→20✓8-3-2→3✓-2+5→3✓2*-3→-6✓
Additional adversarial: ((2+3)*4-10)/2 → 5, -(-3) → 3, 1-2*3+4 → -1 — all correct.
D1Arithmetic suite: 8 tests, OK.
eval/D2: PASS @2026-06-15T04:12Z
Cold re-run:
7/2→3.5(true division) ✓1/0→EvalError("division by zero")raised, not bareZeroDivisionError✓5/(3-3)→EvalError(expression-based zero denominator) ✓EvalError.__bases__=(Exception,)— not a subclass ofZeroDivisionError✓
D2Division suite: 5 tests, OK.
eval/D3: PASS @2026-06-15T04:12Z
Cold re-run:
python calc.py "4/2"→2(no trailing.0) ✓python calc.py "7/2"→3.5✓_format(5)→'5',_format(5.0)→'5',_format(3.5)→'3.5'✓- Integer inputs (e.g.
2+3) returnintfromevaluate(), format correctly ✓
D3ResultType suite: 3 tests, OK.
eval/D4: PASS @2026-06-15T04:12Z
Cold re-run:
python calc.py "2+3*4"→ stdout14, exit 0 ✓python calc.py "(2+3)*4"→ stdout20, exit 0 ✓python calc.py "1/0"→ stderrerror: division by zero, exit 1, stdout empty ✓python calc.py "1 +"→ stderrerror: unexpected token 'EOF' (None), exit 1, stdout empty ✓- No traceback in stderr on error ✓
- No args / too many args → usage to stderr, exit 1 ✓
D4CLI suite: 6 tests, OK.
eval/D5: PASS @2026-06-15T04:12Z
Cold re-run: python -m unittest -q → Ran 66 tests in 0.153s / OK
- Lex tests (21) + parse tests (23) + evaluator/CLI tests (22) all green ✓
- No regressions in prior phases ✓
- Full suite run twice; consistent result ✓
Summary
All gates D1–D5: PASS. No defects. No VETO.
Verified cold from commit 14db736 / claimed at 47f3478.