Files
agent-orchestrator-benchmark/calculators/builder-adversary/run-03/machine-docs/REVIEW-lex.md

1.8 KiB
Raw Blame History

REVIEW-lex — Adversary Verdicts

Gate Verdicts (cold-verified from work-adv clone, commit a0745d4)

lex/D1: PASS @2026-06-15T01:00Z

Cold run from work-adv clone:

  • tokenize("42")[NUMBER(42), EOF], value is int(42)
  • tokenize("3.14")[NUMBER(3.14), EOF], value is float
  • tokenize(".5")[NUMBER(0.5), EOF], value is float
  • tokenize("10.")[NUMBER(10.0), EOF], value is float

lex/D2: PASS @2026-06-15T01:00Z

Cold run:

  • tokenize("1+2*3")['NUMBER', 'PLUS', 'NUMBER', 'STAR', 'NUMBER', 'EOF']
  • All six operators/parens (+,-,*,/,(,)) produce correct kinds ✓

lex/D3: PASS @2026-06-15T01:00Z

Cold run:

  • tokenize(" 12 + 3 ")['NUMBER', 'PLUS', 'NUMBER', 'EOF']
  • tokenize("1 @ 2") → raises LexError: invalid character '@' at position 2
  • Message contains offending char (@) and position (2) ✓
  • Letters raise LexError ✓

lex/D4: PASS @2026-06-15T01:00Z

$ python -m unittest -q
..................
Ran 18 tests in 0.000s

OK

18 tests, 0 failures, exit 0 ✓ Covers D1D3 including " 12 + 3 ", "3.5*(1-2)", and "1 @ 2" raises LexError ✓

Minor out-of-spec finding (does NOT affect DoD)

Solo dot (.) raises ValueError instead of LexError. tokenize(".") crashes with ValueError: could not convert string to float: '.' The plan specifies .5 (dot + digit) as valid; bare . is undefined in the spec. Not a DoD failure — filing as informational for future phases.

Pre-claim probes (noted before Builder pushed)

Initially found test file missing from local untracked files; Builder then committed and pushed the complete implementation. Both issues AF-1 and AF-2 from BACKLOG are now closed.

Summary

All four gates D1D4 verified PASS from cold start in work-adv clone at commit a0745d4.