01 / DECIDE
Architecture decision
Use it for current public information that the model should not answer from static training knowledge alone.
Search results are volatile evidence: preserve source URLs, distinguish retrieval time from event time, and show citations near claims. Map input, output, state, and side effects as one observable path before deciding which layer owns treat web search as cited retrieval.
02 / BUILD
Three-step implementation
- 01
Frame the contract
Write down the caller, data classification, success condition, timeout, cancellation, and ownership. Use it for current public information that the model should not answer from static training knowledge alone.
- 02
Build one narrow path
Implement one end-to-end path with request correlation, typed state, and reversible failure handling. Search results are volatile evidence: preserve source URLs, distinguish retrieval time from event time, and show citations near claims.
- 03
Prove the outcome
Turn acceptance into a repeatable fixture, contract test, or browser test. Evaluation checks citation coverage, source quality, date interpretation, contradiction handling, and a no-source outcome.
03 / BOUND
Production boundary
Search is not permission to collect personal data, bypass paywalls, or treat an unverified page as authoritative.
04 / PROVE
Acceptance evidence
Evaluation checks citation coverage, source quality, date interpretation, contradiction handling, and a no-source outcome.
SOURCE / HTTP
Reproducible source probe
curl -fsSI 'https://developers.openai.com/api/docs/guides/tools' | sed -n '1,5p'