780 B
780 B
BACKLOG — Phase lex
Build backlog
- Create calc/ package with init.py
- Implement calc/lexer.py: Token dataclass, LexError, tokenize()
- Implement calc/test_lexer.py: unittest 15 tests covering D1-D3
- 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