{
    "date": "2026-08-19",
    "entries": [
        {
            "title": "E-postaların altındaki şirket bilgisi yanlıştı",
            "tickets": [
                "EGT-183"
            ],
            "changes": {
                "altyapi": {
                    "fixed": [
                        "Panelden çıkan bütün e-postaların altında «3E Grup Denizcilik Gözetim Eğitim ve Danışmanlık Hizmetleri · Kocaeli» yazıyordu — bu, bu panelin arkasındaki tüzel kişi değil. Davet mektubundan şifre sıfırlamaya kadar her mektup yanlış unvanı ve yanlış şehri taşıyordu.",
                        "Artık iki satır: «3E Group» ve «3E Lojistik Yönetim Danışmanlık Eğitim Bilişim Tic. Ltd. Şti / İstanbul». Mektubun düz metin hâli de aynısını taşıyor."
                    ]
                }
            }
        },
        {
            "title": "Sorgulama ekranındaki «ihtiyaç» sütunu derli toplu; uzun uyarı tablonun altına indi",
            "tickets": [
                "EGT-184"
            ],
            "changes": {
                "planlama": {
                    "changed": [
                        "Sorgulama sonuçlarında her rozetin içine «Geçmiş veriden geliyor — lütfen bakanlıktan doğrulayın» cümlesinin tamamı basılıyordu. Üç sertifikası olan bir kişi üç rozet çiziyor, her rozet üç satıra taşıyor ve sütun tek bir yazı yığınına dönüşüyordu.",
                        "Rozetin içinde artık kısa bir «geçmiş veri» işareti var; cümlenin tamamı tablonun altında bir kez yazıyor — ve yalnız o sayfada gerçekten devralınmış bir tarih varsa. Uyarı kaybolmadı, tarihleri gömmüyor.",
                        "Rozetler alt alta, her biri kendi satırında diziliyor. Yan yana akarken iki rozetin nerede bitip nerede başladığı okunmuyordu.",
                        "Sertifika numarası alanına dokunulmadı: geçmiş personel kaydında zaten isteğe bağlı ve «bilmiyorsanız boş bırakın — bizim numaramız kalır» diyor."
                    ]
                }
            }
        },
        {
            "title": "Yenilenmiş bir eğitim yüzünden personel «süresi geçmiş» görünmüyor artık",
            "tickets": [
                "EGT-182"
            ],
            "changes": {
                "musteri": {
                    "fixed": [
                        "Müşteri panelindeki personel listesi, bir kişinin bütün sertifikalarına bakıp en kötüsünü satırın durumu yapıyordu. Aynı eğitimin yenilenmiş eski belgesi de o kümede durduğu için, IMSBC Kod belgesi mayısta dolmuş ama 2028'e kadar yenilenmiş bir kişi kırmızı «Süresi Geçmiş» görünüyordu. Canlıda ölçüldü: 12 kişi süresi geçmiş sayılıyordu, gerçekten süresi geçmiş olan 4 kişiydi.",
                        "Artık her eğitim için yalnız EN SON belge konuşuyor: satırın durumu, tarihi ve sıralaması ona göre. Kural ofis tarafındaki sorgulama ekranıyla aynı (EGT-178) — iki ekranın aynı kişi için farklı şey söylemesi bu yüzden bitti.",
                        "Eski belge silinmiyor, gizlenmiyor: kişinin sertifika penceresinde durmaya devam ediyor, ama kırmızı yerine gri «Yenilendi» etiketi taşıyor ve altında yerine hangisinin geçtiği yazıyor. Hiçbir sayıma, hiçbir renge, hiçbir sıralamaya girmiyor.",
                        "Aynı yanlış okuma iki ekranda daha vardı ve o ikisi para harcatan ekranlardı: teklif isteği sihirbazı yenilenmiş bir eğitimi hâlâ «yenileme gerekiyor» diye öneriyordu, personel seçim listesi de aynı eğitimi iki kez sayıyordu. İkisi de düzeldi.",
                        "Personel ekranını anlatan yardım makalesine «Aynı eğitimin yenilenmiş belgesi» adımı eklendi."
                    ]
                }
            }
        },
        {
            "title": "İlsiz kalmış bir eğitim artık ekrandan düzeltilebiliyor — ve reddedilen işlem sebebini söylüyor",
            "tickets": [
                "EGT-179"
            ],
            "changes": {
                "planlama": {
                    "fixed": [
                        "Talepten planlanan eğitimlere ilin yazılmaması dün düzeltildi; ama önceden ilsiz kaydedilmiş eğitimler için ekranda çıkış yolu yoktu. Eğitim detayındaki «Planı düzenle» formu tarih, adres, kontenjan ve not soruyordu — il alanı hiç yoktu. İlsiz bir eğitim satışa açılamadığı için o kayıtlar kalıcı olarak taslakta kalıyordu.",
                        "Düzenleme formuna il alanı eklendi. Eğitim kartında da artık il, adresin önünde yazıyor; eskiden yalnız sokak adresi görünüyordu.",
                        "«Planlandı'ya al» reddedildiğinde sebebi sayfanın üstünde kırmızı bir şerit olarak çıkıyor. Eskiden ret hiçbir yere yazılmıyordu: düğmeye basılıyor, hiçbir şey olmuyordu. Aynı sessizlik eğitim detayındaki diğer işlemler için de vardı (örneğin taslak bir eğitimin iptal edilmeye çalışılması) — hepsi artık konuşuyor.",
                        "Güncelleme kuralı ili olmayan bir tabloda (`option_values`) arıyordu; gerçek tablo `option_list_values`. Ekranda il alanı hiç bulunmadığı için bu bugüne kadar fark edilmemişti — ilk gönderilen il veritabanı hatası verecekti."
                    ]
                }
            }
        },
        {
            "title": "Kontenjan sayısı artık katılımcıyı da sayıyor: beş kişilik eğitim «boş» görünmüyor",
            "tickets": [
                "EGT-180"
            ],
            "changes": {
                "planlama": {
                    "fixed": [
                        "Katılımcı listesinde beş kişi olan bir eğitim, eğitim listesinde «0 kesinleşen / 5», detayında «Kontenjan 0/5 · doluluk düşük» diyordu. Sebep: ekranların okuduğu sayı yalnız ONAYLI TEKLİFLE satılan koltuk sayısıydı. Teklifsiz eklenen katılımcı — örneğin talebin kendi önerdiği isimler teyit edilerek eklenen kişiler — hiçbir sayaca girmiyordu.",
                        "Artık iki sayı yan yana duruyor ve ikisi ayrı şeyi söylüyor: «kayıtlı» listedeki kişi sayısı, «teklifle satılan» onaylı teklifin aldığı koltuk. Karıştırılmasın diye toplanmıyorlar; bir teklifin koltukları zaten daha sonra isme dönüşür.",
                        "«Katılımcılar — 0/5» başlığı beş ismin üstünde duruyordu; o başlık artık listedeki kişi sayısını yazıyor.",
                        "«Doluluk düşük — satışa duyuru önerilir» uyarısı ikisinin büyüğüne bakıyor; dolu bir salon artık düşük dolulukta sayılmıyor."
                    ]
                },
                "satis": {
                    "fixed": [
                        "Satış kokpitindeki fırsat sinyalleri, katılımcıları dolmuş bir eğitimi «5 boş kontenjan» diye öneriyordu. Boş kontenjan hesabı artık listedeki kişi sayısını da hesaba katıyor; kimsenin gelmediği eğitim yine önerilir, dolmuş olan önerilmez."
                    ]
                }
            }
        },
        {
            "title": "Eğitmen ikinci teklifi kabul edince sunucu hatası alıyordu",
            "tickets": [
                "OPS-22"
            ],
            "changes": {
                "egitmen": {
                    "fixed": [
                        "Bir eğitim için ikinci kez eğitmen isteği açıldığında aynı eğitmene ikinci bir teklif gidebiliyor. Eğitmen ikincisini de kabul edince ekran sunucu hatası veriyor ve cevabı kayboluyordu: aynı eğitim–eğitmen çifti veritabanına ikinci kez yazılamıyor.",
                        "Artık ikinci kabul hata vermiyor; teklif kabul edilmiş sayılıyor ve atama tek satır olarak kalıyor. Duran satır ilk atamadır — eğitimi fiilen kadrolayan teklifi ve teyit anını o taşır.",
                        "Aynı çökme, ofis «seçim» modunda zaten atanmış bir eğitmeni seçtiğinde de oluşabiliyordu; o yol da aynı şekilde düzeltildi."
                    ]
                }
            }
        },
        {
            "title": "Tutarsız test: bildirim adresi kontrolü zar atışına bağlıydı",
            "tickets": [
                "EGT-185"
            ],
            "changes": {
                "altyapi": {
                    "fixed": [
                        "Bir bildirim testi, adresin eğitim numarasını taşımadığını «adresin içinde /8 geçmesin» diyerek kontrol ediyordu. Opak jeton rastgele üretiliyor ve 8 ile başlayan bir jeton (`/egitimler/8EudCFd...`) bu kontrolü düşürüyordu — yani doğru çalışan bir bağlantı yüzünden test kırılıyordu.",
                        "Kontrol artık adresin son parçasının tamamına bakıyor: numaraya eşit olmamalı ve sayı biçiminde olmamalı. Kırılma sebebi ortadan kalktı, testin yakaladığı asıl hata (bağlantıya veritabanı numarası yazılması) yakalanmaya devam ediyor."
                    ]
                }
            }
        }
    ]
}
