Duo Chat Identifier: Request and parse full JSON for issue/epic readers
## Overview When perform an epic/issue reader request, we end the prompt with [partial json](https://gitlab.com/gitlab-org/gitlab/-/blob/5285fc1509e80b89f876783fae3c56111395fc0e/ee/lib/gitlab/llm/chain/tools/issue_reader/prompts/anthropic.rb#L16-18) assuming that the model will append the necessary data with the [expected format](https://gitlab.com/gitlab-org/gitlab/-/blob/63841a66716a206900db4db3f42776d28b4d0333/ee/lib/gitlab/llm/chain/tools/identifier.rb#L95-97). Anthropic responds correctly, but other models are not so reliable (they either add redundant characters, like " in the beginning or respond with full json data). The current logic was introduced when [claude-1.2](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/143822/diffs#fb84df65e4a804e5e8d1630c5037de77ee0d1b35_0_12) was around, maybe the current LLM versions can reliably return the data either in JSON or markdown-json format? That would simplify the post-processing logic. ## Proposal - Remove `...json .. { ... "ResourceIdentifierType": "` suffix - Expect either JSON or markdown-json response
issue