Skip to contents

Create, validate, serialize, retrieve, and verify append-only scientific benchmark records for tagged popgenVCF releases.

Usage

new_release_benchmark_record(
  release,
  package_version,
  git_sha,
  components,
  provenance = list(),
  environment = list(),
  datasets = list(),
  parameters = list(),
  container_digest = NA_character_,
  created_at = format(Sys.time(), tz = "UTC", usetz = TRUE)
)

validate_release_benchmark_record(x)

new_benchmark_archive(records = list(), metadata = list())

register_release_benchmark(archive, record)

get_release_benchmark(archive, release)

benchmark_archive_table(x)

write_benchmark_archive(archive, path, overwrite = FALSE)

read_benchmark_archive(path, verify = TRUE)

verify_benchmark_archive(path)

Arguments

release

Stable release or tag identifier.

package_version

Package version represented by the release.

git_sha

Git commit SHA.

components

Named list of benchmark, validation, external-reference, performance, or other scientific result objects.

provenance, environment, datasets, parameters

Named metadata lists retained with the release.

container_digest

Optional container image digest.

created_at

UTC creation timestamp.

x

A release benchmark record or benchmark archive.

records

Optional list of release records.

metadata

Named archive metadata.

archive

A PopgenVCFBenchmarkArchive.

record

A PopgenVCFReleaseBenchmarkRecord.

path

Archive directory.

overwrite

Whether an existing release directory may be replaced. The default preserves append-only behavior.

verify

Whether manifest checksums should be verified while reading.

Value

Constructors return validated canonical objects. Table conversion returns a data table. Writing returns the normalized archive directory invisibly. Reading returns a validated archive. Verification returns TRUE invisibly.

Details

Each release stores its complete component objects in RDS format, normalized component summaries in TSV format, provenance and environment metadata in JSON format, and SHA256 checksums in an archive manifest. Duplicate release identifiers are rejected by default. Manifest verification detects missing or modified archived files.

Examples

record <- new_release_benchmark_record(
  release = "v0.10.0",
  package_version = "0.10.0",
  git_sha = paste(rep("a", 40), collapse = ""),
  components = list(validation = data.frame(check = "pca", passed = TRUE)),
  created_at = "2026-07-15 UTC"
)
archive <- new_benchmark_archive(list(record))
benchmark_archive_table(archive)