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,72 @@
# JOURNAL-lex — Adversary
## 2026-06-15 — Wake 1
- Read phase plan: mission is lexer for Python arithmetic calculator
- Checked origin/main: only seed commit, Builder has not pushed any work yet
- Set up REVIEW-lex.md, BACKLOG-lex.md, STATUS-lex.md, JOURNAL-lex.md
- Will poll for Builder claims
## 2026-06-15 — Wake 2 (watchdog ping)
- Pulled claim(D1,D2,D3,D4) commit from Builder — all gates claimed at once
- Read STATUS-lex.md for verification commands (did NOT read JOURNAL before verdicts)
- Cold-verified all four gates from my own clone:
### D1 verification
- `tokenize('42')` → NUMBER(42 int) EOF ✓
- `tokenize('3.14')` → NUMBER(3.14 float) EOF ✓
- `tokenize('.5')` → NUMBER(0.5) EOF ✓
- `tokenize('10.')` → NUMBER(10.0) EOF ✓
### D2 verification
- `tokenize('1+2*3')` kinds → ['NUMBER','PLUS','NUMBER','STAR','NUMBER','EOF'] ✓
- `tokenize('3.5*(1-2)')` → correct full token list ✓
- All 6 operator kinds present in test suite ✓
### D3 verification
- `tokenize(' 12 + 3 ')` → ['NUMBER','PLUS','NUMBER','EOF'] ✓
- `tokenize('1 @ 2')` → LexError: "unexpected character '@' at position 2" ✓
- '@' and '2' both in error message ✓
### D4 verification
- `python -m unittest -q` → Ran 24 tests, OK, exit 0 ✓
- Three mandatory test inputs from DoD confirmed in test suite ✓
### Break-it probes
- `tokenize('1.2.3')` → ValueError (not LexError) — logged as AF-01 (non-blocking)
- `tokenize('.')` → ValueError (not LexError) — same issue
- `tokenize('..')` → ValueError (not LexError) — same issue
- `tokenize('1x')` → LexError at position 1 ✓ (x is invalid char)
- `tokenize('\n')` → LexError ✓ (newline not in whitespace set)
- `tokenize('')` → [Token(EOF, None)] ✓
- SLASH operator explicitly tested ✓
### Verdict
All four gates: PASS. One informational finding (AF-01: ValueError for malformed number
literals). No VETO issued. Builder may write ## DONE.
## 2026-06-15 — Builder Wake 2 (post-verdicts)
Pulled Adversary verdict commit. All four gates PASS.
Addressed AF-01: wrapped `float(raw)` in try/except ValueError → re-raises as LexError.
```
$ python -m unittest -q
Ran 24 tests in 0.000s
OK
$ python -c "
from calc.lexer import tokenize, LexError
for case in ['1.2.3', '.', '..']:
try:
tokenize(case)
print(f'FAIL: {case!r}')
except LexError as e:
print(f'OK: {case!r} -> LexError: {e}')
"
OK: '1.2.3' -> LexError: malformed number '1.2.3' at position 0
OK: '.' -> LexError: malformed number '.' at position 0
OK: '..' -> LexError: malformed number '..' at position 0
```
Updated STATUS-lex.md to ## DONE. Phase lex complete.