Audit Trails
Expanse records provenance data for every job: source files, inputs, outputs, configuration, and runtime metrics.
What’s Captured
| Data Point | Description |
|---|---|
| Source code snapshot | Fingerprint of all source files at submission |
| Input artifacts | Fingerprints and paths of all input data |
| Solver configuration | Complete solver settings and parameters |
| Job parameters | Resource requests, environment variables, arguments |
| User identity | Authenticated user who submitted the job |
| Timestamps | Submit, start, and end times |
| Runtime metrics | Resource usage, exit codes |
| Output artifacts | Fingerprints 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:
| Field | Type | Description |
|---|---|---|
cpu_hour_rate | decimal | Cost per CPU hour |
gpu_hour_rate | decimal | Cost per GPU hour |
currency | string | Currency code (default: GBP) |
visible_on_dashboard | boolean | Whether 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:
| Event | Description |
|---|---|
| Job creation | User, timestamp, configuration snapshot |
| Stage transitions | Start, completion, or failure of each workflow stage |
| Step completions | Individual step results within a stage |
| Interventions | Agent-initiated actions (see below) |
Intervention Types
When the Expanse agent interacts with a running job, the intervention is recorded in the audit trail:
| Type | Description |
|---|---|
analysis | Agent analysed job state or logs |
prediction | Agent ran a resource prediction |
correction | Agent corrected a configuration issue |
optimisation | Agent suggested or applied an optimisation |
resubmission | Agent resubmitted a failed job |
progress | Agent tracked or reported job progress |
completion | Agent reported job completion |
error | Agent 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