How to use model-atoms

Read the catalog over HTTPS

Every artifact is served under stable URLs with correct content-types:

curl https://model-atoms.com/exports/catalog.json
curl https://model-atoms.com/atoms/model-card/claude-sonnet-4.json
curl https://model-atoms.com/models/claude-sonnet-4.json
curl https://model-atoms.com/schemas/atom-v1.json

Resolve a model composition

A model composition assembles a model card with its capability declarations, pricing tier, and deprecation policy into a complete model definition. To instantiate:

// pseudo-code
const composition = await fetch("/models/claude-sonnet-4.json").then(r => r.json());
const modelCard = await fetch(uriToUrl(composition.references.model_card.ref)).then(r => r.json());
const capabilities = await Promise.all(
  composition.references.capabilities.map(r => fetch(uriToUrl(r.ref)).then(r => r.json()))
);
const pricingTier = await fetch(uriToUrl(composition.references.pricing_tier.ref)).then(r => r.json());
const deprecationPolicy = await fetch(uriToUrl(composition.references.deprecation_policy.ref)).then(r => r.json());
const model = compileModelDefinition({ modelCard, capabilities, pricingTier, deprecationPolicy });

Compatibility rules

Rules in /exports/catalog.json (under the rules key) declare predicates over atoms. Example: a capability-grant rule may require that a given model's tool-use-shape matches specific function-calling capability declarations. A composition that violates a require-effect rule is malformed.

Framework adapters

v0.1 ships the catalog and its JSON Schema. Adapters to specific frameworks (LangChain, LlamaIndex, AutoGen, Olympus) are v0.2 work — they translate model-card atoms into framework-native model bindings and bind capability atoms to the framework's permission model.