İçeriğe geç

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.

  1. 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.
  2. Public dağıtımın kapalı envanteri, dosya boyutları ve SHA256SUMS bağı doğrulanır.
  3. Exact corpus-release-v1.tar.zst açılır; ustar üye sırası, metadata, boyut ve hashleri package manifest’e karşı doğrulanır.
  4. 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.
  5. F3-009’da kabul edilmiş importer bütün core satırlarını fresh, networkless PostgreSQL 17 container’ına tek transaction ile yükler.
  6. 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.
  7. PostgreSQL veri dizinine mount veya image-declared volume bağlanmadığı container metadata’sından doğrulanır. Veri yalnız --rm container katmanında yaşar; Docker anonim volume’u oluşturulmaz.
  8. 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 --volumes ile 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.

  • 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-1 release 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.

Önce hızlı metadata/extractor testini çalıştırın:

Terminal window
make clean-machine-check

Release için tek full çalıştırma:

Terminal window
MUNDERECAT_RELEASE_ROOT=/path/to/tr-latn-1 \
make clean-machine-full-check > clean-machine-report.json

Baş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.

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.