Resumo

  • O RFC 5005 classifica feeds paginados como sujeitos a perda: as páginas podem mudar durante a leitura e não formam, por si, um retrato coerente.
  • Feeds arquivados tornam a reconstrução possível, mas não demonstram que o consumidor percorreu toda a cadeia, conciliou conflitos, reteve o estado ou exibiu a ressalva correta.

Uma equipe prepara uma sala de evidências. O feed atual responde, os links antigos são clicáveis e o banco local contém milhares de registros. O inventário recebe o selo “histórico completo”.

O selo foi emitido cedo demais.

O RFC 5005 define três arranjos. Um feed completo declara que um único documento contém todas as entradas do feed lógico. Um feed paginado distribui entradas por documentos temporários e instáveis. Um feed arquivado combina um documento de assinatura, com itens novos ou alterados, e documentos de arquivo destinados a suportar a reconstrução. A semântica de combinar esses tipos não é definida pela especificação.

No feed paginado, a limitação é estrutural. Enquanto o cliente atravessa next ou previous, o conjunto pode mudar. Uma entrada pode surgir ou ser alterada sem que o cliente perceba. Por isso o RFC o chama de lossy e orienta o cliente a não apresentar o resultado como coerente ou completo. Uma sequência de respostas 200 não cria uma barreira temporal.

O feed arquivado oferece um caminho mais forte. prev-archive aponta ao documento anterior; next-archive pode apontar adiante; current retorna ao documento atual. O conteúdo e o endereço de cada arquivo deveriam permanecer estáveis, permitindo que o consumidor reutilize o que já processou.

Essa estabilidade é uma expectativa operacional, não uma prova de imutabilidade. O próprio RFC reconhece que, se um arquivo antigo mudar, alguns clientes talvez nunca descubram. Uma correção que precise alcançar todos deveria reaparecer no documento de assinatura. O hash coletado prova os bytes vistos por um observador em um momento, não os bytes universais do arquivo.

Para reconstruir, o consumidor segue cada prev-archive ainda não processado, adiciona as entradas e repete até chegar a um elo conhecido, ao início sem predecessor ou a um erro. O editor não é obrigado a disponibilizar todos os arquivos: 403, 404 ou 410 podem interromper o caminho. O cliente também não precisa guardar ou reconstruir tudo em qualquer circunstância; precisa avisar quando o resultado não é completo.

Esse aviso preserva a diferença entre “não havia registro” e “o registro não foi observado”. Sem ele, um limite legítimo de recursos vira uma falsa conclusão factual.

Há ainda a conciliação. Entre duplicatas, o consumidor deveria escolher a entrada com atualização mais recente. Se os horários forem iguais ou ausentes, a precedência não vem pronta. O RFC 4287 fornece identificadores e datas Atom, mas não transforma ambiguidade em consenso. O RFC 6721 criou uma forma explícita de anunciar remoções porque o Atom básico não informava ao consumidor que uma entrada anteriormente recebida deixou o feed.

O elemento fh:complete pertence ao plano da declaração editorial. Ele diz que aquele documento representa o conjunto lógico. Não comprova que o cache recebeu a versão vigente, eliminou o estado anterior, preservou a mesma autoridade, exibiu a interface correta ou influenciou uma decisão humana.

Uma cadeia de custódia adequada deve registrar:

  1. identidade, instante e validador do documento atual;
  2. tipo declarado e grafo de relações observado;
  3. cada IRI, redirecionamento, resposta, contexto de autenticação e hash;
  4. ordem de percurso, tentativas, teto de recursos e motivo de parada;
  5. regra para duplicatas, empates e remoções;
  6. revisão retida, data de corte e condição de completude;
  7. ressalva efetivamente apresentada;
  8. leitura independente da visão entregue ao usuário.

Esse recibo é uma recomendação de governança, não uma exigência adicional do RFC. Ele aplica a separação de camadas de Heng Lu: declaração, transporte, estado materializado e observação não devem ganhar uma única identidade por conveniência.

A especificação não confirma nenhum produto, publicação, incidente ou comportamento real. Seus dois errata verificados corrigem um UUID de exemplo e substituem a noção de URI por IRI para os links Atom. Nenhum deles converte capacidade de reconstrução em reconstrução observada.

Para a liderança, a métrica defensável não é o número de páginas. É a porção da história que aquele observador consegue sustentar, com um corte, uma política e lacunas explicitamente conservadas.

Fontes