Atıf hedefi ve reference readiness
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
- reference-readiness-v1
- Veri
- tr-2026-v1
Münderecat’ta atıfın kalıcı hedefi, atıf yazıldığı anda seçilen
entity_kind + entity_id çiftidir. Hedef daha sonra düzeltilse, bölünse,
birleştirilse, emekliye ayrılsa veya başka bir dilde/canonical tekrarda karşılığı
bulunsa bile authored hedef değiştirilmez. Güncel hedef ve alternatif görünüm,
okuma anında açık bir policy ve release ile ayrıca çözümlenir.
Bu sözleşmenin makine kanıtı
data/releases/id-stability-v1.json dosyasındaki
reference-readiness-v1 release’idir:
| Alan | Değer |
|---|---|
| Durum | certified_repository_evidence_bundle |
| Active entity kind | 27 |
| Reserved kind | repeat_family |
| Release root | f5fa61b231bdc83f37c7f9ca5cc4e12817f987503129890c78f618cfea31f799 |
| Certificate hash | 97efec920c35efa24b79cc0ba4ebfe908bfa22b6336bb43b549a2f0557716031 |
| Kanıt ağacı | 487bb3e9320ed351afbb28b193faa231e22be58d |
Sertifika, kabul edilmiş repository kanıtlarını aynı sınırda bağlar. Canlı bir deployment’ı sertifikalandırmaz; full rebuild yapıldığını, private artifact’ların veya transitif Git payload’larının yeniden açıldığını iddia etmez.
Hedef katalogu
Bölüm başlığı “Hedef katalogu”Atıf hedefi olabilen 27 active kind yedi kanıt grubundadır:
| Grup | Kind’lar |
|---|---|
| Core | work, text_version, book, chapter, paragraph, sentence_occurrence, token_form, token_occurrence |
| Annotation | text_span, text_selection, segment, note |
| Heading | heading |
| Lexical | compound_entry, compound_variant, compound_occurrence, lexeme, lexeme_form, lexical_root, dictionary_entry, dictionary_sense |
| Osmanlıca | orthographic_form, rendering_occurrence |
| Tekrar | passage_occurrence, exact_class |
| Alignment | alignment_unit, alignment_group |
Sertifika 26 kind için exact accepted inventory count taşır. orthographic_form
için relation-level distinct count bounded raporda tutulmadığından count bilinmiyor
olarak kalır; bu durum kind’ın kimlik veya owner ilişkisinin eksik olduğu anlamına
gelmez. repeat_family ise farklıdır: owner/publication authority henüz olmadığı
için active katalogun dışında, açıkça reserved durumdadır ve hedef olarak
çıkarılamaz.
Bir UUID’nin biçiminden kind tahmin edilmez. Hedef her zaman katalogdaki kind ile birlikte taşınır ve global registry’deki same-ID typed owner bridge üzerinden doğrulanır. Registry owner verisini kopyalamaz ve yeni kimlik üretmez.
Dört ayrı işlem
Bölüm başlığı “Dört ayrı işlem”Atıf okuyucusu aşağıdaki işlemleri birbirine karıştırmamalıdır:
- Authored target: Atıfta kalıcı olarak saklanan tarihsel kind ve UUID.
- Exact lookup: Aynı UUID’nin kendi kaydı, lifecycle durumu ve supersession özeti. Yönlendirme yapmaz.
- Current resolution: Açık resolution policy/release altında accepted supersession grafını izleyip sıfır, bir veya birden çok güncel hedef döndürür.
- Projection: Çözümlenmiş hedef için başka dildeki alignment unit’lerini veya aynı exact class’ın canonical passage occurrence’ını geçici görünüm olarak seçer.
authored(A) ── exact ──────────────> A └─ current(policy R) ──> {C, D} ├─ language projection ─> {EN-7, EN-8} └─ repeat projection ───> {P-42}C, D, EN-7, EN-8 veya P-42, kaynak atıftaki A kimliğinin yerine
yazılmaz. Sonuç; kullanılan policy, release tuple, traversal path ve cardinality
ile birlikte sunulur.
Exact ve current çözümleme
Bölüm başlığı “Exact ve current çözümleme”Public okuma yüzeyi iki ayrı RPC kullanır:
api_v1.get_entity_exact_v1(entity_kind, entity_id, deployment_id)api_v1.resolve_entity_current_v1( entity_kind, entity_id, resolution_policy_id, deployment_id)get_entity_exact_v1, superseded veya retired hedefi de kendi tarihsel kimliğiyle
döndürür. resolve_entity_current_v1, deployment’ın bağladığı
identity-preserving-current-v1 policy ve immutable resolution release altında
grafı izler. Sonuç durumları:
| Durum | Uygulama davranışı |
|---|---|
exact |
Etkin outgoing olay yoktur; hedef authored entity’nin kendisidir. |
current |
Bir canlı hedef vardır; authored ID ayrıca korunur. |
ambiguous |
Split/restructure veya uyuşmayan yollar bir hedef kümesi üretir; tek hedef seçilmez. |
retired |
Canlı hedef yoktur; tarihsel entity exact okumada yine erişilebilirdir. |
Resolver tam supersession path’ini verir. Replacement 1 -> 1, split
1 -> n, merge n -> 1, restructure n -> m, retirement n -> 0
semantiğindedir. Eski olay silinmez; hatalı karar immutable compensation ve yeni
release disposition’ı ile invalidated edilir. Ayrıntılı DB ve API davranışı için
reference resolution rehberine bakın.
Dil projection’ı
Bölüm başlığı “Dil projection’ı”cross-language-target-projection-v1, authored hedefi çevirmeye veya yeni atıf
üretmeye çalışmaz. Exact ya da current kaynak hedefin exact owner extent’ini,
tek doğrudan ve reviewed alignment group üzerinden karşı dildeki complete hedef
kümeye projekte eder.
Temel kurallar:
- traversal yönü (
source_to_targetveyatarget_to_source) açıkça seçilir; - yalnız
exact_unitveya sunum bağlamı olarakcovering_unitkullanılabilir; - normalized/similar text, confidence veya unresolved candidate authority değildir;
- split, merge ve complex alignment sonucu küme olarak korunur;
- implicit reverse/transitive route ve scalar collapse yasaktır;
source_only/target_onlykarşı taraftano_counterpartüretebilir;- mixed release tuple veya root uyuşmazlığı
stale_evidenceolur.
Bu policy accepted ve immutable’dır fakat runtime_status: not_deployed durumundadır.
Automatic projection bu policy altında yasaktır. Manual projection davranışı tanımlıdır
fakat deploy edilmemiştir; public API contract, reference graph release, deployment
binding ve bağımsız semantic review olmadan kullanılamaz. Immutable policy yerinde
etkinleştirilmez; aktivasyon ayrı, accepted bir release/deployment sözleşmesi gerektirir.
Tekrar-canonical projection’ı
Bölüm başlığı “Tekrar-canonical projection’ı”repeat-canonical-target-projection-v1, yalnız passage_occurrence veya
exact_class kaynağını accepted exact membership ve published canonical choice
üzerinden canonical passage_occurrence hedefine projekte eder.
Temel kurallar:
- similarity score, normalized text, member order veya working head seçim authority’si değildir;
- occurrence önce bound repetition release içindeki tek exact class üyeliğini kanıtlar;
- canonical seçim aynı exact class ve repetition release içinde effective ve reviewed olmalıdır;
- self-target geçerli ve açık bir sonuçtur;
- current resolution birden çok source branch üretirse her branch çözülür; ilk hedef seçilmez;
- bir branch çözülemezse complete destination set yayınlanmaz;
- family, near-duplicate, variant veya quotation ilişkileri bu projection’ın route’u değildir.
Bu policy de accepted fakat runtime_status: not_deployed durumundadır. Özellikle
canonical-choice publication contract henüz tamamlanmadığı için successor policy ve
ayrı aktivasyon gerekir. repeat_family kimliği bu yoldan türetilemez.
Gelecek atıf ağı için uygulama kontrol listesi
Bölüm başlığı “Gelecek atıf ağı için uygulama kontrol listesi”Fiziksel reference-edge şeması sonraki fazın kararıdır. O şema tasarlanırken aşağıdaki semantik alanlar kaybolmamalıdır:
- Authored source ve target için exact
entity_kind + entity_idsaklayın. - Hedefi yazarken current, translated veya canonical ID ile sessizce değiştirmeyin.
- Atıfın oluşturulduğu release/deployment bağlamını audit edilebilir tutun.
- Okuyucuya exact ve current modu açıkça seçtirin; current cevapta policy/release ve tam path’i koruyun.
target_entity_idsdeğerini küme olarak ele alın; split veya restructure sonucunu ilk elemana daraltmayın.- Language/repeat projection’ı ayrı, versioned bir okuma isteği yapın; projection sonucunu authored edge olarak persist etmeyin.
unavailable,unselected,ambiguous,stale_evidence,forbidden_relationveintegrity_errordurumlarını başarısız olmayan tek bir fallback’a çevirmeyin.- Owner tablolarına doğrudan DML vermeyin; kayıt, curation ve publication işlemlerini kabul edilmiş güvenlik sınırlarından yürütün.
Release değişikliği
Bölüm başlığı “Release değişikliği”reference-readiness-v1 içeriği yerinde güncellenmez. Active kind, owner relation,
identity authority, accepted inventory, supersession/projection policy veya lifecycle
kontrolü değişirse yeni certificate release üretilir. Uygulama dokümantasyonu yeni
release key ve root’a aynı değişiklikte bağlanır.
Focused doğrulama:
ruby scripts/releases/id_stability.rb --checkruby scripts/api/generate_contracts.rb --checkİlk komut repository evidence certificate’ını, ikinci komut yayımlanmış API contract projection’ını kontrol eder. İkisi de canlı deployment doğrulaması değildir. Full corpus rebuild, private artifact replay veya legacy source erişimi olağan atıf ağı geliştirmesinin parçası yapılmamalıdır.