mirror of https://github.com/interlegis/sapl.git
Browse Source
`assinaturas-pendentes` era keyset puro por `materia_id`. A materializacao e justamente o passo que pode acontecer MUITO depois do protocolo: alvo gerado hoje para materia antiga nasce com id abaixo do cursor e nunca mais e lido — sem erro, sem WARN, e a reconciliacao cobre proposicao/tramitacao, nao assinatura. Em Franco isso nao era caso de borda, era o acervo: em 22/08/2026, 861 materias DOCX esperando a conversao voltar a funcionar, TODAS com id < 1076, contra um cursor em 1078. No dia em que o OnlyOffice convertesse, as 861 materializariam de uma vez e sumiriam todas — caladas. Agora o keyset e `(gerado_em, materia_id)`, o mesmo de `assinaturas-concluidas`: quem materializa tarde entra pela DATA, nao pelo id. O desempate por id impede que uma passada de recuperacao inteira, com timestamps empatados, releia a mesma primeira pagina para sempre (§1.1). `gerado_em` e `auto_now`, entao a retificacao reapresenta a materia sozinha — que e o comportamento desejado de qualquer forma: o app precisa saber que o alvo mudou. O dedupe do hub (marcador = hash do documento) mata a releitura do mesmo estado. `desde` ausente mantem o keyset antigo por id, para o hub da versao anterior seguir funcionando durante a subida. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>pull/3858/head
committed by
GitHub
3 changed files with 147 additions and 13 deletions
Loading…
Reference in new issue