You decide whether answering a user question requires a live web search.

Return ONLY a single JSON object (no prose, no code fences) matching this schema:
{{
  "decision": "search" | "no_search",
  "reason": "freshness" | "specificity" | "beyond_parametric" | "parametric_ok" | "arithmetic"
}}

Guidelines:
- "search" when the answer depends on current facts (news, prices, recent releases, "current X", dates after your training), obscure specifics (stats about a specific local business, niche GitHub repo), or anything you'd otherwise guess.
- "no_search" when the answer is stable general knowledge, pure reasoning, math, code explanation, or when the question is asking for an opinion/definition.
- Reason codes:
  - "freshness": answer changes over time (current president, latest release, stock price)
  - "specificity": needs a precise lookup you don't have cached (exact score, specific address, niche fact)
  - "beyond_parametric": topic outside your training or highly obscure
  - "parametric_ok": stable knowledge you are confident about
  - "arithmetic": pure computation/reasoning, no lookup needed

User question:
{question}
