Reference
title: "CLI reference" description: "Per-command flags, exit codes, engine identifiers, and variant kebab names for every assay subcommand: fetch, ingest, generate, benchmark, report, and validate." group: "Reference" order: 5
CLI reference
All commands accept a global -v / --verbose flag for debug logging.
| Command | Flags | Behavior |
|---|---|---|
assay version | — | Print AssayPDF version. |
assay fetch | --force | Download vendor assets (GOS suites, Processing Steps Test Suite) into vendor/ with SHA-256 verification. |
assay ingest | --xlsx PATH, --output PATH | Parse spec/gwg-2022-spec.xlsx into spec/requirement-ids.json. |
assay generate | --only-rule ID, --only-variant KEBAB, --seed N | Generate the PDF/X-4 corpus into corpus/ deterministically. |
assay benchmark | --engine {pdftoolbox,pitstop,lintpdf} (required), --profile KEBAB | Run an engine against the corpus and write results/<engine>-<timestamp>.{json,score.json}. Exits 2 if the runner isn't installed. |
assay report | --format {md,html}, --output PATH | Render scoreboard aggregating every results/*.score.json. Writes to stdout unless --output is given. |
assay validate | --schema-only | Validate every corpus PDF against verapdf PDF/X-4. Exits 1 on any failure. |
Engine names
pdftoolbox— callas pdfToolboxpitstop— Enfocus PitStop Serverlintpdf— stub until the lintPDF API publishes
Variant kebabs
One per GWG 2022 variant. Listed in src/assay_pdf/generator/variants.py. Examples:
sheetcmyk-cmyk,sheetcmyk-cmyk-plus-rgbwebcmyk-cmyk,webcmyk-cmyk-plus-rgbwebcmyknews-cmyk,webcmyknews-cmyk-plus-rgbmagazine-ads-cmyk,magazine-ads-cmyk-plus-rgbnewspaper-ads-cmyk,newspaper-ads-cmyk-plus-rgbsheetspot-cmyk,sheetspot-cmyk-plus-rgbwebspot-cmyk,webspot-cmyk-plus-rgbpackaging-offset,packaging-gravure,packaging-flexolabel-leaflet,folding-carton-corrugated-box,flexible,corrugated-displaydigital-print,large-format-print
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | assay validate found at least one corpus PDF that fails verapdf |
| 2 | assay benchmark couldn't find the engine runner; or assay report --format got an unknown format |