Develop - #208
Merged
Merged
Conversation
…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>
… com resultado de performance (§9)
…ldMappings (issue #141)
…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)
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
| { | ||
| _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); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.