Sondas de regresión diferencial deterministas

HPDFCompareRegressionResultsDeterministic ejecuta dos adaptadores de engine repetidas veces sobre los dominios seleccionados, rechaza las corridas inestables o fallidas y registra un resultado ordenado legible por máquina

API

function HPDFCompareRegressionResultsDeterministic(
  const Input: TBytes;
  Domains: THPDFRegressionDomains;
  const LeftProbe, RightProbe: THPDFRegressionProbe;
  const Options: THPDFDifferentialProbeOptions;
  out AInfo: THPDFDifferentialRegressionInfo): Boolean;

function HPDFProbeHotPDFDocument(
  Domain: THPDFRegressionDomain;
  const Input: TBytes): AnsiString;

function HPDFDifferentialRegressionInfoToJSON(
  const AInfo: THPDFDifferentialRegressionInfo): AnsiString;

Dominios

DominioSignature integrada de HotPDF
rgdParserResumen de páginas, objetos, versión, anotaciones, fuentes, imágenes, formularios, firmas, encryption, AcroForm y estructura
rgdRendererSHA-256 de píxeles BGR de arriba hacia abajo a un DPI fijo, excluyendo alpha y el padding de scan-line
rgdTextSHA-256 UTF-8 delimitado por páginas tras normalizar CRLF y CR
rgdSaveSHA-256 y longitud en bytes del output acotado producido con orden de diccionario determinista

Los valores heredados rgdSignature y rgdConformance siguen disponibles para que los adaptadores de probe existentes conserven sus valores ordinales y su compatibilidad de código fuente

HPDFRegressionDomainName(Domain) devuelve el nombre estable en minúsculas de un valor THPDFRegressionDomain como parser o renderer, para campos de logging y de reportes

Contrato de estabilidad

HPDFDefaultDifferentialProbeOptions selecciona tres corridas, un límite de input de 256 MiB y nombres de engine de fallback estables

RepeatCount acepta de 2 a 64 corridas; un cambio de signature dentro de un mismo engine marca ese dominio como inestable incluso cuando su primera signature coincide con la del otro engine

Las excepciones de los probes se convierten en signatures de error estables que contienen la clase de la excepción y un SHA-256 del mensaje, y cualquier error hace que el dominio falle en modo fail-closed

El mismo input inmutable se entrega en un orden fijo de dominios y engines, y cada dominio seleccionado aparece una vez en el reporte JSON

Límites integrados

La sobrecarga configurable de HPDFProbeHotPDFDocument acepta un DPI de render, un máximo de páginas y un máximo de bytes de output

Los fingerprints de render excluyen alpha y el padding de filas, los fingerprints de texto normalizan la representación de saltos de línea, y el output de save pasa por un stream acotado antes del hashing

Reporte

THPDFDifferentialRegressionInfo transporta los conjuntos de dominios comparados y con diferencias, las signatures izquierda y derecha, los conjuntos inestables, los conjuntos de errores, los nombres de engines, la cantidad de repeticiones y el SHA-256 del input

HPDFDifferentialRegressionInfoToJSON emite el schema fijo hotpdf.differential.v1 con un orden estable de campos y dominios para CI, triage de corpus y almacenamiento de auditoría

Helper de compatibilidad

HPDFCompareRegressionResults conserva el comportamiento original de callback de una sola corrida para los llamadores que ya producen signatures estabilizadas externamente