Add suggest_scenario_groups_llm: single call with excerpt corpus + existing
label/triggers, parse scenarios JSON, merge into comment_scenario_groups
(up to 40) before build_competitor_brief. Record in keyword_suggest_llm.json
(schema_version 3). Skip with MA_SKIP_LLM_SCENARIO_SUGGEST. Update tests
and analysis view hint.
Made-with: Cursor
Regenerate-report (llm) used compact_brief_for_llm default 350k chars,
unlike other LLM steps (80k–100k), which can cause gateway timeouts or 5xx
surfacing as 502. chat_completion_text now attaches response body snippet
to HTTPError for easier diagnosis.
Made-with: Cursor