Skip to content

Your first UofA

This walkthrough produces a signed, validated UofA evidence package for one Context of Use.

ProfileWhen to useFields
MinimalLightweight audit trail, live pipeline capture, early-stage projects7 required fields
CompleteRegulatory submissions, formal V&V 40 assessments, full credibility argumentsAll Minimal fields plus model bindings, credibility factors, provenance, and quality metrics

Start with Minimal. You can upgrade to Complete later.

Terminal window
uofa init my-project
# or for a Complete profile:
uofa init my-project --profile complete

This creates:

my-project/
my-project-cou1.jsonld # template with placeholder values
keys/
my-project.key # ed25519 private key (keep secret)
my-project.pub # ed25519 public key (commit this)
.gitignore # excludes *.key

Open my-project/my-project-cou1.jsonld and replace the placeholder values.

FieldWhat to put here
idUnique URI for this UofA
nameShort descriptive title
bindsRequirementURI of the requirement this assessment supports
hasContextOfUseInline object describing the intended use
hasValidationResultURI(s) of validation results
hasDecisionRecordInline object with who decided, what, and why
generatedAtTimeISO 8601 timestamp

Leave hash and signature as placeholder zeros for now. You will sign the file in step 4.

FieldWhat to put here
bindsModelURI identifying the computational model
bindsDatasetURI(s) of experimental or reference datasets
wasDerivedFromURI of the source document (report, DOI, prior UofA)
wasAttributedToURI of the responsible person or organization
hasCredibilityFactorArray of factor assessments (factorType + requiredLevel + achievedLevel)
factorStandardURI of the standard that defines the factor types
assessmentPhasePhase of the assessment lifecycle
hasEvidenceURI(s) linking to supporting evidence artifacts
assuranceLevel"Low", "Medium", or "High"
criteriaSetURI of the standard used
Terminal window
uofa sign my-project/my-project-cou1.jsonld --key my-project/keys/my-project.key

The hash and signature fields now contain real values. Keep your private key secure and never commit it. Only the public key (.pub) should be shared.

Terminal window
# Full pipeline: SHACL + integrity + rule engine
uofa check my-project/my-project-cou1.jsonld
# Or run components individually:
uofa shacl my-project/my-project-cou1.jsonld # C2: completeness
uofa verify my-project/my-project-cou1.jsonld # C1: integrity
uofa rules my-project/my-project-cou1.jsonld # C3: quality gaps

Skip the rule engine if Java is not available:

Terminal window
uofa check my-project/my-project-cou1.jsonld --skip-rules

The rule engine surfaces detected weakeners grouped by severity. Weakeners are not errors. They are quality gaps. For example:

  • W-AL-01 (High) — a validation result has no uncertainty quantification linked
  • W-AR-01 (Critical) — a credibility factor has no acceptance criteria encoded
  • W-EP-01 (Critical) — a claim has no provenance chain to supporting evidence

Zero weakeners is valid and desirable. The weakeners tell you where your evidence package could be strengthened. See Concepts → Weakeners for the full taxonomy.

A typical workflow:

  1. Edit your .jsonld to add evidence, fix gaps, or update the decision
  2. Re-sign (uofa sign FILE --key KEY) — editing invalidates the previous hash
  3. Re-validate (uofa check FILE) — confirm everything still passes
  4. Review weakeners and address Critical and High gaps before submission