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

CapabilityREST EndpointSDK hint
Register datasetPOST /api/v1/ai/datasets/registerclient.request('POST', '/ai/datasets/register', …)
Register training runPOST /api/v1/ai/training/registersame
Register modelPOST /api/v1/ai/models/registersame
Register synthetic outputsPOST /api/v1/ai/synthetic/registersame
Export compliance bundleGET /api/v1/ai/audit/exportclient.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-id headers when calling APIs directly; when using API keys, map them to lab_provenance to unlock synthetic + auditor features.
  • Synthetic registration and Auditor exports are entitlement-gated; ensure your SubscriptionContext shows enableSyntheticRegistration + enableAuditor.
  • Use /ai/audit/lineage/:modelId to 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.