GA4GH AI Registry: Model Entry Specification
Status: Draft
Version: 0.2.0
Date: 2026-09-30
Schema: schemas/entry-core.v1.schema.json (composed with) schemas/model-entry.v1.schema.json
Applies to: entries at data/models/<id>.json with "type": "model"
1. Purpose
This document specifies the normative structure of a model entry in the GA4GH AI Registry. It states, in prose, what schemas/model-entry.v1.schema.json and schemas/entry-core.v1.schema.json already enforce mechanically: which fields a model entry MUST, SHOULD, or MAY carry, how those fields relate to the upstream GA4GH Genomic AI Model Card standard, and what a validator or a maintainer reviewer checks beyond the JSON Schema itself.
This specification defines no fields that are not already present in the schemas. Where this document and the schema files disagree, the schema files are authoritative; this document should be corrected to match.
2. Relationship to the GA4GH Genomic AI Model Card
A model entry does not restate a model card. It is a small index record that points at one, plus a set of fields mirrored, by name, from the Model Card and from Hugging Face’s own listing conventions, so that a model can be browsed, filtered, and searched in the registry without reading the full card.
The registry MUST NOT duplicate any Model Card content beyond the fields this specification names. The Model Card, at the URI given in model_card_uri, remains the single authoritative document for a model’s intended use, training data provenance, population representation, clinical validation, and processing directives. This mirrors the relationship Hugging Face itself maintains between a compact model listing record and a model’s full model card.
The registry targets GA4GH Genomic AI Model Card v0.6.0 (model-card/GA4GH-Model-Card.md, dated 2026-05-26) as the version model_card_uri is expected to resolve to. A model entry profiles this upstream standard; it does not define a competing one.
Two Model Card sections are mirrored verbatim into specific model entry fields, and MUST NOT be recomputed independently by the registry:
- Model Card Section 6.1 (“Model Details”) supplies
developed_byandrelease_date. - Model Card Section 6.8b (“Agent Registry Enrichment Metadata”) supplies the whole
registry_enrichmentobject (completeness_score,genomic_quality_score,compliance_indicators[],last_validated), field for field.
Model Card Section 5 (the YAML frontmatter specification, including its pipeline tag vocabulary at Section 5.3) supplies pipeline_tag, tags[], library_name, and base_model, mirroring Hugging Face’s own model card frontmatter conventions.
registry_enrichment (documentation-completeness oriented, from Model Card Section 6.8b) is a distinct concept from an agent entry’s agent_info_snapshot.enrichment (trust-and-behaviour oriented, from the agent’s live endpoint; see spec/agent-card.md). The two MUST NOT be merged into a single score, and a model entry never carries the latter.
3. Field reference
3.1 Common core (required on every entry, see spec/entry-core.md)
id, type (fixed to the literal "model"), name, summary, description, homepage, repository, license (plus license_url when license is "other"), maintainers[], version, keywords[], category, safety_classification[], certification_tier, and record are common to every entry type and are specified in full in spec/entry-core.md. This section states only what is specific to a model entry.
category MUST be one value from schemas/vocab/categories/model.json: variant-effect-prediction, genomic-foundation-model, clinical-nlp, phenotype-prediction, population-genomics, protein-structure, medical-imaging, multimodal, drug-discovery, or other.
3.2 Model-specific fields
| Field | Requirement | Type | Description |
|---|---|---|---|
model_card_uri |
MUST | string (URI) | URI to a full GA4GH Genomic AI Model Card. This is the deep-dive link the detail page renders prominently. |
pipeline_tag |
MAY | string | Mirrored from Hugging Face / Model Card Section 5’s pipeline tag vocabulary, e.g. text-generation, variant-effect-prediction. |
tags |
MAY | string[], unique | Mirrored from Hugging Face / Model Card Section 5. |
library_name |
MAY | string | Mirrored from Hugging Face / Model Card Section 5, e.g. transformers, pytorch. |
base_model |
MAY | string | The base or foundation model this model was fine-tuned or derived from, if any. Mirrored from Hugging Face / Model Card Section 5. |
openness_class |
MAY | string, one of I, II, III |
Optional, non-normative, submitter-asserted classification under the Model Openness Framework (MOF, Generative AI Commons at the LF AI & Data Foundation). Points at MOF’s own class rather than the registry re-deriving one; see the Model Openness Tool for the authoritative per-class checklist. Deliberately independent of safety_classification[] and certification_tier: openness and safety/trust are orthogonal axes and MUST NOT be cross-checked against each other. |
intended_domain |
MAY | string | Model Card Section 5.3 fallback for a genomic task with no accepted Hugging Face pipeline_tag. |
developed_by |
MAY | string | Mirrored from Model Card Section 6.1. |
release_date |
MAY | string (date) | Mirrored from Model Card Section 6.1. |
hosting_location |
MAY | string, one of huggingface, github, docker, self-hosted, gated-request, other |
Where the model itself (weights, container, or gated-access endpoint) is hosted, distinct from where its source repository lives. |
access_uri |
MAY | string (URI) | Where to access or request the model, appropriate to hosting_location: a Hugging Face Hub URL, a GitHub Releases URL, a container registry reference, or a gated-access request form URL. |
install_command |
MAY | string | Copy-paste string to install or load the model, Ollama-style, e.g. a Hugging Face pip install and load snippet. Omitted where no meaningful install action exists (for example, a gated-request-only model). |
recommended_version |
MAY | string | MLflow-alias-shaped pointer to the version a visitor should use by default, when this entry tracks more than one published version. |
last_synced |
MAY | string (date-time) | Timestamp of the last mirror refresh of any field on this entry sourced from an external listing (e.g. Hugging Face Hub metadata). SHOULD be present, and rendered on the detail page, whenever any field above is populated from a live external source, so a reader is never left assuming a mirrored field is live data. |
registry_enrichment |
MAY | object | Mirrored verbatim from Model Card Section 6.8b. See 3.3. |
model_details |
MAY | object | Size, reference precision, weights availability and licence of the model artefact, plus known quantised variants. See 3.4. Added in schema revision 1.1.0. |
3.3 registry_enrichment object
| Field | Requirement | Type | Description |
|---|---|---|---|
completeness_score |
MAY | number, 0.0-1.0 | Automatic validation score based on the proportion of Recommended and Required Model Card fields populated (Model Card Section 6.8b). |
genomic_quality_score |
MAY | number, 0.0-1.0 | Domain-specific quality score based on genomic extension field completeness (population representation, DUO compliance, clinical validation, ancestry bias assessment, GASL level assignment). |
compliance_indicators |
MAY | string[] | Compliance indicators derived from Model Card fields, e.g. duo-aligned, ancestry-assessed, clinically-validated, gasl-classified, brep-governed. |
last_validated |
MAY | string (date-time) | Date the enrichment scores were last computed. |
3.4 model_details object
| Field | Requirement | Type | Description |
|---|---|---|---|
parameters |
MAY | number, or string matching ^[0-9]+(\.[0-9]+)?[KMBT]$ |
Parameter count, as a number or as the upstream states it (e.g. "7B"). |
reference_precision |
MAY | string, one of fp64, fp32, tf32, fp16, bf16, fp8, int8, int4, mixed, other |
Precision of the reference (unquantised) weights as published. MUST NOT be inferred from file sizes alone. |
weights_availability |
MAY | string, one of open, gated, api-only, unreleased |
open: downloadable without approval; gated: downloadable after an access request or licence acceptance; api-only: usable only through a hosted service; unreleased: not available. |
licence |
MAY | string | Licence of the weights, when it differs from or refines the entry’s license: an SPDX identifier from schemas/vocab/licenses.json, or "other". |
quantisations |
MAY | object[] | Known quantised variants, each with format (one of gguf, gptq, awq, bnb-8bit, bnb-4bit, onnx-int8, mlx, other), bits (number, greater than 0, at most 32), publisher ("official" or the third party’s name), url (URI), and optionally size_bytes (integer). A quantised variant is a different artefact from the reference weights: evaluation evidence about one is not evidence about the other. |
No entry-core or model-entry field beyond those listed in 3.1-3.4 is permitted: the composed schema sets unevaluatedProperties: false, so a model entry MUST NOT carry any additional top-level property.
4. Validation rules
A conforming model entry MUST satisfy all of the following, in addition to the common-core rules in spec/entry-core.md:
typeMUST be the literal string"model".model_card_uriMUST be present and MUST resolve to a fetchable document (scripts/validate.tschecks link resolution; it is not, in v1, required to parse the target as a conformant Model Card, since no model has yet published one in the GA4GH v0.6.0 format at the time of writing).- If
hosting_locationis present,access_uriSHOULD also be present and SHOULD be of a form appropriate to that hosting location (ahttps://huggingface.co/<org>/<model>-shaped URL forhuggingface, a GitHub Releases URL forgithub, and so on). install_commandMUST be omitted where no meaningful install action exists for the model (for example,hosting_location: "gated-request"with no public download path); a copy-to-clipboard install control is rendered only wheninstall_commandis present.registry_enrichment.*, when present, MUST be copied verbatim from the Model Card atmodel_card_uriand MUST NOT be independently computed or asserted by the submitter or the registry tooling.openness_classMUST NOT be treated as, or rendered alongside,safety_classification[]orcertification_tieras if it were a safety or trust signal; it answers a documentation-transparency question, not a safety one.- As for every entry (
spec/entry-core.mdSection 4),certification_tiersubmitted as anything other thanunsignedMUST be rejected at the submission gate; only a maintainer-authored edit against an existing entry may raise it.
5. Worked example
The following illustrates a model entry whose model_card_uri resolves to a Model Card that already conforms to GA4GH Genomic AI Model Card v0.6.0. (No such card exists yet at the time of writing; see data/models/esm2.json for a real, currently-seeded entry whose model_card_uri instead points at a standard Hugging Face model card, with that distinction noted in its description.)
{
"id": "example-variant-effect-model",
"type": "model",
"name": "Example Variant Effect Model",
"summary": "Illustrative genomic foundation model fine-tuned for non-coding variant effect prediction.",
"description": "A worked example for spec/model-card.md. Not a real, catalogued entry.",
"homepage": "https://huggingface.co/example-org/example-variant-effect-model",
"repository": "https://github.com/example-org/example-variant-effect-model",
"license": "Apache-2.0",
"maintainers": [
{ "name": "Jane Researcher", "github": "janeresearcher", "affiliation": "Example Genomics Institute", "orcid": "0000-0002-1825-0097" }
],
"version": "1.2.0",
"keywords": ["variant-effect", "non-coding", "genomic-foundation-model"],
"category": "variant-effect-prediction",
"ga4gh_standards": [],
"safety_classification": [
{
"scheme": "ga4gh-gase",
"level": "GASL-2",
"certifying_body": "Example Genomics Institute",
"evaluation_date": "2026-08-01",
"evidence_uri": "https://example-org.example/gase-report.pdf",
"source": "submitter-attested"
}
],
"certification_tier": "unsigned",
"record": {
"created": "2026-09-25T00:00:00.000Z",
"updated": "2026-09-25T00:00:00.000Z",
"last_verified": "2026-09-25T00:00:00.000Z",
"source_issue": 142
},
"model_card_uri": "https://huggingface.co/example-org/example-variant-effect-model/blob/main/MODEL_CARD.md",
"pipeline_tag": "variant-effect-prediction",
"tags": ["genomics", "non-coding-variants"],
"library_name": "transformers",
"base_model": "example-org/example-genomic-foundation-model",
"openness_class": "II",
"developed_by": "Example Genomics Institute",
"release_date": "2026-07-15",
"hosting_location": "huggingface",
"access_uri": "https://huggingface.co/example-org/example-variant-effect-model",
"install_command": "pip install transformers\n# then: AutoModel.from_pretrained('example-org/example-variant-effect-model')",
"recommended_version": "1.2.0",
"last_synced": "2026-09-24T09:00:00.000Z",
"registry_enrichment": {
"completeness_score": 0.92,
"genomic_quality_score": 0.85,
"compliance_indicators": ["duo-aligned", "ancestry-assessed", "gasl-classified"],
"last_validated": "2026-09-20T00:00:00.000Z"
}
}
6. See also
spec/entry-core.mdfor the common entry core shared by every registry type.spec/agent-card.md,spec/skill-card.md,spec/mcp-server-card.md,spec/plugin-card.md,spec/bundle.mdfor the other five entry types.../model-card/GA4GH-Model-Card.md(in thega4gh-agentsworkspace, upstream of this repository) for the full GA4GH Genomic AI Model Card standard this specification profiles.- the internal technical design document Section 3.5.1 and the internal PRD Section 6.2 for the design rationale behind this profile.