Audit Trails

Expanse records provenance data for every job: source files, inputs, outputs, configuration, and runtime metrics.

What’s Captured

Data PointDescription
Source code snapshotFingerprint of all source files at submission
Input artifactsFingerprints and paths of all input data
Solver configurationComplete solver settings and parameters
Job parametersResource requests, environment variables, arguments
User identityAuthenticated user who submitted the job
TimestampsSubmit, start, and end times
Runtime metricsResource usage, exit codes
Output artifactsFingerprints of all result files

Viewing Provenance

# View recent job history
expanse jobs list

# Get full provenance for a job
expanse jobs show <job-id> --provenance

# Export as JSON
expanse jobs export <job-id> --format json --output audit.json

Example output:

$ expanse jobs show job-2024-1234 --provenance

Job: job-2024-1234
Workflow: cfd_simulation
Status: COMPLETED
Duration: 6h 12m 41s

Provenance:
───────────
1. preprocess (job-2024-1231)
   Input:  geometry.step verified
   Output: mesh.cgns verified

2. solver (job-2024-1234)
   Input:  mesh.cgns verified
   Input:  config.yaml verified
   Output: solution.vtk verified

User: j.smith@strath.ac.uk
Cluster: archer2
Submitted: 2024-12-15T08:14:22Z
Completed: 2024-12-15T14:27:03Z

Verification: All inputs verified

Configuration

Enable archival in project.yaml:

governance:
  retention: 5y                     # How long to keep records
  archive_outputs: true             # Archive result files
  archive_storage: s3://bucket/     # Storage location

Cost Tracking

Configure per-cluster pricing to track compute costs across your team.

Cluster Cost Settings

Set CPU and GPU hour rates for each cluster via the dashboard or API:

FieldTypeDescription
cpu_hour_ratedecimalCost per CPU hour
gpu_hour_ratedecimalCost per GPU hour
currencystringCurrency code (default: GBP)
visible_on_dashboardbooleanWhether to show this cluster on the FinOps dashboard

FinOps Dashboard

The dashboard at app.expanse.org.uk displays:

  • Total GPU hours consumed per cluster
  • Estimated cost per job based on configured rates
  • Resource usage trends over time
  • Per-team and per-user cost breakdowns

Job Stage Events

Expanse records granular events at every stage of job execution for full traceability:

EventDescription
Job creationUser, timestamp, configuration snapshot
Stage transitionsStart, completion, or failure of each workflow stage
Step completionsIndividual step results within a stage
InterventionsAgent-initiated actions (see below)

Intervention Types

When the Expanse agent interacts with a running job, the intervention is recorded in the audit trail:

TypeDescription
analysisAgent analysed job state or logs
predictionAgent ran a resource prediction
correctionAgent corrected a configuration issue
optimisationAgent suggested or applied an optimisation
resubmissionAgent resubmitted a failed job
progressAgent tracked or reported job progress
completionAgent reported job completion
errorAgent flagged an error condition

Compliance Exports

Available with Expanse Pro.

# Generate compliance report
expanse jobs report <job-id> --format mepc-850 --output report.pdf

# Generate reproducibility certificate
expanse jobs certificate <job-id> --output certificate.pdf

# Export in classification-society formats
expanse jobs export <job-id> --format dnv --output submission.xml

Supported formats: json, dnv, lloyds, imo-mepc