Skip to contents

Computes a single root hash over the ordered record hashes plus the environment block. Any subsequent change to any record – one character of one prompt – changes the root. Cite the root in the paper; deposit the archive; the two now vouch for each other.

Usage

archive_seal(archive)

Arguments

archive

An archive_build() result.

Value

The archive, sealed, with $seal set.

Examples

log <- tempfile(fileext = ".jsonl")
writeLines(paste0('{"ts":"2026-06-01T10:00:01+0000","schema_version":"1.0",',
  '"kind":"call","provider":"groq","model":"openai/gpt-oss-20b",',
  '"request":{"q":1},"usage":{"sent":5,"rec":2},',
  '"response_id":"r-1","text":"reply"}'), log)
a <- archive_seal(archive_build(log))
substr(a$seal$root, 1, 12)   # cite this root in the paper