For the past several days, the our documentation chatbot (powered by gpt-5.5 using the file_search tool) has not been correctly adding the citations in its responses. For example, here is a recent output message:
{‘id’: ‘msg_0699b1fab59d93a5006a27ebef660c819fb62be649c0a8b909’, ‘content’: [{‘annotations’: [], ‘text’: ‘By “assigned a service band”, I mean the employer organisation has a value selected in its Service Band field on their organisation profile.\n\nA Service Band is a way of categorising employers for fair pricing — for example:\n\n- Default / Standard\n- Charity\n- Public sector\n- Commercial\n- Partner employer\n\ntargetconnect uses the Service Band to decide which stand price applies to that organisation. The documentation says Service Band is used to define prices for event stands — for example, offering a lower price to charities. \ue200filecite\ue202turn2file4\ue201\n\n## Where to check it\n\nGo to the employer’s organisation record:\n\nOrganisation profile > Edit > Basic Information\n\nThere is a Service Band field there. The documentation describes this field as being used to categorise costings for employer fairs. \ue200filecite\ue202turn2file13\ue201\n\n## How it affects the stand price\n\nWhen you set up a stand, you can have different prices for different Service Bands. For example:\n\n| Stand | Default price | Charity price |\n|—|—:|—:|\n| Standard stand | £500 | £250 |\n\nIf the organisation’s Service Band is set to Charity, targetconnect can apply the Charity price. If the organisation does not have a service band, targetconnect uses the default cost instead. If the organisation has a service band but no price has been entered for that band, it also falls back to the default cost. \ue200filecite\ue202turn2file2\ue201\n\n## Why this could cause £0 to show\n\nIf your Default stand cost is currently 0, and the employer either:\n\n- has no Service Band set, or\n- has a Service Band that does not have a specific price entered,\n\nthen targetconnect may use the Default cost — which would show as 0.\n\nSo I’d check two things:\n\n1. On the employer organisation profile, check what Service Band they have.\n2. On the Employer stands setup, check the price entered for both:\n - the relevant Service Band, and\n - the Default price.’, ‘type’: ‘output_text’, ‘logprobs’: []}], ‘role’: ‘assistant’, ‘status’: ‘completed’, ‘type’: ‘message’, ‘phase’: ‘final_answer’}
As you can see, there are no ‘annotations’ being added, but the model is attempting to cite file using things like “\ue200filecite\ue202turn2file13\ue201”, etc. This happens when streaming the events and in the final output message.
We haven’t changed anything in the system prompt in the past 2 months, but this issue has only started appearing in the past few days.
Is anyone else having similar issues, or knows how to fix this?

