artifacts: add calculators/ — the 30 built calculators (5/variant) + machine-docs + git logs
This commit is contained in:
@ -0,0 +1,27 @@
|
||||
## 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
|
||||
Reference in New Issue
Block a user