İçeriğe geç

Corpus package

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
munderecat-corpus-bundle/v1
Veri
tr-2026-v1

Canonical yayın birimi munderecat-corpus-bundle/v1 envelope’udur. PostgreSQL dump, SQLite dosyası veya kaynak dizin release formatı değildir. Package; schema ile doğrulanabilen, streaming import edilebilen ve aynı girdilerden byte-identical üretilebilen exact core ile sınırlı companion’ları taşır.

Normatif format ADR-003, kapalı stream katalogu config/corpus-package-schemas.yml, row şemaları ise data/schemas/corpus-package/v1/ altındadır.

corpus-release-v1/
|-- manifest.json
|-- checksums.sha256
|-- core/
| |-- works.jsonl
| |-- text-versions.jsonl
| |-- books.jsonl
| |-- chapters.jsonl
| |-- paragraphs.jsonl
| |-- sentences.jsonl
| `-- token-occurrences.jsonl.zst
`-- companions/
|-- provenance-bindings.jsonl.zst
`-- legacy-id-crosswalk.jsonl.zst

Yedi core/ stream’i exact hiyerarşi ve reconstruction authority’sidir. provenance-bindings public release için zorunlu, bounded bir public projection; legacy-id-crosswalk genel formatta opsiyonel, ilk legacy migration’da zorunlu typed eşlemedir. İkisi de core reconstruction’a katılmaz. Private source locator, zengin provenance graph’ı ve stable-identity authority package’a sızdırılmaz.

Terkip, lügat, Osmanlıca, heading, note, segment, repetition, translation ve citation bu envelope’a eklenmez. Bunlar kendi versioned annotation release sözleşmelerine sahip olacaktır.

Packager ve publication doğrulaması manifest dahil güncel katalog dosyasının tamamına bağlıdır. Compiler, sealer ve core importer ise yalnız tükettikleri yedi core stream’i, bu stream’lerin schema bağlarını, ortak/reconstruction profile’larını, core component tanımını ve yasak core alanlarını kapsayan corpus-package-core-contract-v1 projection’ına bağlıdır. Supporting schema seçimi de kapalıdır: bugün yalnız core row şemalarının ortak primitive’lerini taşıyan common üyedir; ileride eklenecek companion-only bir supporting schema core projection’ını değiştirmez.

Bu ayrım, companion veya public manifest schema’sındaki bir düzeltmenin kabul edilmiş core config, ID, row ve tarihî artifact byte’larını geçersizleştirmesini engeller. Yeni compiler/sealer çalıştırmaları mevcut üretici kodunun provenance hash’ini taşır; bu nedenle tarihî descriptor ile yalnız bu alan farklı olabilir. Core stream byte’ları, ID’ler ve root’lar değişmez. Kayıtlı tarihî sealer üretici hash’i doğrulanabilir predecessor olarak kalır; bilinmeyen bir üretici hash’i kabul edilmez. Compatibility fuzzy değildir: yalnız kayıtlı predecessor katalog hash’i ve exact pinned core projection birlikte eşleşirse kabul edilir. Bir core stream, schema hash’i, sıra profile’ı veya reconstruction binding’i değişirse core tüketicileri fail closed olur.

Değer Neyi bağlar Companion değişince
row_sha256 Tek canonical row payload’u İlgisiz row’lar değişmez
row_root_sha256 Bir stream’deki sıralı [id, row_sha256] listesi Yalnız ilgili stream etkilenir
core_root_sha256 Yedi core stream’in schema ve logical byte authority’si Değişmez
Companion root İlgili provenance veya legacy stream’i İlgili companion değişir
bundle_root_sha256 Core ve mevcut tüm companion root’ları Değişir
core_release_id Exact core release Değişmez
package_id Bütün bundle envelope’u Değişir

.jsonl.zst stream’lerinde logical hash decompressed exact JSONL byte’larını, transport hash yayımlanan compressed byte’ları tanımlar. Aynı logical içeriği başka compressor ile sıkıştırmak aynı release artifact’ını üretmez.

manifest.json; package/core kimliklerini, schema hash’lerini, stream inventory’sini, root’ları, reconstruction witness’larını, tool profile’larını ve gerekli importer capability’lerini bağlar. Build zamanı, host path’i, kullanıcı, container ID’si veya credential içermez. checksums.sha256, manifest ve bütün component transport dosyalarını dışarıdan doğrular; kendisini listelemez.

Publishable transport, tek corpus-release-v1/ kökü taşıyan corpus-release-v1.tar.zst dosyasıdır. Ustar ve zstd profilleri metadata’yı, dosya sırasını ve compression davranışını sabitler. Symlink, duplicate/unsafe path, undeclared member ve trailing payload reddedilir.

Package’ın kendi manifest’i publication yetkisi vermez. Authoritative import, trusted release registry’deki immutable accepted entry ile exact archive hash’ini önce bağlar; sonra bounded staging alanında archive, schema, row, sıra, parent, stable ID ve reconstruction digest’lerini doğrular. Görünür publication yalnız tek transaction sonunda yapılır.

Package ID aynı manifest ve bundle root ile idempotenttir. Aynı core release, core root değişmeden başka companion setine sahip farklı package içinde taşınabilir. identity_release_key başka input/path manifest’iyle yeniden kullanılamaz.

Önce kapalı schema/stream katalogunu, sonra committed Birinci Söz release fixture’ının exploded ve archive byte’larını doğrulayın:

Terminal window
make corpus-package-schema-check
make corpus-packager-sample-check

İlk komut schema ID/hash ve örneklerin closed-world sözleşmesini, ikincisi sample manifest, checksum, component root, archive ve güvenlik sınırlarını doğrular. İkisi de full corpus artifact’ını yeniden üretmez.

Full release packaging sıradan geliştirme smoke testi değildir. Accepted upstream artifact’lar, packet kapsamı ve content-addressed artifact root olmadan full build çalıştırılmamalıdır.