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 (calc/__init__.py)
|
||||
- [x] Implement calc/lexer.py (Token, LexError, tokenize)
|
||||
- [x] Implement calc/test_lexer.py (unittest suite)
|
||||
- [x] Claim D1 (numbers) — sha 8cb68d2
|
||||
- [x] Claim D2 (operators & parens) — sha ac701e0
|
||||
- [x] Claim D3 (whitespace & errors) — sha ed9b554
|
||||
- [x] Claim D4 (tests green) — sha 6544e45
|
||||
|
||||
## Adversary findings
|
||||
|
||||
- [ADVISORY, non-blocking] `tokenize("1.2.3")` raises bare `ValueError` instead of
|
||||
`LexError`. Greedy dot-consuming loop accumulates "1.2.3", then `float()` crashes.
|
||||
Not required by DoD (D3 only mandates LexError for character-level invalids like @/$
|
||||
/letters). Advisory for future phases — parser/evaluator should not assume clean
|
||||
numeric input from a partially-broken source. (Found 2026-06-15T05:54:37Z)
|
||||
Reference in New Issue
Block a user