Add --max-cost flag (USD) to cap LLM spend per analysis run.
Review feedback applied:
- Guard trace[-1] IndexError when stream yields no chunks
- Remove speculative model entries from pricing table
- Move budget checks inside lock for thread safety
- Split log_ticker_spend into format + log for modularity
Closes#524