
Do not treat a reply as the search the response called, and do not ask the model which search it was, until you can name the call. Tonight, three proofs, in a log you stored. Name the search that response called: the search-call id, the type, and the status. If the output array has no search call, write that. Show a different item whose id, or whose type, is not this one. Show another response that does not hold this call. If any of the three needs the person who wired the model, you have not named the search. You have a paragraph and a guess.
This is one web search call on one response. It is not the output a response held. Which output did that response hold? is an item id, a type, and a status. A message item can be right while the search call beside it is a different id. It is not the chunk a search returned. Which chunk did that search return? is a file id, a score, and a text from a vector store. A file id is not a web search call id. It is not the item a subscription held. Which item did that subscription hold? is a quantity and a price id. It is not the context a status named. Which context did that status name? is a status id and a context string. A query string is not a commit context. It is not the citation a message named. Which citation did that message name? is a type, a span, and a file or a url. A search-call id is not that annotation.
None of what follows is a score for the product you are running, and none of it is legal advice. The objects below are the examples in OpenAI's web search guide. One sample prints an id. A later sample prints a search call and does not print an id. The figures after that are a March 2025 newsroom study and a 2025 audit of other search systems. A percentage of other people's queries is not the call id in the log you opened.
The guide's first sample stores a search call and a message, and the sentence is not the call. The search id is ws_67c9fa0502748190b7dd390736892e100be649c1a5ff9609. 51 characters. type is web_search_call. 15 characters. status is completed. 9 characters. action type is search. 6 characters. The query is latest news about AI. 20 characters. 20 is not 51, and 15 is not 6. The message id is msg_67c9fa077e288190af08fdffda2e34f20be649c1a5ff9609. 52 characters. 52 is not 51. The two ids share a suffix of 16 characters, 0be649c1a5ff9609, and they are not the same id. type on the message is message. 7 characters. role is assistant. 9 characters, the same length as completed, and not the same string. The content type is output_text. 11 characters. The text sample is On March 6, 2025, several news... 33 characters. The annotation type is url_citation. 12 characters. start_index is 2606. end_index is 2758. 2758 minus 2606 is 152. The page does not print 152. The url and the title in that annotation are placeholders, not a source you can open. A placeholder is not a citation you stored. The page names three action types: search, open_page, and find_in_page. open_page is 9 characters, the same length as completed, and not the same string. find_in_page is 12 characters, the same length as url_citation, and not the same string. 3 names are not 1 action on this sample. The model in the surrounding samples is gpt-6-astra. 11 characters, the same length as output_text, and not the same string (OpenAI, Web search).
A later sample on the same guide is a search call with no id. type is web_search_call again. status is completed again. The results array holds one image_result. 12 characters, the same length as url_citation, and not the same string. The caption is Golden Gate Bridge at sunset. 28 characters. The request that produced it sets max_results to 3. The results array holds 1. 1 is not 3. The page does not print an id on this call. A missing id is not the 51-character id from the first sample. Do not paste ws_67c9fa0502748190b7dd390736892e100be649c1a5ff9609 onto a call that did not print it. The include string for sources is web_search_call.action.sources. 30 characters. The include string for results is web_search_call.results. 23 characters. 30 is not 23, and 23 is not 51. search_context_size has three names: low, 3 characters; medium, 6; high, 4. 3 is not 6, and 6 is not 4. The page says the setting does not set an exact token count. A size name is not an id. The user-location sample sets country to GB, 2 characters, city to London, 6 characters, and region to London, 6 characters. City and region are the same string on that sample. The same string twice is not two calls. The tool name web_search is 10 characters. The older name web_search_preview is 18 characters. 18 is not 10. The page says the preview search models shut down on 2026-07-23. 10 characters, the same length as web_search, and not that name. A shutdown date is not a call id.
Jaźwińska and Chandrasekar, at the Tow Center for Digital Journalism, tested other search tools, which is not this call. The piece is dated 6 March 2025. They tested eight tools: ChatGPT Search, Perplexity, Perplexity Pro, DeepSeek Search, Copilot, Grok-2, Grok-3, and Gemini. They used 20 publishers and 10 articles each. 20 times 10 times 8 is 1,600, which the page also prints as sixteen hundred queries. The page says the tools provided incorrect answers to more than 60 percent of queries. Perplexity answered 37 percent incorrectly. Grok 3 answered 94 percent incorrectly. 94 minus 37 is 57, which the page does not print. 37 is not 60, and 60 is not 94. ChatGPT incorrectly identified 134 articles and signaled a lack of confidence 15 times out of 200 responses, and never declined. 134 is not 15. 15 is not 200. The page prints 134 and 200 and does not print 67. Perplexity Pro is $20 a month in that write-up. Grok 3 is $40 a month. 20 is not 40. Five of the eight tools had public crawler names. 5 is not 8. The page says Perplexity Pro correctly identified nearly a third of the ninety excerpts it should not have reached. A third of ninety is 30, which the page does not print. Gemini provided a completely correct response on one occasion. 1 is not 1,600. None of those percents is the id on your search call (Jaźwińska and Chandrasekar, AI Search Has a Citation Problem).
Venkit, Laban, Zhou, Huang, Mao, and Wu measured a different set of systems, and it still is not this call. DeepTRACE, in the arXiv HTML for 2509.04499, turns failure cases into eight dimensions. Eight dimensions are not the eight tools in the Tow test. The introduction says citation accuracy is 40 to 80 percent. A later section says the three generative search engines show citation accuracy of 40 to 68 percent. 80 is not 68. 40 is not 80. 68 is not the Tow page's more than 60. The introduction prints one-sided rates on debate queries: GPT-5 deep research 54.7%, YouChat deep research 63.1%, Copilot deep research 94.8%. 94.8 is not the Tow page's 94. The page does not print the gap of 0.8. Unsupported statement rates include YouChat deep research 74.6% and Perplexity deep research 97.5%. 74.6 is not 97.5. The same section says GPT-5 deep research has 0% uncited sources, 12.5% unsupported statements, and 87.5% on the source-necessity figure it prints beside those. 12.5 plus 87.5 is 100, which the page does not print. 0 is not 12.5. Generative search one-sidedness is described as 50 to 80 percent, with Perplexity over 83% and 18.8 statements per response on average. 18.8 is not 83. BingChat lists 4.0 sources on average. You.com and Perplexity list 3.4 to 3.5. 4.0 is not 3.5. Relevance is described as 75 to 85 percent for those search engines. Gemini deep research relevance is 12.4%. 12.4 is not 75. Deep research overconfidence is described as under 20%. 20 is not 94.8. About 15% of source URLs failed full-text extraction. 15 is not the Tow page's 15 confidence signals, and it is not a call id. A range of other systems is not ws_67c9fa0502748190b7dd390736892e100be649c1a5ff9609 (Venkit, Laban, Zhou, Huang, Mao, and Wu, DeepTRACE).
Inflectiv Helios is a platform of domain-tuned assistants with conversational history, distinct from the next customer's log. It is not a web-search-call ledger. No headcount, duration, or result figure belongs in that sentence. Inflectiv Helios does not supply that 51-character id.
When the reply is already in front of a customer and the log cannot name the call, the missing object is specific. A record you stored, that shows one search-call id, one type, and one status, shows a different item that is not that one, and shows another response that does not hold it. An AI pilot failed to reach production engagement is for the system that is already in front of customers and cannot yet show those three: audit in the first one to two weeks, finished in 8 to 12 weeks, scoped after the audit, unpaid if the agreed metric does not move, rollout behind a human-review gate. The call you failed to store tonight is the kind of case the harness has to include, or the next release will answer and still be unable to say which search ran. The harness is AI evaluation and observability. An AI integration sprint is the shape where the acceptance sentence can require the search-call id on every stored response that used the tool. If you do not yet know whether the pilot can be saved, a two-week AI readiness assessment hands you the findings either way. The findings are yours.
There is a version of this afternoon where a rescue is the wrong purchase. Nothing is in production. No model is being called. The request was not logged. A customer has already seen another customer's search. The wrong value was already a write. Or no metric was ever named. None of those is a missing search-call id. A study's 94% will not become your status because a paragraph was confident, and a sample that omitted the id will not become the 51-character id because both samples were on the same guide.
Before you tell them which search the response called, do the three proofs and write the name. Name the id, the type, and the status, or write that the array held no search call. Show a different item that is not that one. Show another response that does not hold it. Do not paste a 37%, a 94.8%, or a query of 20 characters and call it the call. The first sample printed an id. The image sample did not. Your log has to print the one you mean.
Questions
You stop treating the reply as the search the response called, and you stop asking the model which call it was, until you can name the id, the type, and the status, show a different item whose id or type is not this one, and show that another response does not hold it. If the array had no search call, write that.
No. A share of other tools' answers is not the id on this call. A search you can defend is the id, the type, and the status, or a written line that no search call was stored. 94 in one study is not status completed, and 94.8 in another is not your customer's query.
When nothing is in production, when no model is being called, when the request was not logged, when a customer has already seen another customer's search, when the wrong value was already a write, or when no metric was ever named.
Related: AI pilot failed to reach production
Find this useful? Tell Google to show you more of it.
