{"block_close_oss.c33fd1fe9c":"Comunidade e ecossistema","open-source-selvedge.hero-broker.no":"Não","open-source-selvedge.a5e3c573e9":"Compilar cargas de trabalho Kera BNN para o runtime Selvedge.","open-source-selvedge.d5f412e831":"Kera","open-source-selvedge.fe0a091fdb":"Produtos","open-source-selvedge.7dfa2cfe61":"Proveniência de eventos com cadeia de hash para eventos do sistema.","open-source-selvedge.1aa2f31ee7":"Ledger","open-source-selvedge.6cc3364a24":"Evidência de execução","open-source-selvedge.ff130daae8":"Certificados de prova de raciocínio, não transcrições de execução.","open-source-selvedge.df84637182":"AION","open-source-selvedge.d5d6e83bf2":"Continuar a explorar","open-source-selvedge.75e393a1ac":"Explorar o projeto","open-source-selvedge.f9743247fa":"Ler a documentação","open-source-selvedge.ef0fd4ccef":"Inspecionar o registo de execução","open-source-selvedge.e971b9cac2":"A Selvedge publica na quarta ronda do programa de lançamento da fundação, depois da Knot e da Ledger. Quando isso acontecer, coloque um módulo WASM em sandbox e reproduza o envelope de prova você mesmo.","open-source-selvedge.aa91c05f23":"Verifique o resultado, não o código","open-source-selvedge.90e40d5043":"Começar","open-source-selvedge.de6848949f":"Selvedge","open-source-selvedge.650fabe787":"Código Aberto","open-source-selvedge.0a2d263d08":"OSS / Selvedge","open-source-selvedge.9e2fe6d1ab":"Sandbox de negação por defeito","open-source-selvedge.6b5eb5323e":"Negação por defeito","open-source-selvedge.9940fac0fc":"Superfície de execução de ferramentas do Model Context Protocol.","open-source-selvedge.d19313d340":"Servidor de agente","open-source-selvedge.bb1d021694":"Selado com Ed25519, transcrição SHA3-256, verificação offline.","open-source-selvedge.1ee471ad95":"Envelope de prova","open-source-selvedge.7e4e340a74":"Redes neuronais binárias IR de grafo, JIT e intérprete.","open-source-selvedge.0743169b8b":"Motor Kera","open-source-selvedge.90ba359bc5":"Runtime de modelo de componentes, anfitrião WASI 0.2 Preview 2.","open-source-selvedge.90aecd8ec1":"Motor Wasmtime","open-source-selvedge.ed07ad60bf":"Superfície verificada","open-source-selvedge.8ec9f20dc2":"O QUE É LANÇADO","open-source-selvedge.efe0c41bcb":"KERA","open-source-selvedge.4e946026a7":"WASM","open-source-selvedge.8e4939f0ca":"RUST 2024","open-source-selvedge.c968638a6e":"TRANSCRIÇÃO SELADA","open-source-selvedge.201a4da5a0":"A Selvedge executa código não confiável dentro de uma sandbox com limites de capacidade e regista a execução numa transcrição selada. A contenção limita o que o código pode tocar; a transcrição mostra o que realmente aconteceu e pode ser reproduzida para revisão.","open-source-selvedge.3ca6c6a37b":"Determinístico por defeito","open-source-selvedge.a55e5a1229":"Capacidade limitada","open-source-selvedge.fca77b7e3a":"O caminho de execução selado","open-source-selvedge.8faedce292":"Quatro runtimes","open-source-selvedge.2adb968c4a":"Mesmo envelope","open-source-selvedge.0bf361df63":"Servidor Model Context Protocol para ferramentas de agente.","open-source-selvedge.21593b807a":"MCP","open-source-selvedge.1df8dd458e":"Runtime de agente de longa duração com fila.","open-source-selvedge.329cb8b6ba":"Serviço","open-source-selvedge.8b3b7e65eb":"build, verify, run, replay. Compatível com CI.","open-source-selvedge.700b401ca5":"CLI","open-source-selvedge.fb075836bd":"Ligado à sua aplicação como crate.","open-source-selvedge.0fd17b94c9":"Embutido","open-source-selvedge.3512486e9f":"Onde a Selvedge é executada","open-source-selvedge.d53f3da0a7":"POSTURA","open-source-selvedge.f28d7de3d9":"REGULADO","open-source-selvedge.a21096cb07":"RUNTIME BNN","open-source-selvedge.0fcaf629eb":"PLUGINS","open-source-selvedge.32e4cd84f3":"FERRAMENTAS DE AGENTE","open-source-selvedge.78a8dfaf02":"Ferramentas de agente, plugins de terceiros, inferência Kera BNN e trabalho com dados regulados entram todos pela mesma fronteira controlada. Cada runtime produz o mesmo envelope de evidência selado, pelo que as mudanças de implementação não alteram a história de auditoria.","open-source-selvedge.e9f7d0cf54":"encontra cargas de trabalho reguladas","open-source-selvedge.8d5a043fd8":"Onde o código não confiável","open-source-selvedge.14a29ba383":"Casos de utilização","open-source-selvedge.f86aae8de8":"O caminho crítico permanece com vanilla","open-source-selvedge.224a8949e8":"Arranque a frio, a vitória principal","open-source-selvedge.36998c51d5":"Hash de transcrição, SIMD.","open-source-selvedge.41366a8f09":"1 a 3 us","open-source-selvedge.01dbc6d47c":"SHA3-256, 1 KB","open-source-selvedge.bd0fbf08cc":"Assinatura Ed25519 5-15 us, verificação 15-30 us.","open-source-selvedge.1f3e8a79be":"10 a 20 us","open-source-selvedge.671d8813b1":"criação de prova AION","open-source-selvedge.9f10fa1bbe":"Arranque do processo incluído, 8 a 9 vezes mais rápido.","open-source-selvedge.4258dd2386":"1,58 a 1,70 ms","open-source-selvedge.919b634e80":"CLI frio, Kera JIT","open-source-selvedge.2d3bb21f5e":"Módulo de computação, vs. 1187-1494 us vanilla.","open-source-selvedge.bd8403776f":"15 a 21 us","open-source-selvedge.cbb71692d2":"Arranque a frio, API","open-source-selvedge.6cd2cd614d":"De BENCHMARKS.md","open-source-selvedge.48109cc196":"BENCHES SELVEDGE","open-source-selvedge.d9074c5c77":"CRITÉRIO","open-source-selvedge.7084ceb2f1":"AION 10-1000x","open-source-selvedge.b0437f28f6":"KERA JIT QUENTE 2x","open-source-selvedge.65e2c56be9":"FRIO 62-243x","open-source-selvedge.928af32bc7":"O arranque do Selvedge Wasmtime é 62 a 243 vezes mais rápido do que o Wasmtime vanilla ao nível da API. A troca honesta está no caminho quente: o vanilla mantém a chamada repetida de 22 ns, e o modelo de componente que produz o registo é mais lento aí. O Kera JIT é 2 vezes mais rápido a quente para trabalho de grafos. Os números vêm do BENCHMARKS.md do repositório.","open-source-selvedge.da589b16da":"Escolha o runtime para a carga de trabalho","open-source-selvedge.c296a030fe":"O arranque a frio é a vantagem","open-source-selvedge.63c9045599":"Desempenho","open-source-selvedge.7b63c4cb70":"Concedido por chamada","open-source-selvedge.abf0c49614":"Negação por omissão","open-source-selvedge.cce9f81b05":"Cada decisão de gate é registada e tem hash.","open-source-selvedge.5bcd602254":"Registo","open-source-selvedge.7dc2595377":"max_execution_time_ns, separado do fuel.","open-source-selvedge.e909add520":"Limite de tempo real","open-source-selvedge.214f86c442":"max_memory_bytes, 256 MiB por omissão, teto de 4 GiB.","open-source-selvedge.89095dddd2":"Limite de RAM","open-source-selvedge.0f69ea8c8d":"max_instructions, a exaustão termina a carga de trabalho de forma limpa.","open-source-selvedge.7171161439":"Orçamento de computação","open-source-selvedge.71f2051042":"Relógio, aleatório, sistema de ficheiros, rede, ambiente, stdio, processo, personalizado. Negação por omissão.","open-source-selvedge.ca09c54bff":"Capacidades","open-source-selvedge.f767a4311b":"Proteções por execução","open-source-selvedge.369abb529c":"NÍVEIS DE POLÍTICA","open-source-selvedge.64269f9bd2":"TIME","open-source-selvedge.f4b1c471ce":"MEMÓRIA","open-source-selvedge.d8a8b58d7f":"FUEL","open-source-selvedge.1a8d3ca502":"Um conjunto de capacidades de negação por omissão controla cada chamada de host em oito domínios WASI. Os limites de recursos em memória, fuel e tempo limitam o comportamento descontrolado. Cada decisão de gate e leitura de recursos está no registo.","open-source-selvedge.770a668e0e":"Limites de recursos. Auditoria","open-source-selvedge.8a54e91228":"Capacidades","open-source-selvedge.bb9cf14180":"Política","open-source-selvedge.26fe8fb85c":"Recibos em vez de afirmações","open-source-selvedge.e08283960c":"Verifique, não confie","open-source-selvedge.82de28b689":"Precisa de prova criptográfica do que a carga de trabalho fez, não de confiança no runtime.","open-source-selvedge.858b0d2d19":"Confie no runtime, não na carga de trabalho","open-source-selvedge.ba959133c8":"Permitir sistema de ficheiros, negar rede, mas sem registo por chamada na trilha de auditoria.","open-source-selvedge.ff6fdd664b":"Permitir ou negar grosseiro","open-source-selvedge.f58bb04b13":"FP e tempo real vazam. A repetição produz aproximadamente o mesmo resultado, não exatamente.","open-source-selvedge.a1d55a1dad":"A repetição diverge","open-source-selvedge.f7afaaab99":"sem recibo","open-source-selvedge.4677f31dd1":"Uma sandbox impede a fuga. Não prova que a carga de trabalho se comportou corretamente no interior.","open-source-selvedge.6f3134b990":"Contenção não é correção","open-source-selvedge.782cef5501":"Quatro lacunas estruturais","open-source-selvedge.056dcf1841":"PORQUE AS SANDBOXES FALHAM","open-source-selvedge.f1358eac2f":"POLÍTICA GROSSEIRA","open-source-selvedge.2bf9ef4df8":"NÃO DETERMINÍSTICO","open-source-selvedge.1c613acc7e":"SEM PROVA","open-source-selvedge.d38e80798b":"As sandboxes convencionais impedem que código mau escape. Não produzem um registo do que o código realmente fez no interior. Quando um auditor pergunta, a resposta é uma afirmação, não evidência.","open-source-selvedge.61920a517c":"Não provam","open-source-selvedge.5a88fbb30e":"As sandboxes contêm","open-source-selvedge.8a9400005c":"Uma sandbox não explica a execução","open-source-selvedge.7c46a5978b":"O Selvedge captura exatamente o que foi executado, da entrada à saída, cada chamada de host selada.","open-source-selvedge.3e663e9467":"O Selvedge é o registo de execução","open-source-selvedge.a5be60731e":"O ledger regista o que aconteceu num sistema. O Selvedge regista o que o código fez.","open-source-selvedge.2c3e446b87":"O Ledger é a proveniência de eventos","open-source-selvedge.de792742e8":"A AION emite certificados sobre os passos do solver, não sobre execuções.","open-source-selvedge.ced73ef9a5":"A AION é a prova de raciocínio","open-source-selvedge.0d9a7a065c":"Como o Selvedge difere da AION e do Ledger","open-source-selvedge.d7ffcdc87b":"As mesmas entradas mais o mesmo envelope significam a mesma saída, sempre.","open-source-selvedge.7d8134cc1f":"Repetição byte idêntico","open-source-selvedge.75fcf02b02":"Uma época fixa e um PRNG ChaCha20 com semente substituem o tempo do host e a entropia.","open-source-selvedge.92a47286b6":"Relógio virtual, RNG com semente","open-source-selvedge.13c1f9cde6":"A computação, o armazenamento e a acumulação internos usam representações binárias, inteiras, de ponto fixo ou inteiro/ponto fixo adaptativas. O ponto flutuante é aceite apenas numa fronteira externa declarada e é explicitamente convertido antes de o trabalho interno começar; não há recurso interno a ponto flutuante. O relógio virtual permanece fixo, pelo que a repetição produz os mesmos bytes.","open-source-selvedge.a33c607874":"Sem floats internos, sem relógios","open-source-selvedge.81ec58648a":"Execução determinística por predefinição","open-source-selvedge.4b447f3a6e":"O verificador repete offline apenas com os bytes do módulo e o envelope.","open-source-selvedge.17d120d8bb":"Repetível","open-source-selvedge.6e95469aa0":"Assinatura ed25519 sobre a raiz do envelope. Não prosa.","open-source-selvedge.6e3665d85f":"Assinado","open-source-selvedge.bc61f0c3fe":"Cada chamada do host é incluída no hash da cadeia. As edições quebram a cadeia.","open-source-selvedge.aa5cba1a92":"Cadeia de hashes","open-source-selvedge.04c7525615":"Porque é que a transcrição é diferente de um registo","open-source-selvedge.6db180787e":"O mesmo fluxo em cada execução. A repetição é mecânica.","open-source-selvedge.69aca853c2":"Prova AION","open-source-selvedge.ff8fc1c58a":"Selo","open-source-selvedge.0ae62541bc":"Cadeia SHA3","open-source-selvedge.873507a022":"Hash","open-source-selvedge.b1b392607d":"Executar","open-source-selvedge.3e3f943d84":"caps fixadas","open-source-selvedge.ddcb77ff76":"Carregar","open-source-selvedge.71faf343ce":"Transcrição de execução","open-source-selvedge.952be7ff16":"Prova AION emitida, assinada com ed25519, envelope pronto a enviar.","open-source-selvedge.be1a4b336f":"Cada chamada do host e resultado incluídos no hash de uma cadeia SHA3-256.","open-source-selvedge.83dcc459e8":"O Wasmtime ou a Kera executa dentro da sandbox de negação por predefinição.","open-source-selvedge.1a5c8788b4":"Módulo carregado, capacidades fixadas, limites de recursos aplicados.","open-source-selvedge.25ec589727":"O Selvedge executa código WASM ou Kera dentro de uma sandbox de negação por predefinição, inclui cada chamada do host no hash de uma cadeia de transcrição SHA3-256 e envolve o resultado num envelope de prova AION assinado. O envelope repete sem a sandbox original.","open-source-selvedge.fa84feaccb":"Uma transcrição selada","open-source-selvedge.62ee5ca76d":"Quatro fases","open-source-selvedge.a5a88d36d1":"O que o Selvedge produz","open-source-selvedge.db2f804f0c":"Os dados saem da Europa","open-source-selvedge.8799dc7cf1":"Computadores que possui","open-source-selvedge.1d197d39c5":"Onde é executado","open-source-selvedge.79073eaaf2":"Países Baixos","open-source-selvedge.44ab85a252":"Origem","open-source-selvedge.f1be77358f":"Evidência, não uma promessa","open-source-selvedge.df5248d3cd":"A resposta da auditoria","open-source-selvedge.6eef664840":"Nenhum","open-source-selvedge.a95380913a":"Serviço externo necessário","open-source-selvedge.eba5db6f23":"Dependência do fornecedor","open-source-selvedge.4ce8c39ddd":"Onde encontrá-lo","open-source-selvedge.3229609e15":"Modelo de execução","open-source-selvedge.cba0624eb5":"Ficha de aquisição","open-source-selvedge.101226ec7a":"O que poupa e o que reduz em risco","open-source-selvedge.7a0848ede3":"Ver a fronteira de execução","open-source-selvedge.c01c519a99":"O Selvedge é uma sandbox WebAssembly determinística para código não fiável. O seu manifesto de permissões e a transcrição selada são executados em hardware que controla, pelo que uma contraparte pode repetir o registo na sua própria máquina e uma disputa torna-se uma consulta em vez de um pedido de garantia.","open-source-selvedge.27e446d5a9":"Manter uma transcrição selada","open-source-selvedge.e1cb220703":"Executar código não fiável","open-source-selvedge.6ec18dcb30":"Selvedge","open-source-selvedge.993a665d35":"No controlo","open-source-selvedge.c1df7f8f11":"Você permanece","open-source-selvedge.f3101e3bb1":"Num computador em casa","open-source-selvedge.7cb07d3c00":"Pode executar","open-source-selvedge.576347ec82":"Europa","open-source-selvedge.15edfb4da4":"Feito em","open-source-selvedge.dd80c16201":"A mesma resposta, sempre","open-source-selvedge.d7e70b6e08":"A mesma pergunta","open-source-selvedge.12fee4f639":"Para que nada possa ser falsificado","open-source-selvedge.4c10b31d42":"Sela","open-source-selvedge.dcd11694fe":"Um recibo de cada passo","open-source-selvedge.2ab05d7411":"Escreve","open-source-selvedge.527d86ed84":"Mantém o trabalho num canto seguro","open-source-selvedge.ca032b5844":"Mantenha o código dentro dos limites, mantenha o registo","open-source-selvedge.ce2cddc0bb":"Um assistente cuidadoso","open-source-selvedge.f8c94a3b4b":"O que é","open-source-selvedge.704869f20f":"Em palavras simples","open-source-selvedge.21e83f6c44":"Leia a pequena história","open-source-selvedge.06c805023d":"Veja o que o código fez","open-source-selvedge.d346a6159d":"A Selvedge coloca um programa que não escolheu numa sala sem internet, sem rota para os seus ficheiros e sem nada para aprender sobre a sua máquina. Deixa um recibo a dizer o que voltou e o que o programa tinha permissão para fazer, para que possa verificar uma alegação posterior em vez de aceitar a palavra de alguém.","open-source-selvedge.a1301435db":" escreve tudo o que faz","open-source-selvedge.5bd50e406e":"Um assistente cuidadoso que","open-source-selvedge.279245bb2e":"Estilo AION, selado com ed25519","open-source-selvedge.5f174de1cc":"Prova","open-source-selvedge.ff5b90620f":"SHA3-256 por chamada de anfitrião","open-source-selvedge.98e2d78aaa":"Predefinido, não opcional","open-source-selvedge.2956ef9ad6":"Determinismo","open-source-selvedge.cd95bf50b6":"Anfitrião de componentes Wasmtime","open-source-selvedge.b3776d63ad":"Backends","open-source-selvedge.2da600bf94":"Versão","open-source-selvedge.f187484f8c":"Rust (Edição 2024)","open-source-selvedge.89b86ab0e6":"Linguagem","open-source-selvedge.942587e61e":"Ficha do projeto","open-source-selvedge.d4a74b503a":"Ler a documentação","open-source-selvedge.a42a770d90":"A Selvedge executa código que não escreveu num anfitrião de componentes WebAssembly sem rede, sistema de ficheiros, ambiente ou relógio em movimento. Cada execução concluída devolve um registo que outra parte pode reproduzir e um relatório de execução a indicar o que o código tinha permissão para fazer. Publicado sob Apache 2.0.","open-source-selvedge.92ec8c4f54":"responsabilidade segura","open-source-selvedge.722d7084a5":"Código não confiável","open-source-selvedge.3b6a6a049d":"em ambiente isolado","open-source-selvedge.7d5b92b8a7":"CAP-SET","open-source-selvedge.0e2f3c1696":"FUEL","open-source-selvedge.a266fe9c4d":"MEMÓRIA","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":"OBSERVADO","open-source-selvedge.35e0d0360a":"LIVE","open-source-selvedge.0f4b423c4b":"MEDIDO","open-source-selvedge.6e10953f3e":"OPEN","open-source-selvedge.rebuild-h1-lead":"Execute código que não escreveu.","open-source-selvedge.rebuild-h1-accent":"Uma sala com recibo.","open-source-selvedge.rebuild-business-h1-lead":"Execute código não confiável no hardware que controla.","open-source-selvedge.rebuild-business-h1-accent":"Um ambiente isolado WebAssembly determinístico.","open-source-selvedge.close.github":"Pergunte sobre o lançamento","open-source-selvedge.source.access":"Publica na quarta ronda","open-source-selvedge.close.title":"Verifique o resultado","open-source-selvedge.close.titleAccent":"não o código","open-source-selvedge.close.panel.title":"O que pode verificar por si","open-source-selvedge.close.panel.tag":"TEMPO DE EXECUÇÃO","open-source-selvedge.close.panel.row.0.label":"Licença","open-source-selvedge.close.panel.row.0.value":"Apache 2.0","open-source-selvedge.close.panel.row.1.label":"Execução","open-source-selvedge.close.panel.row.1.value":"Negação predefinida","open-source-selvedge.close.panel.row.2.label":"Determinismo","open-source-selvedge.close.panel.row.2.value":"Predefinido, não opcional","open-source-selvedge.close.panel.row.3.label":"Transcrição","open-source-selvedge.close.panel.row.3.value":"SHA3-256 por chamada de anfitrião","open-source-selvedge.close.panel.foot":"A publicação está planeada em rondas quinzenais. O repositório e a sua documentação são disponibilizados em conjunto.","oss-selvedge-business-glyph.fef8e889dc":"Política de execução","oss-selvedge-business-glyph.6b5eb5323e":"Negação por predefinição","oss-selvedge-business-glyph.4ce8c39ddd":"Onde encontrá-lo","oss-selvedge-business-glyph.eba5db6f23":"Dependência do fornecedor","oss-selvedge-business-glyph.6eef664840":"Nenhuma","oss-selvedge-business-glyph.a95380913a":"Serviço externo","oss-selvedge-business-glyph.a92831c31f":"Construído nos Países Baixos","oss-selvedge-business-glyph.47deeb13b4":"Funciona em computadores que possui","oss-selvedge-business-glyph.71aec0536c":"Os dados permanecem na Europa","oss-selvedge-business-glyph.8ac7aa173f":"O que obtém","oss-selvedge-business-glyph.5c75fc26b6":"Controlo e evidência","oss-selvedge-business-glyph.df5248d3cd":"A resposta da auditoria","oss-selvedge-business-glyph.74f39697ac":"Antes","oss-selvedge-business-glyph.b407dd020f":"Uma promessa num documento","oss-selvedge-business-glyph.4f1d10b8b9":"Com Selvedge","oss-selvedge-business-glyph.62d62865a8":"Evidência selada","oss-selvedge-consumer-glyph.088aa1c6a5":"Ficou no canto seguro","oss-selvedge-consumer-glyph.cc8e3cba23":"Fez apenas o que pediu","oss-selvedge-consumer-glyph.f87dcfd005":"Anotou cada passo","oss-selvedge-consumer-glyph.ce2cddc0bb":"Um assistente cuidadoso","oss-selvedge-consumer-glyph.0b5703d2a7":"O canto seguro","oss-selvedge-consumer-glyph.135207e95b":"Faz uma pequena tarefa, aqui, e em nenhum outro lugar.","oss-selvedge-consumer-glyph.0ed7e2fe52":"O que fez, por escrito","oss-selvedge-consumer-glyph.2b11f0b541":"Selado, para que nada possa ser alterado","oss-selvedge-hero-glyph.85be9bda9e":"Verificação AION concluída com sucesso.","oss-selvedge-hero-glyph.8fff039853":"YES","oss-selvedge-hero-glyph.c5616cf985":"Assinatura válida:","oss-selvedge-hero-glyph.9e84fd1870":"Resumo corresponde:","oss-selvedge-hero-glyph.ae05be9259":"Transcrição guardada em:","oss-selvedge-hero-glyph.7d1f8eca4c":"Instruções:","oss-selvedge-hero-glyph.1611baddbd":"2 097 152 bytes","oss-selvedge-hero-glyph.b6d31df01c":"Memória:","oss-selvedge-hero-glyph.d1fd5a4123":"Utilização de recursos:","oss-selvedge-hero-glyph.80e5667a3d":"Execução concluída com sucesso em 18.4ms","oss-selvedge-hero-glyph.ebece295c6":"cadeia de transcrição, sha3-256","oss-selvedge-hero-glyph.859e2c0cd0":"tempo 5000 ms","oss-selvedge-hero-glyph.6137065f69":"combustível 50 M","oss-selvedge-hero-glyph.489a5f61f6":"mem 256 MiB","oss-selvedge-hero-glyph.70049344a2":"política: negação por predefinição","oss-selvedge-hero-glyph.9b97280973":"Determinístico:","oss-selvedge-hero-glyph.0642f22885":"Motor:","oss-selvedge-hero-glyph.8116c74b17":"A executar artefacto:","oss-selvedge-hero-glyph.9f85876f55":"Wasmtime, modelo de componentes","page-breadcrumb.c766e66518":"Trilho de navegação","page-toc.7e439c353e":"Nesta página","section_st_a1_display-split.7c9a7c0610":"Detalhe","section_st_f1_cta-dark.90e40d5043":"Começar","selvedge-rebuild.why":"Porquê","selvedge-rebuild.state.depth-3":"Profundidade 3","selvedge-rebuild.state.depth-1":"Profundidade 1","selvedge-rebuild.state.leaf":"Folha","selvedge-rebuild.state.path":"Caminho","selvedge-rebuild.state.root":"Raiz","selvedge-rebuild.state.proof":"Prova","selvedge-rebuild.instrument.first-check":"Primeira verificação","selvedge-rebuild.instrument.last-check":"Última verificação","selvedge-rebuild.e4117a549a":"A sala, o recibo e a lista são toda a promessa.","selvedge-rebuild.e04c2bbabb":"Uma lista, não uma estimativa.","selvedge-rebuild.f4a910b306":"Encontrar e corrigir","selvedge-rebuild.d7231e00d3":"O código é transportado em cada execução.","selvedge-rebuild.de97a98b3b":"Cada recibo","selvedge-rebuild.4fb8981886":"Um resumo identifica a compilação.","selvedge-rebuild.280587dbfc":"Artefacto exato","selvedge-rebuild.94bce13433":"de um recibo a cada tarefa","selvedge-rebuild.d8ad44b2fd":"O rasto de volta","selvedge-rebuild.66d0398793":"ENCONTRADO, NÃO ADIVINHADO","selvedge-rebuild.f64f81f133":"CADA TAREFA","selvedge-rebuild.cd30789775":"UM CÓDIGO","selvedge-rebuild.36d917a683":"Aqui chega como uma lista. Cada tarefa que usou o programa defeituoso identifica-o por código, data e uma lista curta de permissões, para que possa ver o que foi afetado e até onde poderia ter ido. Se as pessoas que o criaram deixarem de ser de confiança, a retirada entra em vigor num intervalo de atualização definido, em vez de quando um certificado expira. O software é publicado sob a licença Apache 2.0.","selvedge-rebuild.12399078d5":"A versão habitual desta conversa é uma estimativa. Alguém calcula qual a versão que provavelmente estava em execução, em que dias, para que pessoas, e a resposta chega como um intervalo com uma ressalva. Isso deixa os factos necessários para delimitar uma correção como uma reconstrução, em vez de um registo. A correção começa com uma lista que pode ser verificada.","selvedge-rebuild.0ccfcd0de4":"O que muda","selvedge-rebuild.664ca13427":"Cada tarefa regista um código curto para o programa exato que fez o trabalho. Não o seu nome, não o seu número de versão, mas o programa em si, para que duas compilações que partilham um nome tenham códigos diferentes. Se esse programa vier a revelar-se defeituoso, o código é como cada tarefa que ele tocou é encontrada.","selvedge-rebuild.7e5bd67fe6":"e cada tarefa que tocou","selvedge-rebuild.b27d103669":"Um código identifica o programa","selvedge-rebuild.332f693bb9":"Quando algo corre mal","selvedge-rebuild.e7dceacc68":"Quando algo corre mal, um código identifica o programa.","selvedge-rebuild.9c9d8ebf4c":"Começa com a mesma forma limpa.","selvedge-rebuild.363b82b08d":"Tarefa dois","selvedge-rebuild.5e92b89d0f":"Nada transportado.","selvedge-rebuild.747a74c704":"Nova sala","selvedge-rebuild.bbd11eef60":"Fechada com o seu registo.","selvedge-rebuild.e429b951d7":"Tarefa um","selvedge-rebuild.129567cb21":"antes, durante e depois","selvedge-rebuild.456de19ceb":"Três salas","selvedge-rebuild.164f8ae614":"NADA PARTILHADO","selvedge-rebuild.16d6f8e910":"CADA VEZ","selvedge-rebuild.09d2a97782":"NOVA SALA","selvedge-rebuild.fb65ff4141":"O programa em si é carregado de novo de cada vez a partir do seu próprio código, e o recibo transporta um código para esse código, para que o que correu hoje seja comprovadamente o que correu no mês passado. Nada se acumula pelo meio para preocupar alguém mais tarde.","selvedge-rebuild.b0f5fcfbc7":"Uma nova sala Selvedge custa tão pouco que uma por tarefa é acessível, por isso nada tem de ser partilhado. Se algo precisar genuinamente de ser transportado, é entregue de propósito e aparece no registo como algo que foi entregue.","selvedge-rebuild.46cfb3934a":"Na prática","selvedge-rebuild.ff26c0ce98":"Cada tarefa recebe uma nova sala. Nada da anterior está nela: sem notas deixadas, sem trabalho a meio, sem memória de quem pediu. Isto parece óbvio e geralmente não é verdade, porque manter uma sala de pé é mais barato do que construir uma nova, por isso a maioria dos sistemas mantém a sala e reutiliza-a.","selvedge-rebuild.7f6bde3487":"para a próxima tarefa encontrar","selvedge-rebuild.0813f2a065":"Nada é deixado para trás","selvedge-rebuild.e0a28255b6":"Entre uma tarefa e a seguinte","selvedge-rebuild.ddf86350ec":"Uma nova sala está pronta para a próxima tarefa.","selvedge-rebuild.47d52db543":"Resumo da política e data.","selvedge-rebuild.d8c67f88b7":"Lista de capacidades nomeada.","selvedge-rebuild.8d71e4a6c8":"O que foi permitido","selvedge-rebuild.1be6bb3160":"Saída, resultado e utilização de recursos.","selvedge-rebuild.7661e6591f":"O que aconteceu","selvedge-rebuild.5354effb89":"um recibo, duas perguntas","selvedge-rebuild.bf7aa926cc":"Duas metades","selvedge-rebuild.8719258390":"ESCRITO","selvedge-rebuild.d45d38b1c1":"O QUE PODIA","selvedge-rebuild.103f9176a0":"O QUE FEZ","selvedge-rebuild.fc09104420":"Não encontrar nada é uma prova fraca, porque depende de quão bem alguém procurou e de quanto tempo teve antes da reunião. Uma lista de duas permissões é uma prova forte, porque não havia mais nada para encontrar.","selvedge-rebuild.e7e3ece016":"Muda o que acontece quando se faz uma pergunta mais tarde. Em vez de alguém rever o que o programa fez e reportar que não encontrou nada preocupante, a lista de permissões está ali, e é curta.","selvedge-rebuild.74365019ac":"A maioria dos registos diz o que um programa fez. Um recibo Selvedge também diz o que lhe foi permitido fazer, o que é uma coisa diferente e mais útil. Um programa que nunca teve permissão para chegar perto dos seus ficheiros não pode ter estado perto deles, e isso fica registado, quer alguém estivesse a observar no momento ou não.","selvedge-rebuild.b418919876":"o que fez e o que podia fazer","selvedge-rebuild.f0ba8e6e92":"Cada recibo tem duas metades","selvedge-rebuild.a9fe3bc508":"Permissão, por escrito","selvedge-rebuild.76194111ba":"Um código não é uma cópia do programa; identifica exatamente o que foi executado.","selvedge-rebuild.17cabedb50":"A lista indica onde.","selvedge-rebuild.67452c68d0":"Os códigos diferem","selvedge-rebuild.c1c7f44d1c":"O comportamento repetiu-se.","selvedge-rebuild.0407e20f79":"Os códigos coincidem","selvedge-rebuild.90586d801f":"Mesmas definições e artefacto.","selvedge-rebuild.dba9e64b97":"Executar amanhã","selvedge-rebuild.bd7b414b53":"Entrada, sala e recibo.","selvedge-rebuild.c941dde6f2":"Executar hoje","selvedge-rebuild.7b1c52fa95":"o que a segunda execução lhe diz","selvedge-rebuild.bebe96c4de":"Um teste, dois resultados","selvedge-rebuild.e1c7f38f86":"PODE VERIFICAR","selvedge-rebuild.b00a146670":"MESMA RESPOSTA","selvedge-rebuild.64ee12f3fd":"MESMO MOMENTO","selvedge-rebuild.698a936171":"Também elimina um pequeno truque. Um programa que consegue ler o relógio pode comportar-se de uma forma antes de um prazo e de outra depois, e ninguém daria pela diferença. Um relógio que nunca se move não pode ser observado, por isso não há nada em relação ao qual comportar-se de forma diferente.","selvedge-rebuild.d722dbffa2":"Dá-lhe um teste que pode executar você mesmo. Se algo parecer errado, execute novamente com a mesma entrada. Se a resposta for a mesma, o programa está a comportar-se bem e o problema está noutro lado. Se for diferente, algo mudou, e a comparação indica qual parte.","selvedge-rebuild.750c2096f3":"Porque é que importa","selvedge-rebuild.7768a95a4a":"A maioria dos programas dá respostas ligeiramente diferentes de cada vez, porque consultam o relógio, usam um pouco de aleatoriedade ou reparam na carga da máquina. Um programa a correr em Selvedge não pode fazer nada disso. O relógio interno está fixo e nunca se move, e qualquer elemento aleatório começa sempre pelo mesmo número em cada execução. Pergunte duas vezes, obtenha a mesma resposta.","selvedge-rebuild.00bc249842":"e veja se ainda coincide","selvedge-rebuild.1797b92182":"Execute novamente amanhã","selvedge-rebuild.0d971150f5":"A mesma resposta duas vezes","selvedge-rebuild.0ce33bc17c":"Execute novamente amanhã e veja se ainda coincide.","selvedge-rebuild.780591dd40":"O trabalho foi dobrado.","selvedge-rebuild.b454191161":"Executar código","selvedge-rebuild.0d36ec2dc8":"Capturado e com impressão digital.","selvedge-rebuild.c35f4d270f":"Resposta devolvida","selvedge-rebuild.12f6bce42d":"Saída impressa","selvedge-rebuild.e45f48ada6":"e um código para cada","selvedge-rebuild.96a145870f":"Duas coisas","selvedge-rebuild.4056de166c":"AMBOS COM IMPRESSÃO DIGITAL","selvedge-rebuild.3736161d33":"DEVOLVIDO","selvedge-rebuild.07d3782dee":"IMPRESSO","selvedge-rebuild.7362fe572e":"É a mesma ideia de um selo num envelope, mas faz mais. Um selo diz-lhe que a carta foi aberta. Isto diz-lhe qual página mudou, e continua a funcionar mesmo depois de a carta ter sido copiada uma dúzia de vezes. Cada leitor obtém a mesma resposta a partir do registo copiado.","selvedge-rebuild.7ffcd03942":"Esse código é o que torna uma discussão posterior curta. Se alguém lhe mostrar uma resposta que um programa deu em março passado e quiser saber se é a resposta que realmente saiu, compara os códigos. Coincidem ou não, e não há nada no meio para discutir.","selvedge-rebuild.940394c7d2":"Quando o trabalho está concluído, duas coisas saem da sala: tudo o que o programa imprimiu enquanto trabalhava e a resposta que calculou. Nada mais. Ambas recebem impressão digital à saída, o que significa que é criado um código curto a partir delas, e o código muda completamente se uma única letra mudar.","selvedge-rebuild.690d8dd7a6":"e ambas recebem impressão digital","selvedge-rebuild.72f4db7882":"Duas coisas voltam","selvedge-rebuild.1251cc0dd7":"O que volta","selvedge-rebuild.8d77e5771a":"A próxima pergunta útil é o que volta.","selvedge-rebuild.ec6f32ee39":"Sem ambiente.","selvedge-rebuild.a6252b6690":"Os seus dados","selvedge-rebuild.fb9f6423d9":"Sem diretório.","selvedge-rebuild.f1096a5b4c":"Os seus ficheiros","selvedge-rebuild.4c4c583f2e":"Sem ligação.","selvedge-rebuild.66c06c11d1":"Internet","selvedge-rebuild.ac8e062358":"Um espaço, um trabalho.","selvedge-rebuild.bb7841ee3e":"O seu programa","selvedge-rebuild.8b493952a7":"e o que não está","selvedge-rebuild.4d26f69b94":"O que está na sala","selvedge-rebuild.660cea3ce9":"UM ESPAÇO","selvedge-rebuild.f1818b9fef":"NADA PARA LER","selvedge-rebuild.98a2180aec":"SEM SAÍDA","selvedge-rebuild.663ab35faf":"Portanto, não está a depender de alguém ter pensado em tudo antecipadamente. Essa é a parte que normalmente falha, e falha silenciosamente, meses depois, de uma forma que ninguém nota até alguém a apontar. Uma lista curta e explícita torna uma permissão em falta visível antes de se tornar um problema.","selvedge-rebuild.0e9905b668":"A razão pela qual ajuda não é o programa estar a ser observado cuidadosamente. É não haver nada na sala que possa correr mal. Um programa não pode enviar os seus dados para lado nenhum se não houver saída para os enviar, e não pode ler as suas fotos se a porta para elas nunca foi construída.","selvedge-rebuild.22ccf30775":"Programas que não escreveu acabam por correr no seu computador o tempo todo: um extra, um plug-in, algo que um assistente decidiu usar para responder à sua pergunta. Selvedge coloca esse programa numa sala própria. De dentro dela não há internet, nenhum caminho para os seus ficheiros e nada para aprender sobre a sua máquina.","selvedge-rebuild.9e56594623":"e mais nada","selvedge-rebuild.6b5631ed3a":"Uma sala com um slot","selvedge-rebuild.704869f20f":"Em palavras simples","selvedge-rebuild.160543d3ec":"Uma sala também pode ser explicada em palavras simples.","selvedge-rebuild.6e66049bd0":"Cadeia de decisão e cinco operações.","selvedge-rebuild.140855a7dd":"Caminho de auditoria e agente","selvedge-rebuild.be90f07014":"Prova fora do operador.","selvedge-rebuild.c3f6368941":"Registo de transparência","selvedge-rebuild.4402f8d6f4":"Admissão e endereço de conteúdo.","selvedge-rebuild.1fd6a805da":"Registo","selvedge-rebuild.943a71d70f":"Contenção e execução determinística.","selvedge-rebuild.0a771c36be":"Sandbox","selvedge-rebuild.493bbfc72f":"o limite, a evidência, a entrega","selvedge-rebuild.6311787659":"O que o conjunto contém","selvedge-rebuild.c968638a6e":"APACHE 2.0","selvedge-rebuild.d0158524ed":"O SEU HARDWARE","selvedge-rebuild.cfd1b83141":"UM CONJUNTO DE COMPONENTES","selvedge-rebuild.2c4db760cf":"O resto do custo é aquele que o aprovisionamento normalmente esquece, que é o que acontece quando um fornecedor altera as condições ou deixa de responder. O conjunto de componentes é publicado sob Apache 2.0, os artefactos são ficheiros com endereço de conteúdo, os registos são ficheiros e a verificação é executada na máquina da outra parte, pelo que uma saída é uma cópia em vez de uma migração.","selvedge-rebuild.c69320538d":"O custo recorrente de uma execução é medido em vez de estimado: 5,26 a 6,06 microssegundos por chamada através do limite e bem menos de um milissegundo para criar uma nova instância, num Intel i9-13900KF com uma compilação de lançamento, otimização de ligação fat e Rust 1.85.0. Isto é tudo o que o registo custa em tempo de execução.","selvedge-rebuild.59bd1ff6f9":"Quanto custa","selvedge-rebuild.662cd46273":"Selvedge é um conjunto de componentes que cobre o runtime da sandbox, o registo de artefactos, o registo de transparência, a trilha de auditoria encadeada por hash e a interface que um agente usa para alcançar uma ferramenta. Funciona em hardware que controla. Nada externo está no caminho de uma execução: sem conta, sem chave detida por um fornecedor, sem serviço que tenha de responder para um trabalho terminar.","selvedge-rebuild.9ce257fa8d":"e funciona no seu hardware","selvedge-rebuild.b1c3183260":"Uma toolchain, não quatro","selvedge-rebuild.dea6811b37":"O que substitui","selvedge-rebuild.86c78780e9":"Uma toolchain, em hardware que possui, é o fecho comercial.","selvedge-rebuild.b742347ca6":"Parar ou mostrar o seu histórico.","selvedge-rebuild.80b0178666":"Cancelar / proveniência","selvedge-rebuild.2976625857":"Executar dentro da sala.","selvedge-rebuild.c65605adf5":"Invocar","selvedge-rebuild.084d82061e":"Admitir o artefacto.","selvedge-rebuild.fd6c3ebf7b":"Instalar","selvedge-rebuild.820fa7ff41":"Encontrar uma capacidade nomeada.","selvedge-rebuild.4827ea2271":"Descobrir","selvedge-rebuild.38025e67e1":"uma porta para ferramentas de agente","selvedge-rebuild.41cb4bf6dc":"Cinco operações","selvedge-rebuild.3501cb4872":"SEM APROVAÇÕES","selvedge-rebuild.9054eecb7b":"PROVENIÊNCIA SOB PEDIDO","selvedge-rebuild.0cd0da7fef":"UMA PORTA","selvedge-rebuild.e088784883":"Depois, a proveniência do que foi executado pode ser pedida, e é essa a parte que vale a pena desenhar um processo à volta: o endereço do próprio artefacto, se a sua assinatura é válida, o certificado apresentado com ele, a política sob a qual foi executado e onde já foi executado antes. Esses factos permanecem disponíveis quando uma execução precisa de ser verificada mais tarde. Podem ser verificados sem confiar na pessoa que a executou.","selvedge-rebuild.c3c0f81705":"Os controlos aqui não são aprovações, porque uma aprovação precisa de alguém acordado. São a forma da porta. Uma ferramenta é descoberta, instalada e invocada através de uma interface de cinco operações, pelo que cada chegada é o mesmo tipo de evento, e a verificação que recusa uma capacidade é aquela por que todas as outras execuções passam, em vez de um segundo mecanismo escrito especialmente para agentes.","selvedge-rebuild.896b2f37be":"O mecanismo","selvedge-rebuild.122ebb7a98":"Um assistente a trabalhar numa tarefa pode decidir que precisa de uma capacidade que não tem, encontrar uma e começar a usá-la dentro de um único trabalho que ninguém está a observar. Não houve passo de aprovisionamento nem revisão, porque não houve momento para os incluir. Selvedge é o limite que o assistente tem de atravessar, e o relatório no final nomeia qual ferramenta chegou, o que lhe foi permitido e o que fez.","selvedge-rebuild.deeaa912ba":"e já está dentro","selvedge-rebuild.767c396612":"Ninguém escolheu esta ferramenta","selvedge-rebuild.d368c82df4":"Quando o chamador é um modelo","selvedge-rebuild.ee26c4f440":"Quando o chamador é um modelo, uma porta mantém a chegada legível.","selvedge-rebuild.9faf774569":"Aplicar a política de taxa.","selvedge-rebuild.ee1acfa55e":"Autenticação","selvedge-rebuild.9bbe32214f":"Inspecionar o registo da execução.","selvedge-rebuild.78590ea6e5":"Limite de recursos","selvedge-rebuild.ed9390115c":"Tentar novamente com o backoff indicado.","selvedge-rebuild.f4544d56bb":"Falha de obtenção","selvedge-rebuild.1455a7acb3":"Abrir o circuito.","selvedge-rebuild.f06cb33ba6":"Discrepância de digest","selvedge-rebuild.1be73b4878":"a recuperação viaja com a falha","selvedge-rebuild.5dacd1167d":"Um código, um próximo passo","selvedge-rebuild.3ac9292cf3":"SEM ANÁLISE DE LOGS","selvedge-rebuild.93aaff4907":"RECUPERAÇÃO INDICADA","selvedge-rebuild.dbba85fbb0":"CÓDIGOS ESTÁVEIS","selvedge-rebuild.3b6e2d01ab":"Quando uma capacidade é recusada, a mensagem lista os tipos que teriam sido válidos, o que é a diferença entre uma tarde de adivinhação e uma alteração de uma linha. Um erro que nomeia a sua própria correção é a documentação mais barata que alguém alguma vez escreveu. A correção é então explícita.","selvedge-rebuild.1fb184edcf":"A estratégia de recuperação é o que separa casos que parecem idênticos num painel às duas da manhã. Um digest que não corresponde não é transitório, por isso tentar novamente é tempo desperdiçado, e a estratégia associada diz para abrir o circuito em vez de tentar de novo. Uma obtenção falhada é transitória e diz para tentar novamente.","selvedge-rebuild.2f6a307ba7":"Para operadores","selvedge-rebuild.0a5279b594":"A documentação operacional falha quando tem de ser escrita contra o texto dos registos, porque o texto dos registos muda sem que ninguém o considere uma alteração. As falhas Selvedge transportam antes um código estável, e um runbook que nomeie o código mantém-se correto através de uma atualização que reformula todas as mensagens pelo caminho. Quando o código inclui uma estratégia de recuperação, o runbook não tem de adivinhar uma.","selvedge-rebuild.664b90089f":"é um erro com um runbook","selvedge-rebuild.c69f009f72":"Um erro com um código","selvedge-rebuild.d8bf8f167e":"Operacionalidade","selvedge-rebuild.b4986d7d25":"Uma sala nova de cada vez é o que torna esta evidência acessível.","selvedge-rebuild.05f9859c50":"Eliminação rotineira, sem script surpresa.","selvedge-rebuild.9e0dece16b":"Extremidade oposta","selvedge-rebuild.7ba8dfa987":"Profundidade fixa atrás do atual.","selvedge-rebuild.b850e7b847":"Ficheiros mais antigos","selvedge-rebuild.e4eb2b5e27":"Último hash transportado.","selvedge-rebuild.55e313d20f":"Costura","selvedge-rebuild.4e5fd99150":"Um objeto por linha.","selvedge-rebuild.2c44db0063":"Ficheiro atual","selvedge-rebuild.8dae783204":"quando um ficheiro muda","selvedge-rebuild.888fb4bc11":"O que fica e o que se move","selvedge-rebuild.1191de056a":"BACKOFF","selvedge-rebuild.d47c87e179":"TOKENS HASHED","selvedge-rebuild.eac901cef2":"ROTATION HOLDS","selvedge-rebuild.f7e2e2ba8c":"As tentativas falhadas estão limitadas a cinco por minuto e são atrasadas com um atraso duplicado de um, dois, quatro e oito segundos, e um cliente que falhe vinte vezes em dez minutos é bloqueado em vez de atrasado. Isso transforma um ataque de adivinhação numa taxa em vez de um resultado, e transforma um relatório de incidente num gráfico que ninguém tem de interpretar.","selvedge-rebuild.6736e35335":"A outra falha silenciosa são as credenciais num backup. Os tokens de autenticação são hasheados com argon2id antes de serem armazenados, pelo que um ficheiro copiado ou uma imagem de memória capturada não contém nada que possa ser apresentado como token. O backup pode ser revisto ou restaurado sem se tornar numa fuga de credenciais.","selvedge-rebuild.cac3da045e":"Como se mantém","selvedge-rebuild.652f961a36":"O volume é gerido pela Selvedge em vez de um script que alguém se lembra de escrever. O registo roda quando o ficheiro ultrapassa um tamanho, uma profundidade fixa de ficheiros mais antigos fica atrás dele, e cada rotação elimina o da extremidade oposta. Aqui, o que resta ainda se verifica a partir da sua própria âncora, e o que desapareceu é visível como uma quebra.","selvedge-rebuild.62615faf30":"e a cadeia sobrevive-lhe","selvedge-rebuild.d4854c73b7":"A rotação preserva a evidência","selvedge-rebuild.d821e71a5b":"Retenção e acesso","selvedge-rebuild.5dee0013ab":"A retenção é uma política, mas a cadeia tem de lhe sobreviver.","selvedge-rebuild.8d847cbbe6":"O registo ainda contém a árvore antiga.","selvedge-rebuild.0ea7b95eab":"Consistência","selvedge-rebuild.526411c35f":"A raiz e o tamanho da árvore.","selvedge-rebuild.8639df5c74":"Cabeça de árvore assinada","selvedge-rebuild.b67622bea2":"O caminho de inclusão.","selvedge-rebuild.61922ee14e":"Hashes irmãos","selvedge-rebuild.11deeeb03e":"A coisa que foi admitida.","selvedge-rebuild.2df596d9d9":"Digest do artefacto","selvedge-rebuild.26ef63813e":"depois de um artefacto chegar","selvedge-rebuild.e33d42e6b6":"O que um cliente mantém","selvedge-rebuild.da6c5f785f":"UM ENDEREÇO","selvedge-rebuild.50419b986e":"COMPROVÁVEL EXTERNAMENTE","selvedge-rebuild.80e513b0ff":"APENAS ACRESCENTA","selvedge-rebuild.82c17b3462":"A outra metade não precisa de decisão nenhuma. Um endereço de conteúdo identifica um artefacto desde a compilação até ao registo e à execução, o que transforma uma recolha em algo que se executa em vez de se anunciar, e um signatário retirado tem efeito num intervalo de atualização em vez de numa data de expiração.","selvedge-rebuild.0e322153c8":"Publicar o registo é uma decisão que se toma uma vez, e onde a tomou, a sua cooperação não faz parte da verificação de ninguém. Eles verificam a presença e o crescimento contra uma raiz que publicou, na sua própria máquina, no momento que escolherem. A raiz original permanece o ponto de referência público.","selvedge-rebuild.fab7e71c01":"A garantia","selvedge-rebuild.7b85ff0b6e":"A fraqueza em todos os registos que uma organização mantém sobre si mesma é que a organização os mantém. O registo de transparência Selvedge remove essa objeção para uma questão restrita, que é o que entrou. Um cliente pode receber uma prova de que um artefacto específico está no registo, e uma prova de que o registo só cresceu desde a última vez que olhou. A inclusão e a integridade de apenas acrescentar são, portanto, verificáveis sem confiar no operador.","selvedge-rebuild.66229e2d58":"sem ser aceite por confiança","selvedge-rebuild.2cc484ffbc":"Provar o que admitiu","selvedge-rebuild.4f9007e629":"Evidência que não possui","selvedge-rebuild.cdcfb6c3c1":"O registo diz o que chegou. O registo de transparência permite que outra pessoa o verifique.","selvedge-rebuild.2a95479d68":"Transportado com o artefacto.","selvedge-rebuild.5f174de1cc":"Prova","selvedge-rebuild.f1f0ddab0b":"Elegível para o tipo.","selvedge-rebuild.0449e1003d":"Espaço de nomes","selvedge-rebuild.2e26c5d52d":"Bytes mágicos, não um rótulo.","selvedge-rebuild.e00ac23f2a":"Tipo","selvedge-rebuild.54e0cdb26f":"Comprimento certo, hexadecimal e presente.","selvedge-rebuild.47fdd58bee":"Digest","selvedge-rebuild.409fa246aa":"e uma resposta em cada pull","selvedge-rebuild.112b824580":"Quatro verificações à porta","selvedge-rebuild.1858ed0f91":"OCI DIGESTS","selvedge-rebuild.0a6780b777":"TOKENS REQUIRED","selvedge-rebuild.67bf2475b1":"O acesso é uma lista de tokens que emite e revoga, guardados com hash argon2id, de modo que um ficheiro copiado ou uma imagem de memória não contém nada apresentável. As tentativas falhadas estão limitadas a cinco por minuto com um atraso duplicado, e um cliente que falhe vinte vezes em dez minutos é bloqueado por completo. O limite permanece visível no registo da tentativa.","selvedge-rebuild.86269212e3":"Um endereço de conteúdo identifica um artefacto desde a publicação até à extração e ao registo de execução. Esse endereço torna a sua proveniência respondível: qual a compilação, quando foi admitido, sob que namespace, qual a implementação que o extraiu e quantas vezes foi executado. O mesmo endereço responde a cada uma dessas questões mais tarde, sem um segundo índice para manter em sincronia.","selvedge-rebuild.3d5033cca6":"A Selvedge inclui um servidor de registo, pelo que o local onde os artefactos de terceiros chegam é um serviço no seu próprio hardware, em vez de uma conta com outra entidade. Escuta num endereço público apenas quando a autenticação por token está ativa, verifica quatro aspetos em cada envio e responde a extrações nos resumos SHA-256 que o ecossistema mais amplo já utiliza, armazenando tudo internamente sob SHA3-256.","selvedge-rebuild.224f72415e":"um registo que opera","selvedge-rebuild.bbd6ef38ef":"Os fornecedores publicam em","selvedge-rebuild.a0a03c8fd1":"Onde os artefactos chegam","selvedge-rebuild.d1e24e5a34":"Um resultado é mais fácil de defender quando o local onde entrou é seu.","selvedge-rebuild.1111b73a8f":"Pergunte que entrada o convidado viu.","selvedge-rebuild.4bed336194":"Saída","selvedge-rebuild.d7f27a4216":"Inspecione o caminho do código ou a compilação do anfitrião.","selvedge-rebuild.0b645d1b65":"Combustível","selvedge-rebuild.de86466d91":"Mesmo perfil determinístico.","selvedge-rebuild.c7f73bb54d":"Definições","selvedge-rebuild.36ffeb1c8a":"O mesmo código significa uma comparação significativa.","selvedge-rebuild.c6fe330e04":"Artefacto","selvedge-rebuild.02be99bd8d":"e o que significa a seguir","selvedge-rebuild.a53a08f8c4":"O que mudou","selvedge-rebuild.bc2cb603df":"OU O CAMPO","selvedge-rebuild.4b885b786e":"MESMO REGISTO","selvedge-rebuild.ba9ebe1f95":"MESMA ENTRADA","selvedge-rebuild.50479df67b":"Com dois registos, a resposta chega na mesma tarde e nomeia um campo em vez de uma parte, pelo que estar errado custa o que deve e estar certo custa quase nada. Isso pertence ao contrato antes da primeira disputa, em vez de ser descoberto durante uma. Ambos os lados podem repetir essa verificação sem outra reunião.","selvedge-rebuild.db0ac7feb8":"Uma resposta mecânica muda quem suporta o custo do argumento. Um valor contestado hoje gasta uma semana de duas equipas a comparar sistemas que nunca foram comparáveis, e tende a terminar num crédito de boa vontade, porque ninguém consegue mostrar qual lado estava errado e alguém tem de fechar o ticket. Nenhuma equipa consegue produzir um valor que a outra parte seja obrigada a aceitar.","selvedge-rebuild.8134cbe2c9":"Uma contraparte diz que o valor que lhe foi dado está errado. Você tem a sua execução e eles têm a deles. Comparar os dois registos da Selvedge é mecânico: a comparação percorre os campos e reporta cada diferença com o que era esperado e o que chegou, pelo que a conversa começa sobre qual campo difere, em vez de sobre cujo sistema está em falta.","selvedge-rebuild.415a27590d":"campo a campo, não discutido","selvedge-rebuild.651b2f8627":"Dois registos comparados","selvedge-rebuild.a9cce5b9fe":"Um resultado contestado","selvedge-rebuild.7c918d0343":"Um resultado contestado é o próximo: dois registos, comparados campo a campo.","selvedge-rebuild.b457d4d9d3":"Pico de memória, tempo e instruções.","selvedge-rebuild.1e23ac57dd":"Valores de recursos","selvedge-rebuild.f6c680ffb5":"A configuração em vigor.","selvedge-rebuild.b44f987ea4":"Hash do motor","selvedge-rebuild.ca1f09eab2":"A política que os concedeu.","selvedge-rebuild.945db98b77":"Resumo da política","selvedge-rebuild.be7bd7e933":"Capacidades nomeadas pela execução.","selvedge-rebuild.f761a72878":"Lista concedida","selvedge-rebuild.8be583ccfd":"respondido a partir de um documento","selvedge-rebuild.abfa32a842":"Quatro perguntas","selvedge-rebuild.80935eb972":"DATED","selvedge-rebuild.c3cb9355f8":"POLÍTICA EM EXECUÇÃO","selvedge-rebuild.506221fd52":"CONCEDIDO, LISTADO","selvedge-rebuild.4d5c5b7775":"O mesmo relatório inclui os resumos dos certificados que foram verificados e o que a execução consumiu em pico de memória, tempo de processador e instruções. A pergunta de seguimento é sempre o que realmente utilizou, e essa resposta já está na página, em vez de estar com uma segunda equipa a trabalhar com um relógio e uma definição do incidente diferentes. Suporta uma resposta direta enquanto a evidência ainda está fresca.","selvedge-rebuild.06d0c87ca8":"Isso transforma um argumento numa consulta. Um regulador que pergunta se um componente poderia ter alcançado registos de clientes obtém uma resposta com uma data, em vez de uma garantia sobre intenção. Responde a uma questão histórica específica: este componente nomeado, nesta execução, tinha uma rota para esses registos? A resposta não depende de alguém se lembrar mais tarde da intenção do fornecedor.","selvedge-rebuild.5c82441a97":"O registo","selvedge-rebuild.6cdd02da63":"A pergunta desconfortável após um incidente raramente é o que o software fez. É o que o software estava autorizado a fazer, e na maioria dos ambientes essa resposta é montada a partir de ficheiros de configuração, histórico de implementação e memória de alguém. Cada execução da Selvedge produz um relatório que nomeia as capacidades que lhe foram concedidas, a política que as concedeu e um hash das definições em vigor.","selvedge-rebuild.020ea9fcbe":"e o que lhe foi permitido","selvedge-rebuild.cd553c8839":"Cada execução diz o que fez","selvedge-rebuild.5e367f020e":"A pergunta após um incidente","selvedge-rebuild.f2edf768d8":"Um registo transforma a pergunta do fornecedor numa consulta.","selvedge-rebuild.0c347f9e0f":"Sem bloco de ambiente ou argumentos.","selvedge-rebuild.c701ab1556":"Herda o nosso acesso?","selvedge-rebuild.f2df9d1888":"Nenhum diretório é aberto.","selvedge-rebuild.e98ce49657":"Pode deixar um ficheiro?","selvedge-rebuild.99436e239e":"Sem rede presente por predefinição.","selvedge-rebuild.1c017e2833":"Pode enviar dados?","selvedge-rebuild.68b0d04e37":"Apenas mundos declarados e capacidades nomeadas.","selvedge-rebuild.fd5147edb1":"O que pode tocar?","selvedge-rebuild.51992f6040":"escrito como quatro respostas","selvedge-rebuild.7bcd533661":"O pior caso","selvedge-rebuild.80b36fb606":"DECLARADO","selvedge-rebuild.a419f58f13":"PIOR CASO PEQUENO","selvedge-rebuild.be725ffbc0":"NADA PARA ALCANÇAR","selvedge-rebuild.eb3afa60c4":"Um componente que nunca pediu nada para além da sua entrada e da sua saída é descrito completamente numa linha, e ninguém tem de manter essa linha para que ela continue a ser verdadeira daqui a um ano. É essa a parte que o torna utilizável num documento que alguém assina.","selvedge-rebuild.86f054031c":"Isto muda a forma da conversa com o fornecedor. A questão deixa de ser se a engenharia do fornecedor é sólida, o que não se consegue verificar e eles não conseguem provar, e passa a ser o que foi concedido ao artefacto, que está escrito no registo.","selvedge-rebuild.1debddb64e":"O código que chega de um fornecedor ou de um contribuidor externo é executado na Selvedge sem ligação à rede, sem diretório aberto para ele, sem ambiente para ler e sem argumentos. Não é impedido dessas coisas por uma regra que alguém tenha de manter. Elas simplesmente não existem. A consequência para uma avaliação de risco é que o pior cenário é pequeno o suficiente para caber numa frase.","selvedge-rebuild.6be7d30a6b":"numa sala vazia","selvedge-rebuild.6df473a455":"Um artefacto mau chega","selvedge-rebuild.e948526d56":"Qual é o pior cenário","selvedge-rebuild.0b8ad471af":"A próxima questão é até onde o pior cenário pode chegar.","selvedge-rebuild.a02a250db5":"Selecionado no momento do trabalho.","selvedge-rebuild.c257ef4501":"Escolhido pelo agente","selvedge-rebuild.cf63b964fc":"Ninguém na sala o escolheu.","selvedge-rebuild.2054305e05":"Dependência transitiva","selvedge-rebuild.cdf3fea97a":"Outra pessoa controla a versão.","selvedge-rebuild.8cbf4d00a5":"Dependência direta","selvedge-rebuild.b71aa2a2b1":"Uma equipa pode revê-lo.","selvedge-rebuild.1ea8c912d2":"Escrito aqui","selvedge-rebuild.332edb5a4d":"e quando alguém o leu por último","selvedge-rebuild.66cd35e493":"Quatro formas de chegar","selvedge-rebuild.9520a29c14":"UM REGISTO","selvedge-rebuild.2271914641":"O ALCANCE DECIDIDO PRIMEIRO","selvedge-rebuild.e07e85e80d":"NÃO A REVISÃO","selvedge-rebuild.8d05721c00":"A Selvedge trabalha com as duas coisas que sobrevivem a isso: o alcance decidido antes de o código chegar e o registo mantido depois de ele sair. Ambos estão disponíveis no dia em que um fornecedor envia algo que ninguém no edifício abriu. É uma prova que alguém pode guardar de forma independente.","selvedge-rebuild.d0d23ca94c":"Todos os controlos nesta área pressupõem um momento em que uma pessoa poderia ter olhado. A revisão de aquisição pressupõe isso. A revisão de código pressupõe isso. Uma ferramenta selecionada por um agente enquanto está em execução elimina esse momento por completo, e fá-lo para as cargas de trabalho que crescem mais depressa.","selvedge-rebuild.560556f058":"Dependências que ninguém leu, plugins de fornecedores, integrações que atualizam no seu próprio calendário e agora ferramentas escolhidas por um modelo no momento em que é executado. Rever tudo isso nunca foi realista. A Selvedge muda a questão de saber se o código é fiável para saber o que o código pode alcançar e o que se pode dizer sobre ele depois a alguém fora do seu edifício.","selvedge-rebuild.0d07a7b2f6":"e ninguém aqui o leu","selvedge-rebuild.546fb9cede":"Não escreveste a maior parte dele","selvedge-rebuild.55874251d8":"A predefinição que ninguém escolheu","selvedge-rebuild.82b00203b9":"O que os seis têm em comum é que um estranho pode verificar a execução que produziram.","selvedge-rebuild.8f4639c201":"Selado, salvo se declarado.","selvedge-rebuild.a6a6318544":"GPU","selvedge-rebuild.c99a2bcf3e":"Observar","selvedge-rebuild.316ccc52a4":"Não pode sinalizar outro processo.","selvedge-rebuild.6f8e6cc6ac":"O seu próprio tempo de vida","selvedge-rebuild.30fd44bcfe":"A chave permanece fora.","selvedge-rebuild.a7f47e6eb3":"Operações, não chaves","selvedge-rebuild.f685d27aeb":"Uma janela, não um sistema de ficheiros.","selvedge-rebuild.ff764e20d1":"Por prefixo","selvedge-rebuild.e160d76fcb":"Uma ferramenta sem nome não existe aqui.","selvedge-rebuild.f1aae84762":"Apenas chamadas nomeadas","selvedge-rebuild.07e959a70b":"e o que perguntar custa","selvedge-rebuild.665388e0b3":"Seis mundos","selvedge-rebuild.06348a4532":"NOMEADO POR LINHA","selvedge-rebuild.afe70011f9":"PERGUNTAR, NÃO ALCANÇAR","selvedge-rebuild.1013aec36c":"SEIS MUNDOS","selvedge-rebuild.60562d5b0b":"Isto também significa que o registo de uma execução é legível sem conhecer o componente. Cada linha nomeia o mundo através do qual a chamada passou, pelo que uma execução que tocou dois mundos tem quatro que são comprovadamente vazios, e um revisor pode estabelecer isso a partir do registo em vez do código-fonte. Todos os seis mundos são distribuídos sob Apache 2.0, pelo que o limite em que um revisor se baseia é algo que pode ler por si próprio.","selvedge-rebuild.63f511d5c2":"Uma única capacidade chamada external seria mais simples de implementar e inútil para raciocinar, porque concedê-la não diz nada a um revisor. Seis mundos significam que uma concessão é uma frase que alguém pode ler: este componente pode chamar duas ferramentas nomeadas, ler um prefixo e nada mais. Também fixa o limite que um operador pode conceder. Esse limite é visível no recibo.","selvedge-rebuild.819cfda982":"O acesso externo de um componente é composto por seis mundos nomeados: tool, storage, crypto, process, observe e gpu. Cada um é declarado antes do início; um mundo não declarado está ausente do ambiente. Uma concessão nomeia, portanto, uma operação e o seu limite, não uma promessa vaga de acesso externo. O recibo regista essas concessões por linha, para que um revisor possa ver quais mundos ficaram vazios sem ler a configuração do anfitrião.","selvedge-rebuild.cd867e3f2c":"e sem forma de ir além","selvedge-rebuild.06850e8469":"Seis mundos a partir dos quais pedir","selvedge-rebuild.09d7280b63":"Toda a superfície de capacidades","selvedge-rebuild.4e01209ac7":"O que deixa a questão mais simples: o que é que um componente pode realmente pedir?","selvedge-rebuild.8539c9a9d8":"i9-13900KF, Rust 1.85.0, fat LTO.","selvedge-rebuild.07dc1b32f0":"Máquina nomeada","selvedge-rebuild.04f0c3f5a6":"Bem abaixo de um milissegundo.","selvedge-rebuild.c79e051c62":"Sandbox novo","selvedge-rebuild.46e30f38ba":"22 a 27 nanossegundos.","selvedge-rebuild.aff4ba3800":"Incorporação simples","selvedge-rebuild.7d8c6afdf3":"5,26 a 6,06 microssegundos.","selvedge-rebuild.a4d57a9359":"Limite definido","selvedge-rebuild.122385cbbe":"medido numa máquina nomeada","selvedge-rebuild.224d7c9838":"O que custa e o que compra","selvedge-rebuild.cc282eac1e":"INÍCIO EM MENOS DE UM MILISSEGUNDO","selvedge-rebuild.9a1cbd0dc8":"CHAMADA DE 6 MICROSSEGUNDOS","selvedge-rebuild.66b7fb60dc":"O que compensa o custo está do outro lado. Uma instância nova arranca em bem menos de um milissegundo nesse hardware, por isso uma sala por pedido é acessível, e não um luxo reservado para trabalho em lote. Nada passa entre execuções, e o conjunto que as serve adquire e liberta um lugar em tempo constante.","selvedge-rebuild.6d37e34f65":"Medido num Intel i9-13900KF, compilação de lançamento com otimização fat link-time, Rust 1.85.0, cem amostras por figura após um aquecimento de três segundos. O conjunto de referências acompanha o projeto e fixa a versão de tudo aquilo com que compara, por isso os números podem ser reproduzidos na sua própria máquina.","selvedge-rebuild.5b487a198c":"A medição","selvedge-rebuild.ce2547f5f6":"A chamada limitada dentro do processo custa entre 5,26 e 6,06 microssegundos. Uma incorporação simples custa entre 22 e 27 nanossegundos. A diferença é a verificação de importação, os relógios substituídos e o recibo, cobrados por chamada. Esses números vêm de uma compilação de lançamento após aquecimento, não de uma promessa sobre qualquer anfitrião. O conjunto de referências tem versão fixada e acompanha o projeto, por isso uma contraparte pode repetir a comparação na sua própria máquina.","selvedge-rebuild.eb0bea042b":"e este é o número","selvedge-rebuild.80244c6031":"A fronteira tem um preço","selvedge-rebuild.59f208dd86":"Medido, com as condições","selvedge-rebuild.1c554966f5":"Tudo isso continua a ser o seu próprio ficheiro no seu próprio disco, por isso entregue o cheque a outra pessoa.","selvedge-rebuild.1abf201fe1":"O que o registo admitiu ou retirou.","selvedge-rebuild.c4a1e99a74":"Artefacto entrou ou saiu","selvedge-rebuild.99dc0fd69a":"Quando um cliente foi recusado.","selvedge-rebuild.14681ed6ee":"Limite de taxa ou tamanho atingido","selvedge-rebuild.da84e101f9":"Qual limite terminou qual execução.","selvedge-rebuild.c7deb27f03":"Orçamento esgotado","selvedge-rebuild.dfd95f1763":"Política, artefacto, motivo e verificações.","selvedge-rebuild.de43b346ca":"Capacidade recusada","selvedge-rebuild.0860379105":"decisões, não chamadas","selvedge-rebuild.770ce14a0d":"Sobre o que é uma entrada","selvedge-rebuild.d302fd1542":"ROTAÇÃO","selvedge-rebuild.736d1d19bd":"A CADEIA SOBREVIVE","selvedge-rebuild.0f26f75355":"UMA LINHA, UM HASH","selvedge-rebuild.4fd6822dee":"Esse é o tipo de registo que vale a pena verificar, porque é o tipo sobre o qual qualquer um discute. Ninguém contesta que uma função foi invocada. Contestam se um componente deveria ter sido autorizado a aproximar-se de um registo de cliente em primeiro lugar, e essa é uma linha neste ficheiro com um hash de cada lado. A decisão permanece disponível para um revisor posterior.","selvedge-rebuild.52fc58dd92":"Oito tipos de entrada entram, e cada um deles é uma decisão, não uma chamada. Uma entrada de aplicação de política inclui o identificador da política, o resumo do artefacto, o resultado, o motivo de uma recusa e a lista de capacidades verificadas para lá chegar. Admissão, execução iniciada, execução concluída, violação de limite de recursos, limite de taxa, limite de tamanho e obtenção de artefacto completam o resto.","selvedge-rebuild.dc375c42ba":"O ficheiro de auditoria é um objeto por linha. Cada linha aplica hash ao seu próprio conteúdo juntamente com o hash anterior; remova uma e todos os hashes posteriores deixam de corresponder. A rotação transporta o último hash para o ficheiro seguinte como âncora. As entradas descrevem decisões como aplicação de política, admissão, conclusão de execução, limites de taxa ou tamanho e obtenção de artefacto. Um revisor posterior pode, portanto, perguntar por que uma execução foi recusada, e não apenas se ocorreu uma chamada.","selvedge-rebuild.dfc80074cc":"para que uma eliminação apareça","selvedge-rebuild.69fcfe76f1":"Cada linha contém o último","selvedge-rebuild.aee1333814":"O ficheiro de auditoria","selvedge-rebuild.5a622af936":"A mesma disciplina, aplicada às decisões que alguém contestará mais tarde.","selvedge-rebuild.fb3c095122":"Uma raiz num tamanho passado.","selvedge-rebuild.a6b6f9fa4d":"Qual era a raiz?","selvedge-rebuild.9410fb5d00":"Uma cabeça de árvore assinada.","selvedge-rebuild.25c2799dca":"Qual é a raiz?","selvedge-rebuild.37a62a6d90":"Uma prova de consistência entre tamanhos de árvore.","selvedge-rebuild.39a9a225ab":"Mudou?","selvedge-rebuild.13d3c8a85e":"Um caminho curto do artefacto à raiz.","selvedge-rebuild.0791d2b497":"Está lá dentro?","selvedge-rebuild.7729d17652":"sem confiar no seu operador","selvedge-rebuild.12b003c6ac":"Quatro perguntas a que responde","selvedge-rebuild.e533871af4":"CABEÇA ASSINADA","selvedge-rebuild.e9912b4293":"CONSISTÊNCIA","selvedge-rebuild.830294fe4a":"PROVA DE INCLUSÃO","selvedge-rebuild.15627b2116":"A remoção é o que a forma torna cara. Retire uma entrada e todas as provas que alguém detém sobre essa parte da árvore deixam de verificar, na sua máquina, sem que ninguém tenha de estar a observar. Essa propriedade é o que um cliente compra quando pede uma prova de inclusão em vez de uma captura de ecrã.","selvedge-rebuild.0986321b82":"Um cliente guarda a raiz que lhe foi entregue, e todas as afirmações posteriores sobre o registo têm de concordar com a raiz que já está nas suas mãos. Nada nessa verificação envolve quem gere o registo. O cliente detém essa evidência de forma independente, por isso a verificação continua possível mesmo quando o operador não tem nada a acrescentar.","selvedge-rebuild.af125678b5":"Cada artefacto admitido é anexado a uma árvore de Merkle: as folhas usam o prefixo 0x00 e os nós internos 0x01. A inclusão num registo de um milhão de entradas leva vinte hashes, por isso um cliente pode verificá-la na sua própria máquina. Uma cabeça de árvore assinada fixa a raiz num tamanho, enquanto as provas de consistência mostram que raízes posteriores a estendem em vez de a substituírem. O operador fornece a evidência; o cliente realiza a verificação.","selvedge-rebuild.85aa50a3b8":"a alguém de fora","selvedge-rebuild.6f39cde263":"O registo prova-se a si mesmo","selvedge-rebuild.0a295dee94":"O registo de anexação apenas","selvedge-rebuild.e77dce4f9b":"Admitir um artefacto é uma coisa. Provar mais tarde que o admitiu é outra.","selvedge-rebuild.86aa1f5eed":"Acompanha o artefacto e é reproduzido na verificação.","selvedge-rebuild.343cb675ac":"Espaço de nomes elegível para este tipo.","selvedge-rebuild.709a23220f":"Nome","selvedge-rebuild.f8123c295a":"Primeiros quatro bytes, nunca um nome de ficheiro.","selvedge-rebuild.fc92e820c6":"Comprimento certo, hexadecimal e presente.","selvedge-rebuild.6e105ad7a3":"e onde a prova é lida","selvedge-rebuild.1618f58781":"O que é verificado num push","selvedge-rebuild.e185f9f7d4":"PROVA PRESENTE","selvedge-rebuild.e4360fc330":"BYTES MÁGICOS","selvedge-rebuild.6d4b74c092":"LOOPBACK OU TOKENS","selvedge-rebuild.33e95b7d0e":"A prova em si é reproduzida onde o artefacto é verificado, o que mantém a porta rápida e coloca o núcleo onde tem tempo para trabalhar. A porta decide identidade e elegibilidade em trabalho constante por push; o núcleo decide a verdade. Uma prova lenta não pode, portanto, tornar-se uma razão para admitir um artefacto antes de ter sido verificado.","selvedge-rebuild.175ed9b192":"Iniciar o registo em qualquer endereço que não seja de loopback com a autenticação por token desativada faz com que ele se recuse a iniciar. Ativar a autenticação com uma lista de tokens vazia também é recusado. A implementação insegura não é desencorajada, mas sim indisponível, pelo que um erro de configuração surge imediatamente como um erro de arranque.","selvedge-rebuild.fc1d256e62":"O registo determina o tipo a partir dos primeiros quatro bytes de um artefacto, não da sua extensão ou manifesto. O seu resumo deve ser válido e estar presente, o seu espaço de nomes deve corresponder a esse tipo, e uma prova deve acompanhá-lo. O serviço também recusa um arranque inseguro fora de loopback sem autenticação por token, e rejeita uma lista de tokens vazia quando a autenticação está ativada. Identidade, forma e prova são verificadas antes de qualquer armazenamento.","selvedge-rebuild.027f67dd55":"antes de qualquer armazenamento","selvedge-rebuild.3d6b6cb540":"Um push é verificado de quatro formas","selvedge-rebuild.583ed36f97":"Controlo de admissão","selvedge-rebuild.1914cd4ce8":"A porta decide o que entra; o kernel decide o que é verdadeiro.","selvedge-rebuild.b69c347e7f":"Cada passo recebe um veredito.","selvedge-rebuild.c0f85d6679":"Repetição","selvedge-rebuild.f97399239c":"Analisado no kernel.","selvedge-rebuild.cdde4f20ba":"Passos","selvedge-rebuild.c318427ef6":"Analisado apenas depois de se ajustar.","selvedge-rebuild.6f95f40eae":"Ficheiro de cláusulas","selvedge-rebuild.1e9e6eecd0":"Comparado com o limite antes da análise.","selvedge-rebuild.a97f5adbde":"Tamanho declarado","selvedge-rebuild.1f9c89d51e":"cada um verificado, nenhum assumido","selvedge-rebuild.e619c9a6b2":"Quatro coisas em torno de uma prova","selvedge-rebuild.7fa302aed3":"TAMANHO PRIMEIRO","selvedge-rebuild.8a20135ce2":"REPETIDO","selvedge-rebuild.24704c8edc":"LRAT E ALETHE","selvedge-rebuild.29f977d6d0":"O trabalho foi para o que está à volta. As raízes de confiança são mantidas explicitamente em vez de herdadas de qualquer armazenamento que a máquina por acaso tenha, a revogação tem um intervalo de atualização para que uma retirada seja aplicada sem esperar por uma data de expiração, e um token de carimbo de tempo tem a sua própria assinatura verificada antes de o seu tempo ser aceite. As assinaturas Cosign são verificadas contra uma chave e assinatura em base64, pelo que artefactos assinados no ecossistema mais amplo chegam já verificáveis.","selvedge-rebuild.f0f219cc1b":"Um certificado Selvedge é deliberadamente pequeno. É uma assinatura Ed25519 sobre uma chave pública, um emissor, um sujeito e as duas extremidades de uma janela de validade, pelo que não há nada nele que tenha de ser analisado a partir de um formato controlado por terceiros. A sua função permanece restrita: dizer qual emissor assinou qual sujeito por qual período, sem pedir a um verificador que desembale primeiro um documento abrangente. Permanece legível para um verificador independente. O seu âmbito não é deixado à inferência.","selvedge-rebuild.f626b7a7da":"Por baixo da superfície","selvedge-rebuild.776d70676a":"Uma prova anexada a um artefacto é uma alegação até a Selvedge a repetir. As provas LRAT e Alethe são analisadas e verificadas passo a passo através de um kernel de provas, com um limite de tamanho aplicado antes de a análise começar. As raízes de confiança, a atualização de revogação e as assinaturas de carimbo de tempo são verificadas em torno desse kernel, enquanto as assinaturas Cosign são verificadas contra a chave e assinatura fornecidas. O limite permanece suficientemente pequeno para um verificador independente inspecionar.","selvedge-rebuild.438689443c":"e repetido passo a passo","selvedge-rebuild.1ed9eb8043":"A prova é reverificada","selvedge-rebuild.77b6e89fee":"Provas e certificados","selvedge-rebuild.36ad1e8721":"O argumento é muito mais frequentemente sobre o documento da direita, e ambos vêm de uma única execução.","selvedge-rebuild.36c042f601":"Saída, erro e valor devolvido completam o registo.","selvedge-rebuild.43708b1ad0":"Fluxos capturados","selvedge-rebuild.ae61a28e3a":"Quanto trabalho foi consumido.","selvedge-rebuild.ed58f29743":"Instruções","selvedge-rebuild.918feb5b79":"Qual perfil determinístico foi aplicado.","selvedge-rebuild.e5b7649e03":"Qual componente exato foi executado.","selvedge-rebuild.60697a86b4":"Bytes do artefacto","selvedge-rebuild.a49fe57a20":"e sobre o que cada um é calculado","selvedge-rebuild.aeb0956f38":"Quatro dos sete","selvedge-rebuild.07519769df":"TAMANHO CONSTANTE","selvedge-rebuild.f9c0b723ec":"HASHES, NÃO REGISTOS","selvedge-rebuild.7531a92ec1":"SETE CAMPOS","selvedge-rebuild.c35ff8c3a0":"O relatório de execução estabelece o que a execução foi autorizada a fazer. Nomeia as capacidades concedidas, a política que as concedeu, os certificados que foram verificados, um hash das definições em vigor e o que a execução consumiu em memória máxima, tempo de processador e instruções. Essas duas perguntas chegam sempre juntas após um incidente, e a Selvedge responde-lhes com dois documentos em vez de um único que tenta fazer ambos os trabalhos.","selvedge-rebuild.b0b2377aff":"O registo estabelece se isto voltou a acontecer, e é o documento que as pessoas esperam estar a discutir. Na prática, estão a discutir o outro. Permite que um leitor posterior pergunte se o mesmo artefacto, entradas e definições produziram novamente o resultado. Essa é uma pergunta histórica sobre o evento. O relatório de execução responde à outra pergunta: o que a execução foi autorizada a fazer quando aconteceu.","selvedge-rebuild.e88ce1c6ea":"Sete campos regressam de uma execução concluída e nenhum é prosa: resumos do artefacto e das definições, instruções consumidas, resumos da saída e do valor devolvido, e uma impressão digital do armazenamento que combina trabalho com fluxos capturados. Permanece pequeno quer a saída seja uma linha ou um gigabyte. O relatório de execução complementar regista capacidades, política, certificados, definições e uso máximo de recursos, pelo que a mesma execução responde tanto ao que aconteceu como ao que foi autorizada a fazer.","selvedge-rebuild.a219a2c15d":"e um relatório prova a permissão","selvedge-rebuild.7eaab205c1":"Um registo prova a repetição","selvedge-rebuild.13380a7edb":"Dois documentos por execução","selvedge-rebuild.4077f0afa7":"Uma comparação só é tão boa quanto o registo por trás dela, por isso leia o que o registo contém.","selvedge-rebuild.39f8833993":"Pare de ler; o resto é ruído.","selvedge-rebuild.c0084eb27a":"Não é o mesmo programa","selvedge-rebuild.64bc44871e":"As execuções não foram configuradas de forma idêntica.","selvedge-rebuild.36e1b53299":"Não comparável","selvedge-rebuild.9fc1d0cf34":"Mesmo trabalho, bytes diferentes na saída.","selvedge-rebuild.d136230733":"O resultado mudou","selvedge-rebuild.6aee5fae01":"Uma contagem diferente é um caminho de código diferente.","selvedge-rebuild.de89199753":"O trabalho mudou","selvedge-rebuild.95e99b8668":"pelo campo em que se insere","selvedge-rebuild.1f218ead06":"O que uma diferença lhe diz","selvedge-rebuild.d5cf7685a8":"SEM VEREDITO","selvedge-rebuild.d5a9df81ba":"ESPERADO E OBTIDO","selvedge-rebuild.ed299cc67f":"CAMPO A CAMPO","selvedge-rebuild.a526ac7e2e":"É por isso que a entrada é fixada e viaja com o artefacto. Isso é uma linha num procedimento, e é a linha que decide se uma comparação encerra um argumento ou abre um segundo. Dá a uma contraparte os mesmos bytes para executar novamente, sem ter primeiro de concordar sobre qual entrada a comparação pretendia.","selvedge-rebuild.6615580bdf":"A lista nomeia o campo que mudou, e o campo decide o diagnóstico. Combustível sozinho é um caminho de código diferente. Combustível e saída juntos indicam um convidado que leu algo que o outro não leu. Um resumo de configurações diferente significa que as duas execuções nunca foram comparáveis, e um resumo de artefacto diferente significa que nunca foram o mesmo programa.","selvedge-rebuild.8c8effaa95":"Selvedge percorre dois registos campo a campo e acumula todas as diferenças com valores esperados e reais. Combustível diferente e saída diferente são problemas diferentes, e a lista indica qual deles tem. Não reduz uma discrepância a um rótulo de passa/falha: um resumo de configurações identifica configuração diferente, enquanto um resumo de artefacto identifica programas diferentes. Combustível sozinho aponta para uma mudança de caminho; combustível mais saída aponta para um convidado que leu um valor diferente. O resultado dá à contraparte uma verificação concreta seguinte em vez de uma discussão sobre um booleano.","selvedge-rebuild.646770fca0":"dos campos que mudaram","selvedge-rebuild.e6e4d5cded":"Replay devolve uma lista","selvedge-rebuild.c81ee5ef6b":"Duas execuções, comparadas","selvedge-rebuild.66a522b7c5":"É por isso que «reproduziu-se?» obtém uma resposta melhor do que sim.","selvedge-rebuild.d76c40f0ce":"Copy-on-write rápido ou primeiro toque fixado.","selvedge-rebuild.f2c61a30e9":"Inicialização de memória","selvedge-rebuild.c5abd185c9":"Detetado para velocidade ou fixado para portabilidade.","selvedge-rebuild.72afcd7b6b":"Escolha de instruções vetoriais","selvedge-rebuild.12d9267ba1":"Forte e barato, a partir de uma semente.","selvedge-rebuild.de76cb3681":"Ambos os fluxos aleatórios","selvedge-rebuild.aa0c86bf67":"Relógio fixo, primeiro de janeiro de 2024.","selvedge-rebuild.be2bae9c5e":"Relógio de parede","selvedge-rebuild.76249575a8":"(removido, ou decidido uma vez)","selvedge-rebuild.32684a6c6c":"Fontes de deriva","selvedge-rebuild.d5b4ab5d99":"PORTÁTIL POR ESCOLHA","selvedge-rebuild.73b7c15756":"UMA SEMENTE","selvedge-rebuild.e5599ca3ea":"RELÓGIO FIXO","selvedge-rebuild.3228959407":"A configuração de determinismo inclui uma verificação que indica qual dos dois está a segurar, portanto a portabilidade é uma decisão com uma resposta impressa em vez de algo descoberto quando o replay de uma contraparte discorda. Fixar custa as unidades vetoriais mais amplas nas máquinas que as têm, e isso é todo o trade-off.","selvedge-rebuild.95523f0e77":"Duas definições decidem se o mesmo artefacto segue o mesmo caminho pelo processador na máquina de outra pessoa: como as instruções vetoriais são selecionadas e como a memória é inicializada. Detetar o que a máquina tem torna a execução mais rápida. Fixar ambas torna a execução portátil. Um verificador posterior precisa desse caminho fixo.","selvedge-rebuild.b679796146":"Selvedge remove fontes de variação: um relógio fixo em 1 de janeiro de 2024 e ambos os fluxos aleatórios com semente de um único valor. O registo contém um resumo dessa configuração, não os valores retirados. Instruções vetoriais e inicialização de memória também são escolhas explícitas: detete-as para velocidade ou fixe-as para portabilidade. Um verificador pode ler o hash do perfil e saber se um replay deveria seguir o mesmo caminho de máquina antes de comparar a saída.","selvedge-rebuild.0a6cfc8fac":"não uma definição para ativar","selvedge-rebuild.1fd189502e":"Determinismo é subtração","selvedge-rebuild.a7c3ed1772":"Subtração, não configuração","selvedge-rebuild.0c47ffb9bb":"Uma contagem de instruções só significa algo se as instruções foram as mesmas duas vezes.","selvedge-rebuild.adebd97359":"Combustível consumido pode ser subtraído entre execuções.","selvedge-rebuild.a2daaab559":"Figura depois","selvedge-rebuild.3d67ae7992":"O trabalho, em vez de um relógio de parede, é o limite.","selvedge-rebuild.de6412fbe8":"Orçamento de zero","selvedge-rebuild.15dcfdda9a":"Carga não move uma contagem.","selvedge-rebuild.2202f5e805":"Mesmo ponto de paragem","selvedge-rebuild.60440bc65a":"Contado enquanto o convidado corre; quando gasto, a execução termina.","selvedge-rebuild.63309fc99a":"Orçamento de instruções","selvedge-rebuild.9bb4b0c4cd":"e o que contar compra","selvedge-rebuild.4f84d48da3":"Um limite","selvedge-rebuild.34b96ad39f":"IGUAL EM QUALQUER CPU","selvedge-rebuild.c314cfa17b":"NÃO SEGUNDOS","selvedge-rebuild.62e2ede50f":"INSTRUÇÕES","selvedge-rebuild.d1536b89dd":"Instruções consumidas são uma propriedade da execução. A figura está no registo, pode ser subtraída, e uma diferença de oito em nove mil milhões é a primeira coisa a observar quando duas execuções discordam. Essa é toda a razão para contar trabalho em vez de tempo: o número sobrevive à máquina onde foi obtido. Uma nova execução noutro hardware devolve a mesma contagem ou nomeia o campo que mudou.","selvedge-rebuild.7aff67a600":"Uma contagem também é uma figura que duas partes podem usar uma contra a outra. O tempo decorrido é uma propriedade da máquina que estava livre, e nada de útil resulta de uma diferença nele. Mede a disponibilidade do anfitrião, não o trabalho realizado pelo convidado. A contagem, em vez disso, descreve trabalho que pode ser verificado de forma independente.","selvedge-rebuild.72426f8729":"O tempo decorrido permite que o mesmo artefacto passe numa máquina ociosa e falhe numa ocupada. Selvedge limita uma execução pela contagem de instruções gasta pelo convidado, portanto a carga não altera nem a resposta nem o ponto em que para. O orçamento é cobrado ao trabalho do convidado, não ao agendamento do anfitrião. Um timeout ainda pode proteger uma chamada de anfitrião presa, mas não é o sinal de reprodutibilidade; a contagem de instruções registada é.","selvedge-rebuild.8afbc5d594":"e combustível mede o programa","selvedge-rebuild.03b2c4da91":"Um prazo mede um anfitrião","selvedge-rebuild.21a2c5f1aa":"O que realmente para uma execução","selvedge-rebuild.1a78f4b9ca":"Uma execução que não pede nada ainda pode não terminar, e isso precisa de um limite diferente.","selvedge-rebuild.4a92056b30":"Apenas porque o wildcard está escrito.","selvedge-rebuild.98f3f99f4d":"A mesma importação com wildcard","selvedge-rebuild.aca85a73fa":"Recusado em vez de assumido como inofensivo.","selvedge-rebuild.e4b5b433a2":"Uma importação nada classifica","selvedge-rebuild.15c54f0161":"Reconhecido mas ausente da política. Para aqui.","selvedge-rebuild.f998b59fb9":"Uma interface de socket","selvedge-rebuild.b0449a2f1e":"Nomeado na política e fornecido pelo anfitrião.","selvedge-rebuild.83ae8486f7":"Os fluxos padrão","selvedge-rebuild.a46cc41ece":"uma política, quatro respostas","selvedge-rebuild.161836a8f2":"Quatro pedidos","selvedge-rebuild.366a00a60f":"FALHA FECHADA","selvedge-rebuild.4d3b321af0":"VERIFICADO PRIMEIRO","selvedge-rebuild.063d13205c":"IMPORTAÇÕES DECLARADAS","selvedge-rebuild.0727104688":"Em Selvedge, o caso desconhecido falha fechado, e a única forma de o abrir é um wildcard que está na política como entrada própria. Uma permissão que não decidiu não está disponível, e uma permissão que decidiu é legível para quem ler a política no próximo ano sem ter de reconstruir o raciocínio. Essa entrada é revogável, e removê-la fecha o caso novamente.","selvedge-rebuild.4adda50d9a":"O caso desconhecido é onde os runtimes costumam ceder. Um pedido não reconhecido é deixado passar com o raciocínio de que provavelmente é inofensivo, e é assim que chega uma capacidade que ninguém escolheu, que ninguém possui e que ninguém consegue datar. Uma fronteira só permanece inteligível quando se fecha nesse caso preciso.","selvedge-rebuild.2b1f8f5acb":"Um artefacto que pede a rede ao Selvedge nunca arranca. Cada importação declarada é percorrida antes da instanciação a partir dos três construtores de instância; uma importação fora da política para tudo, e uma importação que nenhuma política consegue classificar falha fechada, a menos que um wildcard tenha sido concedido de propósito. A verificação acontece antes de qualquer construtor de módulo ser executado, pelo que uma importação negada não pode deixar escapar uma instância parcial. A política de importação é, portanto, uma condição de arranque auditável e não um filtro de runtime de melhor esforço.","selvedge-rebuild.c701cfb7bc":"é recusado, não é passado adiante","selvedge-rebuild.11f61b8cea":"Uma importação que não consegue classificar","selvedge-rebuild.e8f740737e":"Antes da instanciação","selvedge-rebuild.dcd4ba984c":"Uma sala vazia é metade. Algo também tem de recusar antes de o código arrancar.","selvedge-rebuild.0e3f683921":"Sem diretório, socket, variável ou argumento.","selvedge-rebuild.b31a999e3e":"Tudo o resto","selvedge-rebuild.b6f2a8aafd":"Os bytes do chamador, ou um fluxo fechado.","selvedge-rebuild.ed8d995cba":"Entrada padrão","selvedge-rebuild.619f80b0f4":"O mesmo tratamento. Nada é escrito noutro lugar.","selvedge-rebuild.be84302eb7":"Erro padrão","selvedge-rebuild.28c9b400a8":"Capturado, digerido e devolvido com a execução.","selvedge-rebuild.f0c190c767":"Saída padrão","selvedge-rebuild.80384c78ce":"e o que não existe para atravessar","selvedge-rebuild.fbda0b5df6":"O que atravessa a parede","selvedge-rebuild.f317e1836d":"SEM AMBIENTE","selvedge-rebuild.772e054092":"SEM FICHEIROS","selvedge-rebuild.61176d0dd1":"SEM REDE","selvedge-rebuild.a4a4906f32":"A subtração mantém-se. Não há sistema de ficheiros para conceder nem rede para negar, pelo que o pior caso depende da forma do anfitrião e não de alguém manter uma lista correta. Uma política Selvedge que você constrói começa com uma lista de capacidades vazia e determinismo exigido, e a sala que descreve é a sala que obtém.","selvedge-rebuild.d987579a1c":"Uma lista de permissões é algo que alguém mantém, e tudo o que é mantido deriva. Uma versão abre um diretório para um diagnóstico, o diagnóstico termina no verão, a entrada sobrevive-lhe, e dois anos depois ninguém consegue dizer o que depende dela. Essa história é o que um recibo preserva para uma revisão posterior.","selvedge-rebuild.a97c12e865":"Pergunte o que um componente consegue alcançar dentro do Selvedge e a resposta são três fluxos: saída padrão, erro padrão e entrada padrão quando o chamador fornece uma. Nenhum diretório, socket, variável de ambiente ou lista de argumentos é aberto; o anfitrião não tem caminho de código que abra um.","selvedge-rebuild.d9a7d95854":"e não há um quarto","selvedge-rebuild.dcfbae366b":"Um convidado recebe três fluxos","selvedge-rebuild.fbadde4854":"O que é entregue a um convidado","selvedge-rebuild.fallback-record":"registo","selvedge-rebuild.fallback-check":"verificação","selvedge-rebuild.illustrative":"ILUSTRATIVO","selvedge-rebuild.declared":"declarado","selvedge-rebuild.recorded":"registado","selvedge-rebuild.banner.eng-unchecked.kicker":"O que significa uma passagem","selvedge-rebuild.banner.eng-unchecked.title":"Cada afirmação é testada","selvedge-rebuild.banner.eng-unchecked.body":"Um artefacto pode trazer afirmações sobre si próprio: um resumo de assinatura, um resumo de certificado, um resumo de política. Cada um é uma promessa de que algo foi verificado, e cada um precisa de material antes de poder ser verificado. O Selvedge insiste nesse material. Um artefacto que referencia um resumo de assinatura verifica assim que a assinatura destacada e a chave são fornecidas. Um que referencia um resumo de certificado verifica assim que um verificador de cadeia está lá para o ler. Um que referencia um resumo de política verifica no caminho sensível à política que o produziu.","selvedge-rebuild.banner.eng-unchecked.instrument-header":"Material de verificação","selvedge-rebuild.banner.eng-unchecked.instrument-tag":"Exigido","selvedge-rebuild.banner.eng-unchecked.verdict-label":"Resultado da passagem","selvedge-rebuild.banner.eng-unchecked.item-1-label":"Resumo de assinatura","selvedge-rebuild.banner.eng-unchecked.item-1-body":"Assinatura destacada e chave.","selvedge-rebuild.banner.eng-unchecked.item-2-label":"Resumo de certificado","selvedge-rebuild.banner.eng-unchecked.item-2-body":"Verificador de cadeia.","selvedge-rebuild.banner.eng-unchecked.item-3-label":"Resumo de política","selvedge-rebuild.banner.eng-unchecked.item-3-body":"Caminho sensível à política.","selvedge-rebuild.banner.eng-unchecked.item-4-label":"Artefacto + definições","selvedge-rebuild.banner.eng-unchecked.item-4-body":"Verificado em cada execução.","selvedge-rebuild.banner.eng-unchecked.verdict":"Uma passagem cobre todas as afirmações no artefacto.","selvedge-rebuild.banner.eng-unchecked.footline":"É por isso que uma passagem Selvedge significa o mesmo para a parte que a recebe.","selvedge-rebuild.banner.eng-handover.kicker":"Quem está a segurar a evidência","selvedge-rebuild.banner.eng-handover.title":"Entrega quatro coisas","selvedge-rebuild.banner.eng-handover.body":"Uma segunda parte que verifica uma execução Selvedge precisa de quatro coisas: os bytes do artefacto, a entrada que esses bytes receberam, as definições de determinismo usadas na execução e o registo que produziu. Todos os quatro são ficheiros. Todos os quatro viajam pelos meios que os dois já usam, e nenhum deles é uma credencial, uma licença ou um endpoint.","selvedge-rebuild.banner.eng-handover.instrument-header":"Entrega para repetição","selvedge-rebuild.banner.eng-handover.instrument-tag":"Offline","selvedge-rebuild.banner.eng-handover.verdict-label":"Repetição independente","selvedge-rebuild.banner.eng-handover.item-1-label":"Bytes do artefacto","selvedge-rebuild.banner.eng-handover.item-1-body":"O que correu.","selvedge-rebuild.banner.eng-handover.item-2-label":"Entrada fornecida","selvedge-rebuild.banner.eng-handover.item-2-body":"Sobre o que correu.","selvedge-rebuild.banner.eng-handover.item-3-label":"Definições","selvedge-rebuild.banner.eng-handover.item-3-body":"Como correu.","selvedge-rebuild.banner.eng-handover.item-4-label":"O seu registo","selvedge-rebuild.banner.eng-handover.item-4-body":"O que comparar.","selvedge-rebuild.banner.eng-handover.verdict":"A máquina deles, a comparação deles, a lista deles.","selvedge-rebuild.banner.eng-handover.footline":"Quatro ficheiros, e quem duvida de si é quem verifica.","selvedge-rebuild.banner.biz-blind.kicker":"Porque é que um resultado de teste é transferível","selvedge-rebuild.banner.biz-blind.title":"Não consegue dizer","selvedge-rebuild.banner.biz-blind.body":"O software que consegue ver o ambiente à sua volta pode comportar-se de forma diferente nesse ambiente. Um componente que lê a data pode comportar-se de uma forma antes de um limite e de outra depois. Um que lê o nome da máquina pode ser cuidadoso num ambiente de teste e descuidado em produção. Um que consegue ver o quão carregada está a máquina pode tomar um atalho apenas quando é improvável que alguém esteja a medir. É isso que faz com que um teste de aceitação seja algo que passou uma vez, em vez de algo que sabe.","selvedge-rebuild.banner.biz-blind.instrument-header":"Fronteira neutra em relação ao fornecedor","selvedge-rebuild.banner.biz-blind.instrument-tag":"Mesmas condições","selvedge-rebuild.banner.biz-blind.verdict-label":"Resultado transferível","selvedge-rebuild.banner.biz-blind.compare-left":"Sem dependência retida","selvedge-rebuild.banner.biz-blind.compare-right":"Fronteira visível","selvedge-rebuild.banner.biz-blind.item-1-label":"Sem conta","selvedge-rebuild.banner.biz-blind.item-1-body":"Funciona no seu hardware.","selvedge-rebuild.banner.biz-blind.item-2-label":"Sem chave de fornecedor","selvedge-rebuild.banner.biz-blind.item-2-body":"Nada guardado para si.","selvedge-rebuild.banner.biz-blind.item-3-label":"Sem rede oculta","selvedge-rebuild.banner.biz-blind.item-3-body":"Sem caminho para exfiltração.","selvedge-rebuild.banner.biz-blind.item-4-label":"Um relatório datado","selvedge-rebuild.banner.biz-blind.item-4-body":"A permissão está escrita.","selvedge-rebuild.banner.biz-blind.verdict":"Um resultado de teste é transferível porque a fronteira é a mesma.","selvedge-rebuild.banner.biz-blind.footline":"A evidência é útil para alguém que não estava na sala.","selvedge-rebuild.banner.biz-fresh.kicker":"Porque é que o isolamento é acessível","selvedge-rebuild.banner.biz-fresh.title":"Uma sala nova de cada vez","selvedge-rebuild.banner.biz-fresh.body":"O isolamento é normalmente racionado. Montar um ambiente limpo custa o suficiente para que seja reservado para trabalho em lote, e tudo o que é interativo partilha um processo de longa duração onde o resíduo de um trabalho é a condição inicial do próximo. Isso é uma decisão de custo, e é quase sempre apresentada como uma arquitetura.","selvedge-rebuild.banner.biz-fresh.instrument-header":"Sequência de sala nova","selvedge-rebuild.banner.biz-fresh.instrument-tag":"Por pedido","selvedge-rebuild.banner.biz-fresh.verdict-label":"Conclusão operacional","selvedge-rebuild.banner.biz-fresh.item-1-label":"Arranque a frio","selvedge-rebuild.banner.biz-fresh.item-1-body":"Sub-milissegundo.","selvedge-rebuild.banner.biz-fresh.item-2-label":"Um pedido","selvedge-rebuild.banner.biz-fresh.item-2-body":"Uma sala.","selvedge-rebuild.banner.biz-fresh.item-3-label":"Sem arrastamento","selvedge-rebuild.banner.biz-fresh.item-3-body":"Nada partilhado por predefinição.","selvedge-rebuild.banner.biz-fresh.item-4-label":"Um registo","selvedge-rebuild.banner.biz-fresh.item-4-body":"A entrega é explícita.","selvedge-rebuild.banner.biz-fresh.verdict":"O isolamento é acessível quando a sala é barata.","selvedge-rebuild.banner.biz-fresh.footline":"Um fornecedor não pode herdar a sala de ontem.","selvedge-rebuild.banner.con-code.kicker":"O que o recibo contém","selvedge-rebuild.banner.con-code.title":"Um código não é uma cópia","selvedge-rebuild.banner.con-code.body":"Um recibo que provasse o que saiu da sua carta teria de conter a carta, e é essa a parte que as pessoas, com razão, questionam. A Selvedge não guarda nenhuma cópia. O que guarda é um código curto calculado a partir do conteúdo, e o cálculo só funciona numa direção.","selvedge-rebuild.banner.con-code.instrument-header":"Registo de recibos","selvedge-rebuild.banner.con-code.instrument-tag":"Reproduzível","selvedge-rebuild.banner.con-code.verdict-label":"O que prova","selvedge-rebuild.banner.con-code.item-1-label":"O artefacto","selvedge-rebuild.banner.con-code.item-1-body":"Qual programa.","selvedge-rebuild.banner.con-code.item-2-label":"A entrada","selvedge-rebuild.banner.con-code.item-2-body":"O que viu.","selvedge-rebuild.banner.con-code.item-3-label":"As definições","selvedge-rebuild.banner.con-code.item-3-body":"O que foi fixado.","selvedge-rebuild.banner.con-code.item-4-label":"O recibo","selvedge-rebuild.banner.con-code.item-4-body":"O que comparar.","selvedge-rebuild.banner.con-code.verdict":"Um código curto identifica a execução; não pretende ser a fonte.","selvedge-rebuild.banner.con-code.footline":"O objeto útil é pequeno o suficiente para ser entregue.","selvedge-rebuild.internal-numeric":"Cálculo interno, armazenamento e acumulação usam representações binárias, inteiras, de ponto fixo ou inteiras/ponto fixo adaptativas. O ponto flutuante é aceite apenas numa fronteira externa declarada e é explicitamente convertido antes de o trabalho interno começar. Não há recurso interno a ponto flutuante.","selvedge-rebuild.banner.eng-unchecked.title-accent":"antes de ser dada uma aprovação","selvedge-rebuild.banner.eng-unchecked.body-second":"Peça à Selvedge para verificar sem o material e o erro nomeia exatamente o que falta, o que transforma um artefacto não verificável num pedido da única coisa que o resolveria. O efeito prático é que um resultado verde da Selvedge carrega todo o seu significado onde quer que viaje: todas as afirmações que o artefacto faz foram testadas, com as mesmas ferramentas, contra material que alguém realmente forneceu.","selvedge-rebuild.banner.eng-handover.title-accent":"e a verificação é deles","selvedge-rebuild.banner.eng-handover.body-second":"Eles executam a reprodução na sua própria máquina com a sua própria versão das ferramentas, e o que recebem é a sua lista de campos diferentes, em vez da sua garantia sobre a execução. Nada nesse caminho precisa de uma conta, de uma chave nossa ou de um serviço nosso acessível, por isso a verificação funciona durante uma interrupção, numa rede isolada e anos após a execução que resolve. É isso que torna um registo da Selvedge digno de ser citado num contrato: quem desconfia de si é quem o verifica.","selvedge-rebuild.banner.biz-blind.title-accent":"de que está a ser testado","selvedge-rebuild.banner.biz-blind.body-second":"Um componente a correr na Selvedge não tem nada para ler. O relógio que lhe é dado nunca se move de um único instante fixo. Não há ambiente, não há argumentos, não há rede e não há diretório, por isso não há nome de máquina, não há etiqueta de implementação e não há forma de saber se esta é a quarta execução ou a primeira. O comportamento ainda pode depender da entrada, que é exatamente por isso que a entrada é a coisa que fixa e entrega. O que não pode depender é da data, do anfitrião ou da ocasião, por isso uma execução que se comportou na aceitação comporta-se da mesma forma em novembro no hardware de outra pessoa.","selvedge-rebuild.banner.biz-fresh.title-accent":"porque uma sala é barata","selvedge-rebuild.banner.biz-fresh.body-second":"Criar uma instância nova de Selvedge demora bem menos de um milissegundo na máquina onde o projeto faz as medições, o que coloca uma por pedido dentro do orçamento de quase tudo o que é interativo. Nada passa entre elas a menos que seja entregue deliberadamente, e o que é entregue aparece no registo como algo que foi entregue. A versão comercial dessa frase é curta: o erro de um trabalho é o erro de um trabalho, e o raio de explosão é uma sala que já não existe.","selvedge-rebuild.banner.con-code.title-accent":"daquilo de onde veio","selvedge-rebuild.banner.con-code.body-second":"O mesmo conteúdo produz sempre o mesmo código, por isso o código é suficiente para mostrar que nada mudou. O código não pode ser convertido de volta no conteúdo, por isso não mostra nada sobre o que o conteúdo era. Uma execução sobre um relatório de duzentas páginas deixa um registo do mesmo tamanho que uma execução sobre uma linha, e nenhum dos registos contém uma palavra sobre o que era. Pode guardá-lo durante uma década, ou entregá-lo a alguém que não tem permissão para ler o documento, e não revelar nada.","selvedge-rebuild.banner.eng-record.kicker":"O que resta após a execução","selvedge-rebuild.banner.eng-record.title":"O processo parou","selvedge-rebuild.banner.eng-record.title-accent":"o registo ainda responde","selvedge-rebuild.banner.eng-record.body":"Uma execução concluída deve deixar mais do que um sinal de sucesso. A Selvedge liga o artefacto, a entrada, as definições de determinismo e o trabalho medido às saídas que voltaram. O registo é um conjunto de campos, não um relato em prosa escrito depois do evento.","selvedge-rebuild.banner.eng-record.body-second":"Uma segunda máquina pode reproduzir o mesmo material e comparar o registo campo a campo. Se o artefacto, as definições, a contagem de instruções ou a saída diferirem, o desacordo tem um lugar nomeado em vez de uma afirmação geral de que a execução não pôde ser reproduzida.","selvedge-rebuild.banner.eng-record.instrument-header":"Recibo de execução","selvedge-rebuild.banner.eng-record.instrument-tag":"Campo a campo","selvedge-rebuild.banner.eng-record.verdict-label":"Verificação de reprodução","selvedge-rebuild.banner.eng-record.item-1-label":"Artefacto + entrada","selvedge-rebuild.banner.eng-record.item-1-body":"O material que entrou.","selvedge-rebuild.banner.eng-record.item-2-label":"Definições de determinismo","selvedge-rebuild.banner.eng-record.item-2-body":"As condições fixadas para a execução.","selvedge-rebuild.banner.eng-record.item-3-label":"Instruções consumidas","selvedge-rebuild.banner.eng-record.item-3-body":"O trabalho medido.","selvedge-rebuild.banner.eng-record.item-4-label":"Resumos de saída","selvedge-rebuild.banner.eng-record.item-4-body":"Os valores a comparar.","selvedge-rebuild.banner.eng-record.verdict":"Quando uma reprodução diverge, o registo aponta para o campo onde isso aconteceu.","selvedge-rebuild.banner.eng-record.footline":"A evidência continua útil depois de o processo que a produziu desaparecer.","selvedge-rebuild.banner.biz-transfer.kicker":"O que sobrevive a uma mudança de fornecedor","selvedge-rebuild.banner.biz-transfer.title":"Manter o resultado aceite","selvedge-rebuild.banner.biz-transfer.title-accent":"sem manter o fornecedor","selvedge-rebuild.banner.biz-transfer.body":"Um resultado de aceitação torna-se frágil quando apenas o fornecedor o consegue reproduzir. A conta, o serviço e o ambiente de teste interno passam então a fazer parte da evidência, mesmo que o contrato diga que o software em si é portátil.","selvedge-rebuild.banner.biz-transfer.body-second":"A Selvedge torna a transferência concreta. Mantenha o artefacto, as capacidades permitidas, as definições fixas de execução e o registo resultante. Um fornecedor substituto ou um revisor independente pode reproduzir esses ficheiros na sua própria máquina sem pedir ao fornecedor original para reabrir nada.","selvedge-rebuild.banner.biz-transfer.instrument-header":"Transferência independente","selvedge-rebuild.banner.biz-transfer.instrument-tag":"Sem serviço retido","selvedge-rebuild.banner.biz-transfer.verdict-label":"Fronteira comercial","selvedge-rebuild.banner.biz-transfer.item-1-label":"Artefacto aceite","selvedge-rebuild.banner.biz-transfer.item-1-body":"Os bytes exatos que passaram.","selvedge-rebuild.banner.biz-transfer.item-2-label":"Conjunto de permissões","selvedge-rebuild.banner.biz-transfer.item-2-body":"A fronteira dentro da qual foi executado.","selvedge-rebuild.banner.biz-transfer.item-3-label":"Pacote de reprodução","selvedge-rebuild.banner.biz-transfer.item-3-body":"Ficheiros que o comprador pode reter.","selvedge-rebuild.banner.biz-transfer.item-4-label":"Comparação independente","selvedge-rebuild.banner.biz-transfer.item-4-body":"Sem conta de fornecedor necessária.","selvedge-rebuild.banner.biz-transfer.verdict":"A evidência muda de mãos sem criar uma nova dependência.","selvedge-rebuild.banner.biz-transfer.footline":"A parte que recebe o resultado também recebe os meios para o verificar.","slv-visuals.chrome-meta":"registo de execução","slv-visuals.661f13bc63":"VERIFICADO","slv-visuals.bd63dd7336":"declarado, limitado, registado","slv-visuals.ac7ff256a6":"SEL","slv-visuals.44fd37f1ed":"Este mundo está selado porque não foi declarado.","slv-visuals.74140b3eb3":"A operação atravessa a sala enquanto a chave permanece no exterior.","slv-visuals.a95af2a207":"Um prefixo de caminho é visível; isto é uma janela, não um sistema de ficheiros.","slv-visuals.5265953d8b":"Estão presentes duas ferramentas nomeadas; uma ferramenta sem nome não tem abertura.","slv-visuals.43dd7aa30b":"A lista concedida está datada no relatório, pelo que a revisão se torna uma consulta.","slv-visuals.bcaf2f4bea":"A capacidade foi recusada antes da execução, com um código estável para o runbook.","slv-visuals.f712baba7f":"Combustível e saída movidos: pergunte que entrada o convidado recebeu efetivamente.","slv-visuals.f4435747db":"Combustível movido enquanto a saída foi retida: inspecione a compilação do anfitrião ou o caminho do código.","slv-visuals.e18ddd4366":"Sem conclusões. A fixação abre mão de unidades vetoriais mais amplas, e a portabilidade é agora uma leitura.","slv-visuals.f1a5ccbfac":"Duas conclusões: a seleção de vetores e a inicialização de memória dependem do anfitrião.","slv-visuals.interaction.choices":"Escolhas visuais do Selvedge","slv-visuals.interaction.sequence":"Sequência do Selvedge","slv-visuals.interaction.worlds":"Mundos de capacidade do Selvedge","slv-visuals.interaction.tree":"Árvore de prova de inclusão do Selvedge","slv-visuals.fallback-hash":"hash","slv-visuals.fallback-fact":"facto","slv-visuals.control.detect":"deteção afinada","slv-visuals.control.pinned":"fixado","slv-visuals.control.fuel":"combustível movido","slv-visuals.control.output":"combustível + saída movidos","slv-visuals.control.policy":"política recusada","slv-visuals.control.allowed":"política permitida","slv-visuals.control.tool":"ferramenta","slv-visuals.control.storage":"armazenamento","slv-visuals.control.crypto":"criptografia","slv-visuals.control.observe":"observar","toc-rail.f5cbdf6bfb":"Conteúdo"}
