İçeriğe geç

Veri release'leri

Geliştirme · 1.0.0

Yayın

Doküman
1.0.0
Uygulama
1.0.0
Şema
1
Veri
tr-latn-1

Bu sayfa

Uygulama
1.0.0
Şema
1
Veri
tr-latn-1

tr-latn-1, ilk immutable Türkçe Latin core corpus release’idir:

Kayıt Sayı
Kitap 15
Chapter 298
Paragraf 47.496
Cümle 119.149
Token form 119.089
Token occurrence 1.696.548

Full archive Git’e commit edilmez. Public object storage adresi ve exact SHA-256 değeri repository kökündeki data/releases/tr-latn-1.json manifestinde yayımlanır.

Canonical release zarfı https://data.munderecat.com/releases/tr-latn-1/ altında yayımlanır. Archive, public provenance sidecar’ları, data notice, lisans, manifest ve SHA256SUMS aynı immutable release prefix’inin üyeleridir. Prefix Cloudflare R2 üzerinde süresiz overwrite/delete kilidiyle korunur; r2.dev erişimi açık değildir.

Archive doğrudan indirilebilir:

Terminal window
curl -fLO https://data.munderecat.com/releases/tr-latn-1/corpus-release-v1.tar.zst
printf '%s %s\n' \
208bd4be6eece4f2322d954fe33d408946639773dc19f2717ae0dc410c3b337c \
corpus-release-v1.tar.zst | shasum -a 256 -c -

Osmanlıca, lexical, heading, haşiye, tekrar ve alignment katmanları core archive’a gömülmez. Her biri core root ve stable koordinatlara bağlı ayrı immutable package olarak sürümlenir. Böylece annotation düzeltmesi tr-latn-1 kimliğini değiştirmez.

İlk annotation zinciri şu sıradadır:

  1. tr-latn-1: exact Latin core ve stable occurrence koordinatları.
  2. tr-ottoman-1: core koordinatlarına bağlı Osmanlıca reader output ve unit’leri.
  3. tr-lexical-1: Osmanlıca release’ine de bağlı terkip, kök, lügat ve hover projection’ları.
Release Referans paket Compiled taşıma Compiled satır
tr-ottoman-1 137,6 MB 221,7 MB 2.399.720
tr-lexical-1 748,9 MB 556,9 MB 7.260.584

Makinece okunabilir zarflar data/releases/tr-ottoman-1.json ve data/releases/tr-lexical-1.json dosyalarındadır. Bu zarflar paket kökünü, dosya checksum’larını, exact üst release bağımlılıklarını ve beklenen yayın envanterini taşır. Referans JSONL package’ları maintainer_archive sınıfındadır; public ve normal kurulum yüzeyi content-addressed compiled artifact’lerdir.

Güncel kurulum varsayılanı en-target-render-3dür: 298 bölümün 189’u okunabilir. Installer 1 -> 2 -> 3 zincirini takip eder. Aşağıdaki en-target-render-1 tablosu ilk yayının tarihsel envanteridir. Scope düzeltmeleri ve kalan kapsam için İngilizce okuma kalitesi belgesine bakın.

en-target-render-1, exact İngilizce kaynak kitaplarını canonical Türkçe chapter kimliklerine bağlayan bağımsız reader release’idir:

Kayıt Sayı
Kaynak kitap 10
Chapter envanteri 298
Exact İngilizce metin 179
Henüz çevrilmemiş 12
İngilizce kaynak kapsamında değil 107

Public paket https://data.munderecat.com/releases/en-target-render-1/ altındadır; makinece okunabilir release zarfı data/releases/en-target-render-1.json dosyasında tutulur. Taşıma paketi iç filesystem yolları veya legacy çalışma kayıtları taşımaz. Exact metin gösterilmeden önce UTF-8 byte sayısı, Unicode scalar sayısı ve SHA-256 witness’ı doğrulanır.

Yerel kurulum:

Terminal window
make db-install-target

Hosted kurulum:

Terminal window
make db-remote-install-target

Installer aynı release kuruluysa veri göndermeden envanteri doğrulayıp çıkar. Target render chapter düzeyinde exact okuma sağlar; cümle düzeyindeki Türkçe-İngilizce ilişki ayrı alignment release’inde yayımlanır.

Güncel kurulum varsayılanı en-alignment-10dur. Aşağıdaki sayımlar ve adresler korunan en-alignment-2 tarihsel yayınına aittir; güncel successor data/releases/en-alignment-10.json dosyasında tanımlanır. Kaynak öncelikli cümle sınırları, başlık/alıntı ayrımı ve açık karşılık yoklukları düzeltme notunda belgelenir. Kurulum varsayılanının okuyucunun seçtiği alignment kimliğiyle eşleşmesi ayrıca test edilir.

en-alignment-2, 52.946 Türkçe source unit ile 49.770 İngilizce target unit’i 33.937 kabul edilmiş many-to-many group üzerinden bağlar. 188 aday ve bunlara bağlı kapsam açıkça unresolved kalır. Exact İngilizce kitap byte’ları pakette çoğaltılmaz; target unit’ler kurulu en-target-render-1 kaynağındaki byte/scalar aralıklarına ve SHA-256 witness’larına bağlıdır.

Public package ve makinece okunur zarf:

https://data.munderecat.com/releases/en-alignment-2/package-6dd57f826860596e9199cac287e71eaed6ec7bd70d755d182bc8291d2af98756/
data/releases/en-alignment-2.json

Successor release UUID’si ce9c424b-13b6-5ea5-b36a-ed80f49fd3fa, DB publication root’u b70e5c42642fbb90eaebed1622c3beae51c930d59b842274df603f61754ffdd9 ve bu yayının alignment deployment’ı c79ff225-559d-5d27-b06c-de359137085b’dir. en-alignment-1 ve deployment’ı silinmez; explicit deployment ID ile okunabilir. Temiz veritabanında installer seçilen release’in predecessor descriptor zincirini bulur, eksik sürümleri sırayla kurar ve kanal pointer’ını seçilen sürüme geçirir. Kurulu sistemde doğrulanmış predecessor yeniden yüklenmez.

Yerel ve hosted kurulum:

Terminal window
make db-install-alignment
make db-remote-install-alignment

tr-headings-1, 290 chapter içindeki 6.636 kabul edilmiş heading’i; tr-notes-1 ise 353 haşiye ilişkisini ve bunların 1.442 stable span’ini ayrı immutable paketler olarak yayımlar. İki release de aynı tr-latn-1 core root’una ve tr-2026-v1/shared-anchors-v1 anchor namespace’ine bağlıdır; core metni kopyalamaz veya değiştirmez.

Public paketler ve descriptor’lar:

https://data.munderecat.com/releases/tr-headings-1/package-987aeb936edf633cb6be1ce1e25a7e71ef97fa66036189088dc8608c2384a681/
https://data.munderecat.com/releases/tr-notes-1/package-b7bbe5518d79ba9eb85f8dedb1b48ad52c11825991ea7619823cfc46bbbc2811/
data/releases/tr-headings-1.json
data/releases/tr-notes-1.json

Yerel ve hosted kurulum:

Terminal window
make db-install-structure
make db-remote-install-structure

Kimlik, anchor lifecycle, ilişkisel tablolar ve API aktivasyon ayrıntıları Heading ve haşiye release’leri belgesindedir.

tr-passage-1, kabul edilmiş repetition, exact-display ve passage lineage authority’sinin compact public projection’ıdır. 18 zstd stream içinde 256.934 satır taşır; transport boyutu 9.657.549 byte’dır. Stable repetition, exact-display ve lineage kimlikleri değişmez, core metin kopyalanmaz.

Public package ve makinece okunur zarf:

https://data.munderecat.com/releases/tr-passage-1/package-fe2d222cc4220f8484dbff81f803f68100676df8d03414f816463d3c251f7414/
data/releases/tr-passage-1.json

Yerel ve hosted kurulum:

Terminal window
make db-install-passage
make db-remote-install-passage

Model, source/reader authority ayrımı ve doğrulama sonuçları Canonical passage release belgesindedir.

make db-rebuild-data sırasıyla core, target-render, annotation, alignment, heading/haşiye ve canonical-passage release’lerini kurar. Veri modeli, RPC ve atıf etkisi Çok dilli alignment belgesinde açıklanır. Yeni dil ve successor paket protokolü Yeni dil release akışında adım adım verilir.

İndirilen artifact yalnız manifestteki checksum doğrulandıktan sonra import edilmelidir. Raw SQLite veya database dump release formatı değildir.

Docker ve zstd 1.5+ hazırken public artifact’i doğrudan yerel Supabase’e kurabilirsiniz:

Terminal window
make db-install-core

Installer archive boyutunu ve SHA-256 değerini, package manifestini, core stream checksum’larını ve satır sayılarını doğrular. Kayıtları geçici tablolara stream eder; migration içindeki publisher fonksiyonunu tek transaction içinde çalıştırır. Her chapter’ın exact reconstruction sonucu doğrulanmadan transaction commit edilmez. Hata halinde kısmi core yayınlanmaz.

Temiz migration zinciri üzerinde yeniden üretilebilirlik testi için:

Terminal window
make db-rebuild-core

Bu komut yalnız munderecat-local veritabanını sıfırlar. Archive .cache/ altında tekrar kullanılabilir. Geliştirici daha önce doğrulanmış yerel archive’ı özellikle seçmek isterse aynı importer’a açıkça yol verebilir:

Terminal window
MUNDERECAT_CORE_ARCHIVE=/absolute/path/corpus-release-v1.tar.zst \
make db-install-core

Core’dan sonra public annotation paketlerini kurmak için:

Terminal window
make db-install-annotations

Installer önce Osmanlıca, sonra lexical release’i kurar. Katmanlar ayrı incelenirken make db-install-ottoman ve make db-install-lexical komutları kullanılabilir. Varsayılan yol public, content-addressed compiled relational artifact’leri indirir. Her dosyanın taşıma ve açılmış stream SHA-256 değeri, kolon sözleşmesi, exact release bağımlılıkları ve beklenen DB envanteri doğrulanır. İndirme .cache/munderecat/releases/ altında kalır.

Compiled release şu güvenlik sınırında kurulur:

  • Tüm import tek transaction’dır; hata kısmi yayın bırakmaz.
  • PK, FK, unique, CHECK ve kayıt üreten identity/endpoint trigger’ları çalışır.
  • FORCE RLS yalnız transaction içinde tablo sahibi için gevşetilir ve committen önce özgün haline getirilir.
  • Referans DB’de zaten kabul edilmiş satır-başı semantic validation ve closure trigger’ları compiled bulk yükte seçili olarak tekrar çalıştırılmaz.
  • Bu bypass yalnız checksum ile kilitli compiled artifact formatına aittir; normal SQL yazma yollarını etkilemez.
  • Committen sonra sabit release ID’leri, package root’ları, kayıt sayıları ve hover envanteri yeniden okunur.

Temiz local kabul ölçümü (2026-08-27):

Aşama Süre
Migration reset 16 sn
tr-latn-1 core 2 dk 8 sn
tr-ottoman-1 compiled 2 dk 12 sn
tr-lexical-1 compiled 5 dk 30 sn
Toplam yaklaşık 10 dk

Kurulu veritabanında make db-install-annotations idempotent no-op’tur; kabul ölçümünde 0,78 saniye sürmüştür. Süreler donanıma göre değişir.

Tam Osmanlıca chapter reconstruction witness kontrolü normal geliştirici kurulumundan ayrıdır:

Terminal window
make db-verify-annotations

Bu komut release kabulü veya migration değişikliği içindir. UI ve dokümantasyon çalışmalarında çalıştırılmaz.

Hosted yayın normal contributor akışı değildir. Maintainer önce boş veya bu release zinciriyle uyumlu Supabase projesini açar. Veritabanı bağlantısı için Supabase Dashboard/Management API’nin proje için döndürdüğü güncel pooler URI’si kullanılmalıdır; port varsayılmamalıdır. Session mode kullanılabiliyorsa tercih edilir, transaction mode bağlantısı da atomik installer tarafından desteklenir. URI komut satırına, .env dosyasına veya Git’e yazılmaz:

Terminal window
install -d -m 700 "$HOME/.config/munderecat"
umask 077
printf '%s\n' 'postgresql://USER:PASSWORD@POOLER:PORT/postgres?sslmode=require' \
> "$HOME/.config/munderecat/remote-database-url"
export MUNDERECAT_DATABASE_URL_FILE="$HOME/.config/munderecat/remote-database-url"

Migration publisher hosted Supabase’in yönetilen rol sınırı nedeniyle Management API kullanır. Personal access token da aynı biçimde 0600 dosyada tutulur:

Terminal window
umask 077
printf '%s\n' 'SUPABASE_PERSONAL_ACCESS_TOKEN' \
> "$HOME/.config/munderecat/supabase-access-token"
export MUNDERECAT_SUPABASE_ACCESS_TOKEN_FILE="$HOME/.config/munderecat/supabase-access-token"
export MUNDERECAT_SUPABASE_PROJECT_REF='PROJECT_REF'
make db-remote-migrate
make db-remote-config

db-remote-config, Data API’de yalnız api_v1 schema’sını açar. public ve control schema’ları PostgREST yüzeyine eklenmez. Komut Supabase CLI oturumu ister; maintainer bir kez supabase login ile kimlik doğrular.

Ardından veri release’leri seçilen pooler bağlantısı üzerinden kurulur:

Terminal window
make db-remote-install-data
make db-remote-verify-annotations

db-remote-migrate yalnız bekleyen migrationları atomik uygular ve Supabase migration ledger’ına kaydeder. Veri installer’ları da idempotenttir: aynı release kuruluysa streamleri yeniden göndermez, package root ve yayın envanterini okuyup çıkar. Hosted postgres rolündeki kısa statement timeout global olarak değiştirilmez; yalnız kontrollü importer transaction’ında kapatılır.

Tam annotation reconstruction her kurulum veya deploy’da çalıştırılmaz. Yeni bir release’in ilk staging/production kurulumu, restore veya taşıma sonrasında bir kez çalıştırılır. Günlük kabul için hızlı contract kontrolü yeterlidir:

Terminal window
make db-remote-install-annotations

Küçük hosted compute üzerinde ilk büyük yükleme yerel Docker’dan belirgin biçimde yavaştır: artifact indirme yerel cache sayesinde tekrarlanmaz, fakat yüzlerce MB COPY trafiği ve milyonlarca FK/invariant kontrolü sunucuda tamamlanır. Bu maliyet release başına tek seferliktir; normal uygulama başlangıcının parçası değildir.

İlk hosted staging kabulünde gözlenen ölçek ve süreler:

  • Veritabanı yaklaşık 5,3 GiB’dır (5,7 GB decimal); core, Osmanlıca ve lexical yayınların toplamıdır.
  • İlk annotation yayını küçük hosted compute üzerinde yaklaşık iki saat sürmüştür.
  • Kurulu release için idempotent contract kontrolü yaklaşık 11 saniye sürmüştür.
  • 298 chapter’ı tek set tabanlı geçişte doğrulayan tam Osmanlıca witness yaklaşık 11 dakika sürmüştür. Eski chapter başına çağrı biçimi kullanılmaz.
  • Aynı API deployment’ında core, Osmanlıca ve hover RPC’leri gerçek PostgREST üzerinden 200 / available sonucu vermiştir.

Bu değerler kapasite ve ağ koşuluna göre değişir. Hover projection için sentence-first ve covering erişim indeksleri zorunludur. API v1.10 compact hover response’u parent Latin/Osmanlıca metnini tekrar taşımaz; frontend bu metni aynı deployment’ın Ottoman unit’inden unit_id ile alır. İlk hosted kabul ölçümünde:

Chapter Binding / child Response Süre
Tipik kabul chapter’ı 1.272 / 660 969.351 byte 1,76 sn
Büyük chapter 5.500 / 3.051 4.420.762 byte 7,27 sn

Önceki projection aynı chapter’larda yaklaşık 10 ve 17 saniye sürüyordu. Kayıt sayıları değişmemiş, eski pinned v1.3 deployment’ın response şekli korunmuştur. Bu sonuçla chapter-level payload cache zorunlu sonraki adım değildir; gerçek trafik ölçümü yeniden ihtiyaç göstermedikçe ek cache authority’si kurulmaz.

2026-09-01 temiz hosted kabulünde 84 migration ve bütün public reader release zinciri sıfırdan kuruldu. pg_database_size sonucu 6.226.201.747 byte oldu; legacy repetition/lineage authority tabloları boş, replication slot sayısı sıfır kaldı. Tam installer ikinci çalışmada bütün katmanları already_installed/already_active olarak tanıdı ve hiçbir stream göndermedi. Supabase panelindeki provisioned veya physical disk yüzdesi bu mantıksal boyutla aynı ölçüm değildir; WAL ve provider reclaim gecikmesi nedeniyle daha yüksek görünebilir. Reset kararı yalnız panel yüzdesine göre verilmemelidir.

Maintainer, daha önce kabul edilmiş yerel compiled package dizinlerini açıkça seçebilir:

Terminal window
MUNDERECAT_OTTOMAN_COMPILED_PACKAGE=/absolute/path/tr-ottoman-1 \
MUNDERECAT_LEXICAL_COMPILED_PACKAGE=/absolute/path/tr-lexical-1 \
make db-install-annotations

Referans publication package’ları ise yalnız yeni compiled release üretimi ve reproducibility kabulü için kullanılır:

Terminal window
MUNDERECAT_ANNOTATION_MODE=reference \
MUNDERECAT_OTTOMAN_PACKAGE=/absolute/path/ottoman-reader-publication-v1 \
MUNDERECAT_LEXICAL_PACKAGE=/absolute/path/lexical-publication-v1 \
make db-install-annotations

Reference importer gzip streamlerini tek geçişte checksum ve satır sayısıyla doğrular, geçici tablolara COPY eder ve migration içindeki deterministik publisher’ı transaction içinde çalıştırır. Bu yol temiz veritabanında reproducibility ve yeni release kabulü içindir; normal local veya production dağıtım yolu değildir. İlk lexical referans yayını yaklaşık 130 dakika sürerken compiled kurulum 5 dakika 30 saniye sürmüştür. Reference publisher compiled artifact’in doğruluk oracle’ı olarak korunur.