İçeriğe geç

Osmanlıca ve lexical mimari

Geliştirme · 0.0.0-dev

Yayın

Doküman
0.0.0-dev
Uygulama
0.0.0

Bu sayfa

Uygulama
0.0.0
Şema
f8-007-entity-occurrences-v1
Veri
ottoman-reader-publication-v1-full+lexical-publication-v1-full

Bu katman, immutable Latin corpusun exact token ve span kimliklerine Osmanlıca yazım, lexical çözüm, terkip sınırı, kök ve lügat anlamı bağlar. Bu veriler aynı okuma biriminde buluşabilir; fakat hiçbiri canonical metnin, diğerinin veya UI sunumunun yerine geçmez.

Normatif core/annotation sınırı ADR-001’de, kimlik ve supersession sözleşmesi ADR-002’de, kaynak kapanışı ADR-006’da ve production curation yaşam döngüsü ADR-007’de tanımlanır. Bu rehber mevcut private DB authority’lerini, kabul edilmiş veri paketlerini ve bunların versioned public reader/lookup projection’larını açıklar.

flowchart LR
  accTitle: Osmanlıca ve lexical veri akışı
  accDescr: Immutable Latin token occurrence ve shared span, birbirinden ayrı Osmanlıca rendering, lexical çözüm, compound ve dictionary authoritylerine bağlanır; release seçimleri reader ve lookup çıktısını üretir.
  core[immutable Latin core] --> occurrence[token occurrence]
  core --> span[shared text span]
  occurrence --> pattern[mapping pattern]
  pattern --> output[Ottoman pattern output]
  output --> rendering[rendering occurrence]
  span --> rendering
  rendering --> genericReader[generic span reader fixture]
  occurrence --> publishedOccurrence[compact published reader occurrence]
  output --> publishedOccurrence
  publishedOccurrence --> publishedRelease[published reader release]
  occurrence --> analysis[form analysis]
  analysis --> lexeme[lexeme and form]
  lexeme --> root[root assertion]
  span --> compound[compound occurrence]
  occurrence --> compound
  lexeme --> selection[lexical release selection]
  root --> selection
  compound --> selection
  dictionary[dictionary sense evidence] --> selection
  selection --> lookup[exact semantic root lookup]

Model aynı metin parçası için altı ayrı soruyu cevaplar:

Soru Authority Kimliği ne anlatır?
Latin kaynakta neresi? public.token_occurrences, anchor_control Exact occurrence ve half-open span
Osmanlıca nasıl eşleşir ve yazılır? ottoman_control pattern/form/output Latin path, raw script ve display script
Bir release’te hangi Osmanlıca uygulanır? published_reader_occurrences ve published reader release Stable token sınırı, uygulama, sıra ve coverage durumu
Kelime hangi lexical varlıktır ve kökü nedir? lexical_control lexeme/form/root/analysis Dilsel tanım, surface form ve occurrence çözümü
Terkip nerede ve hangi bütün olarak geçer? Compound entry/variant/occurrence/member Semantic bütün, exact varyant ve ordered token rolleri
Hangi anlam gösterilmelidir? Dictionary sense, candidate link ve release selection Kaynak anlam ile bağlam için seçilmiş sonuç

Bu authority’leri tek token -> Ottoman -> root -> meaning satırında birleştirmek homografları, çekimli biçimleri ve iç içe terkipleri belirsiz hale getirir. Örneğin aynı exact yüzey iki lexeme’e ait olabilir; lisan-ı haliyle occurrence’ı lisan-ı hal semantic terkibine bağlanabilir; bütün terkibin anlamı bileşen kelimelerin anlamlarının toplamı değildir.

Kitap, chapter, paragraf, cümle, token occurrence, boşluk, noktalama ve sıralama yalnız public core authority’sindedir. Osmanlıca ve lexical tablolar:

  • core metni kopyalayıp düzeltmez,
  • token sırasını veya cümle sınırını değiştirmez,
  • normalized metin aramasıyla occurrence kimliği üretmez,
  • reconstruction boşluklarını kendi tahminiyle kapatmaz.

Exact occurrence için public.token_occurrences, çok tokenlı veya scalar aralık için anchor_control.text_spans kullanılır. Bir terkip occurrence’ı ve bir Osmanlıca rendering aynı span’ı paylaşabilir; bu paylaşım ikisini aynı domain varlığı yapmaz. Shared span yalnız neresi sorusunun authority’sidir.

Core model ve exact reconstruction ayrıntıları için core veri modelini ve exact reconstruction rehberini okuyun.

Osmanlıca zincirinde pattern tanımı, yazı biçimi, corpus uygulaması ve release birbirinden ayrıdır.

ottoman_control.mapping_patterns, latin-token-path-v1 profiliyle bir veya birden fazla Latin token key’inin exact/pattern yolunu tutar. Quality status ve priority evidence taşır; bunlar tek başına corpus occurrence’ı veya seçilmiş çıktı değildir. Longest-boundary seçimi, accepted terkip sınırlarını koruyarak daha uzun path’in daha dar adaydan önce uygulanabilmesini sağlar.

Yazım üç kayıtta ayrılır:

Kayıt Sorumluluk
display_style_rules Kaynak Arapça preserve veya Osmanlı Türkçesi display mark politikasını tanımlar
orthographic_forms raw_script ile frontend için display_script değerini birlikte, fakat ayrı saklar
pattern_outputs Bir mapping pattern’ı kabul edilmiş form ve style ile bağlar

Bu ayrım, legacy kaynaktaki tam harekeli, harekesiz veya presentation-form içeren değerleri kaybetmeden; display tarafında genel olarak harekesiz, izafet için kesre ve gerektiğinde şedde/hançerî elif kullanan tutarlı bir biçim üretir. Source Arabic değerleri style tahminiyle Osmanlı Türkçesine çevrilmez.

F5-016/F5-017’deki rendering_occurrences, ottoman_releases ve reader_units generic shared-span modelini ve küçük fixture yaşam döngüsünü korur. Bu model farklı scalar annotation türleri için yararlıdır; fakat 1,5 milyondan fazla accepted reader unit’ini span, anchor, rendering ve membership olarak tekrar materialize etmek production reader için gereksiz satır ve join maliyeti oluşturur.

F5-035 production publication yolu bunun yerine iki akışlı minimal bir paket kullanır:

Akış İçerik Tekrar edilmeyen veri
outputs-v1.jsonl.gz Dedupe edilmiş pattern, raw/display form ve style kimlikleri Corpus occurrence’ları
units-v1.jsonl.gz sentence_id, başlangıç/bitiş token pozisyonu, status ve gerekirse output ID Latin metin, generic span ve per-row provenance

publish_ottoman_catalog_from_staging hedef core’dan ilk/son stable token_occurrence ID’lerini çözer. Sonuçları doğrudan published_reader_occurrences içine, tek occurrence satırı ve release içindeki tek position olarak yazar. catalog_package_contracts sıkıştırılmış artifact metadata’sını, ordered row root’larını ve core binding’i; published_reader_releases exact partition root’unu ve status sayılarını saklar. Provenance her occurrence için kopyalanmaz; package assertion ve release evidence bütün immutable inventory’yi topluca bağlar.

Publisher tek transaction’dır ve aynı package için idempotent’tir. Staging shape/owner, satır hashleri, ordered roots, cümle içi gap/overlap, kaynak sırası ve her core token’ın tam bir kez kapsanması insert öncesinde set tabanlı doğrulanır. Hata halinde package, output ve occurrence satırlarının hiçbiri kalmaz. Bu publication core, shared anchor, compound veya lexical authority’yi değiştirmez.

reconstruct_published_ottoman_sentence/paragraph/chapter yalnız canonical veya machine-fallback unit’in token body aralığını display_script ile değiştirir. Son token trailing_text, sentence/chapter başlangıç metni ve sentence/paragraph following_text değerleri core’dan aynen gelir. source_arabic, passthrough ve non-strict unmapped unit exact core body olarak kalır. Strict modda bir unmapped unit varsa sonuç NULL olur.

reader_units, exact token partition üzerinde sonucu şu kapalı statülerden biriyle sınıflandırır:

  • canonical: seçilmiş Osmanlıca rendering,
  • source_arabic: evidence ile kaynak Arapça olarak sınıflandırılmış birim,
  • passthrough: exact core metni bilinçli olarak korunan birim,
  • machine_fallback: render edilebilir fakat yayını bloke eden aday,
  • unmapped: strict okumada boşluk, non-strict okumada Latin fallback.

Script aralığı, normalize key veya text equality bu statülerden birini kendiliğinden seçmez. W01 sample yaşam döngüsü paket formatını, rollback/idempotence’i ve exact punctuation reconstruction’ı kanıtlar. W02, aynı sözleşmenin full corpus yayınını tamamlamıştır.

F5-035-W02 final read-only legacy reader projeksiyonunu kabul edilmiş stable core’a bir kez bağladı. 123.659 kullanılan legacy pattern ve altı abbreviation output’u, aynı deterministic kimliğe çözülen üç tekrar sonrasında 123.662 dedupe output olarak paketlendi. Unit akışının kapanışı şöyledir:

Ölçü Sonuç
Reader unit 1.536.591
Kapsanan token occurrence 1.696.548
Canonical 1.460.496
Source Arabic 70.491
Passthrough 5.604
Machine fallback 0
Unmapped 0

Final DB’de explicit display_ottoman_text bulunan output’lar işaret konumu authority’si olarak kullanılır. Diğer output’larda W01’in deterministik seyrek-hareke dönüşümü uygulanır. Ham değer değişmez; display değerinde yalnız kesre, şedde ve hançerî elif kalır. İşaret kaldırıldıktan sonra ayrık kalan hareke ve boşluklar display’den temizlenir. Source Arabic unit’ler bu dönüşüme girmez. Abbreviation expansion’ların 1.397 occurrence’ı aynı Osmanlı Türkçesi display politikasına bilinçli olarak indirgenmiştir.

Legacy/core crosswalk’ta önceden kayıtlı dört sentence layout delta dışında her Latin cümle exact sealed-core hash’iyle eşleşmiştir. Dört istisna yalnız kendi kayıtlı legacy hash’iyle kabul edilir; genel whitespace toleransı yoktur. Networkless disposable PostgreSQL kanıtında core değişmeden kalmış, atomik release 1.536.591 occurrence ile yayınlanmış ve strict reconstruction 298/298 chapter için dondurulmuş reader baseline’ıyla eşleşmiştir. Baseline, ilk tam legacy projection sonucunu implementation commit’i ve rapor hash’iyle sabitler; sonraki compiler ve DB sonuçları aynı algoritmanın o anda yeniden ürettiği beklenen değere değil bu değişmez listeye karşı ölçülür. Chapter digest root’u b98552537bda16d17c0f1ebf5cf15a2f589ecc97fb5c706efc7a6a677ac26fc9 değeridir.

Full proof yalnız taze legacy extraction kabul eder; mevcut private package’tan resume veya evidence yeniden üretme yolu yoktur. Exact source output ve unit satırları Git’e alınmadan sıralı canonical JSONL digest’lerine katılır. Kabul edilen source projection root’u b4bb2f3b3279d38f64c7e53903bb444e5c1147137419cebc8969138c5d972458, fresh build-evidence root’u badd095b8cba658a146a35d17c48a17aaaa7b7e3c6af6ab5349fc5ed8adb9b2b değeridir. Accepted source manifest SHA-256 kod seviyesinde pinlidir. Reader preflight’i kullanılan dokuz source relation’ın permanent (relpersistence = 'p') olduğunu doğrular; extraction öncesi ve sonrası aynı WAL konumu da bu relation’larda araya giren WAL-producing bir yazımı fail-closed hale getirir. Bu kontrol tek bir exported snapshot iddiası değildir; ordered source projection root’u hangi satır akışının kabul edildiğini ayrıca bağlar.

Full gzip akışları Git dışında private-artifact:F5-035-W02/ottoman-reader-publication-v1 altında tutulur. Sayılar, source/core binding’leri, frozen baseline ve 298 chapter digest’i data/reports/ottoman-publication/full-publication-v1.json repo raporunda kayıtlıdır. Normal runtime legacy DB, SQLite veya source dizinlerini okumaz; F8 API paketi kabul edilmiş reader release’i public sözleşmeyle sarmalayacaktır.

Lexical authority, exact yazılış ile semantic varlığı ayırır:

Kayıt Sorumluluk
lexemes Dil etiketi, canonical label ve lexical tanım payload’ı
lexeme_forms Bir lexeme’in lemma, çekimli biçim, orthographic variant veya diğer exact formu
form_analyses Bir exact core token occurrence’ın hangi lexeme formu olduğuna dair aday analiz
lexical_roots Kendi dili ve script’i olan kök/base varlığı
lexeme_root_assertions Lexeme ile root arasındaki typed ilişki

form_analyses exact NFC surface equality ister. yakın/yakin, başta/ba's veya eşya/esy gibi normalize-benzerliklerden winner türetmez. Aynı yüzey farklı lexeme’lere aitse analiz occurrence bağlamında çözülür. Root da lexeme değildir; inflectional_base, derivational_base, etymological_root, source_family ve manual_equivalence ilişkileri aynı anlama gelmez.

Candidate analiz ve root assertion kayıtları geçmişi ve evidence’ı korur. Effective sonuç, immutable lexical_releases içindeki explicit seçim veya negatif sonuçla belirlenir:

  • token_analysis_selections occurrence için analizi,
  • form_analysis_root_selections bağlamsal kökü,
  • block tabloları bilinen yanlış adayları,
  • not_applicable gibi sonuçlar bilinçli olarak seçim olmadığını ifade eder.

Satır yokluğu “kök yok” veya “yanlış aday” demek değildir. Confidence evidence metadata’sıdır; otomatik winner değildir.

Terkip üç kimlik seviyesine ayrılır:

Seviye Örnek sorusu Kayıt
Semantic entry “Bu hangi terkip bütünü?” compound_entries
Exact surface variant “Bu bütün hangi çekimli/yazılı biçimde?” compound_variants
Corpus occurrence “Bu varyant hangi cümlenin hangi span’ında?” compound_occurrences

Her occurrence, compound_occurrence_members içinde span’ı dolduran contiguous token occurrence’larını source order ile taşır. Roller explicit’tir:

  • semantic_component: anlam taşıyan üye,
  • connector: ve, ü, ile gibi yapı içindeki bağlayıcı,
  • inflection_host: çekimi taşıyan üye.

Bu sayede hamele-i arş ve yer bütün olarak bir terkip olabilirken ve ayrıca semantic component gibi sunulmaz. Roller stopword listesinden, Osmanlıca çıktısından veya salt containment’tan sonradan tahmin edilmez.

İç içe terkipler ayrı occurrence kimliklerini korur. Örneğin Emr-i kün ve Emr-i kün feyekûn aynı cümlede kendi span ve semantic entry’lerine sahip olabilir. compound_occurrence_children, yalnız manual semantic review evidence’ı bulunan semantic_constituent ilişkisini saklar; geometrik iç içelik otomatik child ilişkisi üretmez. Böylece frontend ana terkibi tek hover hedefi yapıp reviewed child termleri sekmelerde gösterebilir, fakat DB containment’ı semantic ilişki gibi uydurmaz.

lugat, dictionary evidence ve sense authority’sidir; token, lexeme, root veya compound ile eş anlamlı bir kavram değildir.

dictionary_source -> dictionary_entry -> dictionary_sense
|-> lexeme_sense_link
`-> compound_sense_link

Link tabloları candidate bağlantıları saklar. token_sense_selections ve compound_sense_selections, belirli lexical release için gösterilecek bağlamsal sonucu seçer; block tabloları bilinen yanlış linkleri açıkça dışlar. Bir candidate’ın varlığı onun gösterilecek tek doğru anlam olduğu anlamına gelmez.

Whole-compound anlamı özellikle kapalıdır. lisan-ı haliyle occurrence’ı lisan-ı hal semantic entry’sinin seçilmiş anlamını gösterebilir. Doğrudan terkip anlamı yoksa sistem lisan veya hal anlamını bütün terkibin anlamı gibi göstermez; no_direct_sense sonucu korunur. Component anlamları ancak ayrı child/member bağlamında inspect edilir.

Private lexical_control lookup rutinleri beş farklı arama niyetini ayırır:

Arama Eşitlik
Exact token Aynı exact core form occurrence
Semantic token Seçilmiş aynı lexeme
Root token Seçilmiş aynı lexical root
Exact compound Aynı exact compound variant
Semantic compound Aynı compound entry

Tüm lookup’lar explicit lexical release alır; global mutable “current” release veya normalize label winner’ı yoktur. Sonuçlar stable text version, book, chapter, paragraph, sentence ve token-range koordinatlarını taşır; pagination sırası source position değil (sentence_id, occurrence_id) deterministic keyset sırasıdır. Exact token lookup lexical/lügat kapsamı eksik olsa da çalışır; semantic ve root lookup yalnız explicit seçilmiş yolları izler. Compound no_direct_sense olsa bile exact ve semantic occurrence araması çalışmaya devam eder.

Bu fonksiyonlar runtime rollerine açık public API değildir. Exact imza, execution ve ACL gerçekleri için generated Osmanlıca private API kataloğuna bakın. Faz 8 versioned api_v1 wrapper, görünürlük ve public cursor sözleşmesini yayımlayacaktır.

F5-036, accepted lexical kararları migration fixture’ı olmaktan çıkarıp yeniden üretilebilir ve atomik bir DB publication sınırına taşır. Paket bir DB dump değildir. Tek sıkıştırılmış records-v1.jsonl.gz akışı şu ayrımı korur:

  • lexeme, form, root, compound entry/variant ve dictionary kayıtları paket içinde dedupe edilmiş semantic authority’dir;
  • form analysis, compound occurrence, selection ve reader-hover binding kayıtları stable core token koordinatlarına bağlı positional authority’dir;
  • ham legacy ID’leri runtime identity yapılmaz; DB kimlikleri canonical payload ve release key üzerinden munderecat-id-v1 UUIDv5 olarak yeniden üretilir.

Manifest aynı core release ve text version’a bağlı dört ayrı kimlik alanı taşır:

Anahtar Kapsam
Base lexical package Lexeme, form, root, root assertion ve form analysis
Compound package Compound entry, variant ve occurrence
Lexical-selection package Dictionary, seçilmiş analiz/kök/anlam ve hover projection
Lexical anchor release Compound occurrence’larının immutable token-aligned span’ları

Lexical anchor, daha önce kapanmış structural anchor envanterini yeniden açmaz. unicode-scalar-half-open-lexical-v1 aynı exact reconstructed-sentence koordinat semantiğini kullanan ayrı bir profile ve bootstrap closure’dır. Bir publication bu release altında span’ları üretir ve transaction bitmeden bootstrap’ı kapatır.

publish_lexical_package_from_staging tek transaction içinde staging şekli ve sahibi, manifest/package root’u, ordered row root’u, core/reader release uyumu, exact token formları, contiguous compound üyeleri, yalnız proper geometric containment’a izin veren overlap kuralı, seçim-target uyumu ve hover sınırlarını doğrular. Geometrik containment compound_occurrence_children kaydı üretmez; bu tablo yalnız ayrıca yapılmış manual semantic review authority’sini kabul eder. Hata halinde base, compound, dictionary, selection, anchor ve hover tablolarında kısmi kayıt kalmaz. Aynı package root ile yeniden çağrı mevcut lexical release’i döndürür; farklı package aynı dataset key’i altında kabul edilmez.

reader_hover_profiles, occurrence’tan bağımsız semantic sunum kararını; reader_hover_bindings, bunu F5-035 published reader occurrence’ına ve aynı lexical release’teki seçilmiş hedefe bağlar. reader_hover_children, accepted reader annotation’larından gelen inspect edilebilir lexical child projection’larını sekme olarak sunar; semantic compound-child review authority’si değildir. Her lexical child kendi form analysis, lexeme, root sonucu ve sense sonucunu explicit taşır. connector ve function_tail çocukları sınır ve Osmanlıca karşılık bütünlüğünü korur fakat semantic tab olamaz. render_phrase ve function_phrase wrapper’ları compound authority’ye çevrilmez.

Bu projection Osmanlıca reader metnini, unit sınırını veya reconstruction sırasını değiştirmez. Child Latin metni doğrudan core token aralığıyla doğrulanır. inspectable_token_analysis_v1, bütün-token seçimleriyle lexical child seçimlerini tek lookup membership’inde birleştirir; semantic/root “geçtiği yerler” fonksiyonları bu membership’i kullanır. Compound için no_direct_sense, child/root anlamına düşmeden açık boş sonuç olarak kalır.

Membership view aynı semantic projection’ları gruplayarak eski distinct kardinaliteyi korur. Bir projection hem bütün-token seçiminden hem child annotation’dan geliyorsa membership_priority = 0 ile bütün-token otoritesi seçilir; yalnız child’dan gelen projection 1 değerini alır. Lookup fonksiyonları priority sonrasında analysis, lexeme, root ve sense alanlarının tamamıyla sıralandığı için aynı occurrence için dönen satır execution plan’a bağlı değildir. Farklı child root/sense projection’ları kaybolmaz.

W01 yalnız deterministic sample build, rollback, idempotence, beş private lookup modu ve kabul edilmiş 13 hover davranışını doğrular:

Terminal window
make lexical-publication-check

Legacy kaynaktan read-only full extraction ve bütün corpus publication/coverage kanıtı bir kez F5-036-W02’de çalıştırılır; gündelik focused değişikliklerde tekrarlanmaz.

F5-036-W02 accepted legacy lexical projection’ı yalnız aktif reader occurrence’larından erişilen semantic closure olarak derledi. Raw legacy tablolar, reddedilmiş adaylar ve kullanılmayan lügat envanteri pakete kopyalanmadı. Mühürlü paket 5.032.234 kayıt taşır:

Authority Sayı
Lexeme / exact form 54.384 / 108.261
Form analysis / seçilmiş token analysis 1.185.020 / 937.936
Token sense selection 937.936
Lexical root / seçilmiş root occurrence 7.531 / 816.709
Compound entry / occurrence 26.597 / 104.241
Dictionary sense 35.665
Hover profile / binding / child 37.327 / 528.029 / 253.111

Networkless disposable PostgreSQL 17 kanıtı paketi unchanged sealed core ve accepted Ottoman reader üzerine atomik yayımladı. Exact token, semantic token, root token, exact compound ve semantic compound lookup örneklerinin tamamı sonuç döndürdü. 1.908 compound profile anlamı eksik olduğu halde semantic occurrence lookup’ını korur; compound anlamı child/root anlamıyla doldurulmaz. 424.083 target’sız wrapper binding’i yalnız karşı yazı sistemini gösterir. Geçersiz function tab ve profile/occurrence target uyuşmazlığı sayıları sıfırdır.

253.111 hover child satırından 247.347 tanesi açık form analysis, 224.913 tanesi seçilmiş root ve 238.609 tanesi seçilmiş sense taşır. Bütün-token ve child seçimlerinin birleşimi 1.185.098 inspectable analysis membership üretir; semantic/root “geçtiği yerler” sorguları bu membership’i kullanır. Geometrik containment semantic constituency sayılmaz: yayınlanan inferred compound_child relation sayısı sıfırdır.

Tek-token u/ü/vü bağlacı legacy profilde compound olarak işaretlenmiş olsa bile yayın sınırında function_phrase wrapper’a çevrilir. Böylece kendi başına compound veya semantic lookup hedefi olmaz; ins ü cân gibi kabul edilmiş uzun terkiplerde ise token connector üye olarak kalır ve bütün terkibin sınırı değişmez. Benzer biçimde anlamı olmayan gerçek compound’lar counterpart_only wrapper’a indirgenmez; exact/semantic “geçtiği yerler” işlevini korur.

Private gzip paketi private-artifact:F5-036-W02/lexical-publication-v1 altında ve Git dışındadır. Package root a45da4aaadf1d83a90792a81ed7b2e16c64495bbb2aa4462ac33aefce2b122b5, source projection root d4f0a2f08585098644316bc7c2de8172914f11acdd92943ac076ac76b0dd1f42 değeridir. Bounded sayılar, immutable core/reader kanıtı ve lookup/hover sonuçları data/reports/lexical-publication/full-publication-v1.json repo raporunda tutulur. Paket compiler implementation hash’iyle ve fresh extraction fingerprint hash’i 6a61c8b1157f872e10d1071b886d11ceec28766a27f07d67f13a19490b5a2f8a ile bağlıdır. Compiler veya mevcut source fingerprint değişirse resume reddedilir. Yalnız DB proof/harness değiştiğinde ve source fingerprint birebir aynı kaldığında mühürlü paket corpus yeniden okunmadan kullanılabilir.

Legacy bağlantısı supabase_read_only_user ile açılır; transaction read-only olmanın yanında rol superuser değildir ve source tablolarında write privilege taşımaz. Tam publication yalnız release/data-contract sınırında çalıştırılır. Mevcut full proof’ta satır-başı deferred hover congruence trigger’ları commit süresinin önemli bölümünü oluşturdu. Doğruluk şartlarını koruyup aynı kontrolleri set tabanlı yürütmek gelecekteki publication performansı için ölçülmüş bir optimizasyon adayıdır; gündelik lexical geliştirme full corpus yerine focused fixture ve disposable DB testlerini kullanır.

F5-036-W03 post-proof remediation’ı child root_outcome ve sense_outcome değerlerini null-strict yaptı. Form analysis binding release’in analysis profile’ına ve core’una; seçilmiş root/sense ise aynı release’in seçim profile’ına bağlıdır ve block tablolarına karşı kontrol edilir. Package verifier aynı outcome/profile kurallarını importtan önce uygular. Bu guard değişikliği W02 full package içeriğini veya retained sayımlarını değiştirmedi; full corpus tekrar derlenmedi ya da yayımlanmadı.

Source kontrol komutları yalnız PostgreSQL statement_timeout değerine dayanmaz. docker inspect, fingerprint ve CSV projection client süreçleri finite deadline, bounded stdout/stderr ve TERM sonrası kısa grace/KILL escalation kullanır; cleanup kodunda koşulsuz waiter.value veya thread join yoktur.

Legacy SQLite/PostgreSQL verisi, sözlük CSV’leri, terkip listeleri, root kararları ve manual kurallar runtime dependency değildir. Pipeline şu sırayı izler:

  1. Kaynaklar read-only olarak envanterlenir ve hash/locator ile tanımlanır.
  2. Reachability raporu hangi legacy kaydın etkili bir karara ulaştığını çıkarır.
  3. Source classification authority, evidence, duplicate ve exclusion rollerini ayırır.
  4. Dictionary closure, terkip boundary, root decision, SQLite pattern ve manual rule manifestleri yalnız gerekli alanları deterministic sırayla taşır.
  5. Decision audit precedence ve contradiction durumunu doğrular.
  6. ottoman-curated-catalog-v1, kabul edilmiş manifestleri tek catalog root altında bağlar.
  7. Publication compiler yalnız dedupe output inventory ile positional reader unit akışını üretir; Latin corpus veya legacy ID kopyalamaz.
  8. Ottoman DB publisher package root, core binding ve exact token partition’ı doğrulayıp seçili rendering authority ile compact reader release’i atomik yayımlar.
  9. Lexical compiler accepted lexeme/root/compound/dictionary kararlarını dedupe eder, positional analyses ve hover projection ile tek compact pakete bağlar.
  10. Lexical DB publisher aynı core ve published reader release’e bağlı package’ı atomik yayımlar; full extraction yalnız W02 release kapısında çalışır.

Canonical katalog data/curated/ottoman/catalog/catalog.json dosyasıdır; catalog root da40cbcf118c2aba3de1c80ddfbc3a1c001fd33fa629cac2949aa909d14e32de değeridir. Bu dosya legacy DB’nin kopyası değildir. Örneğin dictionary closure yalnız aktif term, component, root ve semantic endpoint’lerden erişilen gerekli alanları saklar. Kaynak sayımı, inclusion/exclusion ve used-source closure generated kaynak kalitesi sayfasında yayımlanır.

Accepted katalog artifact’ının repoda bulunması, tamamının production DB’ye yayımlandığı anlamına gelmez. Publication; ilgili package binding, provenance closure, inventory root ve release readiness kontrolleri tamamlandığında görünür olur.

Bu modelde issuance_channel taşıyan identity-bearing authority satırları ilk issuance kanalını korur:

  • package_deterministic: accepted package path’inden munderecat-id-v1 UUIDv5,
  • curation_generated: trusted proposal/application sınırında bir kez üretilen ve reviewed action ile DB doğrulamasında aynı kalan UUIDv7.

ottoman_identity_packages, Ottoman deterministic release key’ini source-input manifest root, entity-path manifest root, provenance assertion ve canonical binding digest ile bağlar. Mapping pattern, display style, orthographic form, pattern output, rendering occurrence, eski Ottoman release ve compact published reader kimlikleri bu kayıt olmadan deterministic key kullanamaz. Base lexical, compound ve lexical-selection paketleri kendi domain package authority’lerine sahiptir. identity_release_key_claims, kayıtlı structural, compound, lexical_base, lexical_selection ve ottoman authority’leri arasında aynı key’in yeniden kullanılmasını atomik olarak engeller. F5-036 ile F5-018 lexeme, form, root, root assertion ve form analysis tablolarının deterministic key’leri de lexical_base_identity_packages üzerinden bu ortak registry’ye bağlanmıştır.

F5-035 compact reader package binding’ini, F5-036 ise lexical package ve reader-hover binding’ini kapatır. W01 bu yaşam döngüsünü focused sample üzerinde kanıtlar; full lexical veri release’i ancak W02 kanıtı kabul edildiğinde production-ready sayılır.

Production düzeltmesi accepted satırı update/delete etmez. Compound ve lexeme curation akışları:

  1. reviewed ve frozen proposal action alır,
  2. expected revision ve dependency’leri lock ederek yeniden doğrular,
  3. yeni UUIDv7 entity veya typed supersession/event ekler,
  4. isteği idempotency key ile tek kez uygular,
  5. bir action başarısızsa domain değişikliklerinin tamamını rollback eder,
  6. düzeltmeyi SQL undo yerine reviewed compensation olarak append eder.

Böylece farz-ı muhal olarak occurrence’ını kaldırmak, yalnız o occurrence’ı yeni bir successor ile düzeltmek veya bütün semantic entry için yeni varyant eklemek eski ID ve atıfları sessizce başka anlama taşımaz. Mevcut curation action vocabulary’si create, supersede ve retire ile sınırlıdır; genel bir metadata amend action’ı yoktur. Kimliği değiştiren seçim yeni entity/occurrence ve supersession gerektirir. İlave provenance, yalnız ilgili evidence tablosunun append-only sözleşmesi izin veriyorsa yeni evidence satırı olarak eklenir.

F8-005, private lexical publication’ı chapter_hover_get operation’ıyla public API release’ine bağlar. API manifest’i core release, strict Ottoman reader ve lexical_publication_contracts satırını tek immutable deployment tuple’ı olarak seçer; yalnız aynı core ve reader release’e ait hover binding’leri görünür. Anonymous roller lexical_control tablolarına doğrudan erişmez, yalnız api_control owner-rights projection ve versioned api_v1 RPC’sini kullanır.

Response iki flat ordered liste taşır. bindings, accepted reader unit_id üzerinden ana panel kararını; children, binding_id + position üzerinden explicit child projection’ı verir. Frontend bu listeleri birleştirir fakat yeni child veya span çıkarmaz. connector ve function_tail satırları karşı yazı bütünlüğünde kalır, is_tab = false olduğu için inspect edilebilir sekme olmaz. Parent meaning_text boşsa child veya root anlamı parent alanına taşınmaz.

Hover metin authority’si değildir. Reader önce mevcut core ve Ottoman reconstructors ile exact metni ve digest’i doğrular; hover binding yalnız doğrulanmış reader unit’ını etkileşimli bir wrapper içinde sunar. Annotation API’sinin eksik, malformed veya farklı release’e bağlı olması metni yeniden kuramaz, kesemez ya da punctuation/whitespace’i değiştiremez.

F8-007, private lookup rutinlerini major-v1 contract içindeki entity_occurrences_list operation’ıyla yayımlar. Contract v1.4, occurrence’ın canonical span alanını nullable yapar: her token occurrence zaten stable core kimliği ve token-position context’i taşır, fakat her token için shared anchor üretilmemiştir. API registry dışında span kimliği uydurmaz. Compound sonucu existing canonical span’ı ve onun Unicode-scalar half-open sınırlarını taşır; token sonucu span = null döndürür. Yeni code/schema/contract release deployment’ı aynı core, Ottoman reader ve lexical publication tuple’ına bağladığı için hover hedefi ile occurrence sonucu farklı veri release’lerinden karışamaz.

Public api_v1.list_entity_occurrences_v1 security-invoker bir wrapper’dır. Tek owner-rights sınırı api_control.list_entity_occurrences_internal_v1 içinde tutulur; cursor imzalama/doğrulama yardımcıları, HMAC anahtarı ve raw lexical lookup rutinleri runtime rollerine doğrudan açılmaz. Typed dispatch aşağıdaki eşitlikleri korur:

entity_kind Private lookup Genişletme sınırı
token_form Exact token form Aynı exact form
lexeme Semantic token Aynı seçilmiş lexeme
lexical_root Root token Aynı seçilmiş root
compound_variant Exact compound Aynı exact variant
compound_entry Semantic compound Aynı seçilmiş entry

Desteklenmeyen kind normalize metin, fuzzy benzerlik veya başka entity türüyle genişletilmez; açık unavailable sonucu verir. Full lexical hover publication ana terkipte compound_entry, lexical child’da o child’ın lexeme kimliğini seçer. Connector ve function-tail parçaları occurrence hedefi taşımaz. Exact form ve root modları typed doğrudan istemciler için korunur.

Sonuç sırası (sentence_id, occurrence_id) keyset sırasıdır. Her satır stable entity ve occurrence kimliği, chapter/paragraph/sentence koordinatları, context içinde inclusive exact token sınırı ve en fazla sekiz komşu token içeren bağlam taşır. Dolu span sınırları ise token ordinali değil Unicode-scalar [start,end) koordinatıdır. Sayfa boyutu varsayılan 50, üst sınır 100; public RPC 1500 ms statement timeout ve 512 KiB response sınırı uygular. PostgREST statement_timeout function setting’ini main query öncesinde transaction setting olarak hoist eder; migration pgrst.db_hoisted_tx_settings değerini açıkça pinler ve config reload bildirimi yapar.

Devam cursor’ı HMAC-SHA256 ile doğrulanan opaque server state’idir. Payload operation, deployment, contract, data/policy/exposure root’ları, query, authorization subject, visibility, page size ve son sıra anahtarına bağlanır; 900 saniye sonra geçersiz olur. Başka principal, sorgu, deployment veya sayfa boyutunda kullanma ile değiştirilmiş ve süresi dolmuş cursor aynı continuation_invalid sonucu verir. Aktif anahtar private keyring pointer’ıyla değiştirilebilir; eski anahtarın doğrulama penceresi dolana kadar mevcut cursor’lar kontrollü biçimde yaşayabilir.

Frontend sonuçları yalnız düğmeye basıldığında, onarlı sayfalar halinde ister. Parent ve child sekmeleri kendi hedef kimliklerini kullanır; request state deployment, target kind ve target ID’nin tamamıyla anahtarlanır. İstemci release tuple’ını ve her satırdaki entity ID’yi doğrular; devam sayfası yalnız strict ileri sıradaysa mevcut listeye eklenir. Navigation chapter, sentence ve context token sınırını URL’ye taşır. Sonuç paneli core/Ottoman reader unit’larına müdahale etmez ve bir lookup hatası chapter reconstruction fallback’ini tetiklemez. Successor çözümleme bu sürümde yapılmaz; resolution_mode = current açık current_resolution_unavailable durumu döndürür. Eksik resolution_mode invalid request’tir; exact moda sessiz fallback yapılmaz.

Bir değişiklikte önce hangi sorunun cevabının değiştiğini belirleyin:

İhtiyaç Değiştirilecek authority Değiştirilmeyecek alan
Latin sınır yanlış Core/importer incelemesi; annotation ile onarılmaz Osmanlıca ve lexical satırlar
Osmanlıca harf/display yanlış Orthographic form/style ve yeni publication Latin token/span
Latin path eşleşmesi yanlış Mapping pattern/output evidence Core token sırası
Terkip fazla veya eksik Compound occurrence/variant/entry ve gerekirse supersession Shared span’ın diğer domain kullanımları
Kelime yanlış lexeme/kök Analysis/selection/block veya lexical curation Exact token occurrence
Lügat anlamı yanlış Sense link/selection/block Lexeme, root ve compound identity
“Geçtiği yerler” yanlış Önce exact/semantic/root niyetini ve release seçimini kontrol edin Normalize text ile yeni kimlik üretmeyin

Doğrulamayı değişen authority ile sınırlayın. Migration veya publication closure değişmediyse full corpus importunu, Ottoman catalog build’ini ve browser testlerini tekrar çalıştırmayın. Buna karşılık core occurrence, span, identity path, release root, supersession veya transaction atomicity değişiyorsa focused fixture ilgili kalıcı garantiyi doğrudan ispatlamalıdır.

  • Exact mapping, reconstruction, curation ve lookup routine gerçekleri generated Osmanlıca private API kataloğunda yayımlanır.
  • Latin/Osmanlıca hover, child term, kök, anlam ve geçtiği yerler davranışı kullanıcı rehberinde açıklanır.
  • Kullanılan/kullanılmayan kaynak kapanışı ve karar kalitesi generated kaynak kalitesi sayfasında yayımlanır.
  • F8-005 reader-hover authority’sini, F8-007 ise typed occurrence lookup ve on-demand sonuç navigation’ını versioned public API ile sarar.
  • F5-035-W02 full private paketi ve 298/298 strict coverage kanıtını tamamlamıştır. Public PostgREST ve web reader exposure F8 kapsamındadır; bu kanıtı tekrar çalıştırmaz.