artifacts: add calculators/ — the 30 built calculators (5/variant) + machine-docs + git logs

This commit is contained in:
2026-06-16 15:39:42 +00:00
parent 64bc360fc0
commit bb85aa9f11
728 changed files with 34148 additions and 0 deletions

View File

@ -0,0 +1,104 @@
# STATUS — Phase `eval`
## DONE
All D1D5 gates Adversary-verified PASS @2026-06-16T00:18Z (REVIEW-eval.md). No VETO.
## Gate: ALL CLAIMED, awaiting Adversary comprehensive verification
---
## D1 — arithmetic
**WHAT:** `evaluate(parse(tokenize(s)))` is correct for `+`, `-`, `*`, `/`, precedence, parens, and unary minus.
**HOW:**
```bash
python -c "from calc.lexer import tokenize; from calc.parser import parse; from calc.evaluator import evaluate; print(evaluate(parse(tokenize('2+3*4'))))"
python -c "from calc.lexer import tokenize; from calc.parser import parse; from calc.evaluator import evaluate; print(evaluate(parse(tokenize('(2+3)*4'))))"
python -c "from calc.lexer import tokenize; from calc.parser import parse; from calc.evaluator import evaluate; print(evaluate(parse(tokenize('8-3-2'))))"
python -c "from calc.lexer import tokenize; from calc.parser import parse; from calc.evaluator import evaluate; print(evaluate(parse(tokenize('-2+5'))))"
python -c "from calc.lexer import tokenize; from calc.parser import parse; from calc.evaluator import evaluate; print(evaluate(parse(tokenize('2*-3'))))"
```
**EXPECTED:** `14`, `20`, `3`, `3`, `-6`
**WHERE:** `calc/evaluator.py`, `calc/test_evaluator.py::TestArithmetic`
---
## D2 — division
**WHAT:** `/` is true division; division by zero raises `EvalError`, not bare `ZeroDivisionError`.
**HOW:**
```bash
python -c "from calc.lexer import tokenize; from calc.parser import parse; from calc.evaluator import evaluate; print(evaluate(parse(tokenize('7/2'))))"
python -c "from calc.lexer import tokenize; from calc.parser import parse; from calc.evaluator import evaluate, EvalError
try:
evaluate(parse(tokenize('1/0')))
except EvalError as e:
print('EvalError:', e)
except ZeroDivisionError:
print('FAIL: bare ZeroDivisionError escaped')
"
```
**EXPECTED:** `3.5`; then `EvalError: division by zero`
**WHERE:** `calc/evaluator.py`, `calc/test_evaluator.py::TestDivision`
---
## D3 — result type
**WHAT:** Whole-valued floats display without trailing `.0`; non-whole floats display normally.
**Rule:** `fmt_result(v)` in `calc/evaluator.py`: if `isinstance(v, float) and v.is_integer()``str(int(v))`, else `str(v)`.
**HOW:**
```bash
python calc.py "4/2"
python calc.py "7/2"
```
**EXPECTED:** `2`, `3.5`
**WHERE:** `calc/evaluator.py::fmt_result`, `calc/test_evaluator.py::TestResultType`, `calc.py`
---
## D4 — CLI
**WHAT:** `python calc.py "2+3*4"` prints `14` and exits 0; errors print to stderr and exit non-zero with no traceback.
**HOW:**
```bash
python calc.py "2+3*4" # stdout: 14, exit 0
python calc.py "(2+3)*4" # stdout: 20, exit 0
python calc.py "7/2" # stdout: 3.5, exit 0
python calc.py "4/2" # stdout: 2, exit 0
python calc.py "1/0"; echo "exit:$?" # stderr: error, exit 1
python calc.py "1 +"; echo "exit:$?" # stderr: error, exit 1
```
**EXPECTED:** `14`, `20`, `3.5`, `2`, then error+exit:1, error+exit:1
**WHERE:** `calc.py`
---
## D5 — tests green + end-to-end
**WHAT:** Full unittest suite (lex + parse + eval) passes, 0 failures.
**HOW:**
```bash
python -m unittest -q
```
**EXPECTED:** `Ran 64 tests in X.XXXs\nOK`
**WHERE:** `calc/test_lexer.py`, `calc/test_parser.py`, `calc/test_evaluator.py`
---
## Verification commands (for Adversary cold-verify)
```bash
python -m unittest -q
python calc.py "2+3*4"
python calc.py "(2+3)*4"
python calc.py "7/2"
python calc.py "4/2"
python calc.py "1/0"; echo "exit:$?"
python calc.py "1 +"; echo "exit:$?"
```
---
## Adversary Verdict @2026-06-16T00:18Z
**COMPREHENSIVE PASS — all D1D5 gates verified cold.**
Cold-verified from work-adv clone (commit 21be8f5). Full verdicts in REVIEW-eval.md.
Builder may now write `## DONE` to this file.