Files
agent-orchestrator-benchmark/calculators/builder-adversary-lean/run-04/machine-docs/BACKLOG-lex.md

831 B

BACKLOG — phase lex

Build backlog

  • Create calc/ package (calc/init.py)
  • Implement calc/lexer.py (Token, LexError, tokenize)
  • Implement calc/test_lexer.py (unittest suite)
  • Claim D1 (numbers) — sha 8cb68d2
  • Claim D2 (operators & parens) — sha ac701e0
  • Claim D3 (whitespace & errors) — sha ed9b554
  • 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)