Temiz makinede yeniden üretilebilirlik
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-clean-machine-reproducibility-v1
- Veri
- tr-latn-1
Bu kapı, tr-latn-1 dağıtımının kaynak repository’ler veya private corpus
artifact’ları olmadan kullanılabildiğini kanıtlar. Girdi yalnız temiz Münderecat
checkout’u ile F10-006’nın sekiz üyeli public release dizinidir.
Kanıtlanan zincir
Bölüm başlığı “Kanıtlanan zincir”- Git’teki exact commit, local ve hardlink kullanmayan detached temiz clone’a alınır. Untracked veya değiştirilmiş çalışma dosyaları clone’a taşınmaz.
- Public dağıtımın kapalı envanteri, dosya boyutları ve
SHA256SUMSbağı doğrulanır. - Exact
corpus-release-v1.tar.zstaçılır; ustar üye sırası, metadata, boyut ve hashleri package manifest’e karşı doğrulanır. - Yalnız yedi core stream geçici importer workspace’ine alınır. Sıkıştırılmış token occurrence stream’i logical byte sayısı ve SHA-256 ile açılır.
- F3-009’da kabul edilmiş importer bütün core satırlarını fresh, networkless PostgreSQL 17 container’ına tek transaction ile yükler.
- F3-010’da kabul edilmiş harness 119.149 cümle, 47.496 paragraf ve 298 chapter’ı DB fonksiyonlarıyla yeniden kurar; count, UTF-8 byte ve aggregate SHA-256 witness’larını package authority’siyle karşılaştırır.
- PostgreSQL veri dizinine mount veya image-declared volume bağlanmadığı container
metadata’sından doğrulanır. Veri yalnız
--rmcontainer katmanında yaşar; Docker anonim volume’u oluşturulmaz. - Container envanterinin çalışma öncesi ve sonrası aynı olduğu, geçici clone ve
workspace’in kaldırıldığı rapora yazılır. Zaman aşımı bütün alt süreç grubunu
sonlandırır; dış cleanup katmanı sahipliği doğrulanmış artık container’ları da
--volumesile uzlaştırır.
Bu işlem corpus’u yeniden compile veya package etmez. Osmanlıca, lügat, terkip, heading, haşiye, tekrar, çeviri ve atıf domain’lerini import etmez.
Gereksinimler
Bölüm başlığı “Gereksinimler”- Ruby ve Git.
- Configte hash ve sürümü sabitlenmiş
zstd 1.5.7. - Çalışan Docker ve önceden yüklenmiş digest-pinned PostgreSQL 17 image’i.
- Archive materialization ve geçici PostgreSQL container katmanı için yeterli disk.
- Repo dışında bulunan, değişmemiş
tr-latn-1release dizini.
Kapı ağdan image çekmez. PostgreSQL container’ı --network none ve --rm ile
başlar; host portu yayımlamaz. Her çalışmanın rastgele kimlikli ayrı cleanup label’ı
vardır ve yalnız hem bu kimlik hem ownership label’ı eşleşirse kaldırılır.
Çalıştırma
Bölüm başlığı “Çalıştırma”Önce hızlı metadata/extractor testini çalıştırın:
make clean-machine-checkRelease için tek full çalıştırma:
MUNDERECAT_RELEASE_ROOT=/path/to/tr-latn-1 \ make clean-machine-full-check > clean-machine-report.jsonBaşarılı raporda valid: true, public release/package/core kimlikleri, import
relation count’ları, sentence/paragraph/chapter reconstruction witness’ları,
legacy_or_private_source_access: false ve üç terminal cleanup alanı bulunur.
Komut non-zero dönerse rapor kabul edilmez; checksum veya witness farkını
normalizasyon, separator ekleme ya da fallback ile düzeltmeye çalışmaz.
Metadata köprüsü
Bölüm başlığı “Metadata köprüsü”Public archive transport stream’leri taşır; mevcut importer ise aynı stream’lerin
logical, exploded görünümünü bekler. package-manifest.json archive üyelerini,
core-seal.json ise importer’ın zaten kabul ettiği logical stream ve reconstruction
witness’larını bağlar. İkisi de metin kaynağı veya DB dump’ı değildir. Materializer
bu metadata ile geçici uyumluluk görünümü oluşturur ve iş bittikten sonra siler;
ikinci bir corpus modeli ya da reconstruction algoritması tanımlamaz.
Public release yayınlama ve checksum ayrıntıları için Full data release, karakter sahipliği için Exact reconstruction rehberine bakın.