Propose Fix (Advisor V4)
Gera um changeSet de correção (rewrites) para uma issue do Advisor V4 — read-only, nada é mutado nas entidades
Você pode testar esta rota diretamente em nossa documentação interativa.
Executa o proposeFixTemplate (resolveIssueContext + proposeFixForIssueV4) síncronamente via motor sequentialThinking. Não usa fila nem Socket.IO.
Devolve um changeSet[] com correções propostas (alvo: {table, recordId, path, proposedValue}) e persiste as sugestões em advisor_issue_rewrites para auditoria e follow-up. Nada é mutado nas entidades originais — aplicar o changeSet é responsabilidade do copilot / agente autorizado.
Endpoint
POST /api/externalAPIs/public/advisor/v4/proposeFix
Parâmetros
ID da issue em advisor_issues_v2.
Opcional em produção (auth resolve). Obrigatório em dev local sem KrakenD.
Opcional. Propaga cost_control para o tracker do caller.
Sobrescreve a instrução default ("Sugira uma correção para esta issue.").
Locale para narração. Fallback: header Accept-Language → pt-BR.
Exemplo
curl -X POST {{BASE_URL}}/api/externalAPIs/public/advisor/v4/proposeFix \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"issueId": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
"instructions": "Foque na correção do envelope. Não toque nos chunks."
}'
Resposta
{
"result": {
"finalAnswer": {
"changeSet": [
{
"table": "avatars",
"recordId": "984c2dee-4f81-4fdf-b299-88baa0be86df",
"path": "prompt_envelop.identity.languages",
"currentValue": ["pt-BR", "en-US"],
"proposedValue": ["pt-BR"],
"rationale": "Avatar não tem chunks nem chains em inglês — claim cria falsa expectativa."
},
{
"table": "chunks",
"recordId": "...",
"path": "content",
"currentValue": "...",
"proposedValue": "...",
"rationale": "..."
}
],
"narration": "Proponho remover 'en-US' do envelope e ajustar dois chunks que ainda mencionam atendimento em inglês."
}
},
"events": [ ]
}
Campos da Resposta
Lista ordenada de mudanças propostas.
Narração textual no locale informado.
Timeline dos eventos do motor sequentialThinking durante a execução.
As sugestões também são persistidas em advisor_issue_rewrites — você pode listá-las depois sem precisar rodar proposeFix novamente. Consulte via entities[].rewrites no endpoint de listagem.
Erros
| Código | Descrição |
|---|---|
400 | issueId ausente ou hostId ausente (em dev local sem KrakenD) |
401 | Token inválido ou ausente |
404 | Issue não encontrada, ou não pertence ao host autenticado |
500 | Erro interno do servidor |