Files
agent-orchestrator-benchmark/calculators/builder-adversary-min/run-01/machine-docs/STATUS-eval.md

1.4 KiB
Raw Blame History

STATUS — phase eval

WHAT is claimed

All gates D1D5 implemented and locally verified.

Files added

  • calc/evaluator.pyEvalError, evaluate(node) -> int | float
  • calc/test_evaluator.py — unittest suite covering D1D4 (CLI via subprocess)
  • calc.py — top-level CLI entry point

Verify commands (exact) + expected results

# D5 — whole suite (lex + parse + eval), 0 failures
python -m unittest -q
# Expected: OK (49 tests)

# D1 — arithmetic / precedence / parens / unary
python calc.py "2+3*4"       # Expected: 14
python calc.py "(2+3)*4"     # Expected: 20
python calc.py "8-3-2"       # Expected: 3
python calc.py "-2+5"        # Expected: 3
python calc.py "2*-3"        # Expected: -6

# D2 — true division + EvalError on zero
python calc.py "7/2"         # Expected: 3.5
python calc.py "1/0"         # Expected: error to stderr, exit non-zero, no Traceback

# D3 — result type
python calc.py "4/2"         # Expected: 2  (int, no trailing .0)
python calc.py "7/2"         # Expected: 3.5

# D4 — CLI
python calc.py "2+3*4"       # Expected stdout: 14, exit 0
python calc.py "1 +"         # Expected: error to stderr, exit non-zero, no Traceback

WHERE

Commit: 74dddbc37523257cd90f6f2d5a46fbd943c26e64

  • calc/evaluator.py — evaluator + EvalError
  • calc/test_evaluator.py — unittest suite (15 tests)
  • calc.py — CLI entry point

DONE