Developer Docs
Lab Provenance & Compliance — Developer Guide
Capture datasets, training runs, and synthetic outputs with Auditor-ready bundles.
Lab Provenance & Compliance — Developer Quickstart
Lab Provenance turns runtime automation, dataset lineage, and Auditor bundles into a turnkey compliance plane for AI labs.
Use this if you are…
- An AI lab documenting datasets, training runs, and synthetic outputs for regulators or customers.
- A safety / compliance team that needs Guardian-ready reports when models ship.
What you get
- Dataset + model manifesting tied to Accord rules and ledger anchors.
- Training run journaling with lineage back to custodial datasets.
- Synthetic registration plus runtime integrity scoring.
- Auditor export bundles (NIH, NSF, DARPA, custom) on demand.
Core APIs & SDK touchpoints
| Capability | REST Endpoint | SDK hint |
|---|---|---|
| Register dataset | POST /api/v1/ai/datasets/register | client.request('POST', '/ai/datasets/register', …) |
| Register training run | POST /api/v1/ai/training/register | same |
| Register model | POST /api/v1/ai/models/register | same |
| Register synthetic outputs | POST /api/v1/ai/synthetic/register | same |
| Export compliance bundle | GET /api/v1/ai/audit/export | client.request('GET', '/ai/audit/export?...') |
SDK quickstart
import { createSovProvClient } from '@sovprovenance/sdk-js'
const client = createSovProvClient({
baseUrl: process.env.SOVEREIGN_API_URL!,
apiKey: process.env.SOVEREIGN_AI_LAB_KEY!,
})
// 1. Register a dataset that will feed training
const dataset = await client.request('POST', '/ai/datasets/register', {
aiLabId: 'lab_orion',
name: 'Orion Vision Corpus',
dataset_ids: ['atlas-lidar', 'urban-signals'],
manifest: {
storage: [{ type: 'gcs', uri: 'gs://orion/corpus/v1', checksum: 'sha256:abc' }],
accordPolicy: { allowAITraining: true, derivatives: 'contact-required' },
},
})
// 2. Capture a training run referencing datasets + config
const trainingRun = await client.request('POST', '/ai/training/register', {
aiLabId: 'lab_orion',
modelName: 'OrionVision-v2',
datasetIds: dataset.datasetIds,
config: {
epochs: 12,
lr: 0.0004,
accelerator: 'A100',
},
})
// 3. Register the resulting model & synthetic outputs
const model = await client.request('POST', '/ai/models/register', {
aiLabId: 'lab_orion',
name: 'OrionVision-v2',
datasetIds: dataset.datasetIds,
trainingRunId: trainingRun.id,
})
await client.request('POST', '/ai/synthetic/register', {
aiLabId: 'lab_orion',
modelId: model.id,
syntheticData: [
{
id: 'synth-batch-01',
prompt: 'Describe an outdoor cafe in rain',
policy: { allowedUse: 'internal-eval' },
},
],
})
// 4. Export an audit bundle for regulators or customers
const auditBundle = await client.request(
'GET',
`/ai/audit/export?model_id=${model.id}&format=nsf`
)
console.log('Bundle ready:', auditBundle.exportDate, auditBundle.report?.summary)
Implementation notes
- Attach
x-ai-lab-idheaders when calling APIs directly; when using API keys, map them tolab_provenanceto unlock synthetic + auditor features. - Synthetic registration and Auditor exports are entitlement-gated; ensure your SubscriptionContext shows
enableSyntheticRegistration+enableAuditor. - Use
/ai/audit/lineage/:modelIdto power dashboards showing dataset → model → synthetic chains. - Guardian alerts can be triggered automatically when runtime detects runs that violate Accord obligations—subscribe to those webhooks when ready.