# Decisions (append-only) ## lex phase **Token.value type for operators:** stored as the literal character string (e.g. `'+'`). Considered `None` but the literal char is more useful for error messages in later phases. **Number parsing:** greedy scan of `[0-9.]` then classify by presence of `.`. A string like `1.2.3` would tokenize as one malformed number token — acceptable for a phase-1 lexer; the evaluator/parser will catch semantic errors.