Geliştirme
Pack'ler, yayımlama ve güven
Er ya da geç işiniz makinenizden ayrılmak zorunda — bir çalışma arkadaşınızın çalıştıracağı bir iş akışı, yabancıların üzerine inşa edeceği bir blok, gelecekte sizin yeniden üretmeniz gereken bir model. Scellis işi Pack olarak gönderir: bağımlılık grafı kapalı, imzalı, sürümlü bir varlık paketi — içeriğin başvurduğu her şey ya zarfın içinde yolculuk eder ya da tam sürümü ve içerik hash'iyle sabitlenmiştir. Bu sayfa gönderim yolunu adım adım izler: zarf, lockfile, yayım kapısı, imza, güven merdiveni ve bağımlıların asla kırılmamasını sağlayan güvenceler. Baştan bir ayrım: Pack gönderir; Repository derler; Listing satar. Üç ayrı eksen — asla birbirine karıştırılmaz.
Gönderilen her şey için tek bir zarf#
Her dışa aktarma koca bir Pack değildir. Beş taşınabilir tek-dosya biçimi vardır — .scellis-workflow, .scellis-pack, .scellis-block-pack, .scellis-model, .scellis-dataset — ve beşi de tek bir zarfı paylaşır. İçindeki manifest türü bildirir; baytlar bayt bayt yeniden üretilebilirdir, yani aynı içerik iki kez dışa aktarıldığında birebir aynı dosyayı verir; ve her içe aktarma, kataloğunuza herhangi bir şey inmeden önce içerik hash'ini doğrular. Doğrulamayı geçemeyen dosya reddedilir — yüksek sesle, platformdaki her reddin konuştuğu aynı kanonik tanıyla. Şartlı içe aktarma da yarım iniş de yoktur: ya doğrulanmış baytlar ya hiç.
Kapanış, işle birlikte yolculuk eder#
Bir Pack'in en zorlu sözü eksiksizliktir ve Scellis bunu yazarın hafızasına bırakmayı reddeder. Yazdığınız kod başka katalog varlıklarını çağırdığında — bir op, bir yardımcı fonksiyon, bir tokenizer — bu kullanımların her biri bir lockfile üzerinden çözülür: işin bağımlı olduğu her şeyin otomatik türetilmiş kapanışı; kimlik, tam sürüm ve içerik hash'iyle sabitlenmiş, döngülere karşı denetlenmiş. Kayıtlı bir iş akışını çevrimdışı çalıştıran da aynı kapanıştır: sabitlenen her hash, çalıştırma başlamadan önce cihazda hazırdır — indirme, üretim ve kurulum anında yaşar, asla çalıştırma yolunda değil.
{
"entity": "user/ada/robust-scaler",
"version": 3,
"content_hash": "sha256:9f2c41ac…",
"uses": {
"tensor/matmul@2": "sha256:41ac88d0…",
"user/kim/winsorize@1": "sha256:b7e03f5e…",
"text/tokenizer/bpe@4": "sha256:0d66c2a1…"
},
"effects": [],
"min_engine": "1.4.0",
"capabilities": ["webgpu.f16"]
}İki sonuç vurgu ister. Birincisi: etkiler kapanış boyunca geçişlidir. Üç katman derindeki bir bağımlılık ağ çıkışı bildiriyorsa Pack bu bildirimi alnında taşır — “saf” bir sarmalayıcı, bir çağrıyı içe aktarmalarının arasından kaçıramaz (etkilerin nasıl bildirildiği uzantı üretme sayfasında anlatılıyor). İkincisi: kurulum, aynı kapanışı alıcı cihazda yeniden çözer. Bir Pack asla yarım kurulmaz — ya her sabitleme çözülür ve doğrulanır ya da kurulum reddeder ve başarısız olan sabitlemeyi adıyla söyler.
Yayım bir ön kontroldür, yükleme düğmesi değil#
Yayımladığınız şey commit'lenmiş bir sürümdür, asla canlı bir taslak değil. Taslaklar şeylerin değiştiği yerdir; commit ise adınızı koymaya değer, değişmez, içerik adresli yapıttır — yeniden üretilebilirlik boyunca işleyen aynı taslak-commit disiplini. Commit'in üzerinde, bir şey çıkmadan önce paketi denetleyen bir kapı oturur — ve denetimlerin kendisi de içerik olarak teslim edilir; çıta, uygulamaya sürüm gerekmeden yükselebilir. Kapının istedikleri:
- Çözülebilir bir lockfile: her bağımlılık sabitlenmiş, her sabitleme çözülebilir.
- Uygunluk kanıtı: hesaplayan her şey, referans implementasyonuyla uyuştuğunun kaydını taşır — bir GPU çekirdeği için, güvenilir etkinleştirmesini zaten şart koşan hash'e bağlı ConformanceReceipt.
- Bir yöntem kartı: bunun ne olduğunun ve nasıl davrandığının insanın okuyabileceği anlatımı. Modeller model kartı, veri kümeleri veri sayfası ekler.
- Bildirilmiş etkiler: içeriğin saf hesaplamanın ötesinde dokunduğu her şey — kapanış dahil.
- Profil uyumluluğu: bildirilmiş; böylece bir cihaz kurmadan önce bunu çalıştırıp çalıştıramayacağını bilir.
- Eksiksiz üstveri ve bir lisans: katalog girdisi olması gereken yerde boş alan yok — ve açık bir SPDX lisansı olmadan hiçbir şey herkese açık olmaz.
Bir parça eksikse yayım reddedilir; eksik olan her madde adıyla sayılır — asla sessizce, asla genel bir hatayla değil. Kapının listelediğini düzeltir, yeniden yayımlarsınız; tahmine yer yoktur.
Cihazınızda imzalanır, kanıtla güvenilir#
İmza, işinizin yaşadığı yerde atılır: tarayıcıda. İmza anahtarı da bir katalog varlığıdır; özel yarısı yerelde üretilir ve cihazdan asla ayrılmaz — eşitlenmez, yüklenmez, Scellis tarafından kurtarılamaz. Yayımlama içerik hash'ini imzalar; her kurulum imzayla hash'i birlikte doğrular — başka bir makineye varan şey, kanıtlanabilir biçimde sizin yayımladığınızdır.
Güven; yazarlıktan da popülerlikten de ayrı bir eksendir. Yayımlanmış bir sürüm kazanılmış bir düzey taşır — doğrulanmamış, topluluk, doğrulanmış, resmî — ve kullanıcı işi, platform ekibinin gönderdiği her şeyle aynı kanıt çıtasından geçerek doğrulanmış düzeyine tırmanır; çünkü kullanıcı içeriği yapısal olarak yerleşiklerle özdeştir. Resmî yalnızca bakımını Scellis'in üstlendiği içeriği işaretler; geri kalan her şeyi yukarı taşıyan kayırma değil, kanıttır.
Yayımlanmış sürümler ayağınızın altından kaymaz#
Yayımlanmış bir sürüm değişmezdir — onu “yerinde düzeltmek” yapısal olarak yasaktır. Anlam değiştiğinde sürüm yükselir ve eski sürüm sonsuza dek çalışabilir kalır; çünkü bağımlılar lockfile'larında tam sürüm sabitler. Güncellemek böylece sizin verdiğiniz bir karardır, başınıza gelen bir şey değil: yeni sürüme bilerek geçer, kendi denetimlerinizi çalıştırır, öyle ilerlersiniz. Aynı kural içeriği ticarete kadar izler: v3 çıktığında, v2'yi alan v2'sini korur.
Bağımlılar yapısal olarak da savunulur. Yayımlanmış bir varlığı kalıcı silmek, herhangi bir bağımlının lockfile'ı onu sabitlediği sürece reddedilir. Bir hesabın silinmesi, yayımlanmış varlıkları mezar taşına çevirir — yazar anonimleştirilir, sabitlenen baytlar çözülebilir kalır — böylece kimsenin işi, bir başkası ayrıldı diye kırılmaz. Ve bağımlı olduğunuz parça izlemek istemediğiniz bir yöne evrildiğinde, fork etmek birinci sınıftır: okuyabildiğiniz her şeyi fork edin, size ait tam bir kopya alın — düzenlenebilir, yayımlanabilir, diğer her şey gibi denetlenen. Bu türden kalıcılık bir platform taahhüdüdür, nezaket değil.
Kurulumda onay; politika Workspace'ten#
Kurulum, güvenliğin karara bağlandığı andır — ve karar bildirimlere dayanır. Bir Pack, kapanışının ihtiyaç duyduğu etkileri bildirir; onay bu beyandan hesaplanır:
| Bildirilen etki | Kurulumda |
|---|---|
| Saf hesaplama | Otomatik izinli — onaylanacak bir şey yok |
| Ağ veya dosya sistemi | Yalnızca açık onayınızla kurulur |
| Bildirilmemiş etkiler | Varsayılan olarak reddedilir — sandbox'ın verecek bir şeyi yoktur |
Bir Workspace, çizgiyi içindeki herkes için daha da sıkılaştırabilir: yalnızca imzalı Pack'lere izin vermek, ağ etkilerini yasaklamak ya da deterministik yürütme şart koşmak. Hiçbir yerel ayar Workspace politikasının üzerinde değildir — arayüz, Workspace'in koyduğu bir kuralın yanından geçirilemez.
Eşitleme hızında teslimat — son kilometreye kadar dürüst#
Yayımlayın; teslimat artık sizin sorununuz değildir. Sürüm treni yoktur, çünkü sürümlenecek bir şey yoktur: derlenmiş uygulama yalnızca motoru taşır, her yetenek veritabanından gelir — yeni yayımlanan bir Pack, diğer istemciler için bir sonraki eşitlemelerinden saniyeler sonra canlıdır. Uygulama yeniden derlemesi yok, yeniden kurulum yok, sürüm penceresi bekleme yok.
Hızlı göndermek hataları da gönderir; bu yüzden yayımlanmış her hash'in bir duyuru kanalı vardır. Bir duyuru, sabitlenmiş her bağımlıyı uyarır — bir bildirim, işaretlenen sürümün üzerinde bir katalog rozeti ve ondan tek adımda uzaklaşmak için bir yeniden çözümleme — ve işaretlenmiş sürümün yeni kurulumları, her kurulumun geçtiği tek bayt-sunum noktasında engellenebilir.
Not
Dürüst sınır: cihazlara zaten eşitlenmiş baytlar zorla geri çağrılamaz. Bir duyuru her bağımlıyı uyarır ve yeni kurulumları durdurabilir; makinelerin içine uzanıp silmez. Scellis bu sınırı saklamak yerine açıkça söyler.
Cihazınızdan herkesin cihazına giden yolun tamamı bu: tek bir zarf, işle yolculuk eden bir kapanış, isteklerini adıyla söyleyen bir kapı, yerelde üretilmiş bir imza, asla kımıldamayan sürümler, bildirimlerden hesaplanan onay — ve bir eşitleme hızında teslimat.