{
  "schemaVersion": "15.1.0",
  "generatedAt": "2026-08-29T00:00:00.000Z",
  "releaseDecision": "go-with-declared-data-boundaries",
  "scopeFa": "ممیزی اجرایی موتور سناریو و شاخص، ذخیره‌سازی، مسیرهای دوزبانه، خروجی و SEO نسخه ۱۵٫۱.",
  "limitationsFa": [
    "pointerهای شیت/ردیف فعلی در سطح رکوردند، نه cell-level برای تمام فیلدها؛ رابط فقدان را صریح نشان می‌دهد.",
    "واچ‌لیست و هشدار درون سامانه پایدار است؛ زمان‌بند و ارسال ایمیل/پیام فعال نیست.",
    "مدل مسیرهای نام‌دار و هندسه ثبت‌شده را بازحساب می‌کند؛ زمان/هزینه، throughput و shortest-path مهندسی بدون داده تولید نمی‌شود."
  ],
  "summary": {
    "pass": 19,
    "warning": 3,
    "fail": 0,
    "total": 22
  },
  "checks": [
    {
      "id": "sectors",
      "labelFa": "۱۵ سکتور دوزبانه",
      "status": "pass",
      "detailFa": "۱۵ شناسه یکتا و ۱۰۵ واحد ترجمه ساختاریافته وجود دارد.",
      "metrics": {
        "sectors": 15
      }
    },
    {
      "id": "passports",
      "labelFa": "گذرنامه SSR دوزبانه",
      "status": "pass",
      "detailFa": "برای تمام موجودیت‌های نمایه، رکورد سروری فارسی/انگلیسی ساخته شده است.",
      "metrics": {
        "passports": 2133
      }
    },
    {
      "id": "indices-definition",
      "labelFa": "هشت شاخص دقیق",
      "status": "pass",
      "detailFa": "هشت تعریف یکتا وجود دارد.",
      "metrics": {}
    },
    {
      "id": "indices-execute",
      "labelFa": "اجرای شاخص روی کریدور/مسیر/نود",
      "status": "pass",
      "detailFa": "وزن‌ها و پوشش در اجرای واقعی معتبرند.",
      "metrics": {}
    },
    {
      "id": "indices-coverage",
      "labelFa": "پوشش کامل شاخص‌ها",
      "status": "pass",
      "detailFa": "برای ۱۳۵ کریدور، ۴۳۷ مسیر و ۱۰۵۸ نود، هشت رکورد شاخص یا وضعیت داده ناکافی منتشر شده است.",
      "metrics": {
        "corridors": 135,
        "routes": 437,
        "nodes": 1058,
        "records": 1630,
        "indexRecords": 13040
      }
    },
    {
      "id": "scenario-close",
      "labelFa": "بستن نود مشخص",
      "status": "pass",
      "detailFa": "بستن آستارا دسترسی مسیرهای نام‌دار وابسته را تغییر می‌دهد.",
      "metrics": {
        "affectedRoutes": 2
      }
    },
    {
      "id": "scenario-legal",
      "labelFa": "فعال‌سازی حقوقی fail-safe",
      "status": "pass",
      "detailFa": "معاهده بدون رابطه curated، زیرساخت را فعال نمی‌کند.",
      "metrics": {}
    },
    {
      "id": "scenario-capacity",
      "labelFa": "مرز ظرفیت نسبی",
      "status": "pass",
      "detailFa": "فرض ظرفیت طول و اتصال را جعل نمی‌کند.",
      "metrics": {}
    },
    {
      "id": "geojson",
      "labelFa": "GeoJSON سناریو",
      "status": "pass",
      "detailFa": "وضعیت مسیر تغییرکرده در FeatureCollection ثبت می‌شود.",
      "metrics": {
        "features": 3
      }
    },
    {
      "id": "persistence",
      "labelFa": "D1، تفاوت نسخه و تاریخچه",
      "status": "pass",
      "detailFa": "سناریو، واچ‌لیست، تفاوت نسخه، پرونده تصمیم، فرصت، صف بررسی و audit event با مالک پایدار ثبت می‌شوند.",
      "metrics": {}
    },
    {
      "id": "approval",
      "labelFa": "تأیید مستقل و نسخه‌پین‌شده",
      "status": "pass",
      "detailFa": "تأیید عمومی به نسخه و هش projection متصل است و سازنده نمی‌تواند درخواست خود را تأیید کند.",
      "metrics": {}
    },
    {
      "id": "financial",
      "labelFa": "خروجی مالی fail-closed",
      "status": "pass",
      "detailFa": "عدد مالی بدون روش و URL یا ردیف معتبر رد و صادرات مالی جداگانه مجوزدهی می‌شود.",
      "metrics": {}
    },
    {
      "id": "security-boundary",
      "labelFa": "RBAC و ورودی محدود",
      "status": "pass",
      "detailFa": "شناسه پایدار، پنج نقش، سقف درخواست و rate limit در مرز سرور اعمال می‌شوند.",
      "metrics": {}
    },
    {
      "id": "atomic-audit",
      "labelFa": "CAS و Audit اتمیک",
      "status": "pass",
      "detailFa": "نسخه مورد انتظار، تغییر و Audit در batch اتمیک و با retention ثبت می‌شوند.",
      "metrics": {}
    },
    {
      "id": "public-projection",
      "labelFa": "Projection عمومی allowlist",
      "status": "pass",
      "detailFa": "پاسخ عمومی فقط از manifest هش‌شده و DTO فهرست‌مجاز ساخته می‌شود.",
      "metrics": {}
    },
    {
      "id": "exports",
      "labelFa": "خروجی حرفه‌ای سمت سرور",
      "status": "pass",
      "detailFa": "JSON طبقه‌بندی‌شده سمت سرور به bytes دقیق، hash، manifest و attachment امن متصل است؛ خروجی محلی صریحاً تأییدنشده است.",
      "metrics": {}
    },
    {
      "id": "routes",
      "labelFa": "مسیرهای دوزبانه و پایدار",
      "status": "pass",
      "detailFa": "مسیرهای اصلی انگلیسی وجود دارند.",
      "metrics": {}
    },
    {
      "id": "seo",
      "labelFa": "SEO/AEO",
      "status": "pass",
      "detailFa": "sitemap، robots، canonical/hreflang و JSON-LD ساخته شده‌اند.",
      "metrics": {}
    },
    {
      "id": "accessibility",
      "labelFa": "دسترس‌پذیری پایه",
      "status": "pass",
      "detailFa": "وضعیت انتخاب، پاسخ زنده، توضیح نقشه و بازچینی موبایل وجود دارد.",
      "metrics": {}
    },
    {
      "id": "lineage-boundary",
      "labelFa": "مرز lineage",
      "status": "warning",
      "detailFa": "pointerهای شیت/ردیف فعلی در سطح رکوردند، نه cell-level برای تمام فیلدها؛ رابط فقدان را صریح نشان می‌دهد.",
      "metrics": {}
    },
    {
      "id": "alert-boundary",
      "labelFa": "مرز هشدار بیرونی",
      "status": "warning",
      "detailFa": "واچ‌لیست و هشدار درون سامانه پایدار است؛ زمان‌بند و ارسال ایمیل/پیام فعال نیست.",
      "metrics": {}
    },
    {
      "id": "routing-boundary",
      "labelFa": "مرز مدل شبکه",
      "status": "warning",
      "detailFa": "مدل مسیرهای نام‌دار و هندسه ثبت‌شده را بازحساب می‌کند؛ زمان/هزینه، throughput و shortest-path مهندسی بدون داده تولید نمی‌شود.",
      "metrics": {}
    }
  ]
}
