İçeriğe geç

Canonical passage release

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-passage-1

tr-passage-1, kabul edilmiş tekrar, exact-display ve passage lineage authority’sini okuyucunun ihtiyaç duyduğu ilişkisel alt kümeye dönüştüren ilk immutable public release’dir. Core metni yeniden üretmez; tr-latn-1 içindeki kitap, chapter, paragraf, cümle, token occurrence veya metin sırasını değiştirmez.

Bu ayrım iki ihtiyacı birlikte karşılar:

  • Kaynak değerlendirme sistemi; adaylar, review kanıtları ve üretim ara tablolarıyla ayrıntılı kalabilir.
  • Contributor kurulumu ve production reader yalnız kabul edilmiş sonucu taşır; kaynak authority’nin çok büyük çalışma tablolarını yeniden kurmak zorunda kalmaz.

Compact release yeni reader kayıtları üretse de dışarıya görünen kabul edilmiş kimlikleri aynen korur:

Authority Stable kimlik
Repetition 46fcbe1c-573f-5967-86ab-ae00cdafadc7
Exact display 5218da1c-3170-5bb2-80ac-a7852ece7efb
Passage lineage 01a0592a-931e-7b44-8cbd-bbc66cecf8d4

66ad54ba-15cb-58dd-a4e9-1870f33f0ab2 ise bu üç authority’nin compact reader projection kimliğidir. API cevaplarında repetition ve lineage kimlikleri eski kabul edilmiş stable değerler olarak kalır. Atıflar, URL’ler ve frontend durumları yeni bir nesneye yönlendirilmez.

Release descriptor’ı data/releases/tr-passage-1.json dosyasındadır. Descriptor; core release ve text version bağımlılığını, kaynak authority köklerini, package root’unu, stream checksum’larını ve beklenen tablo sayılarını kilitler.

Yeni ortak Content API ve web/mobil okuyucu bağlantısının güncel kapsamı, pasaj okuyucu çalışma notunda izlenir. Aşağıdaki RPC envanteri DB katmanını anlatır; tek başına yeni okuyucuda veya production’da bütün özelliklerin açık olduğu anlamına gelmez.

Paket 18 compact tabloyu bağımlılık sırasıyla kurar.

Tablo Rol
anchor_control.reader_text_spans Stable core koordinatındaki kesintisiz metin aralığı.
anchor_control.reader_text_selections Bir veya daha fazla span’den oluşan seçim.
anchor_control.reader_text_selection_members Seçim içindeki span sırası.

Span ve selection metni core reconstruction üzerinden doğrulanır. Paket kendi metin kopyasını authority saymaz.

Tablo Rol
repetition_control.reader_exact_classes Byte ve koordinat eşitliği kabul edilmiş exact sınıf.
repetition_control.reader_exact_occurrences Sınıfın corpustaki stable occurrence kaydı.
repetition_control.reader_exact_occurrence_spans Occurrence ile ordered span geometry ilişkisi.
repetition_control.reader_display_chains Reader’da birlikte gösterilecek exact zincir.
repetition_control.reader_display_duplicates Gösterimde bastırılacak doğrulanmış duplicate çifti.

Yakın benzerlik adayları bu public pakete girmez. Exact sınıf üyeliği normalize edilmiş benzerliğe değil kabul edilmiş source koordinatlarına dayanır.

Tablo Rol
lineage_control.reader_passage_identities Kanonik passage kavramı.
lineage_control.reader_passage_placements Passage’ın belirli bir yerdeki korunmuş görünümü.
lineage_control.reader_placement_memberships Placement ile exact/selection dayanağı arasındaki bağ.
lineage_control.reader_lineage_edges Passage’lar arasındaki yönlü köken ilişkisi.
lineage_control.reader_compilation_* Derleme kapsamı, üyeleri ve bölgeleri.

Bir placement’ın metin farkı kaybolmaz. Lineage, iki metni tek satıra çevirmek yerine aynı kanonik passage’a ait farklı placement’lar olarak ilişkilendirir.

api_control.repetition_reader_bindings_v1 ve api_control.lineage_reader_bindings_v1, compact release’i mevcut API deployment’ına bağlar. Binding root’ları release kimlikleri ve source root’lar üzerinden deterministik hesaplanır. Aynı deployment için farklı içerik sessizce yerine geçirilemez.

Mevcut public RPC şekli değişmemiştir:

  • api_v1.get_chapter_repetitions_v1: chapter içindeki exact tekrarları ve display durumunu verir.
  • api_v1.list_repetition_members_v1: bir exact sınıfın geçtiği yerleri signed cursor ile sayfalar.
  • api_v1.get_chapter_lineage_v1: chapter içindeki passage placement, lineage edge ve compilation bağlarını verir.
  • api_v1.list_passage_identity_placements_v1: aynı kanonik passage’ın bütün korunmuş placement’larını listeler.

Resolver önce aktif compact binding’i kullanır. Compact binding yoksa mevcut full authority yoluna düşebilir; bu geçiş eski kurulumların API’sini bozmaz. Compact binding varsa eski büyük tablolar reader request yolunda okunmaz.

Frontend bu sözleşmeyle tekrar rozetini, “konumları göster” listesini ve passage lineage bilgisini alır. API pagination ve stable kimlik taşıdığı için tüm üyeler tek response’a yüklenmez; sonraki sayfa aynı imzalı cursor ile istenir.

Public package content-addressed bir R2 prefix’indedir:

https://data.munderecat.com/releases/tr-passage-1/package-fe2d222cc4220f8484dbff81f803f68100676df8d03414f816463d3c251f7414/
Ölçü Değer
Stream 18
Satır 256.934
Açılmış JSONL 41.502.811 byte
Toplam taşıma 9.657.549 byte
Package root fe2d222cc4220f8484dbff81f803f68100676df8d03414f816463d3c251f7414

Yerel kurulum:

Terminal window
make db-install-passage

Tüm public reader zincirini temiz veritabanına kurmak için:

Terminal window
make db-rebuild-data

Hosted maintainer kurulumu:

Terminal window
make db-remote-install-passage

Installer manifest ve her stream’in taşıma/açılmış SHA-256 değerini, kolon sözleşmesini, core bağımlılığını ve satır sayılarını doğrular. Yükleme tek transaction’dır; projection doğrulaması ve binding tamamlanmadan commit edilmez. Hata kısmi kurulum bırakmaz. Aynı release yeniden çalıştırıldığında stream indirmeden ve göndermeden kurulu envanteri doğrulayıp already_installed döner.

Temiz alignment kurulumunda seçilen successor’ın predecessor descriptor’ları da otomatik bulunup sırayla kurulur. Böylece db-rebuild-data, yalnız son alignment descriptor’ı seçili olsa bile eksiksiz publication lineage üretir.

Paket üretilirken full authority ile aşağıdaki projection’lar karşılaştırılmıştır:

  • exact class ve occurrence üyeliği;
  • occurrence-span ve selection geometry;
  • chapter lineage projection’ı;
  • 142 passage identity’nin placement projection’ı.

Tüm mismatch sayaçları sıfırdır. Son kabul ayrıca şunları doğrulamıştır:

  • temiz migration zincirinde tüm public release’lerin baştan kurulması;
  • ikinci passage kurulumunun idempotent no-op olması;
  • local ve hosted binding root’larının aynı olması;
  • local PostgREST ve hosted Data API’de repetition, pagination ve lineage çağrılarının available dönmesi;
  • local browser ve Access korumalı production reader’da 20 üyeli ilk konum sayfasının açılması.

Makinece okunabilir kabul kaydı reports/releases/tr-passage-1-verification.json dosyasındadır.

Temiz public kurulumdaki 18 compact relation yaklaşık 79 MB’dır. Hosted veritabanında daha önce üretilmiş full authority ve review tabloları korunuyorsa toplam disk bundan büyük görünür. Bunlar compact installer’ın gereksinimi değildir ve yeni contributor kurulumlarına taşınmaz.

Eski authority tablolarının kaldırılması bu release’in parçası değildir. Önce ayrı immutable maintainer archive, restore provası ve açık bir decommission kararı gerekir. Reader yayınını kurmak hiçbir eski authority satırını silmez.

Yeni passage package yalnız source authority kabulü değiştiğinde üretilir:

Terminal window
node scripts/releases/build-passage-release.mjs \
--output /absolute/output/path \
--published-at YYYY-MM-DD
node scripts/releases/publish-passage-release.mjs \
--release-id tr-passage-1 \
--package /absolute/output/path

Build yolu normal contributor akışı değildir; kabul edilmiş full authority’ye erişen maintainer ortamında çalışır. Release yayımlandıktan sonra aynı kimlik ve prefix overwrite edilmez. Bir düzeltme yeni descriptor, yeni package root ve gerekiyorsa successor reader release kimliğiyle yayımlanır.