← Files Empire LLM for CodexARCHIVED FILE

assets/llm-icons/model-icon-manifest.schema.json

3.55 KB · Oct 3, 2026 · 06:31 UTC

↓ Download file

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://empire-llm.local/schemas/model-icon-manifest.schema.json",
  "title": "Empire LLM model icon manifest",
  "type": "object",
  "additionalProperties": false,
  "required": ["schema_version", "asset_root", "default_icon_id", "icons", "aliases", "ui_contract"],
  "properties": {
    "$schema": {"const": "./model-icon-manifest.schema.json"},
    "schema_version": {"const": "1.1.0"},
    "asset_root": {"const": "llm-icons"},
    "default_icon_id": {"type": "string"},
    "icons": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["id", "label", "entity_kind", "path", "format", "view_box", "color_mode", "inline_accessibility_ready", "status", "sha256"],
        "properties": {
          "id": {"type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"},
          "label": {"type": "string", "minLength": 1},
          "entity_kind": {"enum": ["provider", "model_family", "routing_platform", "benchmark_platform", "alternate_mark"]},
          "path": {"type": "string", "pattern": "^llm-icons/.+\\.(svg|png)$"},
          "format": {"enum": ["svg", "png"]},
          "view_box": {"type": ["string", "null"]},
          "intrinsic_size": {
            "type": ["object", "null"],
            "additionalProperties": false,
            "required": ["width", "height"],
            "properties": {"width": {"type": "integer", "minimum": 1}, "height": {"type": "integer", "minimum": 1}}
          },
          "color_mode": {"enum": ["current_color", "brand_color", "raster_brand_color"]},
          "inline_accessibility_ready": {"type": "boolean"},
          "status": {"enum": ["ready", "usable_with_caveat", "needs_normalization"]},
          "variant_of": {"type": "string"},
          "notes": {"type": "string"},
          "sha256": {"type": "string", "pattern": "^[a-f0-9]{64}$"}
        }
      }
    },
    "aliases": {"type": "object", "additionalProperties": {"type": "string"}},
    "ui_contract": {
      "type": "object",
      "additionalProperties": false,
      "required": ["wrapper_px", "glyph_px", "fit", "fallback", "status_semantics", "response_footnote_px", "response_footnote_asset_root", "response_footnote_surface", "response_alignment", "response_renderer", "synthesis_response_renderer", "provenance_chip_order", "native_web_citation_rule", "synthesis_link_rule", "role_semantics"],
      "properties": {
        "wrapper_px": {"type": "array", "items": {"type": "integer"}},
        "glyph_px": {"type": "array", "items": {"type": "integer"}},
        "fit": {"const": "contain"},
        "fallback": {"type": "string"},
        "status_semantics": {"type": "string"},
        "response_footnote_px": {"const": 14},
        "response_footnote_asset_root": {"const": "llm-icons/footnotes"},
        "response_footnote_surface": {"type": "string"},
        "response_alignment": {"const": "single transparent SVG chip per model with internally aligned icon and text"},
        "response_renderer": {"const": "transparent_svg_chip_with_embedded_14px_png_icon_vector_text_and_text_fallback"},
        "synthesis_response_renderer": {"const": "atomic_transparent_svg_with_icon_and_base_model_name_only"},
        "provenance_chip_order": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "string", "minLength": 1}},
        "native_web_citation_rule": {"type": "string", "minLength": 1},
        "synthesis_link_rule": {"type": "string"},
        "role_semantics": {"type": "string"}
      }
    }
  }
}

SHA-256: 29c0e209df21ba1d0efec709cd8bbddcdeb0881e6adad4cd0b176a32869addf7