{% extends "sinav/reports/base.html" %} {% load l10n %} {% comment %}R8 — Dağıtım Doğrulama Raporu. İhlal=0 beyanı (veya ihlal listesi ve onay hükmü; liste uzadıkça rapor tek yaprağı aşar), dağıtım parametreleri (seed dâhil — "aynı seed → aynı dağıtım" sözleşmesinin yazılı kanıtı), kısıt metrikleri ve salon doluluğu. İdare imza bloğu: oturum onayının dayanağıdır. Bu evrak salona GİTMEZ; idarede dosyalanır — o yüzden gözetmen dili yoktur, sayısal denetim dili vardır. Dil yine de İDARECİ dilidir (18.09.2026): belgeyi okul müdürü imzalar; motorun iç terimleri ("1. halka", "Σ 1/d²", "satranç modu", "sert kısıt") sade karşılıklarıyla yazılır. Dağıtım numarası (seed) sözleşmesi değişmedi: sayı basılır, etiketi Türkçedir.{% endcomment %} {% block extra_style %} {% endblock %} {% block content %}
{% with scope_note="İdare nüshası · oturum onayının dayanağı" %} {% include "sinav/reports/_head.html" %} {% endwith %} {% if report.is_valid %}
KURAL İHLALİ YOKTUR
Aynı sınava giren iki öğrenci hiçbir sırada yan yana oturmamaktadır. Dağıtım bağımsız doğrulamadan geçmiştir; oturum onaya uygundur.
{% else %} {% comment %}Hüküm cümlesi üç hâllidir (31.10.2026): kelebek komşuluğu ihlali idarenin açık kabulüyle onaylanabilir ve kabul kalıcı kayıttır (`approved_violation_count`); kız/erkek ayrışması ve bozuk kayıt kabulle de geçilemez.{% endcomment %}
DİKKAT: {{ report.violation_count }} KURAL İHLALİ TESPİT EDİLDİ
{% if report.accepted_violations %}
Oturum, onay anında yerleşimde bulunan {{ report.accepted_violations }} kural ihlaliyle idarenin kararıyla onaylanmıştır.
{% elif report.acceptable %}
Yeniden dağıtımla giderilemeyen ihlaller ancak idare kabul ederek onaylayabilir; bu rapor o kararın dayanağıdır.
{% else %}
Bu ihlaller giderilmeden oturum onaylanamaz.
{% endif %}
{% endif %}
A. DAĞITIM BİLGİLERİ
{% if report.params.shuffled %}
Aynı dağıtım numarası, aynı dağıtım yöntemi sürümünde ve aynı girdilerle aynı yerleşimi verir; öğrencilerin başka sınavlardaki son yerleri de girdidir.
{% endif %} {% if not report.params.shuffled %} {% else %} {% comment %}`unlocalize`: numara kullanıcı tarafından yeniden GİRİLİR; binlik ayraç açılırsa "987.654" basılır ve aynı dağıtım üretilemez.{% endcomment %} {% if report.params.engine_version %}{% endif %} {% endif %} {% comment %}Kız/erkek ayrışması: YALNIZ kuralın adı basılır. Öğrenciye özgü hiçbir işaret, sayım ya da cinsiyet bilgisi evraka girmez (tasarım kararı). Django yorumu TEK satırlıktır; bu blok o yüzden {% comment %} ile yazıldı.{% endcomment %}
Dağıtım düzeni{{ report.params.layout_mode_label }}
Yerleşim kuralı Her şube kendi dersliğinde, okul numarası sırasıyla oturur (karıştırma yapılmaz).
Dağıtım numarası (seed){{ report.params.seed|unlocalize }}
Dağıtım yöntemi sürümü {{ report.params.engine_version|unlocalize }}
Katı dağıtım (yan, ön, arka ve çapraz komşuluk da yasak) {{ report.params.strict|yesno:"Açık,Kapalı" }}
Dönüşümlü oturma (iki sınavlı salonda satranç düzeni) {{ report.params.checkerboard|yesno:"Uygulandı,Uygulanmadı" }}
Şube dağılımı {{ report.params.section_spread_label }}
Yakınlık önceliği {{ report.params.proximity_label }}
Yerleşen öğrenci / yeri kuralla sabitlenen {{ report.params.placed }} / {{ report.params.pinned }}
Kız/erkek ayrışması {{ report.params.separation_label }}
B. YAKINLIK ÖLÇÜLERİ Kural ihlali değildir; dağıtımın kalitesini gösterir.
{% if report.params.proximity_closest %}
En yakın komşular öncelikli seçimde komşu sıra çifti sayısı artabilir. Bu sayı en yakın komşuları ayrıca göstermez; artması tek başına kötüleşme sayılmaz, seçimin kazanç sağladığını da göstermez.
{% endif %} {% comment %}GROUPS-tipi açık uç — aynı şubeden farklı-grup komşuluğu (kopya riski düşük: farklı kitapçık).{% endcomment %} {% for metric in report.min_distances %} {% endfor %}
Komşu sıralara düşen aynı sınav çifti (yan, ön, arka, çapraz) {{ report.first_ring_pairs }}
Komşu sıralara düşen aynı şube çifti (sınavları farklı) {{ report.cross_section_pairs }}
Toplam yakınlık puanı (düşük olması iyidir) {{ report.proximity_score }}
Aynı sınava giren en yakın iki öğrenci — {{ metric.group_label }} {{ metric.distance }} sıra arayla
{% if report.occupancy %}
C. SALON DOLULUĞU
{% for row in report.occupancy %} {% comment %} `unlocalize` CSS tuzağı için zorunlu (F25/T244 kuralı); tam sayıya yuvarlamak TR metinde "95.0" gibi nokta ayraçlı okuma bırakmaz. NOT: Django'nun `{# #}` yorumu TEK satırlıktır — çok satıra yayılınca metin olarak basılır (18.09.2026'da örnek PDF'te görüldü). {% endcomment %} {% endfor %}
Salon Kapasite Yerleşen Doluluk
{{ row.room_name }} {{ row.capacity }} {{ row.placed }}%{{ row.percent|unlocalize|floatformat:0 }}
{% endif %} {% if report.warnings %}
D. DAĞITIM UYARILARI Kural ihlali değildir; idarenin değerlendirmesine sunulur.
{% endif %} {% comment %}"Sınav Komisyonu" mevzuatta tanımlı bir organ değildir; okul geneli sınavın iş ve işlemleri okul müdürlüğünündür (Yönerge md. 5) — belgeyi düzenleyen müdür yardımcısı, onaylayan okul müdürüdür. Onay hücresi öteki belgelerdeki gibi "UYGUNDUR" başlığını taşır (01.10.2026, ortak onay bloğu); başlıksız düzenleyen hücresi `ust` ile aynı yüksekliği ayırır, çizgiler hizalı.{% endcomment %}
{% include "print/_imza.html" with gorev="Düzenleyen — Müdür Yardımcısı" tarihli=True ust=True only %} {% include "print/_imza.html" with ad=principal_name gorev="Okul Müdürü" baslik="UYGUNDUR" tarihli=True only %}
{% endblock %}