Skip to content

Develop - #199

Merged
elson-vinicius-lopes merged 9 commits into
masterfrom
develop
Aug 27, 2026
Merged

Develop#199
elson-vinicius-lopes merged 9 commits into
masterfrom
develop

Conversation

@elson-vinicius-lopes

Copy link
Copy Markdown
Collaborator

No description provided.

elson-vinicius-lopes and others added 9 commits August 27, 2026 11:52
…ploaded/parsing client-side, transforming/completed/failed no backend)

Estende LowCodeTransformationIndexEntry com o vocabulario completo de fases do
contrato aditivo (docs/architecture/contrato-linha-vazia-progresso-e-degradacao-posicional-2026-08-27.md
Sec.2): uploaded/layout_selected/parsing documentados como client-side only
(o ticket so existe apos o parse), TransformingStatus como alias de
ProcessingStatus (mesmo valor de fio, nao quebra consumidor) e novo
FailedStatus quando nenhum candidato do conjunto teve sucesso.
…ignmentFailed)

Implementa o contrato aditivo desenhado por @lp-architect
(docs/architecture/contrato-linha-vazia-progresso-e-degradacao-posicional-2026-08-27.md):

- LineInfo.IsDeclaredEmpty: true quando a linha foi identificada no layout mas o
  conteudo bruto e vazio/whitespace. Populado em ParseTextWithSequenceValidation,
  que agora tambem preenche ParsingResult.LineInfos.
- LineInfo.PositionalAlignmentFailed: sinal observacional de colapso posicional
  (>=2 campos consecutivos da mesma ocorrencia com o mesmo Start), sintoma do tipo
  LINHA006. Deteccao pos-loop em ParseLineFields, sem alterar o calculo de posicao
  existente.

Nota de reconciliacao (2026-08-27, @lp-devops): o commit original desta feature
tambem reimplementava o Bug A/B de InformacoesParaEDI (Length de fragmento bruto +
OccurrenceCount/IsAggregatedOccurrence), sem saber que o PR #191 (a330af2, mesclado
em develop antes desta branch ser criada) ja havia corrigido o mesmo bug. Ao
reconciliar esta branch com origin/develop atualizado, a duplicacao foi removida —
Models/Entities/ParsedField.cs ficou byte-identico ao de origin/develop apos a
resolucao de conflito, confirmando que nao sobrou logica divergente. Only os dois
campos genuinamente novos de LineInfo permanecem aqui.

Todos os campos sao aditivos - nenhum Status/comportamento existente foi alterado.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…/degradacao posicional

Design doc de @lp-architect para as issues #194/#195/#197, mais atualizacoes de
memoria de @lp-pm (dispatch das issues) e @lp-qa (quality gate do fix
OccurrenceCount/InformacoesParaEDI, ja mesclado via PR #191).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…08-27)

Documenta IsDeclaredEmpty, PositionalAlignmentFailed e a nova fase "failed"
de transformationsStatus no README (bilingue) e via XML docs em
ParsingResult.LineInfos, sinalizando o gap conhecido: os dois booleanos de
LineInfo sao populados internamente mas ainda nao sao serializados no
payload de POST /api/parse/upload.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
O POST /api/parse/upload nunca incluía LineInfos (IsDeclaredEmpty,
PositionalAlignmentFailed), deixando os sinais aditivos da PR #198
inacessíveis ao front-end. Campo lineInfos adicionado ao objeto de
resposta, sem alterar nenhum campo existente.

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

Documenta veredito PASS, achado de design em IsDeclaredEmpty (inalcancavel
na pratica dado o matcher atual) e o incidente de commits concorrentes que
absorveu os testes de QA em commits de outro agente no mesmo checkout.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
O calculo original (IsNullOrWhiteSpace sobre currentLine inteira) era
inalcancavel: todo matcher de IsLineValidForConfig exige um prefixo
nao-espaco (Sequencia/HEADER/EDI_/999999) para casar a linha, entao uma
linha identificada nunca podia ser 100% whitespace.

ParseLineFields agora expoe allDataFieldsBlank (true quando todos os
campos de dado, ja excluindo Sequencia/LINHA*, sao whitespace; cai no
fallback antigo sobre a linha bruta se nao houver campo de dado). O
sinal aditivo passa a refletir a intencao original do contrato: "os
dados da linha estao vazios", nao "a linha inteira esta em branco".

Ajusta o teste de regressao do QA que documentava o bug para agora
provar o comportamento corrigido.
…nsercoes no PR #198 (falso positivo por deslocamento, sem codigo novo)
…-progresso

feat: contrato aditivo de linha vazia/degradacao posicional + fases de progresso
@github-actions

Copy link
Copy Markdown

Dependency Review

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

Scanned Files

None

@elson-vinicius-lopes
elson-vinicius-lopes merged commit 18fa488 into master Aug 27, 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.

1 participant