{
  "schema_version": "avds-ui-contract-v1",
  "product_id": "corrupt-press",
  "product_name": "corrupt.press",
  "design_system": "AV DS",
  "version": "4.7.0",
  "source_revision": "79342b07b061938c14101a213d1dd0c7a412d689",
  "consumer_mode": "framework-neutral-static-adapter",
  "release_alignment": {
    "status": "compatible",
    "applicable_capabilities": [
      "semantic-tokens",
      "responsive-composition",
      "administration-primitives",
      "accessible-state-presentation"
    ],
    "not_applicable": [
      "media-search-workspace"
    ]
  },
  "upstream_reference": {
    "release": "https://avds.digital/release.json",
    "exchange_contract": "https://avds.digital/.well-known/avds-ui-contract.json",
    "source_revision": "79342b07b061938c14101a213d1dd0c7a412d689",
    "source_path": "packages/ui-kit/src/tokens/variables.css"
  },
  "coverage": {
    "scope": "applicable-exchange-primitives",
    "adopted_primitives": 8,
    "total_primitives": 8,
    "percent": 100,
    "criteria": [
      "DataTable",
      "FilterChipRow",
      "SourceHealthBadge",
      "ServiceStatusCard",
      "ProvenanceCard",
      "ProvenanceTable",
      "ProvenanceFoot",
      "ComparisonBarRow"
    ],
    "adopted": [
      "DataTable",
      "FilterChipRow",
      "SourceHealthBadge",
      "ServiceStatusCard",
      "ProvenanceCard",
      "ProvenanceTable",
      "ProvenanceFoot",
      "ComparisonBarRow"
    ],
    "missing": [],
    "route_shell": {
      "scope": "public-route-shell",
      "covered_routes": 32,
      "total_routes": 32,
      "percent": 100,
      "criteria": [
        "version",
        "upstream_tokens",
        "tokens",
        "consumer_bridge",
        "shared_footer"
      ],
      "uncovered": []
    },
    "badge_label": "AVDS 4.7.0-100"
  },
  "theme_policy": "light-only",
  "primary_accent": "#111111",
  "font_family": "Onest",
  "assets": {
    "upstream_tokens": "/css/av-ds/vendor/avds-4.7.0-79342b07.tokens.css",
    "tokens": "/css/av-ds/tokens.css",
    "bridge": "/css/av-ds/corrupt-press-bridge.css",
    "adapter_manifest": "/css/av-ds/avds-static-adapter.json",
    "fonts": "/fonts/avds/avds-fonts.css"
  },
  "responsive_composition": {
    "contract_id": "responsive-composition-v1",
    "tokens": [
      "--ik-shell",
      "--content-wide",
      "--content-narrow"
    ],
    "modes": [
      {
        "id": "compact",
        "range": "0-767px",
        "rule": "One-column reading order, compact navigation and touch-safe controls."
      },
      {
        "id": "tablet",
        "range": "768-1023px",
        "rule": "Two-up summaries and evidence groups; prose and controls remain stacked where needed."
      },
      {
        "id": "desktop",
        "range": "1024-1439px",
        "rule": "Bounded shell with product-specific catalog and reading layouts."
      },
      {
        "id": "wide",
        "range": "1440-1919px",
        "rule": "Add context rails and comparison lanes; keep article text within the reading measure."
      },
      {
        "id": "expanded",
        "range": "1920-2559px",
        "rule": "Expand catalog density and secondary rails without stretching editorial prose."
      },
      {
        "id": "canvas",
        "range": "2560px+",
        "rule": "Add data lanes and retain a bounded reading measure; editorial prose never fills the canvas."
      }
    ],
    "verification_viewports": [
      "390x844",
      "834x1112",
      "1280x960",
      "1440x1000",
      "1920x1200",
      "2560x1440"
    ],
    "route_groups": {
      "reader": [
        "/article.html",
        "/source.html",
        "/entity.html"
      ],
      "catalog": [
        "/archive.html",
        "/sources.html",
        "/persons.html",
        "/organizations.html"
      ],
      "analysis": [
        "/reports.html",
        "/reports-timeline.html",
        "/data.html",
        "/regions.html"
      ]
    }
  },
  "patterns": [
    "data-table",
    "responsive-composition",
    "evidence-registry",
    "public-summary-strip",
    "public-data-health-panel",
    "evidence-record",
    "dossier-summary-card",
    "entity-graph-path-card",
    "filter-chip-row",
    "provenance-foot",
    "provenance-table",
    "source-health-badge",
    "trust-facts-panel",
    "status-badge",
    "public-analytics-dashboard",
    "public-data-profile"
  ],
  "adopted_from_avds": [
    {
      "primitive": "DataTable",
      "routes": [
        "/connections.html"
      ],
      "purpose": "Доступная таблица проверенных связей с заголовками строк, клавиатурным фокусом и горизонтальным контейнером на узких экранах."
    },
    {
      "primitive": "ProvenanceCard",
      "routes": [
        "/article.html"
      ],
      "purpose": "Источник, состояние загрузки утверждений, проверенные цитаты и граница доказательств собраны в одной доступной карточке."
    },
    {
      "primitive": "ServiceStatusCard",
      "routes": [
        "/reports.html"
      ],
      "purpose": "Доступность и согласованность ключевых публичных JSON текущего выпуска показаны отдельно от uptime внешних источников и закрытой редакционной системы."
    },
    {
      "primitive": "PublicDataHealthPanel",
      "routes": [
        "/reports.html",
        "/about.html"
      ],
      "purpose": "Публичный срез состояния корпуса, экспортов и ограничений интерпретации."
    },
    {
      "primitive": "DossierSummaryCard",
      "routes": [
        "/persons.html"
      ],
      "purpose": "Единая структура персональной судебной карточки без расширения судебных утверждений."
    },
    {
      "primitive": "EntityGraphPathCard",
      "routes": [
        "/connections.html"
      ],
      "purpose": "Проверенная связь показывается только рядом с конкретной судебной записью и источником."
    },
    {
      "primitive": "ProvenanceTable",
      "routes": [
        "/reports.html",
        "/reports-timeline.html",
        "/reports-library.html",
        "/sources.html"
      ],
      "purpose": "Источник, период, значение и ограничение читаются как часть одной строки данных."
    },
    {
      "primitive": "SourceHealthBadge",
      "routes": [
        "/sources.html"
      ],
      "purpose": "Состояние источника отделяет опубликованные записи от источников без публичного покрытия."
    },
    {
      "primitive": "TrustFactsPanel",
      "routes": [
        "/",
        "/about.html",
        "/sources.html",
        "/reports.html"
      ],
      "purpose": "Короткие правила доверия рядом с публичными наборами и объясняющими блоками."
    },
    {
      "primitive": "PublicDataProfile",
      "routes": [
        "/archive.html",
        "/persons.html",
        "/topics.html",
        "/series.html",
        "/organizations.html",
        "/connections.html"
      ],
      "purpose": "Годовой и категориальный срез открытых записей на основе AV DS BarChart и ComparisonBarRow."
    }
  ],
  "to_absorb_into_avds": [
    {
      "candidate": "VerifiedPersonDossier",
      "source_route": "/persons.html",
      "status": "candidate",
      "reason": "Нужен нейтральный AVDS-примитив для публичной карточки персоны с источником, итогом и правовой оговоркой."
    },
    {
      "candidate": "SourceCoverageCard",
      "source_route": "/sources.html",
      "status": "candidate",
      "reason": "Карточка источника связывает tier, coverage window, last verified date and record count."
    },
    {
      "candidate": "PublicCorpusPassport",
      "source_route": "/about.html",
      "status": "candidate",
      "reason": "Паспорт корпуса объединяет период, размер, источники, географию и публичные data exports."
    },
    {
      "candidate": "RegionalEvidenceCoverage",
      "source_route": "/regions.html",
      "status": "candidate",
      "reason": "Нейтральная оболочка для QazGeo-карты покрытия с явной оговоркой, что заливка не является оценкой региона."
    }
  ],
  "public_routes": [
    "/",
    "/archive.html",
    "/cases.html",
    "/persons.html",
    "/reports.html",
    "/reports-timeline.html",
    "/reports-library.html",
    "/source.html",
    "/entities.html",
    "/entity.html",
    "/sources.html",
    "/regions.html",
    "/region.html",
    "/topics.html",
    "/series.html",
    "/organizations.html",
    "/connections.html"
  ],
  "forbidden": [
    "dark-theme-toggle",
    "legacy-green-brand-accent",
    "unreviewed-candidate-card"
  ]
}
