Lockfiles

Persist the inputs and evidence behind a model-selection decision so CI and production can detect drift.

Lockfile format

allm.lock.json
{
  "version": 1,
  "catalog_release_id": "cat_2026_07_14_8fa9b2d7c13e",
  "created_at": "2026-07-16T09:30:00Z",
  "policy": "support-agent-production",
  "deployment_ids": [
    "dep_anthropic_claude_haiku_4_5_messages_global",
    "dep_aws_bedrock_claude_haiku_4_5_converse_eu"
  ],
  "usage_assumption": {
    "input_tokens": 1000000,
    "output_tokens": 100000
  }
}

Create a lockfile

Evaluate the policy, compare compatible candidates with representative usage, and record the chosen deployment IDs plus the response catalog release. Commit the lockfile with the application configuration that consumes it.

Verify in CI

Call POST /v1/lockfiles/verify or allm.lockfiles.verify() with the parsed content and optional expected SHA-256. Fail when valid is false; inspect release_changed and missing_deployment_ids separately.

Update safely

Generate a diff between the pinned and current release, review changed evidence and quote totals, then update the release and selections together. Never update only the release ID.