Skip to content

T-310 - Criar a coluna das fontes no resultado e expô-la na consulta de auditoria #384

Open

Description

@pedro-fs-garcia

T-310 - Criar a coluna das fontes no resultado e expô-la na consulta de auditoria

  • Componente: api, com a documentação do banco em docs/database/.
  • Depende de: T-309 no develop e T-305.
  • Data máxima: 12/11/2026
  • Estimativa: 2 pontos (Fibonacci)

Entregável

  • Migration com a coluna resultados_simulacao.fontes.
  • modelo-dados.dbml e modelo-dados.md atualizados.
  • Campo fontes nos resultados de GET /auditoria/jobs/{id}.

Descrição

O worker passa a gravar as bases que conferiu em cada execução (T-311). Esta tarefa cria a coluna e faz a consulta de auditoria devolvê-la. A migration precisa estar implantada antes do worker.

Contexto e decisões tomadas

  • resultados_simulacao é escrita só pelo worker, que tem SELECT e INSERT na tabela inteira (010-cria-resultados-simulacao.sql). A API e o codegen têm SELECT. A coluna nova não exige GRANT.
  • A coluna é opcional e sem backfill. Ela fica nula nos resultados gravados antes dela e nos de erro_infra.
  • O formato é definido por contracts/domain/resultado-fontes.schema.json.

Escopo

Dentro do escopo

  • Migration, documentação do banco e a leitura da coluna na fatia auditoria.

Fora do escopo

  • A gravação pelo worker.
  • GET /jobs/{id} e o relatório do profissional de RH.

Requisitos

  1. Criar o changeset com o próximo número livre, adiciona-fontes-em-resultados-simulacao, com ADD COLUMN fontes jsonb e o rollback que remove a coluna, conforme a skill migrations (api/.agents/skills/migrations/SKILL.md).
  2. Em modelo-dados.dbml, acrescentar a coluna com nota no padrão das demais colunas jsonb: o schema, quando é nula, por que fica no resultado e que é escrita pelo worker no mesmo INSERT. Atualizar modelo-dados.md se a seção da tabela citar as colunas.
  3. Na fatia auditoria, incluir fontes na consulta dos resultados e omitir o campo quando for nulo.

Contexto técnico

  • Entradas: a coluna nova.
  • Saídas: resultados da consulta de auditoria com as fontes.
  • Componentes afetados: a migration nova, modelo-dados.dbml, modelo-dados.md e o repositório da fatia auditoria.
  • Restrições: changeset publicado é imutável; nenhum GRANT.
  • Referências: migrations (api/.agents/skills/migrations/SKILL.md), api/src/main/resources/db/changelog/changesets/010-cria-resultados-simulacao.sql, PermissoesDeBancoTests (api/src/test/java/synapse/api/core/persistence/PermissoesDeBancoTests.java).

Critérios de aceitação

  • A migration aplica sobre um banco com resultados e o rollback remove só a coluna.
  • O worker consegue inserir um resultado com fontes usando o próprio usuário de banco.
  • A consulta de auditoria devolve fontes num resultado que a tem e omite o campo nos demais.

Definição de concluído (DoD)

  • make check na api sem falha.
  • Teste de permissão com o usuário do worker inserindo a coluna nova.
  • Resposta da consulta validada contra a especificação.

Metadata

Metadata

Assignees

Labels

apitarefa que diz respeito à API em Java Spring Boot

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions