Başlarken
Bir sonucu yeniden üretme
Biri size bir bağlantı gönderir — bir makalede, bir README'de, bir sohbette — ve sonucun tam orada olduğunu söyler. Çoğu platformda o bağlantı bir ekran görüntüsüdür ya da elle yeniden kurmanız gereken bir tariftir. Scellis'te ise sonucun ta kendisidir: açın, çalıştırma kendi cihazınızda yeniden üretilir. Bu, platformun merkezi iddiasının — URL ile yeniden üretilebilir — en kısa yoludur, somutlaştırılmış, beş bölümde: bir bağlantı alırsınız, cihazınızda yeniden üretilir, onu tam olarak neyin ürettiğini incelersiniz, fork'larsınız ve kendi sürümünüzü commit'lersiniz. Scellis bir geliştirme önizlemesidir; bunu, etrafında kurulduğu akış olarak okuyun.
1. Bir bağlantı alırsınız#
Bir Scellis bağlantısı iki türde gelir ve aradaki fark taşıyıcıdır. Bir oturum bağlantısı, canlı ve düzenlenebilir bir başa işaret eder — şeylerin hâlâ değiştiği ortak taslağa — ve oturum açmanızı ister. Bir anlık görüntü bağlantısı ise dondurulmuş, içerik-adresli bir commit'e işaret eder: değişmez, alıntılanabilir ve hesapsız açılabilir. Anlık görüntü, URL-ile-yeniden-üretilebilirlik ilkelidir — bir makalenin ya da README'nin taşıması gereken şey.
Aynı commit'lenmiş anlık görüntü, sertleştirilmiş bir gömülü görünümde salt-okunur olarak da açılır; böylece bir yazı, yaşayan sonucu yerinde gösterir — üzerinde bir „Open in Studio“ ve bir „Remix (fork)“ kapağıyla — ve girişsiz bir ziyaretçi ikisini de alabilir. Tarifler de sonuçlar da böyle yolculuk eder; yeniden üretilebilirlik alttaki güvenceyi kapsar, bu sayfa ise işi bizzat adımlar.
2. Cihazınızda yeniden üretilir#
Anlık görüntüyü açtığınızda Scellis, commit'lenmiş kapanışının tamamını yeniden çözer — tam programı, girdilerini, veri kümesini ve eğitim/doğrulama/test bölmesini hash ile, artı çalıştırmanın kaydettiği motor sürümünü ve determinizm kademesini. O kapanış yerel veritabanınıza sabitlenir ve ardından çalıştırma makinenizde yeniden yürütülür: aynı IR merdiveni onu WebGPU'ya indirir ve kendi GPU'nuzda çalışır — her sonuç, beyan edilen tolerans sınıfı içinde bir CPU referansına karşı denetlenir. Hiçbir şey karşıya yüklenmez ve hiçbir sunucu hesaplamaz — bu, hızlı başlangıçta başlatacağınız çalıştırmanın aynısıdır; yalnızca tarif bir başkasından geldi.
Not
Scellis, daha güçlüsünü ima etmek yerine güvencenin adını koyar. „Aynı baytlar, aynı program, aynı girdiler, kayıtlı motor ve kademe“ koşulsuzdur — her cihazda geçerlidir. „Çıktıda aynı bitler“ ise koşulludur: bir çalıştırma, aynı cihazda debug kademesinde ya da her yerde CPU referans yolunda replayable (bit düzeyinde birebir); farklı GPU'lar arasında ise convergent — beyan edilen tolerans içinde uyuşan —, çünkü kayan nokta donanımı gerçekten farklıdır. Gerekçe, dürüst sınırlardadır.
Açılışta bir dürüstlük daha gömülüdür. Motorunuz, bağlantının sabitlediği içeriği karşılayamayacak kadar eskiyse, sessizce yaklaştırmak yerine yüksek sesle reddeder — „daha yeni bir Scellis gerekir“ tanısıyla. Sadık olamayacak bir yeniden üretim, öyleymiş gibi yapmaz.
3. Onu neyin ürettiğini inceleyin#
Yeniden üretilmiş bir çalıştırma, güvenmek zorunda olduğunuz bir kara kutu değildir. Kendi köken kaydıyla gelir — program, BlockIR ve ExecPlan hash'leri, veri kümesi ve bölme sürümleri, yüklediği ve ürettiği kontrol noktaları, yazdığı yapıtlar, motor sürümü, determinizm kademesi ve tohum. Her girdi bir hash'tir; kayıt, soruları iki yönde de yanıtlar: bu yapıtı ne üretti, bu modeli hangi veri eğitti. Az önce neyi yeniden ürettiğinizi tam olarak görürsünüz — „test kümesi“nin ardındaki bölmeye kadar.
Aynı yüzeyden bir “Cite this” bağlantısı, kanonik bir alıntı kaydı yansıtır — yazar adı, isim, sürüm, içerik hash'i, motor sürümü, anlık görüntü URL'i — BibTeX, CFF ya da CSL olarak. Yeniden ürettiğiniz tam baytları alıntılarsınız; alıntı, işaret ettiği şeyden uzaklaşamaz. Tüm mekanik — ve bir çalıştırmanın kendi kökenini nasıl yazdığı — yeniden üretilebilirliktedir.
4. Fork'layın ve kendinize ait kılın#
Okunabilir her varlık fork'lanabilir — ve fork'lamak, platformun her alıcı yüzeyinde uzattığı davettir; asla çıkmaz bir kopya değil. Fork'unuz nereden geldiğini kaydeder ve orijinalin lisansını miras alır; ikisi de açıkça gösterilir. Oradan sonrası sizindir: sıfırdan kurduğunuz her şeyle aynı doğrulanmış yazma yolundan yerinde düzenlediğiniz, birinci sınıf bir varlık — tam olarak uzantı oluşturmanın anlattığı gibi. Girişsiz bir ziyaretçi de fork'lar: kendi cihazınızda her türlü hesaplamayı yazabilir ve çalıştırabilirsiniz — sınırsız, hiç hesap olmadan.
5. Commit'leyin ve aktarın#
Değişiklikleriniz saklanmaya değerse commit'leyin — ve fork'unuz kendi içerik hash'ini ve kendi anlık görüntü URL'ini alır. Onu paylaşın; zincir sürer: bir sonraki kişi, sizin orijinali yeniden ürettiğiniz gibi sizin sürümünüzü yeniden üretir. Değişikliklerinizi ayrışmak yerine geri vermeyi tercih ederseniz, onları upstream'e önerebilirsiniz — sahibi bir üç-yönlü birleştirmeyi gözden geçirir ve kabul ya da ret verir; sürüm kontrolünden zaten bildiğiniz döngü.
Fork'ların ve sürümlerin bir arada yaşadığı yer — seçilip düzenlenmiş, sabitlenmiş, paylaşılmış — workspace'ler ve repository'lerdir; commit'lemeden önce taslak üzerinde çalışmak ise canlı birlikte çalışmadır. Cihazlar arasında eşitlemek ve büyük ölçekte paylaşmak istediğinizde, girişsiz çalışmanızı bir hesaba bağlayın — tek seferde, idempotent biçimde. Artık gönderdiğiniz her bağlantı bir başlangıç noktasıdır, bir bitiş değil.