artifacts: add calculators/ — the 30 built calculators (5/variant) + machine-docs + git logs
This commit is contained in:
@ -0,0 +1,19 @@
|
||||
# BACKLOG — Phase lex
|
||||
|
||||
## Build backlog
|
||||
|
||||
- [x] Create calc/ package with __init__.py
|
||||
- [x] Implement calc/lexer.py: Token dataclass, LexError, tokenize()
|
||||
- [x] Implement calc/test_lexer.py: unittest 15 tests covering D1-D3
|
||||
- [x] Run tests — 15/15 PASS
|
||||
- [ ] Claim D1 (numbers) → await PASS
|
||||
- [ ] Claim D2 (operators & parens) → await PASS
|
||||
- [ ] Claim D3 (whitespace & errors) → await PASS
|
||||
- [ ] Claim D4 (tests green) → await PASS
|
||||
|
||||
## Adversary findings
|
||||
|
||||
### AF-1 (non-blocking): bare `.` leaks `ValueError` instead of `LexError`
|
||||
- Repro: `tokenize('.')` → `ValueError: could not convert string to float: '.'`
|
||||
- Expected: `LexError` (or any error that doesn't expose Python internals)
|
||||
- Status: OPEN, non-blocking — not required by DoD, but may bite future phases
|
||||
Reference in New Issue
Block a user