{"block_close_oss.c33fd1fe9c":"Community ed ecosistema","open-source-selvedge.hero-broker.no":"No","open-source-selvedge.a5e3c573e9":"Compila i workload BNN di Kera per il runtime Selvedge.","open-source-selvedge.d5f412e831":"Kera","open-source-selvedge.fe0a091fdb":"Prodotti","open-source-selvedge.7dfa2cfe61":"Provenienza degli eventi con catena di hash per gli eventi di sistema.","open-source-selvedge.1aa2f31ee7":"Registro","open-source-selvedge.6cc3364a24":"Prova di esecuzione","open-source-selvedge.ff130daae8":"Certificati di prova del ragionamento, non trascrizioni di esecuzione.","open-source-selvedge.df84637182":"AION","open-source-selvedge.d5d6e83bf2":"Continua a esplorare","open-source-selvedge.75e393a1ac":"Esplora il progetto","open-source-selvedge.f9743247fa":"Leggi la documentazione","open-source-selvedge.ef0fd4ccef":"Ispeziona il registro di esecuzione","open-source-selvedge.e971b9cac2":"Selvedge pubblica nel quarto round del programma di rilascio della fondazione, dopo Knot e Ledger. Una volta pubblicato, metti in sandbox un modulo WASM e riproduci tu stesso la busta di prova.","open-source-selvedge.aa91c05f23":"Verifica il risultato, non il codice","open-source-selvedge.90e40d5043":"Inizia","open-source-selvedge.de6848949f":"Selvedge","open-source-selvedge.650fabe787":"Open Source","open-source-selvedge.0a2d263d08":"OSS / Selvedge","open-source-selvedge.9e2fe6d1ab":"Sandbox con negazione predefinita","open-source-selvedge.6b5eb5323e":"Negazione predefinita","open-source-selvedge.9940fac0fc":"Superficie di esecuzione degli strumenti del Model Context Protocol.","open-source-selvedge.d19313d340":"Server agente","open-source-selvedge.bb1d021694":"Sigillato con Ed25519, trascrizione SHA3-256, verifica offline.","open-source-selvedge.1ee471ad95":"Busta di prova","open-source-selvedge.7e4e340a74":"Reti neurali binarie IR a grafo, JIT e interprete.","open-source-selvedge.0743169b8b":"Motore Kera","open-source-selvedge.90ba359bc5":"Runtime del modello a componenti, host WASI 0.2 Preview 2.","open-source-selvedge.90aecd8ec1":"Motore Wasmtime","open-source-selvedge.ed07ad60bf":"Superficie verificata","open-source-selvedge.8ec9f20dc2":"COSA VENDE","open-source-selvedge.efe0c41bcb":"KERA","open-source-selvedge.4e946026a7":"WASM","open-source-selvedge.8e4939f0ca":"RUST 2024","open-source-selvedge.c968638a6e":"TRASCRIZIONE SIGILLATA","open-source-selvedge.201a4da5a0":"Selvedge esegue codice non attendibile in una sandbox con limiti di capacità e registra l'esecuzione in una trascrizione sigillata. Il contenimento limita ciò che il codice può toccare; la trascrizione mostra cosa è realmente accaduto e può essere riprodotta per la revisione.","open-source-selvedge.3ca6c6a37b":"Deterministico per impostazione predefinita","open-source-selvedge.a55e5a1229":"Capacità limitata","open-source-selvedge.fca77b7e3a":"Il percorso di esecuzione sigillato","open-source-selvedge.8faedce292":"Quattro runtime","open-source-selvedge.2adb968c4a":"Stessa busta","open-source-selvedge.0bf361df63":"Server Model Context Protocol per gli strumenti agente.","open-source-selvedge.21593b807a":"MCP","open-source-selvedge.1df8dd458e":"Runtime agente a lunga esecuzione con una coda.","open-source-selvedge.329cb8b6ba":"Servizio","open-source-selvedge.8b3b7e65eb":"build, verify, run, replay. Adatto alla CI.","open-source-selvedge.700b401ca5":"CLI","open-source-selvedge.fb075836bd":"Collegato alla tua applicazione come crate.","open-source-selvedge.0fd17b94c9":"Integrato","open-source-selvedge.3512486e9f":"Dove gira Selvedge","open-source-selvedge.d53f3da0a7":"POSIZIONE","open-source-selvedge.f28d7de3d9":"REGOLAMENTATO","open-source-selvedge.a21096cb07":"RUNTIME BNN","open-source-selvedge.0fcaf629eb":"PLUGIN","open-source-selvedge.32e4cd84f3":"STRUMENTI AGENTE","open-source-selvedge.78a8dfaf02":"Strumenti agente, plugin di terze parti, inferenza BNN Kera e dati regolamentati entrano tutti attraverso lo stesso confine controllato. Ogni runtime produce la stessa busta di prova sigillata, quindi i cambi di distribuzione non modificano la storia di audit.","open-source-selvedge.e9f7d0cf54":"soddisfa i workload regolamentati","open-source-selvedge.8d5a043fd8":"Dove il codice non attendibile","open-source-selvedge.14a29ba383":"Casi d'uso","open-source-selvedge.f86aae8de8":"Il percorso caldo rimane con vanilla","open-source-selvedge.224a8949e8":"Avvio a freddo, il vantaggio principale","open-source-selvedge.36998c51d5":"Hashing della trascrizione, SIMD.","open-source-selvedge.41366a8f09":"da 1 a 3 us","open-source-selvedge.01dbc6d47c":"SHA3-256, 1 KB","open-source-selvedge.bd0fbf08cc":"Firma Ed25519 5-15 us, verifica 15-30 us.","open-source-selvedge.1f3e8a79be":"10-20 us","open-source-selvedge.671d8813b1":"Creazione proof AION","open-source-selvedge.9f10fa1bbe":"Avvio del processo incluso, 8-9 volte più veloce.","open-source-selvedge.4258dd2386":"1,58-1,70 ms","open-source-selvedge.919b634e80":"CLI a freddo, Kera JIT","open-source-selvedge.2d3bb21f5e":"Modulo di calcolo, rispetto a 1187-1494 us vanilla.","open-source-selvedge.bd8403776f":"15-21 us","open-source-selvedge.cbb71692d2":"Avvio a freddo, API","open-source-selvedge.6cd2cd614d":"Da BENCHMARKS.md","open-source-selvedge.48109cc196":"BENCHMARK SELVEDGE","open-source-selvedge.d9074c5c77":"CRITERION","open-source-selvedge.7084ceb2f1":"AION 10-1000x","open-source-selvedge.b0437f28f6":"KERA JIT A CALDO 2x","open-source-selvedge.65e2c56be9":"A FREDDO 62-243x","open-source-selvedge.928af32bc7":"Selvedge Wasmtime si avvia da 62 a 243 volte più velocemente di Wasmtime vanilla a livello API. Il compromesso onesto è il percorso caldo: vanilla mantiene la chiamata ripetuta da 22 ns, e il modello a componenti che produce la trascrizione è più lento lì. Kera JIT è 2 volte più veloce a caldo per il lavoro sui grafi. I dati provengono dal BENCHMARKS.md del repository.","open-source-selvedge.da589b16da":"Scegli il runtime in base al carico di lavoro","open-source-selvedge.c296a030fe":"L'avvio a freddo è il vantaggio","open-source-selvedge.63c9045599":"Prestazioni","open-source-selvedge.7b63c4cb70":"Concesso per chiamata","open-source-selvedge.abf0c49614":"Negazione predefinita","open-source-selvedge.cce9f81b05":"Ogni decisione di gate è registrata e sottoposta a hash.","open-source-selvedge.5bcd602254":"Trascrizione","open-source-selvedge.7dc2595377":"max_execution_time_ns, separato dal fuel.","open-source-selvedge.e909add520":"Limite di tempo reale","open-source-selvedge.214f86c442":"max_memory_bytes, 256 MiB predefinito, tetto di 4 GiB.","open-source-selvedge.89095dddd2":"Limite di RAM","open-source-selvedge.0f69ea8c8d":"max_instructions, l'esaurimento arresta il carico di lavoro in modo pulito.","open-source-selvedge.7171161439":"Budget di calcolo","open-source-selvedge.71f2051042":"Orologio, casualità, filesystem, rete, ambiente, stdio, processo, personalizzato. Negazione predefinita.","open-source-selvedge.ca09c54bff":"Capacità","open-source-selvedge.f767a4311b":"Protezioni per esecuzione","open-source-selvedge.369abb529c":"LIVELLI DI POLICY","open-source-selvedge.64269f9bd2":"TIME","open-source-selvedge.f4b1c471ce":"MEMORIA","open-source-selvedge.d8a8b58d7f":"FUEL","open-source-selvedge.1a8d3ca502":"Un insieme di capacità a negazione predefinita controlla ogni chiamata host in otto domini WASI. I limiti di risorse su memoria, fuel e tempo vincolano il comportamento fuori controllo. Ogni decisione di gate e lettura di risorse è nella trascrizione.","open-source-selvedge.770a668e0e":"Limiti di risorse. Audit","open-source-selvedge.8a54e91228":"Capacità","open-source-selvedge.bb9cf14180":"Policy","open-source-selvedge.26fe8fb85c":"Ricevute invece di asserzioni","open-source-selvedge.e08283960c":"Verifica, non fidarti","open-source-selvedge.82de28b689":"Ti serve una prova crittografica di ciò che il carico di lavoro ha fatto, non fiducia nel runtime.","open-source-selvedge.858b0d2d19":"Fidati del runtime, non del carico di lavoro","open-source-selvedge.ba959133c8":"Consenti filesystem, nega rete, ma nessuna registrazione per chiamata nel registro di audit.","open-source-selvedge.ff6fdd664b":"Consenti o nega grossolano","open-source-selvedge.f58bb04b13":"FP e tempo reale trapelano. La riproduzione produce approssimativamente lo stesso output, non esattamente.","open-source-selvedge.a1d55a1dad":"La riproduzione devia","open-source-selvedge.f7afaaab99":"nessuna ricevuta","open-source-selvedge.4677f31dd1":"Una sandbox impedisce la fuga. Non dimostra che il carico di lavoro si sia comportato correttamente all'interno.","open-source-selvedge.6f3134b990":"Il contenimento non è correttezza","open-source-selvedge.782cef5501":"Quattro lacune strutturali","open-source-selvedge.056dcf1841":"PERCHÉ LE SANDBOX MANCANO IL BERSAGLIO","open-source-selvedge.f1358eac2f":"POLICY GROSSOLANA","open-source-selvedge.2bf9ef4df8":"NONDETERMINISTICO","open-source-selvedge.1c613acc7e":"NESSUNA PROVA","open-source-selvedge.d38e80798b":"Le sandbox convenzionali impediscono al codice dannoso di fuggire. Non producono una registrazione di ciò che il codice ha effettivamente fatto all'interno. Quando un revisore chiede, la risposta è un'asserzione, non una prova.","open-source-selvedge.61920a517c":"Non dimostrano","open-source-selvedge.5a88fbb30e":"Le sandbox contengono","open-source-selvedge.8a9400005c":"Una sandbox non spiega l'esecuzione","open-source-selvedge.7c46a5978b":"Selvedge cattura esattamente ciò che è stato eseguito, dall'input all'output, ogni chiamata host sigillata.","open-source-selvedge.3e663e9467":"Selvedge è trascrizione di esecuzione","open-source-selvedge.a5be60731e":"Il registro registra cosa è successo in un sistema. Selvedge registra quale codice è stato eseguito.","open-source-selvedge.2c3e446b87":"Ledger è provenienza degli eventi","open-source-selvedge.de792742e8":"AION emette certificati sui passaggi del solver, non sulle esecuzioni.","open-source-selvedge.ced73ef9a5":"AION è prova di ragionamento","open-source-selvedge.0d9a7a065c":"Come Selvedge differisce da AION e Ledger","open-source-selvedge.d7ffcdc87b":"Stessi input più stessa busta significa stesso output, sempre.","open-source-selvedge.7d8134cc1f":"Replay byte-identico","open-source-selvedge.75fcf02b02":"Un'epoca fissa e un PRNG ChaCha20 seminato sostituiscono tempo e entropia dell'host.","open-source-selvedge.92a47286b6":"Orologio virtuale, RNG seminato","open-source-selvedge.13c1f9cde6":"Calcolo interno, archiviazione e accumulo usano rappresentazioni binarie, intere, a virgola fissa o adattive intere/a virgola fissa. La virgola mobile è accettata solo a un confine esterno dichiarato e viene esplicitamente convertita prima che inizi il lavoro interno; non esiste fallback interno a virgola mobile. L'orologio virtuale rimane fisso, quindi il replay produce gli stessi byte.","open-source-selvedge.a33c607874":"Niente virgole mobili interne, niente orologi","open-source-selvedge.81ec58648a":"Esecuzione deterministico di default","open-source-selvedge.4b447f3a6e":"Il verificatore riproduce offline con byte del modulo e busta soltanto.","open-source-selvedge.17d120d8bb":"Riproducibile","open-source-selvedge.6e95469aa0":"Firma ed25519 sulla radice della busta. Non prosa.","open-source-selvedge.6e3665d85f":"Firmato","open-source-selvedge.bc61f0c3fe":"Ogni chiamata host è hashata nella catena. Le modifiche rompono la catena.","open-source-selvedge.aa5cba1a92":"Catena di hash","open-source-selvedge.04c7525615":"Perché il trascritto è diverso da un log","open-source-selvedge.6db180787e":"Stesso flusso a ogni esecuzione. Il replay è meccanico.","open-source-selvedge.69aca853c2":"Prova AION","open-source-selvedge.ff8fc1c58a":"Sigillo","open-source-selvedge.0ae62541bc":"Catena SHA3","open-source-selvedge.873507a022":"Hash","open-source-selvedge.b1b392607d":"Esegui","open-source-selvedge.3e3f943d84":"capacità bloccate","open-source-selvedge.ddcb77ff76":"Carica","open-source-selvedge.71faf343ce":"Trascritto di esecuzione","open-source-selvedge.952be7ff16":"Prova AION emessa, firmata ed25519, busta pronta per l'invio.","open-source-selvedge.be1a4b336f":"Ogni chiamata host e risultato è hashata in una catena SHA3-256.","open-source-selvedge.83dcc459e8":"Wasmtime o Kera esegue all'interno della sandbox a negazione predefinita.","open-source-selvedge.1a5c8788b4":"Modulo caricato, capacità bloccate, limiti delle risorse applicati.","open-source-selvedge.25ec589727":"Selvedge esegue codice WASM o Kera all'interno di una sandbox a negazione predefinita, hashata ogni chiamata host in una catena di trascritti SHA3-256 e avvolge il risultato in una busta di prova AION firmata. La busta si riproduce senza la sandbox originale.","open-source-selvedge.fa84feaccb":"Un trascritto sigillato","open-source-selvedge.62ee5ca76d":"Quattro fasi","open-source-selvedge.a5a88d36d1":"Cosa produce Selvedge","open-source-selvedge.db2f804f0c":"I dati lasciano l'Europa","open-source-selvedge.8799dc7cf1":"Computer che possiedi","open-source-selvedge.1d197d39c5":"Dove viene eseguito","open-source-selvedge.79073eaaf2":"Paesi Bassi","open-source-selvedge.44ab85a252":"Origine","open-source-selvedge.f1be77358f":"Evidenza, non promessa","open-source-selvedge.df5248d3cd":"La risposta dell'audit","open-source-selvedge.6eef664840":"Nessuno","open-source-selvedge.a95380913a":"Servizio esterno richiesto","open-source-selvedge.eba5db6f23":"Vincolo al fornitore","open-source-selvedge.4ce8c39ddd":"Dove trovarlo","open-source-selvedge.3229609e15":"Modello di esecuzione","open-source-selvedge.cba0624eb5":"Scheda di approvvigionamento","open-source-selvedge.101226ec7a":"Cosa risparmia e de-rischia","open-source-selvedge.7a0848ede3":"Vedi il confine di esecuzione","open-source-selvedge.c01c519a99":"Selvedge è una sandbox WebAssembly deterministica per codice non fidato. Il suo manifest dei permessi e il trascritto sigillato girano su hardware che controlli, quindi una controparte può riprodurre il record sulla propria macchina e una disputa diventa una ricerca piuttosto che una richiesta di garanzia.","open-source-selvedge.27e446d5a9":"Conserva un trascritto sigillato","open-source-selvedge.e1cb220703":"Esegui codice non fidato","open-source-selvedge.6ec18dcb30":"Selvedge","open-source-selvedge.993a665d35":"Al comando","open-source-selvedge.c1df7f8f11":"Rimani","open-source-selvedge.f3101e3bb1":"Su un computer a casa","open-source-selvedge.7cb07d3c00":"Può eseguire","open-source-selvedge.576347ec82":"Europa","open-source-selvedge.15edfb4da4":"Fatto in","open-source-selvedge.dd80c16201":"Stessa risposta, ogni volta","open-source-selvedge.d7e70b6e08":"Stessa domanda","open-source-selvedge.12fee4f639":"Così nulla può essere falsificato","open-source-selvedge.4c10b31d42":"Sigilla","open-source-selvedge.dcd11694fe":"Una ricevuta di ogni passaggio","open-source-selvedge.2ab05d7411":"Scrive","open-source-selvedge.527d86ed84":"Tiene il lavoro in un angolo sicuro","open-source-selvedge.ca032b5844":"Tieni il codice nei limiti, tieni il registro","open-source-selvedge.ce2cddc0bb":"Un assistente attento","open-source-selvedge.f8c94a3b4b":"Cos'è","open-source-selvedge.704869f20f":"In parole semplici","open-source-selvedge.21e83f6c44":"Leggi la piccola storia","open-source-selvedge.06c805023d":"Guarda cosa ha fatto il codice","open-source-selvedge.d346a6159d":"Selvedge mette un programma che non hai scelto in una stanza senza internet, senza accesso ai tuoi file e senza nulla da imparare sulla tua macchina. Lascia una ricevuta che dice cosa è tornato e cosa al programma era permesso fare, così puoi verificare un'affermazione successiva invece di prendere qualcuno in parola.","open-source-selvedge.a1301435db":" scrive tutto ciò che fa","open-source-selvedge.5bd50e406e":"Un assistente attento che","open-source-selvedge.279245bb2e":"Sigillato in stile AION, ed25519","open-source-selvedge.5f174de1cc":"Prova","open-source-selvedge.ff5b90620f":"SHA3-256 per chiamata host","open-source-selvedge.98e2d78aaa":"Predefinito, non opzionale","open-source-selvedge.2956ef9ad6":"Determinismo","open-source-selvedge.cd95bf50b6":"Host componente Wasmtime","open-source-selvedge.b3776d63ad":"Backend","open-source-selvedge.2da600bf94":"Versione","open-source-selvedge.f187484f8c":"Rust (Edizione 2024)","open-source-selvedge.89b86ab0e6":"Linguaggio","open-source-selvedge.942587e61e":"Scheda progetto","open-source-selvedge.d4a74b503a":"Leggi la documentazione","open-source-selvedge.a42a770d90":"Selvedge esegue codice che non hai scritto in un host componente WebAssembly senza rete, filesystem, ambiente o orologio in movimento. Ogni esecuzione completata restituisce un record che un'altra parte può riprodurre e un rapporto di esecuzione che dichiara cosa al codice era permesso fare. Pubblicato sotto Apache 2.0.","open-source-selvedge.92ec8c4f54":"responsabilità sicura","open-source-selvedge.722d7084a5":"Codice non fidato","open-source-selvedge.3b6a6a049d":"sandbox","open-source-selvedge.7d5b92b8a7":"CAP-SET","open-source-selvedge.0e2f3c1696":"FUEL","open-source-selvedge.a266fe9c4d":"MEMORIA","open-source-selvedge.5888675d99":"TIME","open-source-selvedge.7dd251bbda":"AUDIT","open-source-selvedge.76b5a35739":"lib","open-source-selvedge.99bb884017":"cli","open-source-selvedge.348c658682":"svc","open-source-selvedge.10182ab855":"mcp","open-source-selvedge.4bec5a51a3":"WASM","open-source-selvedge.a21dedb8ad":"KERA","open-source-selvedge.37c66a2cfc":"AION","open-source-selvedge.53f13ae99e":"MCP","open-source-selvedge.5d0b2f6bd4":"OSSERVATO","open-source-selvedge.35e0d0360a":"LIVE","open-source-selvedge.0f4b423c4b":"MISURATO","open-source-selvedge.6e10953f3e":"OPEN","open-source-selvedge.rebuild-h1-lead":"Esegui codice che non hai scritto.","open-source-selvedge.rebuild-h1-accent":"Una stanza con una ricevuta.","open-source-selvedge.rebuild-business-h1-lead":"Esegui codice non fidato su hardware che controlli.","open-source-selvedge.rebuild-business-h1-accent":"Un sandbox WebAssembly deterministico.","open-source-selvedge.close.github":"Chiedi informazioni sulla release","open-source-selvedge.source.access":"Pubblica al quarto round","open-source-selvedge.close.title":"Verifica il risultato","open-source-selvedge.close.titleAccent":"non il codice","open-source-selvedge.close.panel.title":"Cosa puoi verificare tu stesso","open-source-selvedge.close.panel.tag":"RUNTIME","open-source-selvedge.close.panel.row.0.label":"Licenza","open-source-selvedge.close.panel.row.0.value":"Apache 2.0","open-source-selvedge.close.panel.row.1.label":"Esecuzione","open-source-selvedge.close.panel.row.1.value":"Negazione predefinita","open-source-selvedge.close.panel.row.2.label":"Determinismo","open-source-selvedge.close.panel.row.2.value":"Predefinito, non opzionale","open-source-selvedge.close.panel.row.3.label":"Trascrizione","open-source-selvedge.close.panel.row.3.value":"SHA3-256 per chiamata host","open-source-selvedge.close.panel.foot":"La pubblicazione è prevista in round quindicinali. Il repository e la sua documentazione vengono pubblicati insieme.","oss-selvedge-business-glyph.fef8e889dc":"Criterio di esecuzione","oss-selvedge-business-glyph.6b5eb5323e":"Negazione predefinita","oss-selvedge-business-glyph.4ce8c39ddd":"Dove trovarlo","oss-selvedge-business-glyph.eba5db6f23":"Vincolo del fornitore","oss-selvedge-business-glyph.6eef664840":"Nessuno","oss-selvedge-business-glyph.a95380913a":"Servizio esterno","oss-selvedge-business-glyph.a92831c31f":"Costruito nei Paesi Bassi","oss-selvedge-business-glyph.47deeb13b4":"Funziona su computer di tua proprietà","oss-selvedge-business-glyph.71aec0536c":"I dati restano in Europa","oss-selvedge-business-glyph.8ac7aa173f":"Cosa ottieni","oss-selvedge-business-glyph.5c75fc26b6":"Controllo e prove","oss-selvedge-business-glyph.df5248d3cd":"La risposta all'audit","oss-selvedge-business-glyph.74f39697ac":"Prima","oss-selvedge-business-glyph.b407dd020f":"Una promessa su una pagina","oss-selvedge-business-glyph.4f1d10b8b9":"Con Selvedge","oss-selvedge-business-glyph.62d62865a8":"Prove sigillate","oss-selvedge-consumer-glyph.088aa1c6a5":"Rimasto nell'angolo sicuro","oss-selvedge-consumer-glyph.cc8e3cba23":"Ha fatto solo ciò che hai chiesto","oss-selvedge-consumer-glyph.f87dcfd005":"Ha annotato ogni passaggio","oss-selvedge-consumer-glyph.ce2cddc0bb":"Un assistente attento","oss-selvedge-consumer-glyph.0b5703d2a7":"L'angolo sicuro","oss-selvedge-consumer-glyph.135207e95b":"Fa un piccolo lavoro, qui, e da nessun'altra parte.","oss-selvedge-consumer-glyph.0ed7e2fe52":"Cosa ha fatto, annotato","oss-selvedge-consumer-glyph.2b11f0b541":"Sigillato, così nulla può essere modificato","oss-selvedge-hero-glyph.85be9bda9e":"Verifica AION superata.","oss-selvedge-hero-glyph.8fff039853":"YES","oss-selvedge-hero-glyph.c5616cf985":"Firma valida:","oss-selvedge-hero-glyph.9e84fd1870":"Digest corrispondente:","oss-selvedge-hero-glyph.ae05be9259":"Trascrizione salvata in:","oss-selvedge-hero-glyph.7d1f8eca4c":"Istruzioni:","oss-selvedge-hero-glyph.1611baddbd":"2 097 152 byte","oss-selvedge-hero-glyph.b6d31df01c":"Memoria:","oss-selvedge-hero-glyph.d1fd5a4123":"Utilizzo risorse:","oss-selvedge-hero-glyph.80e5667a3d":"Esecuzione completata con successo in 18,4 ms","oss-selvedge-hero-glyph.ebece295c6":"catena di trascrizione, sha3-256","oss-selvedge-hero-glyph.859e2c0cd0":"tempo 5000 ms","oss-selvedge-hero-glyph.6137065f69":"carburante 50 M","oss-selvedge-hero-glyph.489a5f61f6":"mem 256 MiB","oss-selvedge-hero-glyph.70049344a2":"politica: negazione predefinita","oss-selvedge-hero-glyph.9b97280973":"Deterministico:","oss-selvedge-hero-glyph.0642f22885":"Motore:","oss-selvedge-hero-glyph.8116c74b17":"Esecuzione artefatto:","oss-selvedge-hero-glyph.9f85876f55":"Wasmtime, modello a componenti","page-breadcrumb.c766e66518":"Percorso di navigazione","page-toc.7e439c353e":"In questa pagina","section_st_a1_display-split.7c9a7c0610":"Dettagli","section_st_f1_cta-dark.90e40d5043":"Inizia","selvedge-rebuild.why":"Perché","selvedge-rebuild.state.depth-3":"Profondità 3","selvedge-rebuild.state.depth-1":"Profondità 1","selvedge-rebuild.state.leaf":"Foglia","selvedge-rebuild.state.path":"Percorso","selvedge-rebuild.state.root":"Radice","selvedge-rebuild.state.proof":"Prova","selvedge-rebuild.instrument.first-check":"Primo controllo","selvedge-rebuild.instrument.last-check":"Ultimo controllo","selvedge-rebuild.e4117a549a":"La stanza, la ricevuta e l'elenco sono l'intera promessa.","selvedge-rebuild.e04c2bbabb":"Un elenco, non una stima.","selvedge-rebuild.f4a910b306":"Trova e correggi","selvedge-rebuild.d7231e00d3":"Il codice viene trasportato con ogni esecuzione.","selvedge-rebuild.de97a98b3b":"Ogni ricevuta","selvedge-rebuild.4fb8981886":"Un digest identifica la build.","selvedge-rebuild.280587dbfc":"Artefatto esatto","selvedge-rebuild.94bce13433":"da una ricevuta a ogni job","selvedge-rebuild.d8ad44b2fd":"La traccia all'indietro","selvedge-rebuild.66d0398793":"TROVATO, NON IPOTIZZATO","selvedge-rebuild.f64f81f133":"OGNI JOB","selvedge-rebuild.cd30789775":"UN CODICE","selvedge-rebuild.36d917a683":"Qui arriva come elenco. Ogni job che ha usato il programma difettoso lo identifica per codice, data e un breve elenco di permessi, così puoi vedere cosa è stato coinvolto e quanto lontano avrebbe potuto arrivare. Se chi lo ha creato non è più considerato affidabile, il ritiro entra in vigore a un intervallo di aggiornamento prestabilito, non quando scade un certificato. Il software è pubblicato con licenza Apache 2.0.","selvedge-rebuild.12399078d5":"La versione abituale di questa conversazione è una stima. Qualcuno calcola quale release era probabilmente in esecuzione, in quali giorni, per quali persone, e la risposta arriva come un intervallo con una nota di cautela. Questo lascia i fatti necessari per definire una correzione come una ricostruzione, non come una registrazione. La correzione inizia con un elenco che può essere verificato.","selvedge-rebuild.0ccfcd0de4":"Cosa cambia","selvedge-rebuild.664ca13427":"Ogni job registra un codice breve per il programma esatto che ha svolto il lavoro. Non il suo nome, non il suo numero di versione, ma il programma stesso, così due build che condividono lo stesso nome hanno comunque codici diversi. Se quel programma in seguito si rivela difettoso, il codice è il modo in cui ogni job che lo ha toccato viene trovato.","selvedge-rebuild.7e5bd67fe6":"e ogni job che ha toccato","selvedge-rebuild.b27d103669":"Un codice identifica il programma","selvedge-rebuild.332f693bb9":"Quando qualcosa si rivela sbagliato","selvedge-rebuild.e7dceacc68":"Quando qualcosa si rivela sbagliato, un codice identifica il programma.","selvedge-rebuild.9c9d8ebf4c":"Parte dalla stessa forma pulita.","selvedge-rebuild.363b82b08d":"Job due","selvedge-rebuild.5e92b89d0f":"Niente trasportato dentro.","selvedge-rebuild.747a74c704":"Nuova stanza","selvedge-rebuild.bbd11eef60":"Chiusa con la sua registrazione.","selvedge-rebuild.e429b951d7":"Job uno","selvedge-rebuild.129567cb21":"prima, durante e dopo","selvedge-rebuild.456de19ceb":"Tre stanze","selvedge-rebuild.164f8ae614":"NULLA CONDIVISO","selvedge-rebuild.16d6f8e910":"OGNI VOLTA","selvedge-rebuild.09d2a97782":"NUOVA STANZA","selvedge-rebuild.fb65ff4141":"Il programma stesso viene caricato fresco ogni volta dal proprio codice, e la ricevuta trasporta un codice per quel codice, così ciò che è stato eseguito oggi è dimostrabilmente ciò che è stato eseguito il mese scorso. Nulla si accumula nel mezzo di cui preoccuparsi in seguito.","selvedge-rebuild.b0f5fcfbc7":"Una nuova stanza Selvedge costa così poco che una per job è conveniente, quindi nulla deve essere condiviso. Se qualcosa ha davvero bisogno di essere trasportato, viene consegnato apposta e appare nella registrazione come qualcosa che è stato consegnato.","selvedge-rebuild.46cfb3934a":"In pratica","selvedge-rebuild.ff26c0ce98":"Ogni job riceve una nuova stanza. Nulla dell'ultima è dentro: nessuna nota avanzata, nessun lavoro a metà, nessun ricordo di chi ha chiesto. Sembra ovvio e di solito non è vero, perché mantenere una stanza in piedi costa meno che costruirne una nuova, quindi la maggior parte dei sistemi tiene la stanza e la riusa.","selvedge-rebuild.7f6bde3487":"per il job successivo da trovare","selvedge-rebuild.0813f2a065":"Nulla viene lasciato indietro","selvedge-rebuild.e0a28255b6":"Tra un job e il successivo","selvedge-rebuild.ddf86350ec":"Una nuova stanza è pronta per il job successivo.","selvedge-rebuild.47d52db543":"Digest delle policy e data.","selvedge-rebuild.d8c67f88b7":"Elenco delle capacità nominato.","selvedge-rebuild.8d71e4a6c8":"Cosa era consentito","selvedge-rebuild.1be6bb3160":"Output, risultato e uso delle risorse.","selvedge-rebuild.7661e6591f":"Cosa è successo","selvedge-rebuild.5354effb89":"una ricevuta, due domande","selvedge-rebuild.bf7aa926cc":"Due metà","selvedge-rebuild.8719258390":"SCRITTO","selvedge-rebuild.d45d38b1c1":"COSA POTEVA","selvedge-rebuild.103f9176a0":"COSA HA FATTO","selvedge-rebuild.fc09104420":"Non trovare nulla è una prova debole, perché dipende da quanto attentamente qualcuno ha cercato e da quanto tempo ha avuto prima della riunione. Un elenco di due permessi è una prova forte, perché non c'era altro da trovare.","selvedge-rebuild.e7e3ece016":"Cambia ciò che accade quando fai una domanda in seguito. Invece di qualcuno che esamina cosa ha fatto il programma e riferisce di non aver trovato nulla di preoccupante, l'elenco dei permessi è lì, ed è breve.","selvedge-rebuild.74365019ac":"La maggior parte dei registri ti dice cosa ha fatto un programma. Una ricevuta Selvedge dice anche cosa gli era permesso fare, che è una cosa diversa e più utile. Un programma a cui non è mai stato permesso di avvicinarsi ai tuoi file non può essere stato vicino ai tuoi file, e questo risulta nel registro che qualcuno stesse guardando o no in quel momento.","selvedge-rebuild.b418919876":"cosa ha fatto e cosa poteva fare","selvedge-rebuild.f0ba8e6e92":"Ogni ricevuta ha due metà","selvedge-rebuild.a9fe3bc508":"Permesso, messo per iscritto","selvedge-rebuild.76194111ba":"Un codice non è una copia del programma; nomina la cosa esatta che è stata eseguita.","selvedge-rebuild.17cabedb50":"L'elenco indica dove.","selvedge-rebuild.67452c68d0":"I codici differiscono","selvedge-rebuild.c1c7f44d1c":"Il comportamento si è ripetuto.","selvedge-rebuild.0407e20f79":"I codici concordano","selvedge-rebuild.90586d801f":"Stesse impostazioni e artefatto.","selvedge-rebuild.dba9e64b97":"Esegui domani","selvedge-rebuild.bd7b414b53":"Input, stanza e ricevuta.","selvedge-rebuild.c941dde6f2":"Esegui oggi","selvedge-rebuild.7b1c52fa95":"cosa ti dice la seconda esecuzione","selvedge-rebuild.bebe96c4de":"Un test, due risultati","selvedge-rebuild.e1c7f38f86":"PUOI VERIFICARE","selvedge-rebuild.b00a146670":"STESSA RISPOSTA","selvedge-rebuild.64ee12f3fd":"STESSO MOMENTO","selvedge-rebuild.698a936171":"Chiude anche un piccolo trucco. Un programma che può leggere l'orologio può comportarsi in un modo prima di una scadenza e in un altro dopo, e nessuno vedrebbe mai la differenza. Un orologio che non si muove mai non può essere osservato, quindi non c'è nulla su cui comportarsi diversamente.","selvedge-rebuild.d722dbffa2":"Ti offre un test che puoi eseguire da solo. Se qualcosa sembra sbagliato, eseguilo di nuovo con lo stesso input. Se la risposta è la stessa, il programma si comporta correttamente e il problema è altrove. Se è diversa, qualcosa è cambiato e il confronto indica quale parte.","selvedge-rebuild.750c2096f3":"Perché è importante","selvedge-rebuild.7768a95a4a":"La maggior parte dei programmi dà risposte leggermente diverse ogni volta, perché guardano l'orologio, usano un po' di casualità o notano quanto è occupata la macchina. Un programma che gira in Selvedge non può fare nulla di tutto ciò. L'orologio interno è fisso e non si muove mai, e qualsiasi casualità parte dallo stesso numero a ogni esecuzione. Chiedi due volte, ottieni la stessa risposta.","selvedge-rebuild.00bc249842":"e verifica se concorda ancora","selvedge-rebuild.1797b92182":"Eseguilo di nuovo domani","selvedge-rebuild.0d971150f5":"La stessa risposta due volte","selvedge-rebuild.0ce33bc17c":"Eseguilo di nuovo domani e verifica se concorda ancora.","selvedge-rebuild.780591dd40":"Il lavoro si è ripiegato insieme.","selvedge-rebuild.b454191161":"Esegui codice","selvedge-rebuild.0d36ec2dc8":"Catturato e con impronta.","selvedge-rebuild.c35f4d270f":"Risposta restituita","selvedge-rebuild.12f6bce42d":"Output stampato","selvedge-rebuild.e45f48ada6":"e un codice per ciascuno","selvedge-rebuild.96a145870f":"Due cose","selvedge-rebuild.4056de166c":"ENTRAMBI CON IMPRONTA","selvedge-rebuild.3736161d33":"RESTITUITO","selvedge-rebuild.07d3782dee":"STAMPATO","selvedge-rebuild.7362fe572e":"È la stessa idea del sigillo su una busta, ma fa di più. Un sigillo ti dice che la lettera è stata aperta. Questo ti dice quale pagina è cambiata e funziona anche quando la lettera è stata copiata una dozzina di volte da allora. Ogni lettore ottiene la stessa risposta dal registro copiato.","selvedge-rebuild.7ffcd03942":"Quel codice è ciò che rende breve una discussione successiva. Se qualcuno ti mostra una risposta che un programma ha dato a marzo e vuoi sapere se è la risposta che è realmente uscita, confronti i codici. Corrispondono o non corrispondono, e non c'è nulla in mezzo da discutere.","selvedge-rebuild.940394c7d2":"Quando il lavoro è finito, due cose lasciano la stanza: qualsiasi cosa il programma abbia stampato mentre lavorava e la risposta che ha elaborato. Nient'altro. Entrambe ricevono un'impronta all'uscita, il che significa che da esse viene creato un codice breve, e il codice cambia completamente se cambia una singola lettera.","selvedge-rebuild.690d8dd7a6":"ed entrambe ricevono un'impronta","selvedge-rebuild.72f4db7882":"Due cose tornano indietro","selvedge-rebuild.1251cc0dd7":"Cosa torna indietro","selvedge-rebuild.8d77e5771a":"La prossima domanda utile è cosa torna indietro.","selvedge-rebuild.ec6f32ee39":"Nessun ambiente.","selvedge-rebuild.a6252b6690":"I tuoi dettagli","selvedge-rebuild.fb9f6423d9":"Nessuna directory.","selvedge-rebuild.f1096a5b4c":"I tuoi file","selvedge-rebuild.4c4c583f2e":"Nessuna connessione.","selvedge-rebuild.66c06c11d1":"Internet","selvedge-rebuild.ac8e062358":"Uno slot, un lavoro.","selvedge-rebuild.bb7841ee3e":"Il tuo programma","selvedge-rebuild.8b493952a7":"e cosa non c'è","selvedge-rebuild.4d26f69b94":"Cosa c'è nella stanza","selvedge-rebuild.660cea3ce9":"UNO SLOT","selvedge-rebuild.f1818b9fef":"NULLA DA LEGGERE","selvedge-rebuild.98a2180aec":"NESSUNA VIA D'USCITA","selvedge-rebuild.663ab35faf":"Quindi non stai facendo affidamento sul fatto che qualcuno abbia pensato a tutto in anticipo. È quella la parte che di solito fallisce, e fallisce silenziosamente, mesi dopo, in un modo che nessuno nota finché qualcun altro non lo fa notare. Una lista breve ed esplicita rende visibile un permesso mancante prima che diventi un problema.","selvedge-rebuild.0e9905b668":"Il motivo per cui aiuta non è che il programma sia osservato attentamente. È che non c'è nulla nella stanza che possa andare storto. Un programma non può inviare i tuoi dettagli da nessuna parte se non c'è una via d'uscita per inviarli, e non può leggere le tue foto se la porta verso di esse non è mai stata costruita.","selvedge-rebuild.22ccf30775":"Programmi che non hai scritto finiscono per girare sul tuo computer tutto il tempo: un componente aggiuntivo, un plug-in, qualcosa che un assistente ha deciso di usare per rispondere alla tua domanda. Selvedge mette quel programma in una stanza tutta sua. Dall'interno non c'è internet, nessun passaggio verso i tuoi file e nulla da imparare sulla tua macchina.","selvedge-rebuild.9e56594623":"e nient'altro","selvedge-rebuild.6b5631ed3a":"Una stanza con uno slot al suo interno","selvedge-rebuild.704869f20f":"In parole semplici","selvedge-rebuild.160543d3ec":"Una stanza può essere spiegata anche in parole semplici.","selvedge-rebuild.6e66049bd0":"Catena di decisioni e cinque operazioni.","selvedge-rebuild.140855a7dd":"Percorso di audit e agente","selvedge-rebuild.be90f07014":"Prova al di fuori dell'operatore.","selvedge-rebuild.c3f6368941":"Registro di trasparenza","selvedge-rebuild.4402f8d6f4":"Ammissione e indirizzo del contenuto.","selvedge-rebuild.1fd6a805da":"Registro","selvedge-rebuild.943a71d70f":"Contenimento ed esecuzione deterministica.","selvedge-rebuild.0a771c36be":"Sandbox","selvedge-rebuild.493bbfc72f":"il confine, la prova, il passaggio di consegne","selvedge-rebuild.6311787659":"Cosa contiene l'insieme","selvedge-rebuild.c968638a6e":"APACHE 2.0","selvedge-rebuild.d0158524ed":"IL TUO HARDWARE","selvedge-rebuild.cfd1b83141":"UN UNICO INSIEME DI COMPONENTI","selvedge-rebuild.2c4db760cf":"Il resto del costo è ciò che l'approvvigionamento di solito dimentica, cioè cosa succede quando un fornitore cambia le condizioni o smette di rispondere. L'insieme di componenti è pubblicato sotto Apache 2.0, gli artefatti sono file con indirizzo basato sul contenuto, i registri sono file e la verifica viene eseguita sulla macchina dell'altra parte, quindi un'uscita è una copia piuttosto che una migrazione.","selvedge-rebuild.c69320538d":"Il costo ricorrente di un'esecuzione è misurato, non preventivato: da 5,26 a 6,06 microsecondi per chiamata attraverso il confine e ben meno di un millisecondo per avviare una nuova istanza, su un Intel i9-13900KF con build di rilascio, ottimizzazione dei tempi di collegamento e Rust 1.85.0. Questo è tutto ciò che il record costa in fase di esecuzione.","selvedge-rebuild.59bd1ff6f9":"Quanto costa","selvedge-rebuild.662cd46273":"Selvedge è un unico insieme di componenti che copre il runtime sandbox, il registro degli artefatti, il registro di trasparenza, la traccia di audit concatenata tramite hash e l'interfaccia che un agente usa per raggiungere uno strumento. Funziona su hardware che controlli tu. Nulla di esterno si trova sul percorso di un'esecuzione: nessun account, nessuna chiave detenuta da un fornitore, nessun servizio che deve rispondere per il completamento di un lavoro.","selvedge-rebuild.9ce257fa8d":"e funziona sul tuo hardware","selvedge-rebuild.b1c3183260":"Una toolchain, non quattro","selvedge-rebuild.dea6811b37":"Cosa sostituisce","selvedge-rebuild.86c78780e9":"Una toolchain, su hardware di tua proprietà, è la chiusura commerciale.","selvedge-rebuild.b742347ca6":"Ferma o mostra la sua cronologia.","selvedge-rebuild.80b0178666":"Annulla / provenienza","selvedge-rebuild.2976625857":"Esegui all'interno della stanza.","selvedge-rebuild.c65605adf5":"Invoca","selvedge-rebuild.084d82061e":"Ammetti l'artefatto.","selvedge-rebuild.fd6c3ebf7b":"Installa","selvedge-rebuild.820fa7ff41":"Trova una capacità nominata.","selvedge-rebuild.4827ea2271":"Scopri","selvedge-rebuild.38025e67e1":"un unico ingresso per gli strumenti degli agenti","selvedge-rebuild.41cb4bf6dc":"Cinque operazioni","selvedge-rebuild.3501cb4872":"NESSUNA APPROVAZIONE","selvedge-rebuild.9054eecb7b":"PROVENIENZA SU RICHIESTA","selvedge-rebuild.0cd0da7fef":"UN UNICO INGRESSO","selvedge-rebuild.e088784883":"In seguito si può richiedere la provenienza di ciò che è stato eseguito, ed è questa la parte per cui vale la pena progettare un processo: l'indirizzo stesso dell'artefatto, se la sua firma regge, il certificato presentato con esso, la politica sotto cui è stato eseguito e dove è stato eseguito in precedenza. Questi fatti restano disponibili quando un'esecuzione deve essere controllata in seguito. Possono essere verificati senza fidarsi della persona che li ha eseguiti.","selvedge-rebuild.c3c0f81705":"I controlli qui non sono approvazioni, perché un'approvazione richiede qualcuno sveglio. Sono la forma dell'ingresso. Uno strumento viene scoperto, installato e invocato attraverso un'unica interfaccia di cinque operazioni, quindi ogni arrivo è lo stesso tipo di evento, e il controllo che rifiuta una capacità è quello che ogni altra esecuzione attraversa, piuttosto che un secondo meccanismo scritto appositamente per gli agenti.","selvedge-rebuild.896b2f37be":"Il meccanismo","selvedge-rebuild.122ebb7a98":"Un assistente che lavora su un compito può decidere di aver bisogno di una capacità che non ha, trovarne una e iniziare a usarla all'interno di un singolo lavoro che nessuno sta osservando. Non c'è stato un passaggio di approvvigionamento né una revisione, perché non c'è stato un momento per inserirli. Selvedge è il confine che l'assistente deve attraversare, e il rapporto finale nomina quale strumento è arrivato, cosa gli è stato permesso e cosa ha fatto.","selvedge-rebuild.deeaa912ba":"ed è già dentro","selvedge-rebuild.767c396612":"Nessuno ha scelto questo strumento","selvedge-rebuild.d368c82df4":"Quando il chiamante è un modello","selvedge-rebuild.ee26c4f440":"Quando il chiamante è un modello, un unico ingresso rende l'arrivo leggibile.","selvedge-rebuild.9faf774569":"Applica la politica tariffaria.","selvedge-rebuild.ee1acfa55e":"Autenticazione","selvedge-rebuild.9bbe32214f":"Ispeziona il record di esecuzione.","selvedge-rebuild.78590ea6e5":"Limite di risorse","selvedge-rebuild.ed9390115c":"Riprova con il backoff indicato.","selvedge-rebuild.f4544d56bb":"Errore di recupero","selvedge-rebuild.1455a7acb3":"Apri il circuito.","selvedge-rebuild.f06cb33ba6":"Mancata corrispondenza del digest","selvedge-rebuild.1be73b4878":"il recupero viaggia con l'errore","selvedge-rebuild.5dacd1167d":"Un codice, una prossima mossa","selvedge-rebuild.3ac9292cf3":"NESSUNA ANALISI DEI LOG","selvedge-rebuild.93aaff4907":"RECUPERO DICHIARATO","selvedge-rebuild.dbba85fbb0":"CODICI STABILI","selvedge-rebuild.3b6e2d01ab":"Quando una capacità viene rifiutata, il messaggio elenca i tipi che sarebbero stati validi, ed è la differenza tra un pomeriggio di tentativi e una modifica di una riga. Un errore che nomina la propria soluzione è la documentazione più economica mai scritta. La correzione è quindi esplicita.","selvedge-rebuild.1fb184edcf":"La strategia di recupero è ciò che distingue casi che sembrano identici su una dashboard alle due di notte. Un digest che non corrisponde non è transitorio, quindi riprovare è tempo sprecato, e la strategia associata dice di aprire il circuito piuttosto che riprovare. Un recupero fallito è transitorio e dice di riprovare.","selvedge-rebuild.2f6a307ba7":"Per gli operatori","selvedge-rebuild.0a5279b594":"La documentazione operativa fallisce quando deve essere scritta a partire dal testo dei log, perché il testo dei log cambia senza che nessuno lo chiami cambiamento. I guasti di Selvedge portano invece un codice stabile, e un runbook che nomina il codice rimane corretto attraverso un aggiornamento che riscrive ogni messaggio lungo il percorso. Dove il codice porta una strategia di recupero, il runbook non deve indovinarne una.","selvedge-rebuild.664b90089f":"è un errore con un runbook","selvedge-rebuild.c69f009f72":"Un errore con un codice","selvedge-rebuild.d8bf8f167e":"Operabilità","selvedge-rebuild.b4986d7d25":"Una stanza nuova ogni volta è ciò che rende questa prova accessibile.","selvedge-rebuild.05f9859c50":"Cancellazione di routine, nessuno script a sorpresa.","selvedge-rebuild.9e0dece16b":"Estremità remota","selvedge-rebuild.7ba8dfa987":"Profondità fissa dietro quella corrente.","selvedge-rebuild.b850e7b847":"File più vecchi","selvedge-rebuild.e4eb2b5e27":"Ultimo hash portato avanti.","selvedge-rebuild.55e313d20f":"Cucitura","selvedge-rebuild.4e5fd99150":"Un oggetto per riga.","selvedge-rebuild.2c44db0063":"File corrente","selvedge-rebuild.8dae783204":"quando un file viene ruotato","selvedge-rebuild.888fb4bc11":"Cosa resta e cosa si sposta","selvedge-rebuild.1191de056a":"BACKOFF","selvedge-rebuild.d47c87e179":"TOKEN HASHATI","selvedge-rebuild.eac901cef2":"ROTAZIONI IN ATTESA","selvedge-rebuild.f7e2e2ba8c":"I tentativi falliti sono limitati a cinque al minuto e rallentati con un ritardo che raddoppia: uno, due, quattro e otto secondi, e un client che fallisce venti volte in dieci minuti viene bloccato anziché rallentato. Questo trasforma un attacco a indovinare in un ritmo piuttosto che in un risultato, e trasforma un rapporto di incidente in un grafico che nessuno deve interpretare.","selvedge-rebuild.6736e35335":"L'altro guasto silenzioso sono le credenziali che finiscono in un backup. I token di autenticazione vengono hashati con argon2id prima di essere memorizzati, quindi un file copiato o un'immagine di memoria catturata non contiene nulla che possa essere presentato come token. Il backup può essere esaminato o ripristinato senza diventare una fuga di credenziali.","selvedge-rebuild.cac3da045e":"Come si mantiene","selvedge-rebuild.652f961a36":"Il volume è gestito da Selvedge piuttosto che da uno script che qualcuno si ricorda di scrivere. Il log viene ruotato quando il file supera una dimensione, una profondità fissa di file più vecchi sta dietro di esso, e ogni rotazione elimina quello all'estremità remota. Qui ciò che resta verifica ancora dal proprio ancoraggio, e ciò che è andato è visibile come una interruzione.","selvedge-rebuild.62615faf30":"e la catena lo sopravvive","selvedge-rebuild.d4854c73b7":"La rotazione preserva la prova","selvedge-rebuild.d821e71a5b":"Conservazione e accesso","selvedge-rebuild.5dee0013ab":"La conservazione è una politica, ma la catena deve sopravviverle.","selvedge-rebuild.8d847cbbe6":"Il log contiene ancora il vecchio albero.","selvedge-rebuild.0ea7b95eab":"Coerenza","selvedge-rebuild.526411c35f":"La radice e la dimensione dell'albero.","selvedge-rebuild.8639df5c74":"Testa dell'albero firmata","selvedge-rebuild.b67622bea2":"Il percorso di inclusione.","selvedge-rebuild.61922ee14e":"Hash fratelli","selvedge-rebuild.11deeeb03e":"La cosa che è stata ammessa.","selvedge-rebuild.2df596d9d9":"Digest dell'artefatto","selvedge-rebuild.26ef63813e":"dopo che un artefatto arriva","selvedge-rebuild.e33d42e6b6":"Cosa conserva un client","selvedge-rebuild.da6c5f785f":"UN INDIRIZZO","selvedge-rebuild.50419b986e":"DIMOSTRABILE ALL'ESTERNO","selvedge-rebuild.80e513b0ff":"SOLO AGGIUNTA","selvedge-rebuild.82c17b3462":"L'altra metà non richiede alcuna decisione. Un indirizzo di contenuto identifica un artefatto dalla build al registro fino all'esecuzione, il che trasforma un richiamo in qualcosa che esegui piuttosto che annunci, e un firmatario revocato ha effetto su un intervallo di aggiornamento piuttosto che su una data di scadenza.","selvedge-rebuild.0e322153c8":"Pubblicare il log è una decisione che prendi una volta, e dove l'hai presa la tua cooperazione non fa parte del controllo di nessuno. Verificano presenza e crescita rispetto a una radice che hai pubblicato, sulla loro macchina, nel momento che scelgono. La radice originale rimane il punto di riferimento pubblico.","selvedge-rebuild.fab7e71c01":"La garanzia","selvedge-rebuild.7b85ff0b6e":"La debolezza in ogni registro che un'organizzazione tiene su se stessa è che l'organizzazione lo tiene. Il registro di trasparenza di Selvedge rimuove questa obiezione per una domanda ristretta, cioè cosa è entrato. A un client può essere consegnata una prova che un artefatto specifico è nel registro, e una prova che il registro è solo cresciuto dall'ultima volta che ha guardato. L'inclusione e l'integrità di sola aggiunta sono quindi verificabili senza fidarsi dell'operatore.","selvedge-rebuild.66229e2d58":"senza essere preso per fede","selvedge-rebuild.2cc484ffbc":"Dimostrare ciò che hai ammesso","selvedge-rebuild.4f9007e629":"Prova che non possiedi","selvedge-rebuild.cdcfb6c3c1":"Il registro dice cosa è arrivato. Il registro di trasparenza permette a qualcun altro di verificarlo.","selvedge-rebuild.2a95479d68":"Trasportato con l'artefatto.","selvedge-rebuild.5f174de1cc":"Prova","selvedge-rebuild.f1f0ddab0b":"Ammissibile per il tipo.","selvedge-rebuild.0449e1003d":"Namespace","selvedge-rebuild.2e26c5d52d":"Byte magici, non un'etichetta.","selvedge-rebuild.e00ac23f2a":"Tipo","selvedge-rebuild.54e0cdb26f":"Lunghezza giusta, esadecimale e presente.","selvedge-rebuild.47fdd58bee":"Digest","selvedge-rebuild.409fa246aa":"e una risposta a ogni pull","selvedge-rebuild.112b824580":"Quattro controlli all'ingresso","selvedge-rebuild.1858ed0f91":"DIGEST OCI","selvedge-rebuild.0a6780b777":"TOKEN RICHIESTI","selvedge-rebuild.67bf2475b1":"L'accesso è un elenco di token che emetti e revochi, conservati come hash con argon2id, così un file copiato o un'immagine di memoria non contiene nulla di utilizzabile. I tentativi falliti sono limitati a cinque al minuto con un ritardo raddoppiato, e un client che fallisce venti volte entro dieci minuti viene bloccato del tutto. Il limite rimane visibile nel registro del tentativo.","selvedge-rebuild.86269212e3":"Un indirizzo di contenuto identifica un artefatto dalla pubblicazione al pull fino al registro di esecuzione. Quell'indirizzo rende rispondibile la sua provenienza: quale build, quando è stato ammesso, sotto quale namespace, quale deployment lo ha estratto e quante volte è stato eseguito. Lo stesso indirizzo risponde a ciascuna di queste domande in seguito, senza un secondo indice da tenere allineato.","selvedge-rebuild.3d5033cca6":"Selvedge include un server di registry, quindi il luogo in cui arrivano gli artefatti di terze parti è un servizio sulla tua infrastruttura, non un account presso qualcun altro. Ascolta su un indirizzo pubblico solo quando l'autenticazione tramite token è attiva, verifica quattro cose su ogni push e risponde ai pull con i digest SHA-256 che l'ecosistema più ampio già usa, mentre memorizza tutto internamente con SHA3-256.","selvedge-rebuild.224f72415e":"un registry che gestisci tu","selvedge-rebuild.bbd6ef38ef":"I fornitori pubblicano in","selvedge-rebuild.a0a03c8fd1":"Dove arrivano gli artefatti","selvedge-rebuild.d1e24e5a34":"Un risultato è più facile da difendere quando il luogo in cui è entrato è tuo.","selvedge-rebuild.1111b73a8f":"Chiedi quale input ha visto l'ospite.","selvedge-rebuild.4bed336194":"Output","selvedge-rebuild.d7f27a4216":"Ispeziona il percorso del codice o la build dell'host.","selvedge-rebuild.0b645d1b65":"Fuel","selvedge-rebuild.de86466d91":"Stesso profilo deterministico.","selvedge-rebuild.c7f73bb54d":"Impostazioni","selvedge-rebuild.36ffeb1c8a":"Lo stesso codice significa un confronto significativo.","selvedge-rebuild.c6fe330e04":"Artefatto","selvedge-rebuild.02be99bd8d":"e cosa significa dopo","selvedge-rebuild.a53a08f8c4":"Cosa si è mosso","selvedge-rebuild.bc2cb603df":"O IL CAMPO","selvedge-rebuild.4b885b786e":"STESSO REGISTRO","selvedge-rebuild.ba9ebe1f95":"STESSO INPUT","selvedge-rebuild.50479df67b":"Con due registri la risposta arriva lo stesso pomeriggio e nomina un campo piuttosto che una parte, quindi sbagliare costa ciò che dovrebbe e avere ragione costa quasi nulla. Questo appartiene al contratto prima della prima disputa, non va scoperto durante una. Entrambe le parti possono ripetere quel controllo senza un altro incontro.","selvedge-rebuild.db0ac7feb8":"Una risposta meccanica sposta chi si fa carico del costo della discussione. Una cifra contestata oggi richiede una settimana di due team che confrontano sistemi mai comparabili, e tende a finire in un credito di buona volontà, perché nessuno può dimostrare quale parte ha sbagliato e qualcuno deve chiudere il ticket. Nessuno dei due team può produrre una cifra che l'altra parte sia obbligata ad accettare.","selvedge-rebuild.8134cbe2c9":"Una controparte dice che la cifra fornita è sbagliata. Tu hai la tua esecuzione e loro hanno la loro. Confrontare i due registri Selvedge è meccanico: il confronto esamina i campi e riporta ogni differenza con cosa era atteso e cosa è arrivato, così la conversazione si apre su quale campo differisce piuttosto che su quale sistema è in colpa.","selvedge-rebuild.415a27590d":"campo per campo, non discusso","selvedge-rebuild.651b2f8627":"Due registri confrontati","selvedge-rebuild.a9cce5b9fe":"Un risultato contestato","selvedge-rebuild.7c918d0343":"Un risultato contestato è il prossimo: due registri, confrontati campo per campo.","selvedge-rebuild.b457d4d9d3":"Memoria di picco, tempo e istruzioni.","selvedge-rebuild.1e23ac57dd":"Cifre delle risorse","selvedge-rebuild.f6c680ffb5":"La configurazione in vigore.","selvedge-rebuild.b44f987ea4":"Hash del motore","selvedge-rebuild.ca1f09eab2":"La policy che li ha concessi.","selvedge-rebuild.945db98b77":"Digest della policy","selvedge-rebuild.be7bd7e933":"Capacità nominate dall'esecuzione.","selvedge-rebuild.f761a72878":"Elenco concesso","selvedge-rebuild.8be583ccfd":"risposte da un unico documento","selvedge-rebuild.abfa32a842":"Quattro domande","selvedge-rebuild.80935eb972":"DATED","selvedge-rebuild.c3cb9355f8":"POLICY IN ESECUZIONE","selvedge-rebuild.506221fd52":"CONCESSO, ELENCATO","selvedge-rebuild.4d5c5b7775":"Lo stesso report riporta i digest dei certificati verificati e ciò che l'esecuzione ha consumato in memoria di picco, tempo del processore e istruzioni. La domanda successiva è sempre cosa ha effettivamente usato, e quella risposta è già sulla pagina piuttosto che con un secondo team che lavora con un orologio e una definizione dell'incidente diversi. Supporta una risposta diretta mentre le prove sono ancora fresche.","selvedge-rebuild.06d0c87ca8":"Questo trasforma una discussione in una ricerca. Un regolatore che chiede se un componente avrebbe potuto raggiungere i registri dei clienti ottiene una risposta con una data, piuttosto che una rassicurazione sull'intenzione. Risponde a una domanda storica specifica: questo componente nominato, in questa esecuzione, aveva una via verso quei registri? La risposta non dipende dal fatto che qualcuno ricordi l'intenzione del fornitore in seguito.","selvedge-rebuild.5c82441a97":"Il registro","selvedge-rebuild.6cdd02da63":"La domanda scomoda dopo un incidente raramente è cosa ha fatto il software. È cosa al software era permesso fare, e nella maggior parte degli ambienti quella risposta è assemblata da file di configurazione, cronologia di deployment e la memoria di qualcuno. Ogni esecuzione Selvedge produce un report che nomina le capacità concesse, la policy che le ha concesse e un hash delle impostazioni in vigore.","selvedge-rebuild.020ea9fcbe":"e cosa gli era permesso","selvedge-rebuild.cd553c8839":"Ogni esecuzione dice cosa ha fatto","selvedge-rebuild.5e367f020e":"La domanda dopo un incidente","selvedge-rebuild.f2edf768d8":"Un registro trasforma la domanda sul fornitore in una ricerca.","selvedge-rebuild.0c347f9e0f":"Nessun ambiente o blocco di argomenti.","selvedge-rebuild.c701ab1556":"Eredita il nostro accesso?","selvedge-rebuild.f2df9d1888":"Nessuna directory viene aperta.","selvedge-rebuild.e98ce49657":"Può lasciare un file?","selvedge-rebuild.99436e239e":"Nessuna rete è presente per impostazione predefinita.","selvedge-rebuild.1c017e2833":"Può inviare dati?","selvedge-rebuild.68b0d04e37":"Solo mondi dichiarati e capacità nominate.","selvedge-rebuild.fd5147edb1":"Cosa può toccare?","selvedge-rebuild.51992f6040":"scritto come quattro risposte","selvedge-rebuild.7bcd533661":"Il caso peggiore","selvedge-rebuild.80b36fb606":"DICHIARATO","selvedge-rebuild.a419f58f13":"CASO PEGGIORE PICCOLO","selvedge-rebuild.be725ffbc0":"NULLA DA RAGGIUNGERE","selvedge-rebuild.eb3afa60c4":"Un componente che non ha mai chiesto nulla oltre al suo input e al suo output è descritto completamente in una riga, e nessuno deve mantenere quella riga perché sia ancora vera tra un anno. È questa la parte che lo rende utilizzabile in un documento che qualcuno firma.","selvedge-rebuild.86f054031c":"Questo cambia la forma della conversazione con il fornitore. La domanda smette di essere se l'ingegneria del fornitore sia solida, cosa che non puoi verificare e che loro non possono provare, e diventa cosa è stato concesso all'artefatto, che è scritto al momento dell'esecuzione.","selvedge-rebuild.1debddb64e":"Il codice che arriva da un fornitore o da un contributore esterno gira in Selvedge senza connessione di rete, senza directory aperta, senza ambiente da leggere e senza argomenti. Non è trattenuto da queste cose da una regola che qualcuno deve mantenere. Non ci sono. La conseguenza per una valutazione del rischio è che il caso peggiore è abbastanza piccolo da scrivere in una frase.","selvedge-rebuild.6be7d30a6b":"in una stanza vuota","selvedge-rebuild.6df473a455":"Un artefatto difettoso arriva","selvedge-rebuild.e948526d56":"Qual è il caso peggiore","selvedge-rebuild.0b8ad471af":"La domanda successiva è cosa può raggiungere il caso peggiore.","selvedge-rebuild.a02a250db5":"Selezionato al momento del lavoro.","selvedge-rebuild.c257ef4501":"Scelto dall'agente","selvedge-rebuild.cf63b964fc":"Nessuno nella stanza lo ha scelto.","selvedge-rebuild.2054305e05":"Dipendenza transitiva","selvedge-rebuild.cdf3fea97a":"Qualcun altro possiede la release.","selvedge-rebuild.8cbf4d00a5":"Dipendenza diretta","selvedge-rebuild.b71aa2a2b1":"Un team può rivederlo.","selvedge-rebuild.1ea8c912d2":"Scritto qui","selvedge-rebuild.332edb5a4d":"e quando qualcuno lo ha letto l'ultima volta","selvedge-rebuild.66cd35e493":"Quattro modi in cui arriva","selvedge-rebuild.9520a29c14":"UN REGISTRO","selvedge-rebuild.2271914641":"PORTATA DECISA PRIMA","selvedge-rebuild.e07e85e80d":"NON REVISIONE","selvedge-rebuild.8d05721c00":"Selvedge lavora sulle due cose che sopravvivono a questo: la portata decisa prima che il codice arrivi, e il registro tenuto dopo che se ne va. Entrambe sono disponibili il giorno in cui un fornitore spedisce qualcosa che nessuno nell'edificio ha aperto. È una prova che qualcuno può conservare in modo indipendente.","selvedge-rebuild.d0d23ca94c":"Ogni controllo in quest'area presuppone un momento in cui una persona avrebbe potuto guardare. La revisione degli acquisti lo presuppone. La revisione del codice lo presuppone. Uno strumento selezionato da un agente mentre è in esecuzione elimina del tutto quel momento, e lo fa per i carichi di lavoro che crescono più velocemente.","selvedge-rebuild.560556f058":"Dipendenza che nessuno ha letto, plugin da fornitori, integrazioni che si aggiornano secondo i propri tempi, e ora strumenti scelti da un modello al momento dell'esecuzione. Rivedere tutto questo non è mai stato realistico. Selvedge cambia la domanda da se il codice sia affidabile a cosa il codice può raggiungere, e cosa puoi dire a riguardo dopo a qualcuno fuori dal tuo edificio.","selvedge-rebuild.0d07a7b2f6":"e nessuno qui lo ha letto","selvedge-rebuild.546fb9cede":"Non hai scritto la maggior parte","selvedge-rebuild.55874251d8":"Il default che nessuno ha scelto","selvedge-rebuild.82b00203b9":"Ciò che i sei hanno in comune è che un estraneo può verificare l'esecuzione che hanno prodotto.","selvedge-rebuild.8f4639c201":"Sigillato a meno che non sia dichiarato.","selvedge-rebuild.a6a6318544":"GPU","selvedge-rebuild.c99a2bcf3e":"Osserva","selvedge-rebuild.316ccc52a4":"Non può segnalare un altro processo.","selvedge-rebuild.6f8e6cc6ac":"La propria durata","selvedge-rebuild.30fd44bcfe":"La chiave rimane fuori.","selvedge-rebuild.a7f47e6eb3":"Operazioni, non chiavi","selvedge-rebuild.f685d27aeb":"Una finestra, non un filesystem.","selvedge-rebuild.ff764e20d1":"Per prefisso","selvedge-rebuild.e160d76fcb":"Uno strumento senza nome non esiste qui.","selvedge-rebuild.f1aae84762":"Solo chiamate nominate","selvedge-rebuild.07e959a70b":"e quanto costa chiedere","selvedge-rebuild.665388e0b3":"Sei mondi","selvedge-rebuild.06348a4532":"NOMINATO PER RIGA","selvedge-rebuild.afe70011f9":"CHIEDI, NON RAGGIUNGERE","selvedge-rebuild.1013aec36c":"SEI MONDI","selvedge-rebuild.60562d5b0b":"Significa anche che il registro di un'esecuzione è leggibile senza conoscere il componente. Ogni riga nomina il mondo attraverso cui è passata la chiamata, quindi un'esecuzione che ha toccato due mondi ha quattro che sono provabilmente vuoti, e un revisore può stabilirlo dal registro piuttosto che dal sorgente. Tutti e sei i mondi sono distribuiti sotto Apache 2.0, quindi il confine su cui un revisore fa affidamento è uno che possono leggere da soli.","selvedge-rebuild.63f511d5c2":"Una singola capacità chiamata esterno sarebbe più semplice da implementare e inutile da ragionare, perché concederla non dice nulla a un revisore. Sei mondi significano che una concessione è una frase che qualcuno può leggere: questo componente può chiamare due strumenti nominati, leggere un prefisso, e nient'altro. Fissa anche il limite che un operatore può concedere. Quel limite è visibile nella ricevuta.","selvedge-rebuild.819cfda982":"L'accesso esterno di un componente è sei mondi nominati: tool, storage, crypto, process, observe e gpu. Ognuno è dichiarato prima dell'avvio; un mondo non dichiarato è assente dall'ambiente. Una concessione quindi nomina un'operazione e il suo confine, non una vaga promessa di accesso esterno. La ricevuta registra quelle concessioni per riga, così un revisore può vedere quali mondi sono rimasti vuoti senza leggere la configurazione dell'host.","selvedge-rebuild.cd867e3f2c":"e nessun modo per andare oltre","selvedge-rebuild.06850e8469":"Sei mondi da cui chiedere","selvedge-rebuild.09d7280b63":"L'intera superficie delle capacità","selvedge-rebuild.4e01209ac7":"Il che lascia la domanda più semplice: cosa può effettivamente chiedere un componente?","selvedge-rebuild.8539c9a9d8":"i9-13900KF, Rust 1.85.0, fat LTO.","selvedge-rebuild.07dc1b32f0":"Macchina nominata","selvedge-rebuild.04f0c3f5a6":"Ben sotto il millisecondo.","selvedge-rebuild.c79e051c62":"Sandbox fresco","selvedge-rebuild.46e30f38ba":"Da 22 a 27 nanosecondi.","selvedge-rebuild.aff4ba3800":"Embedding nudo","selvedge-rebuild.7d8c6afdf3":"Da 5.26 a 6.06 microsecondi.","selvedge-rebuild.a4d57a9359":"Confine limitato","selvedge-rebuild.122385cbbe":"misurato su una macchina nominata","selvedge-rebuild.224d7c9838":"Cosa costa e cosa compra","selvedge-rebuild.cc282eac1e":"AVVIO SUB-MILLISECONDO","selvedge-rebuild.9a1cbd0dc8":"CHIAMATA DA 6 MICROSECONDI","selvedge-rebuild.66b7fb60dc":"Ciò che ripaga il costo sta dall'altra parte. Una nuova istanza si avvia in meno di un millisecondo su quell'hardware, quindi una stanza per richiesta è conveniente, non un lusso riservato al lavoro in batch. Nulla viene trasportato tra le esecuzioni, e il pool che le serve acquisisce e rilascia uno slot in tempo costante.","selvedge-rebuild.6d37e34f65":"Misurato su un Intel i9-13900KF, build di rilascio con ottimizzazione fat link-time, Rust 1.85.0, cento campioni per figura dopo un warmup di tre secondi. La suite di benchmark è inclusa nel progetto e fissa la versione di tutto ciò che confronta, quindi i numeri possono essere riprodotti sulla tua macchina.","selvedge-rebuild.5b487a198c":"La misurazione","selvedge-rebuild.ce2547f5f6":"La chiamata in-process limitata costa da 5,26 a 6,06 microsecondi. Un'incorporazione nuda costa da 22 a 27 nanosecondi. La differenza è il controllo di importazione, gli orologi sostituiti e la ricevuta, pagati per chiamata. Queste cifre provengono da una build di rilascio dopo il warmup, non una promessa su ogni host. La suite di benchmark è bloccata alla versione e inclusa nel progetto, quindi una controparte può rieseguire il confronto sulla propria macchina.","selvedge-rebuild.eb0bea042b":"e questo è il numero","selvedge-rebuild.80244c6031":"Il confine ha un prezzo","selvedge-rebuild.59f208dd86":"Misurato, con le condizioni","selvedge-rebuild.1c554966f5":"Tutto questo è ancora il tuo file sul tuo disco, quindi passa l'assegno a qualcun altro.","selvedge-rebuild.1abf201fe1":"Ciò che il registro ha ammesso o ritirato.","selvedge-rebuild.c4a1e99a74":"Artefatto entrato o uscito","selvedge-rebuild.99dc0fd69a":"Quando un client è stato respinto.","selvedge-rebuild.14681ed6ee":"Limite di velocità o dimensione raggiunto","selvedge-rebuild.da84e101f9":"Quale limite ha concluso quale esecuzione.","selvedge-rebuild.c7deb27f03":"Budget esaurito","selvedge-rebuild.dfd95f1763":"Policy, artefatto, motivo e controlli.","selvedge-rebuild.de43b346ca":"Capacità rifiutata","selvedge-rebuild.0860379105":"decisioni, non chiamate","selvedge-rebuild.770ce14a0d":"Di cosa tratta una voce","selvedge-rebuild.d302fd1542":"ROTAZIONE","selvedge-rebuild.736d1d19bd":"LA CATENA SOPRAVVIVE","selvedge-rebuild.0f26f75355":"UNA RIGA, UN HASH","selvedge-rebuild.4fd6822dee":"Questo è il tipo di record che vale il costo della verifica, perché è il tipo su cui tutti discutono. Nessuno contesta che una funzione sia stata chiamata. Si contesta se un componente avrebbe dovuto essere autorizzato ad avvicinarsi a un record cliente in primo luogo, e questa è una riga in questo file con un hash su entrambi i lati. La decisione rimane disponibile per un revisore successivo.","selvedge-rebuild.52fc58dd92":"Otto tipi di voci entrano, e ognuna è una decisione piuttosto che una chiamata. Una voce di applicazione della policy porta l'identificatore della policy, il digest dell'artefatto, il risultato, il motivo di un rifiuto e l'elenco delle capacità controllate per raggiungerlo. Ammissione, esecuzione avviata, esecuzione completata, violazione del limite di risorse, limite di velocità, limite di dimensione e pull dell'artefatto compongono il resto.","selvedge-rebuild.dc375c42ba":"Il file di audit è un oggetto per riga. Ogni riga fa l'hash dei propri contenuti insieme all'hash precedente; rimuovine una e tutti gli hash successivi smettono di corrispondere. La rotazione porta l'ultimo hash nel file successivo come ancora. Le voci descrivono decisioni come applicazione della policy, ammissione, completamento dell'esecuzione, limiti di velocità o dimensione e un pull dell'artefatto. Un revisore successivo può quindi chiedere perché un'esecuzione è stata rifiutata, non solo se una chiamata è avvenuta.","selvedge-rebuild.dfc80074cc":"così una cancellazione emerge","selvedge-rebuild.69fcfe76f1":"Ogni riga contiene l'ultimo","selvedge-rebuild.aee1333814":"Il file di audit","selvedge-rebuild.5a622af936":"La stessa disciplina, applicata alle decisioni che qualcuno contesterà in seguito.","selvedge-rebuild.fb3c095122":"Una radice a una dimensione passata.","selvedge-rebuild.a6b6f9fa4d":"Qual era la radice?","selvedge-rebuild.9410fb5d00":"Una testa di albero firmata.","selvedge-rebuild.25c2799dca":"Qual è la radice?","selvedge-rebuild.37a62a6d90":"Una prova di coerenza tra dimensioni dell'albero.","selvedge-rebuild.39a9a225ab":"È cambiato?","selvedge-rebuild.13d3c8a85e":"Un percorso breve dall'artefatto alla radice.","selvedge-rebuild.0791d2b497":"C'è dentro?","selvedge-rebuild.7729d17652":"senza fidarsi del suo operatore","selvedge-rebuild.12b003c6ac":"Quattro domande a cui risponde","selvedge-rebuild.e533871af4":"TESTA FIRMATA","selvedge-rebuild.e9912b4293":"COERENZA","selvedge-rebuild.830294fe4a":"PROVA DI INCLUSIONE","selvedge-rebuild.15627b2116":"La rimozione è ciò che la forma rende costosa. Togli una voce e ogni prova che qualcuno detiene su quella parte dell'albero smette di verificarsi, sulla loro macchina, senza che nessuno debba guardare. Questa proprietà è ciò che un client compra quando chiede una prova di inclusione piuttosto che uno screenshot.","selvedge-rebuild.0986321b82":"Un client conserva la radice che gli è stata consegnata, e ogni affermazione successiva sul log deve concordare con la radice già nelle sue mani. Nulla in questo controllo coinvolge chi gestisce il log. Il client detiene quella prova in modo indipendente, quindi il controllo rimane possibile anche quando l'operatore non ha nulla da aggiungere.","selvedge-rebuild.af125678b5":"Ogni artefatto ammesso viene aggiunto a un albero di Merkle: le foglie usano il prefisso 0x00 e i nodi interni 0x01. L'inclusione in un log con un milione di voci richiede venti hash, quindi un client può verificarlo sulla propria macchina. Una testa di albero firmata fissa la radice a una dimensione, mentre le prove di coerenza mostrano che le radici successive la estendono piuttosto che sostituirla. L'operatore fornisce le prove; il client esegue il controllo.","selvedge-rebuild.85aa50a3b8":"a qualcuno esterno","selvedge-rebuild.6f39cde263":"Il log si dimostra da solo","selvedge-rebuild.0a295dee94":"Il log append-only","selvedge-rebuild.e77dce4f9b":"Ammettere un artefatto è una cosa. Dimostrare in seguito di averlo ammesso è un'altra.","selvedge-rebuild.86aa1f5eed":"Viene con l'artefatto e viene riprodotto alla verifica.","selvedge-rebuild.343cb675ac":"Namespace idoneo per questo tipo.","selvedge-rebuild.709a23220f":"Nome","selvedge-rebuild.f8123c295a":"Primi quattro byte, mai un nome file.","selvedge-rebuild.fc92e820c6":"Lunghezza giusta, esadecimale e presente.","selvedge-rebuild.6e105ad7a3":"e dove viene letta la prova","selvedge-rebuild.1618f58781":"Cosa viene controllato in un push","selvedge-rebuild.e185f9f7d4":"PROVA PRESENTE","selvedge-rebuild.e4360fc330":"BYTE MAGICI","selvedge-rebuild.6d4b74c092":"LOOPBACK O TOKEN","selvedge-rebuild.33e95b7d0e":"La prova stessa viene riprodotta dove l'artefatto viene verificato, il che mantiene la porta veloce e mette il kernel dove ha tempo di lavorare. La porta decide identità e idoneità in lavoro costante per push; il kernel decide la verità. Una prova lenta quindi non può diventare un motivo per ammettere un artefatto prima che sia stato controllato.","selvedge-rebuild.175ed9b192":"Se avvii il registry su un indirizzo diverso da loopback con l'autenticazione tramite token disattivata, si rifiuta di avviarsi. Se attivi l'autenticazione con un elenco di token vuoto, rifiuta anche quello. La distribuzione non sicura è indisponibile, non semplicemente sconsigliata, quindi un errore di configurazione emerge subito come errore di avvio.","selvedge-rebuild.fc1d256e62":"Il registry determina il tipo da un artefatto in base ai primi quattro byte, non all'estensione o al manifest. Il suo digest deve essere valido e presente, il suo namespace deve corrispondere a quel tipo e deve essere accompagnato da una prova. Il servizio rifiuta anche un avvio non sicuro su un indirizzo diverso da loopback senza autenticazione tramite token e respinge un elenco di token vuoto quando l'autenticazione è abilitata. Identità, forma e prova vengono verificate prima di memorizzare qualsiasi cosa.","selvedge-rebuild.027f67dd55":"prima di memorizzare qualsiasi cosa","selvedge-rebuild.3d6b6cb540":"Un push viene controllato in quattro modi","selvedge-rebuild.583ed36f97":"Controllo di ammissione","selvedge-rebuild.1914cd4ce8":"La porta decide cosa entra; il kernel decide cosa è vero.","selvedge-rebuild.b69c347e7f":"Ogni passaggio riceve un verdetto.","selvedge-rebuild.c0f85d6679":"Replay","selvedge-rebuild.f97399239c":"Analizzato nel kernel.","selvedge-rebuild.cdde4f20ba":"Passaggi","selvedge-rebuild.c318427ef6":"Analizzato solo dopo che si adatta.","selvedge-rebuild.6f95f40eae":"File di clausole","selvedge-rebuild.1e9e6eecd0":"Confrontato con il tetto prima dell'analisi.","selvedge-rebuild.a97f5adbde":"Dimensione dichiarata","selvedge-rebuild.1f9c89d51e":"ciascuno controllato, nessuno dato per scontato","selvedge-rebuild.e619c9a6b2":"Quattro cose attorno a una prova","selvedge-rebuild.7fa302aed3":"DIMENSIONE PRIMA","selvedge-rebuild.8a20135ce2":"RIPRODOTTO","selvedge-rebuild.24704c8edc":"LRAT E ALETHE","selvedge-rebuild.29f977d6d0":"Il lavoro è andato in ciò che lo circonda. Le radici di fiducia sono mantenute esplicitamente piuttosto che ereditate dallo store che la macchina si trova ad avere, la revoca include un intervallo di aggiornamento così una revoca arriva senza aspettare una data di scadenza, e un token di timestamp ha la propria firma verificata prima che il suo tempo venga considerato valido. Le firme Cosign vengono verificate rispetto a una chiave e una firma base64, quindi gli artefatti firmati nell'ecosistema più ampio arrivano già verificabili.","selvedge-rebuild.f0f219cc1b":"Un certificato Selvedge è volutamente piccolo. È una firma Ed25519 su una chiave pubblica, un emittente, un soggetto e le due estremità di una finestra di validità, quindi non c'è nulla che debba essere estratto da un formato controllato da qualcun altro. Il suo compito rimane ristretto: dire quale emittente ha firmato quale soggetto per quale periodo, senza chiedere a un verificatore di decomprimere prima un documento ampio. Rimane leggibile per un verificatore indipendente. Il suo ambito non è lasciato all'inferenza.","selvedge-rebuild.f626b7a7da":"Sotto la superficie","selvedge-rebuild.776d70676a":"Una prova allegata a un artefatto è un'affermazione finché Selvedge non la riproduce. Le prove LRAT e Alethe vengono analizzate e controllate passo dopo passo attraverso un kernel di prove, con un tetto di dimensione applicato prima che inizi l'analisi. Le radici di fiducia, l'aggiornamento della revoca e le firme di timestamp vengono controllati attorno a quel kernel, mentre le firme Cosign vengono verificate rispetto alla loro chiave e firma fornite. Il confine rimane abbastanza piccolo da poter essere ispezionato da un verificatore indipendente.","selvedge-rebuild.438689443c":"e riprodotto passo dopo passo","selvedge-rebuild.1ed9eb8043":"La prova viene ricontrollata","selvedge-rebuild.77b6e89fee":"Prove e certificati","selvedge-rebuild.36ad1e8721":"L'argomento riguarda molto più spesso il documento di destra, ed entrambi provengono da una singola esecuzione.","selvedge-rebuild.36c042f601":"Output, errore e valore restituito completano il record.","selvedge-rebuild.43708b1ad0":"Stream catturati","selvedge-rebuild.ae61a28e3a":"Quanto lavoro è stato consumato.","selvedge-rebuild.ed58f29743":"Istruzioni","selvedge-rebuild.918feb5b79":"Quale profilo deterministico è stato applicato.","selvedge-rebuild.e5b7649e03":"Quale componente esatto è stato eseguito.","selvedge-rebuild.60697a86b4":"Byte dell'artefatto","selvedge-rebuild.a49fe57a20":"e su cosa ciascuno è preso","selvedge-rebuild.aeb0956f38":"Quattro dei sette","selvedge-rebuild.07519769df":"DIMENSIONE COSTANTE","selvedge-rebuild.f9c0b723ec":"HASH, NON LOG","selvedge-rebuild.7531a92ec1":"SETTE CAMPI","selvedge-rebuild.c35ff8c3a0":"Il report di esecuzione stabilisce cosa era permesso fare all'esecuzione. Nomina le capacità concesse, la policy che le ha concesse, i certificati verificati, un hash delle impostazioni in vigore e ciò che l'esecuzione ha consumato in termini di memoria di picco, tempo del processore e istruzioni. Queste due domande arrivano sempre insieme dopo un incidente, e Selvedge risponde con due documenti piuttosto che con uno chiamato a fare entrambi i lavori.","selvedge-rebuild.b0b2377aff":"Il record stabilisce se questo è successo di nuovo, ed è il documento che ci si aspetta venga discusso. In pratica si discute dell'altro. Permette a un lettore successivo di chiedere se lo stesso artefatto, gli stessi input e le stesse impostazioni hanno prodotto di nuovo lo stesso risultato. Questa è una domanda storica sull'evento. Il report di esecuzione risponde all'altra domanda: cosa era permesso fare all'esecuzione quando è successo.","selvedge-rebuild.e88ce1c6ea":"Sette campi tornano da un'esecuzione completata e nessuno è prosa: digest di artefatto e impostazioni, istruzioni consumate, digest di output e valore restituito, e un'impronta dello store che combina lavoro e stream catturati. Rimane piccolo sia che l'output sia una riga o un gigabyte. Il report di esecuzione associato registra capacità, policy, certificati, impostazioni e uso di picco delle risorse, così la stessa esecuzione risponde sia a cosa è successo sia a cosa era permesso fare.","selvedge-rebuild.a219a2c15d":"e un report dimostra il permesso","selvedge-rebuild.7eaab205c1":"Un record dimostra la ripetizione","selvedge-rebuild.13380a7edb":"Due documenti per esecuzione","selvedge-rebuild.4077f0afa7":"Un confronto è valido solo quanto il record dietro di esso, quindi leggi cosa contiene il record.","selvedge-rebuild.39f8833993":"Smetti di leggere; il resto è rumore.","selvedge-rebuild.c0084eb27a":"Non lo stesso programma","selvedge-rebuild.64bc44871e":"Le esecuzioni non erano configurate allo stesso modo.","selvedge-rebuild.36e1b53299":"Non confrontabile","selvedge-rebuild.9fc1d0cf34":"Stesso lavoro, byte diversi in output.","selvedge-rebuild.d136230733":"Il risultato è cambiato","selvedge-rebuild.6aee5fae01":"Un conteggio diverso è un percorso di codice diverso.","selvedge-rebuild.de89199753":"Il lavoro è cambiato","selvedge-rebuild.95e99b8668":"dal campo in cui cade","selvedge-rebuild.1f218ead06":"Cosa ti dice una differenza","selvedge-rebuild.d5cf7685a8":"NESSUN VERDETTO","selvedge-rebuild.d5a9df81ba":"ATTESO E OTTENUTO","selvedge-rebuild.ed299cc67f":"CAMPO PER CAMPO","selvedge-rebuild.a526ac7e2e":"Ecco perché l'input è fissato e viaggia con l'artefatto. Questa è una riga in una procedura, ed è la riga che decide se un confronto chiude una discussione o ne apre un'altra. Dà alla controparte gli stessi byte da eseguire di nuovo, senza dover prima concordare quale input il confronto intendesse.","selvedge-rebuild.6615580bdf":"L'elenco nomina il campo che si è spostato, ed è il campo a determinare la diagnosi. Il solo fuel è un percorso di codice diverso. Fuel e output insieme indicano un guest che ha letto qualcosa che l'altro non ha letto. Un digest delle impostazioni che differisce significa che le due esecuzioni non erano mai confrontabili, e un digest dell'artefatto che differisce significa che non erano mai lo stesso programma.","selvedge-rebuild.8c8effaa95":"Selvedge confronta due record campo per campo e accumula ogni differenza con i valori attesi e quelli effettivi. Fuel diverso e output diverso sono problemi diversi, e l'elenco dice quale dei due hai. Non riduce una discrepanza a un'etichetta di superato/non superato: un digest delle impostazioni identifica una configurazione diversa, mentre un digest dell'artefatto identifica programmi diversi. Il solo fuel indica un cambio di percorso; fuel più output indica un guest che ha letto un valore diverso. Il risultato dà alla controparte un controllo concreto successivo invece di una discussione su un singolo booleano.","selvedge-rebuild.646770fca0":"dei campi che si sono spostati","selvedge-rebuild.e6e4d5cded":"Replay restituisce un elenco","selvedge-rebuild.c81ee5ef6b":"Due esecuzioni, confrontate","selvedge-rebuild.66a522b7c5":"Ecco perché \"si è riprodotto\" ottiene una risposta migliore di un semplice sì.","selvedge-rebuild.d76c40f0ce":"Copy-on-write veloce o primo tocco bloccato.","selvedge-rebuild.f2c61a30e9":"Inizializzazione della memoria","selvedge-rebuild.c5abd185c9":"Rilevato per velocità o bloccato per portabilità.","selvedge-rebuild.72afcd7b6b":"Scelta delle istruzioni vettoriali","selvedge-rebuild.12d9267ba1":"Forte ed economico, da un unico seed.","selvedge-rebuild.de76cb3681":"Entrambi i flussi casuali","selvedge-rebuild.aa0c86bf67":"Epoca fissa, il primo gennaio 2024.","selvedge-rebuild.be2bae9c5e":"Orologio di sistema","selvedge-rebuild.76249575a8":"(rimosso, o deciso una volta)","selvedge-rebuild.32684a6c6c":"Fonti di deriva","selvedge-rebuild.d5b4ab5d99":"PORTABILE PER SCELTA","selvedge-rebuild.73b7c15756":"UN UNICO SEED","selvedge-rebuild.e5599ca3ea":"OROLOGIO FISSO","selvedge-rebuild.3228959407":"La configurazione di determinismo include un controllo che dice quale dei due stai tenendo, quindi la portabilità è una decisione con una risposta stampata piuttosto che qualcosa scoperto quando la riproduzione di una controparte non coincide. Bloccare costa le unità vettoriali più ampie sulle macchine che le hanno, e questo è tutto il compromesso.","selvedge-rebuild.95523f0e77":"Due impostazioni decidono se lo stesso artefatto segue lo stesso percorso attraverso il processore sulla macchina di qualcun altro: come vengono selezionate le istruzioni vettoriali e come viene inizializzata la memoria. Rileva ciò che la macchina ha e l'esecuzione è più veloce. Blocca entrambi e l'esecuzione è portabile. Un verificatore successivo ha bisogno di quel percorso fisso.","selvedge-rebuild.b679796146":"Selvedge rimuove le fonti di variazione: un orologio fisso al 1 gennaio 2024 ed entrambi i flussi casuali seminati da un unico valore. Il record contiene un digest di quella configurazione, non i valori estratti. Le istruzioni vettoriali e l'inizializzazione della memoria sono anche scelte esplicite: rilevale per velocità o bloccale per portabilità. Un verificatore può leggere l'hash del profilo e sapere se una riproduzione doveva seguire lo stesso percorso macchina prima di confrontare l'output.","selvedge-rebuild.0a6cfc8fac":"non un'impostazione da attivare","selvedge-rebuild.1fd189502e":"Il determinismo è sottrazione","selvedge-rebuild.a7c3ed1772":"Sottrazione, non configurazione","selvedge-rebuild.0c47ffb9bb":"Un conteggio di istruzioni ha senso solo se le istruzioni erano le stesse due volte.","selvedge-rebuild.adebd97359":"Il fuel consumato può essere sottratto tra le esecuzioni.","selvedge-rebuild.a2daaab559":"Figura successiva","selvedge-rebuild.3d67ae7992":"Il lavoro, piuttosto che un orologio di sistema, è il limite.","selvedge-rebuild.de6412fbe8":"Budget pari a zero","selvedge-rebuild.15dcfdda9a":"Il carico non sposta un conteggio.","selvedge-rebuild.2202f5e805":"Stesso punto di arresto","selvedge-rebuild.60440bc65a":"Contato mentre il guest viene eseguito; quando è esaurito, l'esecuzione termina.","selvedge-rebuild.63309fc99a":"Budget di istruzioni","selvedge-rebuild.9bb4b0c4cd":"e cosa compra il conteggio","selvedge-rebuild.4f84d48da3":"Un unico limite","selvedge-rebuild.34b96ad39f":"UGUALE SU QUALSIASI CPU","selvedge-rebuild.c314cfa17b":"NON SECONDI","selvedge-rebuild.62e2ede50f":"ISTRUZIONI","selvedge-rebuild.d1536b89dd":"Le istruzioni consumate sono una proprietà dell'esecuzione. La cifra è nel record, può essere sottratta, e una differenza di otto su nove miliardi è la prima cosa da guardare quando due esecuzioni non coincidono. Questo è il motivo per contare il lavoro piuttosto che il tempo: il numero sopravvive alla macchina su cui è stato preso. Una nuova esecuzione su altro hardware restituisce lo stesso conteggio o nomina il campo che si è spostato.","selvedge-rebuild.7aff67a600":"Un conteggio è anche una cifra che due parti possono tenere l'una contro l'altra. Il tempo trascorso è una proprietà della macchina che si è trovata libera, e nulla di utile segue da una differenza in esso. Misura la disponibilità sull'host, non il lavoro svolto dal guest. Il conteggio invece descrive un lavoro che può essere verificato in modo indipendente.","selvedge-rebuild.72426f8729":"Il tempo trascorso fa sì che lo stesso artefatto passi su una macchina inattiva e fallisca su una occupata. Selvedge limita un'esecuzione al conteggio di istruzioni speso dal guest, quindi il carico non cambia né la risposta né il punto in cui si ferma. Il budget è addebitato al lavoro del guest piuttosto che alla pianificazione dell'host. Un timeout può ancora proteggere una chiamata host bloccata, ma non è il segnale di riproducibilità; lo è il conteggio di istruzioni registrato.","selvedge-rebuild.8afbc5d594":"e il fuel misura il programma","selvedge-rebuild.03b2c4da91":"Una scadenza misura un host","selvedge-rebuild.21a2c5f1aa":"Cosa ferma davvero un'esecuzione","selvedge-rebuild.1a78f4b9ca":"Un'esecuzione che non chiede nulla può comunque non terminare, e questo richiede un limite diverso.","selvedge-rebuild.4a92056b30":"Solo perché il wildcard è scritto.","selvedge-rebuild.98f3f99f4d":"La stessa importazione con wildcard","selvedge-rebuild.aca85a73fa":"Rifiutato piuttosto che assunto innocuo.","selvedge-rebuild.e4b5b433a2":"Un'importazione che non classifica nulla","selvedge-rebuild.15c54f0161":"Riconosciuto ma assente dalla policy. Si ferma qui.","selvedge-rebuild.f998b59fb9":"Un'interfaccia socket","selvedge-rebuild.b0449a2f1e":"Nominata nella policy e fornita dall'host.","selvedge-rebuild.83ae8486f7":"I flussi standard","selvedge-rebuild.a46cc41ece":"una policy, quattro risposte","selvedge-rebuild.161836a8f2":"Quattro richieste","selvedge-rebuild.366a00a60f":"CHIUSO IN CASO DI ERRORE","selvedge-rebuild.4d3b321af0":"CONTROLLATO PER PRIMO","selvedge-rebuild.063d13205c":"IMPORTAZIONI DICHIARATE","selvedge-rebuild.0727104688":"In Selvedge il caso sconosciuto fallisce in modo chiuso, e l'unico modo per aprirlo è un wildcard che sta nella policy come voce propria. Una permesso su cui non hai deciso non è disponibile, e un permesso su cui hai deciso è leggibile per chiunque legga la policy l'anno prossimo senza dover ricostruire il ragionamento. Quella voce è revisionabile, e rimuoverla chiude di nuovo il caso.","selvedge-rebuild.4adda50d9a":"Il caso sconosciuto è quello in cui i runtime di solito cedono. Una richiesta non riconosciuta viene fatta passare partendo dal presupposto che sia probabilmente innocua, ed è così che arriva una capacità che nessuno ha scelto, che nessuno possiede e che nessuno può datare. Un confine resta intelligibile solo quando si chiude proprio in quel caso.","selvedge-rebuild.2b1f8f5acb":"Un artefatto che chiede la rete a Selvedge non parte mai. Ogni import dichiarato viene esaminato prima dell'istanziazione da tutti e tre i costruttori di istanza; un import fuori dalla policy blocca tutto, e un import che nessuna policy può classificare fallisce in modalità chiusa a meno che non sia stato concesso un wildcard apposta. L'esame avviene prima che qualsiasi costruttore di modulo venga eseguito, quindi un import negato non può far trapelare un'istanza parziale. La policy di import è quindi una condizione di avvio verificabile, non un filtro runtime di tipo best-effort.","selvedge-rebuild.c701cfb7bc":"viene rifiutato, non fatto passare","selvedge-rebuild.11f61b8cea":"Un import che non riesce a classificare","selvedge-rebuild.e8f740737e":"Prima dell'istanziazione","selvedge-rebuild.dcd4ba984c":"Una stanza vuota è solo metà. Qualcosa deve anche rifiutare prima che il codice parta.","selvedge-rebuild.0e3f683921":"Nessuna directory, socket, variabile o argomento.","selvedge-rebuild.b31a999e3e":"Tutto il resto","selvedge-rebuild.b6f2a8aafd":"I byte del chiamante, o un flusso chiuso.","selvedge-rebuild.ed8d995cba":"Input standard","selvedge-rebuild.619f80b0f4":"Lo stesso trattamento. Niente viene scritto altrove.","selvedge-rebuild.be84302eb7":"Errore standard","selvedge-rebuild.28c9b400a8":"Catturato, digerito e restituito con l'esecuzione.","selvedge-rebuild.f0c190c767":"Output standard","selvedge-rebuild.80384c78ce":"e ciò che non c'è da attraversare","selvedge-rebuild.fbda0b5df6":"Ciò che attraversa il muro","selvedge-rebuild.f317e1836d":"NESSUN AMBIENTE","selvedge-rebuild.772e054092":"NESSUN FILE","selvedge-rebuild.61176d0dd1":"NESSUNA RETE","selvedge-rebuild.a4a4906f32":"La sottrazione resta ferma. Non c'è un filesystem da concedere né una rete da negare, quindi il caso peggiore dipende dalla forma dell'host, non dal fatto che qualcuno tenga una lista corretta. Una policy Selvedge che costruisci tu stesso parte con una lista di capacità vuota e la determinismo richiesto, e la stanza che descrive è la stanza che ottieni.","selvedge-rebuild.d987579a1c":"Una lista di permessi è una cosa che qualcuno mantiene, e qualsiasi cosa mantenuta va alla deriva. Una release apre una directory per una diagnostica, la diagnostica finisce entro l'estate, la voce le sopravvive, e due anni dopo nessuno sa dire cosa dipende da essa. È quella storia che un receipt preserva per una revisione successiva.","selvedge-rebuild.a97c12e865":"Chiedi cosa un componente può raggiungere dentro Selvedge e la risposta è tre flussi: output standard, errore standard e input standard quando il chiamante ne fornisce uno. Nessuna directory, socket, variabile d'ambiente o lista di argomenti viene aperta; l'host non ha un percorso di codice che ne apra uno.","selvedge-rebuild.d9a7d95854":"e non c'è un quarto","selvedge-rebuild.dcfbae366b":"Un ospite riceve tre flussi","selvedge-rebuild.fbadde4854":"Ciò che viene consegnato a un ospite","selvedge-rebuild.fallback-record":"registro","selvedge-rebuild.fallback-check":"controllo","selvedge-rebuild.illustrative":"ILLUSTRATIVO","selvedge-rebuild.declared":"dichiarato","selvedge-rebuild.recorded":"registrato","selvedge-rebuild.banner.eng-unchecked.kicker":"Cosa significa un pass","selvedge-rebuild.banner.eng-unchecked.title":"Ogni affermazione viene testata","selvedge-rebuild.banner.eng-unchecked.body":"Un artefatto può portare affermazioni su se stesso: un digest di firma, un digest di certificato, un digest di policy. Ognuna è una promessa che qualcosa è stato controllato, e ognuna ha bisogno di materiale prima di poter essere controllata. Selvedge insiste su quel materiale. Un artefatto che fa riferimento a un digest di firma verifica una volta forniti la firma staccata e la chiave. Uno che fa riferimento a un digest di certificato verifica una volta che un verificatore di catena è presente per leggerlo. Uno che fa riferimento a un digest di policy verifica sul percorso consapevole della policy che lo ha prodotto.","selvedge-rebuild.banner.eng-unchecked.instrument-header":"Materiale di verifica","selvedge-rebuild.banner.eng-unchecked.instrument-tag":"Richiesto","selvedge-rebuild.banner.eng-unchecked.verdict-label":"Risultato del pass","selvedge-rebuild.banner.eng-unchecked.item-1-label":"Digest di firma","selvedge-rebuild.banner.eng-unchecked.item-1-body":"Firma staccata e chiave.","selvedge-rebuild.banner.eng-unchecked.item-2-label":"Digest di certificato","selvedge-rebuild.banner.eng-unchecked.item-2-body":"Verificatore di catena.","selvedge-rebuild.banner.eng-unchecked.item-3-label":"Digest di policy","selvedge-rebuild.banner.eng-unchecked.item-3-body":"Percorso consapevole della policy.","selvedge-rebuild.banner.eng-unchecked.item-4-label":"Artefatto + impostazioni","selvedge-rebuild.banner.eng-unchecked.item-4-body":"Controllato a ogni esecuzione.","selvedge-rebuild.banner.eng-unchecked.verdict":"Un pass copre ogni affermazione nell'artefatto.","selvedge-rebuild.banner.eng-unchecked.footline":"Ecco perché un pass Selvedge significa la stessa cosa per la parte che lo riceve.","selvedge-rebuild.banner.eng-handover.kicker":"Chi detiene le prove","selvedge-rebuild.banner.eng-handover.title":"Consegni quattro cose","selvedge-rebuild.banner.eng-handover.body":"Una seconda parte che controlla un'esecuzione Selvedge ha bisogno di quattro cose: i byte dell'artefatto, l'input che è stato dato a quei byte, le impostazioni di determinismo usate dall'esecuzione e il record che ha prodotto. Tutte e quattro sono file. Tutte e quattro viaggiano con i mezzi che già usate tra di voi, e nessuna è una credenziale, una licenza o un endpoint.","selvedge-rebuild.banner.eng-handover.instrument-header":"Consegna per replay","selvedge-rebuild.banner.eng-handover.instrument-tag":"Offline","selvedge-rebuild.banner.eng-handover.verdict-label":"Replay indipendente","selvedge-rebuild.banner.eng-handover.item-1-label":"Byte dell'artefatto","selvedge-rebuild.banner.eng-handover.item-1-body":"Cosa è stato eseguito.","selvedge-rebuild.banner.eng-handover.item-2-label":"Input consegnato","selvedge-rebuild.banner.eng-handover.item-2-body":"Su cosa è stato eseguito.","selvedge-rebuild.banner.eng-handover.item-3-label":"Impostazioni","selvedge-rebuild.banner.eng-handover.item-3-body":"Come è stato eseguito.","selvedge-rebuild.banner.eng-handover.item-4-label":"Il tuo record","selvedge-rebuild.banner.eng-handover.item-4-body":"Cosa confrontare.","selvedge-rebuild.banner.eng-handover.verdict":"La loro macchina, il loro confronto, la loro lista.","selvedge-rebuild.banner.eng-handover.footline":"Quattro file, e chi dubita di te è chi controlla.","selvedge-rebuild.banner.biz-blind.kicker":"Perché un risultato di test si trasferisce","selvedge-rebuild.banner.biz-blind.title":"Non può sapere","selvedge-rebuild.banner.biz-blind.body":"Il software che può vedere ciò che lo circonda può comportarsi diversamente in contesti diversi. Un componente che legge la data può comportarsi in un modo prima di una scadenza e in un altro dopo. Uno che legge il nome della macchina può essere attento in un ambiente di test e negligente in produzione. Uno che può vedere quanto è carica la macchina può prendere una scorciatoia solo quando è improbabile che qualcuno stia misurando. Questo è ciò che rende un test di accettazione qualcosa che hai superato una volta, piuttosto che qualcosa che sai.","selvedge-rebuild.banner.biz-blind.instrument-header":"Confine indipendente dal fornitore","selvedge-rebuild.banner.biz-blind.instrument-tag":"Stesse condizioni","selvedge-rebuild.banner.biz-blind.verdict-label":"Risultato trasferibile","selvedge-rebuild.banner.biz-blind.compare-left":"Nessuna dipendenza residua","selvedge-rebuild.banner.biz-blind.compare-right":"Confine visibile","selvedge-rebuild.banner.biz-blind.item-1-label":"Nessun account","selvedge-rebuild.banner.biz-blind.item-1-body":"Gira sulla tua infrastruttura.","selvedge-rebuild.banner.biz-blind.item-2-label":"Nessuna chiave del fornitore","selvedge-rebuild.banner.biz-blind.item-2-body":"Niente trattenuto per te.","selvedge-rebuild.banner.biz-blind.item-3-label":"Nessuna rete nascosta","selvedge-rebuild.banner.biz-blind.item-3-body":"Nessun percorso per esfiltrare.","selvedge-rebuild.banner.biz-blind.item-4-label":"Un rapporto datato","selvedge-rebuild.banner.biz-blind.item-4-body":"Il permesso è scritto.","selvedge-rebuild.banner.biz-blind.verdict":"Un risultato di test si trasferisce perché il confine è lo stesso.","selvedge-rebuild.banner.biz-blind.footline":"L'evidenza è utile a chi non era nella stanza.","selvedge-rebuild.banner.biz-fresh.kicker":"Perché l'isolamento è conveniente","selvedge-rebuild.banner.biz-fresh.title":"Una stanza nuova ogni volta","selvedge-rebuild.banner.biz-fresh.body":"L'isolamento è di solito razionato. Allestire un ambiente pulito costa abbastanza da essere riservato al lavoro in batch, e tutto ciò che è interattivo condivide un processo di lunga durata in cui il residuo di un lavoro è la condizione di partenza del successivo. Questa è una decisione di costo, e quasi sempre viene presentata come un'architettura.","selvedge-rebuild.banner.biz-fresh.instrument-header":"Sequenza stanza nuova","selvedge-rebuild.banner.biz-fresh.instrument-tag":"Per richiesta","selvedge-rebuild.banner.biz-fresh.verdict-label":"Conclusione operativa","selvedge-rebuild.banner.biz-fresh.item-1-label":"Avvio a freddo","selvedge-rebuild.banner.biz-fresh.item-1-body":"Sub-millisecondo.","selvedge-rebuild.banner.biz-fresh.item-2-label":"Una richiesta","selvedge-rebuild.banner.biz-fresh.item-2-body":"Una stanza.","selvedge-rebuild.banner.biz-fresh.item-3-label":"Nessun riporto","selvedge-rebuild.banner.biz-fresh.item-3-body":"Niente condiviso per impostazione predefinita.","selvedge-rebuild.banner.biz-fresh.item-4-label":"Un record","selvedge-rebuild.banner.biz-fresh.item-4-body":"Il passaggio di consegne è esplicito.","selvedge-rebuild.banner.biz-fresh.verdict":"L'isolamento è conveniente quando la stanza è economica.","selvedge-rebuild.banner.biz-fresh.footline":"Un fornitore non può ereditare la stanza di ieri.","selvedge-rebuild.banner.con-code.kicker":"Cosa contiene la ricevuta","selvedge-rebuild.banner.con-code.title":"Un codice non è una copia","selvedge-rebuild.banner.con-code.body":"Una ricevuta che dimostrasse cosa è uscito dalla tua lettera dovrebbe contenere la lettera, ed è proprio questo che le persone chiedono ragionevolmente. Selvedge non conserva alcuna copia. Ciò che conserva è un breve codice calcolato dal contenuto, e il calcolo funziona solo in una direzione.","selvedge-rebuild.banner.con-code.instrument-header":"Registro delle ricevute","selvedge-rebuild.banner.con-code.instrument-tag":"Riproducibile","selvedge-rebuild.banner.con-code.verdict-label":"Cosa dimostra","selvedge-rebuild.banner.con-code.item-1-label":"L'artefatto","selvedge-rebuild.banner.con-code.item-1-body":"Quale programma.","selvedge-rebuild.banner.con-code.item-2-label":"L'input","selvedge-rebuild.banner.con-code.item-2-body":"Cosa ha visto.","selvedge-rebuild.banner.con-code.item-3-label":"Le impostazioni","selvedge-rebuild.banner.con-code.item-3-body":"Cosa è stato fissato.","selvedge-rebuild.banner.con-code.item-4-label":"La ricevuta","selvedge-rebuild.banner.con-code.item-4-body":"Cosa confrontare.","selvedge-rebuild.banner.con-code.verdict":"Un breve codice identifica l'esecuzione; non pretende di essere la fonte.","selvedge-rebuild.banner.con-code.footline":"L'oggetto utile è abbastanza piccolo da essere consegnato.","selvedge-rebuild.internal-numeric":"Il calcolo interno, l'archiviazione e l'accumulo utilizzano rappresentazioni binarie, intere, a virgola fissa o intere/a virgola fissa adattive. La virgola mobile è accettata solo a un confine esterno dichiarato e viene esplicitamente convertita prima che inizi il lavoro interno. Non esiste alcun fallback interno a virgola mobile.","selvedge-rebuild.banner.eng-unchecked.title-accent":"prima che venga dato un passaggio","selvedge-rebuild.banner.eng-unchecked.body-second":"Chiedi a Selvedge di verificare senza il materiale e l'errore nomina esattamente ciò che manca, trasformando un artefatto non verificabile in una richiesta dell'unica cosa che potrebbe risolverlo. L'effetto pratico è che un risultato verde da Selvedge porta il suo pieno significato ovunque viaggi: ogni affermazione fatta dall'artefatto è stata testata, con gli stessi strumenti, contro materiale che qualcuno ha effettivamente fornito.","selvedge-rebuild.banner.eng-handover.title-accent":"e il controllo è loro","selvedge-rebuild.banner.eng-handover.body-second":"Eseguono la riproduzione sulla propria macchina contro la propria build degli strumenti, e ciò che torna è la loro lista di campi differenti, non la tua assicurazione sull'esecuzione. Niente su quel percorso richiede un account, una chiave detenuta da noi o un nostro servizio raggiungibile, quindi il controllo funziona durante un'interruzione, su una rete isolata e anni dopo l'esecuzione che risolve. Questo è ciò che rende un record Selvedge degno di essere citato in un contratto: la parte che non si fida di te è quella che lo verifica.","selvedge-rebuild.banner.biz-blind.title-accent":"che viene testato","selvedge-rebuild.banner.biz-blind.body-second":"Un componente che gira in Selvedge non ha nulla da leggere. L'orologio che gli viene dato non si sposta mai da un singolo istante fisso. Non c'è ambiente, nessun argomento, nessuna rete e nessuna directory, quindi non c'è nome della macchina, nessuna etichetta di distribuzione e nessun modo per scoprire se questa è la quarta esecuzione o la prima. Il comportamento può ancora dipendere dall'input, ed è esattamente per questo che l'input è ciò che fissi e consegni. Ciò da cui non può dipendere è la data, l'host o l'occasione, quindi un'esecuzione che si è comportata in accettazione si comporta allo stesso modo a novembre sull'hardware di qualcun altro.","selvedge-rebuild.banner.biz-fresh.title-accent":"perché una stanza è economica","selvedge-rebuild.banner.biz-fresh.body-second":"Avviare una nuova istanza di Selvedge richiede ben meno di un millisecondo sulla macchina su cui il progetto effettua le misurazioni, il che colloca una richiesta per istanza all'interno del budget di quasi qualsiasi cosa interattiva. Nulla viene trasferito tra le istanze a meno che non venga passato deliberatamente, e ciò che viene passato appare nel record come qualcosa che è stato passato. La versione commerciale di questa frase è breve: l'errore di un lavoro è l'errore di un lavoro, e il raggio d'esplosione è una stanza che non esiste più.","selvedge-rebuild.banner.con-code.title-accent":"della cosa da cui proviene","selvedge-rebuild.banner.con-code.body-second":"Lo stesso contenuto produce sempre lo stesso codice, quindi il codice è sufficiente per dimostrare che nulla è cambiato. Il codice non può essere riconvertito nel contenuto, quindi non rivela nulla su cosa fosse il contenuto. Un'esecuzione su un report di duecento pagine lascia un record delle stesse dimensioni di un'esecuzione su una singola riga, e nessuno dei due record contiene una parola di ciò di cui trattava. Puoi conservarlo per un decennio, o consegnarlo a qualcuno che non è autorizzato a leggere il documento, senza rivelare nulla.","selvedge-rebuild.banner.eng-record.kicker":"Ciò che rimane dopo l'esecuzione","selvedge-rebuild.banner.eng-record.title":"Il processo è terminato","selvedge-rebuild.banner.eng-record.title-accent":"il record risponde ancora","selvedge-rebuild.banner.eng-record.body":"Un'esecuzione completata dovrebbe lasciare più di un semplice flag di successo. Selvedge lega l'artefatto, l'input, le impostazioni di determinismo e il lavoro misurato agli output restituiti. Il record è un insieme di campi, non un resoconto in prosa scritto dopo l'evento.","selvedge-rebuild.banner.eng-record.body-second":"Una seconda macchina può riprodurre lo stesso materiale e confrontare il record campo per campo. Se l'artefatto, le impostazioni, il conteggio delle istruzioni o l'output differiscono, il disaccordo ha un luogo nominato piuttosto che una dichiarazione generica che l'esecuzione non può essere riprodotta.","selvedge-rebuild.banner.eng-record.instrument-header":"Ricevuta di esecuzione","selvedge-rebuild.banner.eng-record.instrument-tag":"Campo per campo","selvedge-rebuild.banner.eng-record.verdict-label":"Verifica di riproduzione","selvedge-rebuild.banner.eng-record.item-1-label":"Artefatto + input","selvedge-rebuild.banner.eng-record.item-1-body":"Il materiale che è entrato.","selvedge-rebuild.banner.eng-record.item-2-label":"Impostazioni di determinismo","selvedge-rebuild.banner.eng-record.item-2-body":"Le condizioni fissate per l'esecuzione.","selvedge-rebuild.banner.eng-record.item-3-label":"Istruzioni consumate","selvedge-rebuild.banner.eng-record.item-3-body":"Il lavoro misurato.","selvedge-rebuild.banner.eng-record.item-4-label":"Digest degli output","selvedge-rebuild.banner.eng-record.item-4-body":"I valori da confrontare.","selvedge-rebuild.banner.eng-record.verdict":"Quando una riproduzione diverge, il record indica il campo in cui è avvenuto.","selvedge-rebuild.banner.eng-record.footline":"L'evidenza rimane utile dopo che il processo che l'ha prodotta è scomparso.","selvedge-rebuild.banner.biz-transfer.kicker":"Cosa sopravvive a un cambio di fornitore","selvedge-rebuild.banner.biz-transfer.title":"Conserva il risultato accettato","selvedge-rebuild.banner.biz-transfer.title-accent":"senza conservare il fornitore","selvedge-rebuild.banner.biz-transfer.body":"Un risultato di accettazione diventa fragile quando solo il fornitore può riprodurlo. L'account, il servizio e il test harness interno diventano quindi parte dell'evidenza, anche se il contratto afferma che il software stesso è portabile.","selvedge-rebuild.banner.biz-transfer.body-second":"Selvedge rende concreto il passaggio di consegne. Conserva l'artefatto, le capacità consentite, le impostazioni di esecuzione fisse e il record risultante. Un fornitore sostitutivo o un revisore indipendente può riprodurre questi file sulla propria macchina senza chiedere al fornitore originale di riaprire nulla.","selvedge-rebuild.banner.biz-transfer.instrument-header":"Passaggio di consegne indipendente","selvedge-rebuild.banner.biz-transfer.instrument-tag":"Nessun servizio mantenuto","selvedge-rebuild.banner.biz-transfer.verdict-label":"Confine commerciale","selvedge-rebuild.banner.biz-transfer.item-1-label":"Artefatto accettato","selvedge-rebuild.banner.biz-transfer.item-1-body":"I byte esatti che hanno superato.","selvedge-rebuild.banner.biz-transfer.item-2-label":"Insieme di permessi","selvedge-rebuild.banner.biz-transfer.item-2-body":"Il confine entro cui è stato eseguito.","selvedge-rebuild.banner.biz-transfer.item-3-label":"Pacchetto di riproduzione","selvedge-rebuild.banner.biz-transfer.item-3-body":"File che l'acquirente può conservare.","selvedge-rebuild.banner.biz-transfer.item-4-label":"Confronto indipendente","selvedge-rebuild.banner.biz-transfer.item-4-body":"Nessun account fornitore richiesto.","selvedge-rebuild.banner.biz-transfer.verdict":"L'evidenza cambia di mano senza creare una nuova dipendenza.","selvedge-rebuild.banner.biz-transfer.footline":"La parte che riceve il risultato riceve anche i mezzi per verificarlo.","slv-visuals.chrome-meta":"esegui record","slv-visuals.661f13bc63":"CONTROLLATO","slv-visuals.bd63dd7336":"dichiarato, limitato, registrato","slv-visuals.ac7ff256a6":"SEL","slv-visuals.44fd37f1ed":"Questo mondo è sigillato perché non è stato dichiarato.","slv-visuals.74140b3eb3":"L'operazione attraversa la stanza mentre la chiave rimane fuori.","slv-visuals.a95af2a207":"Un prefisso di percorso è visibile; questa è una finestra, non un filesystem.","slv-visuals.5265953d8b":"Sono presenti due strumenti nominati; uno strumento senza nome non ha apertura.","slv-visuals.43dd7aa30b":"L'elenco concesso è datato sul rapporto, quindi la revisione diventa una ricerca.","slv-visuals.bcaf2f4bea":"La capacità è stata rifiutata prima dell'esecuzione, con un codice stabile per il runbook.","slv-visuals.f712baba7f":"Carburante e output spostati: chiedi quale input ha effettivamente ricevuto l'ospite.","slv-visuals.f4435747db":"Carburante spostato mentre l'output è rimasto: ispeziona la build host o il percorso del codice.","slv-visuals.e18ddd4366":"Nessun risultato. Il pinning rinuncia a unità vettoriali più ampie e la portabilità è ora una lettura.","slv-visuals.f1a5ccbfac":"Due risultati: la selezione vettoriale e l'inizializzazione della memoria dipendono dall'host.","slv-visuals.interaction.choices":"Scelte visive Selvedge","slv-visuals.interaction.sequence":"Sequenza Selvedge","slv-visuals.interaction.worlds":"Mondi di capacità Selvedge","slv-visuals.interaction.tree":"Albero di prova di inclusione Selvedge","slv-visuals.fallback-hash":"hash","slv-visuals.fallback-fact":"fatto","slv-visuals.control.detect":"rilevato-sintonizzato","slv-visuals.control.pinned":"fissato","slv-visuals.control.fuel":"carburante spostato","slv-visuals.control.output":"carburante + output spostati","slv-visuals.control.policy":"politica rifiutata","slv-visuals.control.allowed":"politica consentita","slv-visuals.control.tool":"strumento","slv-visuals.control.storage":"archiviazione","slv-visuals.control.crypto":"crittografia","slv-visuals.control.observe":"osserva","toc-rail.f5cbdf6bfb":"Contenuti"}
