Descrição do problema
A validação de <history> (packtools/sps/validation/history.py) está reportando erro CRITICAL pela ausência
de received/accepted (e possivelmente outros @date-type) para tipos de documento que o SPS isenta
explicitamente dessa obrigatoriedade, entre eles o adendo (addendum).
O SPS 1.10, na seção "<history>: Datas de Histórico", define:
"Atributos e valores obrigatórios (exceto para errata, retratação, adendo, manifestação de preocupação e
parecer): 1. Em <date> @date-type="received" 2. Em <date> @date-type="accepted""
Ou seja, received/accepted só são obrigatórios fora dessa lista de exceções (errata/correction,
retratação/retraction e partial-retraction, adendo/addendum, manifestação de preocupação/
expression-of-concern, parecer/reviewer-report). Para os demais @date-type (corrected,
expression-of-concern, pub, preprint, resubmitted, retracted, rev-recd, rev-request,
reviewer-report-received), o SPS não define obrigatoriedade incondicional - corrected e
expression-of-concern, por exemplo, aplicam-se especificamente a documentos de errata/adendo e manifestação
de preocupação, respectivamente, e reviewer-report-received é exclusivo de documentos de parecer.
Passos para reproduzir o problema
- Validar um XML de adendo (
@article-type="addendum") sem <date date-type="received"> nem
<date date-type="accepted">.
- Observar que a validação reporta erro CRITICAL de ausência dessas datas, apesar do tipo de documento estar
na lista de exceções do SPS.
Comportamento esperado
- Não exigir
received/accepted para: errata (correction), retratação (retraction, partial-retraction),
adendo (addendum), manifestação de preocupação (expression-of-concern) e parecer (reviewer-report).
- Não classificar como CRITICAL a ausência de
@date-type que não têm obrigatoriedade incondicional no
documento em questão (ex.: corrected, quando não há relação com errata/adendo).
Anexos
Trecho citado a partir do arquivo SPS 1.10_pt.pdf (versão 1.10, última atualização em 22/05/2025), seção
"<history>: Datas de Histórico".
Classificação (esforço / risco / relevância)
- Esforço: Médio-Alto - a infraestrutura de exceção por
@article-type já existe em history.py
(required_date_types, article-types exemptos), então é possível que seja majoritariamente ajuste de
configuração/dados, mas a superfície de tipos de documento e @date-type é ampla.
- Risco: Médio - a suíte
test_history.py é grande (1020 linhas), cobrindo muitos tipos de documento;
mudanças na lista compartilhada de exceções podem afetar cenários não previstos nesta análise.
- Relevância: Alta - falsos CRITICAL bloqueiam a publicação de tipos de documento inteiros (adendo, parecer
etc.) que são estruturalmente isentos dessa exigência pelo SPS.
Referências
Descrição do problema
A validação de
<history>(packtools/sps/validation/history.py) está reportando erro CRITICAL pela ausênciade
received/accepted(e possivelmente outros@date-type) para tipos de documento que o SPS isentaexplicitamente dessa obrigatoriedade, entre eles o adendo (addendum).
O SPS 1.10, na seção "
<history>: Datas de Histórico", define:Ou seja,
received/acceptedsó são obrigatórios fora dessa lista de exceções (errata/correction,retratação/retraction e partial-retraction, adendo/addendum, manifestação de preocupação/
expression-of-concern, parecer/reviewer-report). Para os demais
@date-type(corrected,expression-of-concern,pub,preprint,resubmitted,retracted,rev-recd,rev-request,reviewer-report-received), o SPS não define obrigatoriedade incondicional -correctedeexpression-of-concern, por exemplo, aplicam-se especificamente a documentos de errata/adendo e manifestaçãode preocupação, respectivamente, e
reviewer-report-receivedé exclusivo de documentos de parecer.Passos para reproduzir o problema
@article-type="addendum") sem<date date-type="received">nem<date date-type="accepted">.na lista de exceções do SPS.
Comportamento esperado
received/acceptedpara: errata (correction), retratação (retraction, partial-retraction),adendo (addendum), manifestação de preocupação (expression-of-concern) e parecer (reviewer-report).
@date-typeque não têm obrigatoriedade incondicional nodocumento em questão (ex.:
corrected, quando não há relação com errata/adendo).Anexos
Trecho citado a partir do arquivo
SPS 1.10_pt.pdf(versão 1.10, última atualização em 22/05/2025), seção"
<history>: Datas de Histórico".Classificação (esforço / risco / relevância)
@article-typejá existe emhistory.py(
required_date_types, article-types exemptos), então é possível que seja majoritariamente ajuste deconfiguração/dados, mas a superfície de tipos de documento e
@date-typeé ampla.test_history.pyé grande (1020 linhas), cobrindo muitos tipos de documento;mudanças na lista compartilhada de exceções podem afetar cenários não previstos nesta análise.
etc.) que são estruturalmente isentos dessa exigência pelo SPS.
Referências
documentos de parecer/reviewer-report)
packtools/sps/validation/history.py