`uofa` CLI reference (v0.8.0)
Generated from uofa --help-all at 2026-05-06T23:49:46Z.
19 subcommands available.
Synopsis
Section titled “Synopsis”uofa [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] <command> [...]Global flags inherited by every subcommand: --no-color, --verbose, --repo-root, --pack. See uofa --help for details.
Commands
Section titled “Commands”uofa keygen
Section titled “uofa keygen”generate ed25519 keypair for signing
uofa keygen [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] pathuofa sign
Section titled “uofa sign”sign (or re-sign) a UofA file
uofa sign [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] --key KEY [--context CONTEXT] [--output OUTPUT] file| Flag | Description |
|---|---|
--key, -k | ed25519 private key (PEM) |
--context, -c | JSON-LD context file |
--output, -o | output path (default: overwrite input) |
uofa verify
Section titled “uofa verify”verify hash + ed25519 signature (C1 integrity)
uofa verify [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--pubkey PUBKEY] [--context CONTEXT] file| Flag | Description |
|---|---|
--pubkey | ed25519 public key (default: keys/research.pub) |
--context, -c | JSON-LD context file |
uofa shacl
Section titled “uofa shacl”validate against SHACL profiles (C2 completeness)
uofa shacl [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--raw] [--explain] [--explain-functions EXPLAIN_FUNCTIONS] [--explain-format {text,json,markdown,html}] [--explain-backend {ollama,anthropic,openai,openai-compatible,bundled,mock}] [--explain-model EXPLAIN_MODEL] [--explain-base-url EXPLAIN_BASE_URL] [--explain-max-items EXPLAIN_MAX_ITEMS] [--explain-no-cache] file| Flag | Description |
|---|---|
--raw | show raw pyshacl output instead of friendly messages |
--explain | run the interpretation pipeline after the primary analysis |
--explain-functions | comma-separated list of interpretation functions to run (values: explain, group, contextualize, cross, narrative). Default: all applicable for the command. |
--explain-format {text, json, markdown, html} | output format for the interpretation block. Default: same as the command’s primary —format, falling back to text. |
--explain-backend {ollama, anthropic, openai, openai-compatible, bundled, mock} | LLM backend for explain (overrides [llm] backend in uofa.toml) |
--explain-model | model name on the chosen backend (overrides [llm] model) |
--explain-base-url | base URL for openai-compatible backends |
--explain-max-items | limit interpretation to top N items by severity |
--explain-no-cache | bypass cached interpretation results |
uofa rules
Section titled “uofa rules”detect quality gaps with Jena rule engine (C3)
uofa rules [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--rules RULES] [--context CONTEXT] [--build] [--raw] [--format {summary,turtle,ntriples,jsonld,json}] [--output OUTPUT] [--explain] [--explain-functions EXPLAIN_FUNCTIONS] [--explain-format {text,json,markdown,html}] [--explain-backend {ollama,anthropic,openai,openai-compatible,bundled,mock}] [--explain-model EXPLAIN_MODEL] [--explain-base-url EXPLAIN_BASE_URL] [--explain-max-items EXPLAIN_MAX_ITEMS] [--explain-no-cache] file| Flag | Description |
|---|---|
--rules, -r | path to .rules file |
--context, -c | JSON-LD context file |
--build | auto-build the Jena JAR if missing |
--raw | show raw output without coloring |
--format, -f {summary, turtle, ntriples, jsonld, json} | output format (default: summary). ‘json’ is the parsed-firings shape suitable for snapshot tests; ‘jsonld’ is the raw RDF. |
--output, -o | write reasoned output to a file (default: stdout) |
--explain | run the interpretation pipeline after the primary analysis |
--explain-functions | comma-separated list of interpretation functions to run (values: explain, group, contextualize, cross, narrative). Default: all applicable for the command. |
--explain-format {text, json, markdown, html} | output format for the interpretation block. Default: same as the command’s primary —format, falling back to text. |
--explain-backend {ollama, anthropic, openai, openai-compatible, bundled, mock} | LLM backend for explain (overrides [llm] backend in uofa.toml) |
--explain-model | model name on the chosen backend (overrides [llm] model) |
--explain-base-url | base URL for openai-compatible backends |
--explain-max-items | limit interpretation to top N items by severity |
--explain-no-cache | bypass cached interpretation results |
uofa check
Section titled “uofa check”full pipeline: SHACL + integrity + rules (C1+C2+C3)
uofa check [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--pubkey PUBKEY] [--context CONTEXT] [--rules RULES] [--skip-rules] [--build] [--oos | --no-oos] [--derivations | --no-derivations] [--explain] [--explain-functions EXPLAIN_FUNCTIONS] [--explain-format {text,json,markdown,html}] [--explain-backend {ollama,anthropic,openai,openai-compatible,bundled,mock}] [--explain-model EXPLAIN_MODEL] [--explain-base-url EXPLAIN_BASE_URL] [--explain-max-items EXPLAIN_MAX_ITEMS] [--explain-no-cache] file| Flag | Description |
|---|---|
--pubkey | ed25519 public key |
--context, -c | JSON-LD context file |
--rules, -r | path to .rules file |
--skip-rules | skip the Jena rule engine (no Java required) |
--build | auto-build the Jena JAR if missing |
--oos | force OOS rules on for this run, overriding pack config |
--no-oos | force OOS rules off for this run, overriding pack config |
--derivations | force derivation pre-pass on for this run, overriding pack config |
--no-derivations | force derivation pre-pass off for this run, overriding pack config |
--explain | run the interpretation pipeline after the primary analysis |
--explain-functions | comma-separated list of interpretation functions to run (values: explain, group, contextualize, cross, narrative). Default: all applicable for the command. |
--explain-format {text, json, markdown, html} | output format for the interpretation block. Default: same as the command’s primary —format, falling back to text. |
--explain-backend {ollama, anthropic, openai, openai-compatible, bundled, mock} | LLM backend for explain (overrides [llm] backend in uofa.toml) |
--explain-model | model name on the chosen backend (overrides [llm] model) |
--explain-base-url | base URL for openai-compatible backends |
--explain-max-items | limit interpretation to top N items by severity |
--explain-no-cache | bypass cached interpretation results |
uofa validate
Section titled “uofa validate”validate all examples against SHACL profiles
uofa validate [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--dir DIR] [--verify] [--pubkey PUBKEY]| Flag | Description |
|---|---|
--dir | directory to scan (default: all pack examples) |
--verify | also verify hash + signature integrity on each file |
--pubkey | ed25519 public key (default: keys/research.pub) |
uofa init
Section titled “uofa init”scaffold a new UofA project (template + keys + uofa.toml)
uofa init [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--profile {minimal,complete}] [--dir DIR] [--provider PROVIDER] [--model MODEL] name| Flag | Description |
|---|---|
--profile {minimal, complete} | starting profile (default: complete) |
--dir | parent directory (default: cwd) |
--provider | LLM provider for uofa extract (default: ollama) |
--model | LLM model for uofa extract (default: llama3.2) |
uofa diff
Section titled “uofa diff”compare weakener profiles between two UofA files (COU divergence)
uofa diff [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--build] [--skip-rules] [--explain] [--explain-functions EXPLAIN_FUNCTIONS] [--explain-format {text,json,markdown,html}] [--explain-backend {ollama,anthropic,openai,openai-compatible,bundled,mock}] [--explain-model EXPLAIN_MODEL] [--explain-base-url EXPLAIN_BASE_URL] [--explain-max-items EXPLAIN_MAX_ITEMS] [--explain-no-cache] file_a file_b| Flag | Description |
|---|---|
--build | auto-build the Jena JAR if missing |
--skip-rules | compare static hasWeakener arrays instead of running rules |
--explain | run the interpretation pipeline after the primary analysis |
--explain-functions | comma-separated list of interpretation functions to run (values: explain, group, contextualize, cross, narrative). Default: all applicable for the command. |
--explain-format {text, json, markdown, html} | output format for the interpretation block. Default: same as the command’s primary —format, falling back to text. |
--explain-backend {ollama, anthropic, openai, openai-compatible, bundled, mock} | LLM backend for explain (overrides [llm] backend in uofa.toml) |
--explain-model | model name on the chosen backend (overrides [llm] model) |
--explain-base-url | base URL for openai-compatible backends |
--explain-max-items | limit interpretation to top N items by severity |
--explain-no-cache | bypass cached interpretation results |
uofa explain
Section titled “uofa explain”interpret pre-existing structured output from rules/check/diff/shacl
uofa explain [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] (--from-file FROM_FILE | --from-stdin) [--input-type {rules,check,diff,shacl}] [--functions FUNCTIONS] [--format {text,json,markdown}] [--max-items MAX_ITEMS] [--no-cache] [--backend {ollama,anthropic,openai,openai-compatible,bundled,mock}] [--model MODEL] [--base-url BASE_URL]| Flag | Description |
|---|---|
--from-file | read structured output from FILE |
--from-stdin | read structured output from stdin |
--input-type {rules, check, diff, shacl} | override auto-detection of input type |
--functions | comma-separated list of interpretation functions to run |
--format {text, json, markdown} | output format (default: text) |
--max-items | limit interpretation to top N items by severity |
--no-cache | bypass cached interpretation results |
--backend {ollama, anthropic, openai, openai-compatible, bundled, mock} | LLM backend (overrides [llm] backend in uofa.toml) |
--model | model name on the chosen backend |
--base-url | base URL for openai-compatible backends |
uofa schema
Section titled “uofa schema”generate JSON Schema or import constants from SHACL shapes
uofa schema [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--output OUTPUT] [--emit {json,python}]| Flag | Description |
|---|---|
--output, -o | output path (default depends on —emit format) |
--emit {json, python} | output format: json (JSON Schema, default) or python (import constants) |
uofa packs
Section titled “uofa packs”list and inspect installed domain packs
uofa packs [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--detail] [name]| Flag | Description |
|---|---|
--detail | show detailed pack information |
uofa catalog
Section titled “uofa catalog”list all weakener patterns across active packs
uofa catalog [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--format {table,json,md}] [--all-packs]| Flag | Description |
|---|---|
--format, -f {table, json, md} | output format (default: table) |
--all-packs | enumerate patterns across every installed pack (overrides —pack). Use this for a complete catalog view; the default —pack=vv40 only surfaces core + vv40 patterns. |
uofa migrate
Section titled “uofa migrate”migrate UofA files from v0.3 to v0.4
uofa migrate [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--from FROM_VER] [--to TO_VER] [--dry-run] file| Flag | Description |
|---|---|
--from | source version (default: v0.3) |
--to | target version (default: v0.4) |
--dry-run | print changes without modifying the file |
uofa import
Section titled “uofa import”import an Excel workbook into a UofA JSON-LD file
uofa import [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--output OUTPUT] [--sign] [--key KEY] [--check] [--profile {minimal,complete}] [file]| Flag | Description |
|---|---|
--output, -o | output path (default: same directory, .jsonld extension) |
--sign | sign the output after generation |
--key, -k | path to ed25519 private key (required with —sign, or auto-detected from project) |
--check | run all quality gates on the output |
--profile {minimal, complete} | override profile auto-detection |
uofa extract
Section titled “uofa extract”extract assessment data from evidence documents into an Excel template
uofa extract [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--model MODEL] [--output OUTPUT] [--glob GLOB] [--thinking] [--prompt-version PROMPT_VERSION] [--extract-backend {ollama,anthropic,openai,openai-compatible,bundled,mock}] [--extract-model EXTRACT_MODEL] [--extract-base-url EXTRACT_BASE_URL] [source ...]| Flag | Description |
|---|---|
--model | legacy litellm model string (e.g. ‘ollama/qwen3.5:4b’). For new configs, prefer —extract-backend + —extract-model. |
--output, -o | output Excel path (default: {source}-extracted.xlsx) |
--glob | file filter pattern (e.g. ‘.pdf’ or ‘.pdf,*.docx’) |
--thinking | enable thinking/reasoning mode (slower, may improve accuracy) |
--prompt-version | tag for scoring log tracking (e.g. ‘v2-detailed’) |
--extract-backend {ollama, anthropic, openai, openai-compatible, bundled, mock} | LLM backend for extract (overrides [llm] backend) |
--extract-model | model name on the chosen backend (overrides [llm] model) |
--extract-base-url | base URL for openai-compatible backends (e.g. Together AI, vLLM) |
uofa adversarial
Section titled “uofa adversarial”generate / orchestrate / classify synthetic credibility evidence packages
uofa adversarial [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] {generate,run,analyze,prep-review,bundle,judge,triage,adjudicate} ...uofa setup
Section titled “uofa setup”install or verify the LLM extract runtime (Ollama + qwen3.5:4b)
uofa setup [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--bundle BUNDLE] [--create-bundle CREATE_BUNDLE] [--model MODEL] [--port PORT] [--no-byo] [--yes] [--no-verify] {verify,uninstall} ...| Flag | Description |
|---|---|
--bundle | install from an offline bundle (REQ-DIST-004 air-gapped path) |
--create-bundle | package the current install into a tar.gz for an offline machine |
--model | model tag to pull (default: qwen3.5:4b) |
--port | port for the managed Ollama daemon (default: 11434) |
--no-byo | skip BYO Ollama detection; install a UofA-managed copy |
--yes, -y | skip confirmation prompts (downloads, uninstall) |
--no-verify | skip the post-install verify step |
uofa demo
Section titled “uofa demo”run the C1+C2+C3 pipeline against a bundled fixture (no setup needed)
uofa demo [-h] [--no-color] [--verbose] [--repo-root PATH] [--pack NAME] [--no-passage] [--no-jsonld]| Flag | Description |
|---|---|
--no-passage | skip printing the input passage (useful for piping) |
--no-jsonld | skip printing the pre-computed JSON-LD |