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 envanteri
Bölüm başlığı “Release envanteri”| 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.jsondata/releases/tr-notes-1.jsonPublic content-addressed paketler:
https://data.munderecat.com/releases/tr-headings-1/package-987aeb936edf633cb6be1ce1e25a7e71ef97fa66036189088dc8608c2384a681/https://data.munderecat.com/releases/tr-notes-1/package-b7bbe5518d79ba9eb85f8dedb1b48ad52c11825991ea7619823cfc46bbbc2811/Shared anchor authority
Bölüm başlığı “Shared anchor authority”İ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:
- 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.
- 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
b71fca004dfdf0c1934263e66589d51711d4eb955c788d281e75d63ae01a61a1root’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.
İlişkisel model
Bölüm başlığı “İlişkisel model”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.
Build ve yayın
Bölüm başlığı “Build ve yayın”Normal contributor yalnız yayımlanmış paketleri kurar. Maintainer, kabul edilmiş kaynak authority’den iki paketi birlikte üretir:
node scripts/releases/build-structural-releases.mjs \ --source-root /absolute/accepted/source \ --output /absolute/output \ --published-at YYYY-MM-DDBuilder 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:
node scripts/releases/publish-structural-release.mjs \ --release-id tr-headings-1 --package /absolute/outputnode scripts/releases/publish-structural-release.mjs \ --release-id tr-notes-1 --package /absolute/outputPublisher var olan objeyi overwrite etmez; önce ve sonra byte sayısı ile SHA-256 değerini geri okuyarak doğrular.
Kurulum ve aktivasyon
Bölüm başlığı “Kurulum ve aktivasyon”Yerel kurulum:
make db-install-structureHosted maintainer kurulumu:
make db-remote-install-structureInstaller 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:
make db-rebuild-dataSı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.
API ve frontend
Bölüm başlığı “API ve frontend”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.