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.
Zihinsel model
Bölüm başlığı “Zihinsel model”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.
Değişmez çekirdek ve ortak anchor
Bölüm başlığı “Değişmez çekirdek ve ortak anchor”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 mapping ve rendering
Bölüm başlığı “Osmanlıca mapping ve rendering”Osmanlıca zincirinde pattern tanımı, yazı biçimi, corpus uygulaması ve release birbirinden ayrıdır.
Pattern ve çıktı authority’si
Bölüm başlığı “Pattern ve çıktı authority’si”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.
Corpus uygulaması ve reconstruction
Bölüm başlığı “Corpus uygulaması ve reconstruction”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.
Full publication kanıtı
Bölüm başlığı “Full publication kanıtı”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.
Lexeme, form ve kök
Bölüm başlığı “Lexeme, form ve kök”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_selectionsoccurrence için analizi,form_analysis_root_selectionsbağlamsal kökü,- block tabloları bilinen yanlış adayları,
not_applicablegibi 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 authority’si
Bölüm başlığı “Terkip authority’si”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,ü,ilegibi 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.
Lügat ve anlam seçimi
Bölüm başlığı “Lügat ve anlam seçimi”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_linkLink 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.
“Geçtiği yerler” lookup’ı
Bölüm başlığı ““Geçtiği yerler” lookup’ı”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.
Deterministik lexical publication
Bölüm başlığı “Deterministik lexical publication”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-v1UUIDv5 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 projection
Bölüm başlığı “Reader-hover projection”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:
make lexical-publication-checkLegacy 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.
Full lexical publication kanıtı
Bölüm başlığı “Full lexical publication kanıtı”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.
Kaynak lineage ve accepted catalog
Bölüm başlığı “Kaynak lineage ve accepted catalog”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:
- Kaynaklar read-only olarak envanterlenir ve hash/locator ile tanımlanır.
- Reachability raporu hangi legacy kaydın etkili bir karara ulaştığını çıkarır.
- Source classification authority, evidence, duplicate ve exclusion rollerini ayırır.
- Dictionary closure, terkip boundary, root decision, SQLite pattern ve manual rule manifestleri yalnız gerekli alanları deterministic sırayla taşır.
- Decision audit precedence ve contradiction durumunu doğrular.
ottoman-curated-catalog-v1, kabul edilmiş manifestleri tek catalog root altında bağlar.- Publication compiler yalnız dedupe output inventory ile positional reader unit akışını üretir; Latin corpus veya legacy ID kopyalamaz.
- 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.
- Lexical compiler accepted lexeme/root/compound/dictionary kararlarını dedupe eder, positional analyses ve hover projection ile tek compact pakete bağlar.
- 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.
Kimlik, release ve curation
Bölüm başlığı “Kimlik, release ve curation”Bu modelde issuance_channel taşıyan identity-bearing authority satırları ilk issuance
kanalını korur:
package_deterministic: accepted package path’indenmunderecat-id-v1UUIDv5,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ı:
- reviewed ve frozen proposal action alır,
- expected revision ve dependency’leri lock ederek yeniden doğrular,
- yeni UUIDv7 entity veya typed supersession/event ekler,
- isteği idempotency key ile tek kez uygular,
- bir action başarısızsa domain değişikliklerinin tamamını rollback eder,
- 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.
Public chapter hover projection
Bölüm başlığı “Public chapter hover projection”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.
Public entity occurrence lookup
Bölüm başlığı “Public entity occurrence lookup”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.
Güvenli geliştirme kararları
Bölüm başlığı “Güvenli geliştirme kararları”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.
Bilinçli olarak ayrı kalan işler
Bölüm başlığı “Bilinçli olarak ayrı kalan işler”- 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.