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,21 @@
# BACKLOG — Phase `parse`
## Build backlog
_Read-only to Adversary — Builder maintains this section._
## Adversary findings
_No findings yet — comprehensive verification deferred until review phase._
### Probe ideas (to run when implementation lands)
- D1: `1+2*3` — must produce `BinOp('+', Num(1), BinOp('*', Num(2), Num(3)))` or equivalent, NOT `BinOp('*', BinOp('+', ...), ...)`.
- D2: `8-3-2` — must be left-associative: `BinOp('-', BinOp('-', Num(8), Num(3)), Num(2))`.
- D2: `8/4/2` — must be left-associative: `BinOp('/', BinOp('/', Num(8), Num(4)), Num(2))`.
- D3: `(1+2)*3``+` must appear as LEFT child of `*`.
- D4: `-5` — must parse as `Unary('-', Num(5))` or equivalent.
- D4: `3 * -2` — unary on right side of binary op.
- D4: `-(1+2)` — unary applied to parenthesized subexpr.
- D5: `"1 +"` → ParseError (not generic exception).
- D5: `"(1"` → ParseError.
- D5: `"1 2"` → ParseError.
- D5: `")("` → ParseError.
- D5: `""` → ParseError.