Skip to content

Develop - #208

Merged
elson-vinicius-lopes merged 7 commits into
masterfrom
develop
Aug 28, 2026
Merged

Develop#208
elson-vinicius-lopes merged 7 commits into
masterfrom
develop

Conversation

@elson-vinicius-lopes

Copy link
Copy Markdown
Collaborator

No description provided.

elson-vinicius-lopes and others added 7 commits August 28, 2026 08:47
…sysmiddle)

Compõe fieldMappings por candidato sysmiddle bem-sucedido, reaproveitando o
mapper decifrado já produzido por LowCodeAutoTransformationService.RunAsync
(LowCodeCandidateResult.DecryptedMapperContent, sem 2ª consulta SQL) e um
parse posicional compartilhado uma vez por request (ILayoutParserService).
Falha isolada na composição nunca derruba o candidato (TryComposeFieldMappings
try/catch -> null + warning). tcl-xsl mantém fieldMappings sempre null
(mesma decisão categórica de sectionMappings na #138).

Design: docs/architecture/design-contrato-fieldmappings-execute-candidates-issue-141.md
Secao bilingue com exemplo completo (CNPJ do emitente), semantica de
null/[]/preenchido, convencao de XPath namespaced, distincao explicita entre
fieldMappings (campo) e sectionMappings/segmentMappings (linha/secao, #138).
Ressalva de validacao comportamental pendente (LowCodeRunner nao roda em
WSL/Linux, so validacao estrutural sintetica) destacada em bloco de alerta
logo no topo da secao, nao enterrada no meio do texto.
…didates (issue #141)

Adiciona 2 casos exigidos pelo pedido original que a implementação ainda não cobria:
mapper sem nenhum LinkMappingItem/Rule resolve fieldMappings==[] (não null), e
TransformedXml é byte-idêntico com/sem extração de fieldMappings habilitada.
Achado durante o gate: Compose() não filtra por resolução de origem — um
LinkMappingItem cujo InputLayoutGuid não existe no parse ainda gera entrada
BestEffort; [] só ocorre quando o mapper não tem nenhum link/rule.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…andidates-141

Reconcilia PR #207 (issue #141) com develop, que já absorveu as PRs
irmãs #200 (issue #86), #201 (issue #139), #203 (issue #138) e #205
(issue #140) da mesma cadeia de trabalho. Conflitos eram todos overlap
real entre PRs desta cadeia tocando os mesmos arquivos, não clash
semântico:

- LowCodeCandidateResult.cs: DecryptedMapperContent (#141) e
  MapperDecryptedContent (#138) eram o mesmo dado (mapper.DecryptedContent)
  sob nomes diferentes — unificado em DecryptedMapperContent, único campo,
  usado tanto por SysmiddleSectionMappingResolver (#138) quanto por
  TryComposeFieldMappings (#141).
- LowCodeAutoTransformationService.cs: mesma duplicação de atribuição
  nos dois pontos de criação de LowCodeCandidateResult.
- TransformationExecutionController.cs: TransformationCandidate agora
  preenche FieldMappings (#141) E SectionMappings/XmlNamespaces (#138)
  no mesmo objeto — funcionalidades complementares, ambas preservadas.
- README.md: seções de documentação de fieldMappings (#141) e
  sectionMappings (#138) são independentes, mantidas as duas em sequência.
- security-code-scan-baseline.json: entradas de linha para
  LowCodeAutoTransformationService.cs reconciliadas para 371/415 (linhas
  atuais pós-merge) — mesmos 2 achados de sempre (File.WriteAllTextAsync
  em inPath/metaPath), não vulnerabilidades novas. Nota adicionada ao
  _readme documentando o ajuste.

dotnet build: 0 erros. dotnet test: 413/417 passando — as 4 falhas
(SafePathResolverTests, LowCodeRunnerArgsTests) são pré-existentes,
específicas de ambiente (assumem paths Windows, falham sob WSL/Linux),
não relacionadas aos arquivos deste merge.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…candidates-141

feat: contrato fieldMappings definitivo em execute-candidates (issue #141)
@github-actions

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

{
_logger.LogWarning(
"fieldMappings (issue #141): parse posicional compartilhado falhou para layout {LayoutName} — candidatos sysmiddle seguem sem fieldMappings. Erro={ErrorMessage}",
request.LayoutName, sharedParsingResult.ErrorMessage);
// Nunca deixa a composição de fieldMappings afetar o XML já produzido pelo runner.
_logger.LogWarning(parseEx,
"fieldMappings (issue #141): exceção no parse posicional compartilhado para layout {LayoutName} — candidatos sysmiddle seguem sem fieldMappings",
request.LayoutName);
{
_logger.LogWarning(ex,
"fieldMappings (issue #141): falha ao compor mapeamentos estruturais para candidato mapper={MapperGuid} do layout {LayoutName}",
candidate.MapperGuid, layoutName);
@elson-vinicius-lopes
elson-vinicius-lopes merged commit bfda7b1 into master Aug 28, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants