İçeriğe geç

Heading ve haşiye 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-headings-1+tr-notes-1

Bu belge ilk tr-headings-1 / tr-notes-1 paket zincirini anlatır. Güncel ortak okuyucudaki 831 açıklamalı tr-notes-2 katmanı, eski kimlikleri ve paketleri koruyarak ayrıca eklenir. Kurulum, kapsam ve API ayrımı için kaynak notları ve okuyucu belgesine bakın.

Kaynakta işaretlenmiş cümle içi seçimler artık tr-segments-1 ile aynı standart kurulum zincirine dahildir. 16.986 kayıt, sabit kimlikler ve 2.610 parent bağı için segmentler ve iç içe seçimler belgesine bakın.

tr-headings-1 ve tr-notes-1, kabul edilmiş başlık ve haşiye/not authority’lerini iki ayrı immutable public release olarak dağıtır. Paketler core metni kopyalamaz veya değiştirmez. Her kayıt tr-latn-1 içindeki stable cümle kimliğine ve Unicode scalar aralığına bağlıdır.

Bu ayrım şu özellikleri sağlar:

  • Heading veya haşiye düzeltmesi yeni bir annotation release ile yapılabilir; core release kimliği değişmez.
  • Frontend içindekiler ağacını ve haşiye gövdelerini kaynak metnin exact koordinatlarından oluşturur.
  • Aynı stable anchor kimlikleri gelecekte atıf, arama ve çok dilli projection katmanları tarafından paylaşılabilir.
  • Contributor kurulumu maintainer çalışma tablolarına veya raw kaynaklara ihtiyaç duymaz.
Release Stable authority İçerik Package root
tr-headings-1 211d0fd2-af0d-504f-8ae2-db65cde9a0ba 6.636 heading, 290 chapter 987aeb936edf633cb6be1ce1e25a7e71ef97fa66036189088dc8608c2384a681
tr-notes-1 91b389ef-fe8d-5d6c-8ced-ea6c50928054 353 ilişki, 1.442 span, 353 selection, 1 açık kaynak boşluğu b7bbe5518d79ba9eb85f8dedb1b48ad52c11825991ea7619823cfc46bbbc2811

Heading release ayrıca 5.421 parent edge ve 1.215 kök heading taşır. Note release’deki tek boşluk sessizce uydurulmuş bir eşleşme değildir; note_coverage_gaps içinde source_gap olarak korunur.

Makinece okunabilir descriptor’lar:

data/releases/tr-headings-1.json
data/releases/tr-notes-1.json

Public content-addressed paketler:

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

İki release aynı stable anchor namespace’ini kullanır:

Alan Değer
Core release 01ed3cae-2632-5141-b8ab-0f04eb232f3b
Core root 3a9863674dfc5837aa443b92696a56e0e769c55ba1403de2659c89bf60cc166a
Text version a2fe8b6d-5b13-57e4-9a07-b56511370814
Coordinate profile unicode-scalar-half-open-v1
Identity key tr-2026-v1/shared-anchors-v1

Anchor kimliği yalnız cümle ve [start_scalar, end_scalar) geometry’sinden ibaret değildir. Paket; seçili metnin scalar sayısını, UTF-8 byte sayısını ve SHA-256 witness’ını da doğrular. Aynı UUID altında farklı metin veya geometry kabul edilmez.

Shared bootstrap iki geçerli yaşam döngüsüne sahiptir:

  1. Temiz public kurulumda bootstrap açıktır. Osmanlıca, lexical, alignment, heading, haşiye ve passage release’leri aynı namespace’e doğrulanmış stable anchor’lar ekleyebilir.
  2. Kabul edilmiş full authority veritabanında bootstrap kapalı olabilir. Bu durumda installer yalnız exact olarak mevcut anchor’ları yeniden kullanır. Kabul edilmiş kapalı envanter 1.466.222 entity ve b71fca004dfdf0c1934263e66589d51711d4eb955c788d281e75d63ae01a61a1 root’udur. Kapalı authority’de eksik veya farklı bir anchor bulunursa kurulum fail-closed davranır; closure gevşetilmez.

Bu nedenle başka bir geçmişten gelmiş kapalı veritabanı, release’in bütün exact anchor’larını taşımıyorsa inplace yayın hedefi değildir. Doğru yol temiz release zinciriyle yeni kurulum ve kontrollü ortam geçişidir.

Heading paketi structural_control.heading_releases, publication contract ve structural_control.headings kayıtlarını yayımlar. Her heading marker_span_id ile anchor_control.text_spans kaydına bağlıdır. Parent ve coverage sınırları stable heading kimlikleriyle saklanır.

Haşiye paketi aşağıdaki yapıyı kullanır:

Yapı Rol
note_control.note_releases Immutable note authority kaydı.
note_control.notes Marker ile body arasındaki kabul edilmiş ilişki.
note_control.note_markers Core metindeki haşiye işareti span’i.
note_control.note_bodies Bir veya daha fazla span’den oluşan body selection’ı.
anchor_control.text_selection_members Body içindeki span sırası.
note_control.note_coverage_gaps Kaynakta çözülemeyen açık boşluk.

Paket publisher’ları tablolara doğrudan serbest INSERT yapmaz. Migrationlarda tanımlı owner/publisher fonksiyonlarını staging tabloları üzerinden çağırır; constraint, authority ve RLS sınırları korunur.

Normal contributor yalnız yayımlanmış paketleri kurar. Maintainer, kabul edilmiş kaynak authority’den iki paketi birlikte üretir:

Terminal window
node scripts/releases/build-structural-releases.mjs \
--source-root /absolute/accepted/source \
--output /absolute/output \
--published-at YYYY-MM-DD

Builder source manifest ve stream checksum’larını okumadan veri üretmez. TSV stream’ler canonical sırada yazılır, zstd ile sıkıştırılır ve package root bütün manifest üzerinden hesaplanır. Aynı source aynı package root’u üretmelidir.

R2 yayını release başına yapılır:

Terminal window
node scripts/releases/publish-structural-release.mjs \
--release-id tr-headings-1 --package /absolute/output
node scripts/releases/publish-structural-release.mjs \
--release-id tr-notes-1 --package /absolute/output

Publisher var olan objeyi overwrite etmez; önce ve sonra byte sayısı ile SHA-256 değerini geri okuyarak doğrular.

Yerel kurulum:

Terminal window
make db-install-structure

Hosted maintainer kurulumu:

Terminal window
make db-remote-install-structure

Installer heading’i note release’inden önce kurar, her importu tek transaction içinde tamamlar ve aynı release kuruluysa stream göndermeden envanteri doğrular. Sonra immutable API deployment zincirinde önce heading, ardından note binding’ini aktive eder. Aktif İngilizce alignment reader operation’ı yeni structural deployment’a additive olarak yeniden bağlanır. Kurulu compact passage reader da yeni active deployment’a yeniden bağlanır.

Tam temiz public zincir:

Terminal window
make db-rebuild-data

Sıra; core, target render, Osmanlıca/lexical annotation, alignment, structural heading/haşiye ve canonical passage release’idir. Full corpus verification bu normal kurulum komutuna eklenmez.

Aktif deployment aşağıdaki reader yüzeylerini birlikte sunar:

  • chapter heading projection’ı ve içindekiler ağacı;
  • marker/body ilişkisiyle chapter haşiyeleri;
  • core reconstruction ve token/Osmanlıca hover;
  • Türkçe-İngilizce sentence alignment;
  • repetition ve passage lineage.

Frontend heading metnini veya haşiye gövdesini ikinci bir serbest metin kaynağı olarak kabul etmez. Görünür metin stable span/selection üyelerinden, core reconstruction sırası korunarak alınır. Böylece structural katmanlar reader’a işaretleme ekler fakat chapter byte’larını değiştiremez.

Haşiye reader’ı 20260901190000_f11_020_chapter_note_projection migration’ıyla chapter-first çalışır. Önce chapter marker’larından note kimlikleri seçilir, yalnız sonra ilgili marker ve body metinleri exact span/selection’lardan reconstruct edilir. Bu değişiklik immutable authority satırlarını değiştirmez. Hosted kabulünde boş bir chapter 605 ms, 57 haşiyeli en yoğun chapter 1.703 ms içinde 200 / available dönmüştür; önceki global projection boş chapter’da dahi timeout oluyordu.

Bir successor release gerektiğinde mevcut stable release ve R2 prefix’i yerinde değiştirilmez. Yeni semantic authority, yeni descriptor ve yeni content-addressed package yayımlanır; API deployment pointer’ı atomik olarak yeni release’e geçirilir.