{"block_close_oss.c33fd1fe9c":"Comunitate și ecosistem","open-source-selvedge.hero-broker.no":"Nu","open-source-selvedge.a5e3c573e9":"Compilează sarcinile de lucru Kera BNN pentru runtime-ul Selvedge.","open-source-selvedge.d5f412e831":"Kera","open-source-selvedge.fe0a091fdb":"Produse","open-source-selvedge.7dfa2cfe61":"Proveniența evenimentelor prin lanț hash pentru evenimente de sistem.","open-source-selvedge.1aa2f31ee7":"Registru","open-source-selvedge.6cc3364a24":"Dovezi de execuție","open-source-selvedge.ff130daae8":"Certificate de raționament, nu transcrieri de execuție.","open-source-selvedge.df84637182":"AION","open-source-selvedge.d5d6e83bf2":"Continuă explorarea","open-source-selvedge.75e393a1ac":"Explorează proiectul","open-source-selvedge.f9743247fa":"Citește documentația","open-source-selvedge.ef0fd4ccef":"Inspectează înregistrarea execuției","open-source-selvedge.e971b9cac2":"Selvedge publică în a patra rundă a programului de lansare fundațională, după Knot și Ledger. Odată publicat, testează un modul WASM în sandbox și redă singur plicul de dovezi.","open-source-selvedge.aa91c05f23":"Verifică rezultatul, nu codul","open-source-selvedge.90e40d5043":"Începe","open-source-selvedge.de6848949f":"Selvedge","open-source-selvedge.650fabe787":"Open Source","open-source-selvedge.0a2d263d08":"OSS / Selvedge","open-source-selvedge.9e2fe6d1ab":"Sandbox cu refuz implicit","open-source-selvedge.6b5eb5323e":"Refuz implicit","open-source-selvedge.9940fac0fc":"Suprafață de execuție pentru instrumente Model Context Protocol.","open-source-selvedge.d19313d340":"Server de agenți","open-source-selvedge.bb1d021694":"Sigilat cu Ed25519, transcriere SHA3-256, verificare offline.","open-source-selvedge.1ee471ad95":"Plic de dovezi","open-source-selvedge.7e4e340a74":"Rețele neuronale binare IR graf, JIT și interpretor.","open-source-selvedge.0743169b8b":"Motor Kera","open-source-selvedge.90ba359bc5":"Runtime pentru model de componente, gazdă WASI 0.2 Preview 2.","open-source-selvedge.90aecd8ec1":"Motor Wasmtime","open-source-selvedge.ed07ad60bf":"Suprafață verificată","open-source-selvedge.8ec9f20dc2":"CE SE LIVREAZĂ","open-source-selvedge.efe0c41bcb":"KERA","open-source-selvedge.4e946026a7":"WASM","open-source-selvedge.8e4939f0ca":"RUST 2024","open-source-selvedge.c968638a6e":"TRANSCRIERE SIGILATĂ","open-source-selvedge.201a4da5a0":"Selvedge rulează cod neîncrezut într-un sandbox cu capacități limitate și înregistrează execuția într-o transcriere sigilată. Izolarea limitează ce poate accesa codul; transcrierea arată ce s-a întâmplat efectiv și poate fi redată pentru revizuire.","open-source-selvedge.3ca6c6a37b":"Determinist implicit","open-source-selvedge.a55e5a1229":"Capacități limitate","open-source-selvedge.fca77b7e3a":"Calea de execuție sigilată","open-source-selvedge.8faedce292":"Patru runtime-uri","open-source-selvedge.2adb968c4a":"Același plic","open-source-selvedge.0bf361df63":"Server Model Context Protocol pentru instrumente de agenți.","open-source-selvedge.21593b807a":"MCP","open-source-selvedge.1df8dd458e":"Runtime de agenți de lungă durată cu o coadă.","open-source-selvedge.329cb8b6ba":"Serviciu","open-source-selvedge.8b3b7e65eb":"build, verify, run, replay. Compatibil cu CI.","open-source-selvedge.700b401ca5":"CLI","open-source-selvedge.fb075836bd":"Legat în aplicația ta ca crate.","open-source-selvedge.0fd17b94c9":"Încorporat","open-source-selvedge.3512486e9f":"Unde rulează Selvedge","open-source-selvedge.d53f3da0a7":"POSTURĂ","open-source-selvedge.f28d7de3d9":"REGLEMENTAT","open-source-selvedge.a21096cb07":"RUNTIME BNN","open-source-selvedge.0fcaf629eb":"PLUGIN-URI","open-source-selvedge.32e4cd84f3":"INSTRUMENTE DE AGENȚI","open-source-selvedge.78a8dfaf02":"Instrumente de agenți, plugin-uri terțe, inferență Kera BNN și date reglementate intră toate prin aceeași graniță controlată. Fiecare runtime produce același plic de dovezi sigilat, astfel încât schimbările de implementare nu modifică povestea de audit.","open-source-selvedge.e9f7d0cf54":"întâlnește sarcinile reglementate","open-source-selvedge.8d5a043fd8":"Unde codul neîncrezut","open-source-selvedge.14a29ba383":"Cazuri de utilizare","open-source-selvedge.f86aae8de8":"Calea rapidă rămâne cu vanilla","open-source-selvedge.224a8949e8":"Pornire la rece, câștigul principal","open-source-selvedge.36998c51d5":"Hashing transcriere, SIMD.","open-source-selvedge.41366a8f09":"1 până la 3 us","open-source-selvedge.01dbc6d47c":"SHA3-256, 1 KB","open-source-selvedge.bd0fbf08cc":"Semnare Ed25519 5-15 us, verificare 15-30 us.","open-source-selvedge.1f3e8a79be":"10 până la 20 us","open-source-selvedge.671d8813b1":"creare dovadă AION","open-source-selvedge.9f10fa1bbe":"Pornirea procesului inclusă, de 8-9 ori mai rapidă.","open-source-selvedge.4258dd2386":"1,58 până la 1,70 ms","open-source-selvedge.919b634e80":"CLI rece, Kera JIT","open-source-selvedge.2d3bb21f5e":"Modul de calcul, față de 1187-1494 us vanilla.","open-source-selvedge.bd8403776f":"15 până la 21 us","open-source-selvedge.cbb71692d2":"Pornire la rece, API","open-source-selvedge.6cd2cd614d":"Din BENCHMARKS.md","open-source-selvedge.48109cc196":"REPERE SELVEDGE","open-source-selvedge.d9074c5c77":"CRITERION","open-source-selvedge.7084ceb2f1":"AION 10-1000x","open-source-selvedge.b0437f28f6":"KERA JIT CALD 2x","open-source-selvedge.65e2c56be9":"RECE 62-243x","open-source-selvedge.928af32bc7":"Selvedge Wasmtime pornește de 62 până la 243 de ori mai repede decât Wasmtime vanilla la nivel de API. Compromisul onest este calea fierbinte: vanilla deține apelul repetat de 22 ns, iar modelul de componente care produce transcrierea rulează mai lent acolo. Kera JIT este de 2 ori mai rapid la cald pentru lucrul cu grafuri. Cifrele provin din BENCHMARKS.md din depozit.","open-source-selvedge.da589b16da":"Alege runtime-ul pentru sarcină","open-source-selvedge.c296a030fe":"Pornirea la rece este avantajul","open-source-selvedge.63c9045599":"Performanță","open-source-selvedge.7b63c4cb70":"Acordat per apel","open-source-selvedge.abf0c49614":"Refuz implicit","open-source-selvedge.cce9f81b05":"Fiecare decizie de poartă este înregistrată și hașurată.","open-source-selvedge.5bcd602254":"Transcriere","open-source-selvedge.7dc2595377":"max_execution_time_ns, separat de combustibil.","open-source-selvedge.e909add520":"Limită de timp real","open-source-selvedge.214f86c442":"max_memory_bytes, implicit 256 MiB, plafon 4 GiB.","open-source-selvedge.89095dddd2":"Limită RAM","open-source-selvedge.0f69ea8c8d":"max_instructions, epuizarea oprește sarcina curat.","open-source-selvedge.7171161439":"Buget de calcul","open-source-selvedge.71f2051042":"Ceas, aleatoriu, sistem de fișiere, rețea, mediu, stdio, proces, personalizat. Refuz implicit.","open-source-selvedge.ca09c54bff":"Capabilități","open-source-selvedge.f767a4311b":"Gărzi per rulare","open-source-selvedge.369abb529c":"NIVELURI DE POLITICĂ","open-source-selvedge.64269f9bd2":"TIME","open-source-selvedge.f4b1c471ce":"MEMORIE","open-source-selvedge.d8a8b58d7f":"FUEL","open-source-selvedge.1a8d3ca502":"Un set de capabilități cu refuz implicit blochează fiecare apel de gazdă în opt domenii WASI. Limitele de resurse pentru memorie, combustibil și timp limitează comportamentul necontrolat. Fiecare decizie de poartă și citire de resurse este în transcriere.","open-source-selvedge.770a668e0e":"Limite de resurse. Audit","open-source-selvedge.8a54e91228":"Capabilități","open-source-selvedge.bb9cf14180":"Politică","open-source-selvedge.26fe8fb85c":"Chitanțe peste afirmații","open-source-selvedge.e08283960c":"Verifică, nu avea încredere","open-source-selvedge.82de28b689":"Ai nevoie de dovezi criptografice despre ce a făcut sarcina, nu de încredere în runtime.","open-source-selvedge.858b0d2d19":"Ai încredere în runtime, nu în sarcină","open-source-selvedge.ba959133c8":"Permite sistemul de fișiere, refuză rețeaua, dar fără înregistrare per apel în jurnalul de audit.","open-source-selvedge.ff6fdd664b":"Permitere sau refuz grosier","open-source-selvedge.f58bb04b13":"FP și timpul real se scurg. Redarea produce aproximativ aceeași ieșire, nu exact aceeași.","open-source-selvedge.a1d55a1dad":"Redarea deviază","open-source-selvedge.f7afaaab99":"fără chitanță","open-source-selvedge.4677f31dd1":"Un sandbox oprește evadarea. Nu dovedește că sarcina s-a comportat corect în interior.","open-source-selvedge.6f3134b990":"Containment nu este corectitudine","open-source-selvedge.782cef5501":"Patru lacune structurale","open-source-selvedge.056dcf1841":"DE CE SANDBOX-URILE RATĂ","open-source-selvedge.f1358eac2f":"POLITICĂ GROSIERĂ","open-source-selvedge.2bf9ef4df8":"NEDETERMINIST","open-source-selvedge.1c613acc7e":"FĂRĂ DOVADĂ","open-source-selvedge.d38e80798b":"Sandbox-urile convenționale opresc codul rău să evadeze. Nu produc o înregistrare a ceea ce a făcut codul de fapt în interior. Când un auditor întreabă, răspunsul este o afirmație, nu o dovadă.","open-source-selvedge.61920a517c":"Nu dovedesc","open-source-selvedge.5a88fbb30e":"Sandbox-urile conțin","open-source-selvedge.8a9400005c":"Un sandbox nu explică rularea","open-source-selvedge.7c46a5978b":"Selvedge captează exact ce s-a executat, de la intrare la ieșire, fiecare apel de gazdă sigilat.","open-source-selvedge.3e663e9467":"Selvedge este transcriere de execuție","open-source-selvedge.a5be60731e":"Registrul înregistrează ce s-a întâmplat într-un sistem. Selvedge înregistrează ce cod a rulat.","open-source-selvedge.2c3e446b87":"Ledger este proveniența evenimentelor","open-source-selvedge.de792742e8":"AION emite certificate pentru pașii solverului, nu pentru rulările de execuție.","open-source-selvedge.ced73ef9a5":"AION este dovada raționamentului","open-source-selvedge.0d9a7a065c":"Cum se deosebește Selvedge de AION și Ledger","open-source-selvedge.d7ffcdc87b":"Aceleași intrări plus același plic înseamnă aceeași ieșire, întotdeauna.","open-source-selvedge.7d8134cc1f":"Reluare identică la nivel de octet","open-source-selvedge.75fcf02b02":"O epocă fixă și un PRNG ChaCha20 cu seed înlocuiesc timpul gazdei și entropia.","open-source-selvedge.92a47286b6":"Ceas virtual, RNG cu seed","open-source-selvedge.13c1f9cde6":"Calculul intern, stocarea și acumularea folosesc reprezentări binare, întregi, cu virgulă fixă sau adaptive întreg/virgulă fixă. Virgula mobilă este acceptată doar la o graniță externă declarată și este convertită explicit înainte de începerea lucrului intern; nu există nicio rezervă internă de virgulă mobilă. Ceasul virtual rămâne fix, astfel încât reluarea produce aceiași octeți.","open-source-selvedge.a33c607874":"Fără virgulă mobilă internă, fără ceasuri","open-source-selvedge.81ec58648a":"Execuție deterministă implicit","open-source-selvedge.4b447f3a6e":"Verificatorul reia offline doar cu octeții modulului și plicul.","open-source-selvedge.17d120d8bb":"Reluabil","open-source-selvedge.6e95469aa0":"Semnătură ed25519 peste rădăcina plicului. Nu proză.","open-source-selvedge.6e3665d85f":"Semnat","open-source-selvedge.bc61f0c3fe":"Fiecare apel de gazdă este inclus în lanț. Editările rup lanțul.","open-source-selvedge.aa5cba1a92":"Cu lanț de hash","open-source-selvedge.04c7525615":"De ce transcrierea este diferită de un jurnal","open-source-selvedge.6db180787e":"Aceeași flux la fiecare execuție. Reluarea este mecanică.","open-source-selvedge.69aca853c2":"Dovadă AION","open-source-selvedge.ff8fc1c58a":"Sigiliu","open-source-selvedge.0ae62541bc":"Lanț SHA3","open-source-selvedge.873507a022":"Hash","open-source-selvedge.b1b392607d":"Rulare","open-source-selvedge.3e3f943d84":"capacități fixate","open-source-selvedge.ddcb77ff76":"Încărcare","open-source-selvedge.71faf343ce":"Transcrierea execuției","open-source-selvedge.952be7ff16":"Dovadă AION emisă, semnată ed25519, plicul gata de trimis.","open-source-selvedge.be1a4b336f":"Fiecare apel de gazdă și rezultat este inclus într-un lanț SHA3-256.","open-source-selvedge.83dcc459e8":"Wasmtime sau Kera execută în sandbox-ul cu refuz implicit.","open-source-selvedge.1a5c8788b4":"Modul încărcat, capacități fixate, limite de resurse aplicate.","open-source-selvedge.25ec589727":"Selvedge rulează cod WASM sau Kera într-un sandbox cu refuz implicit, include fiecare apel de gazdă într-un lanț de transcriere SHA3-256 și împachetează rezultatul într-un plic de dovadă AION semnat. Plicul se reia fără sandbox-ul original.","open-source-selvedge.fa84feaccb":"O transcriere sigilată","open-source-selvedge.62ee5ca76d":"Patru etape","open-source-selvedge.a5a88d36d1":"Ce produce Selvedge","open-source-selvedge.db2f804f0c":"Datele ies din Europa","open-source-selvedge.8799dc7cf1":"Calculatoare pe care le deții","open-source-selvedge.1d197d39c5":"Unde rulează","open-source-selvedge.79073eaaf2":"Țările de Jos","open-source-selvedge.44ab85a252":"Origine","open-source-selvedge.f1be77358f":"Dovezi, nu promisiuni","open-source-selvedge.df5248d3cd":"Răspunsul auditului","open-source-selvedge.6eef664840":"Niciuna","open-source-selvedge.a95380913a":"Serviciu extern necesar","open-source-selvedge.eba5db6f23":"Blocaj de furnizor","open-source-selvedge.4ce8c39ddd":"Unde să îl găsești","open-source-selvedge.3229609e15":"Model de execuție","open-source-selvedge.cba0624eb5":"Fișă de achiziție","open-source-selvedge.101226ec7a":"Ce salvează și ce reduce din riscuri","open-source-selvedge.7a0848ede3":"Vezi granița de execuție","open-source-selvedge.c01c519a99":"Selvedge este un sandbox WebAssembly determinist pentru cod neîncrezător. Manifestul său de permisiuni și transcrierea sigilată rulează pe hardware pe care îl controlezi, astfel încât o contraparte poate reia înregistrarea pe propria mașină, iar o dispută devine o căutare, nu o cerere de asigurare.","open-source-selvedge.27e446d5a9":"Păstrează o transcriere sigilată","open-source-selvedge.e1cb220703":"Rulează cod neîncrezător","open-source-selvedge.6ec18dcb30":"Selvedge","open-source-selvedge.993a665d35":"La conducere","open-source-selvedge.c1df7f8f11":"Tu rămâi","open-source-selvedge.f3101e3bb1":"Pe un computer de acasă","open-source-selvedge.7cb07d3c00":"Poate rula","open-source-selvedge.576347ec82":"Europa","open-source-selvedge.15edfb4da4":"Făcut în","open-source-selvedge.dd80c16201":"Același răspuns, de fiecare dată","open-source-selvedge.d7e70b6e08":"Aceeași întrebare","open-source-selvedge.12fee4f639":"Deci nimic nu poate fi falsificat","open-source-selvedge.4c10b31d42":"Sigilează","open-source-selvedge.dcd11694fe":"O chitanță pentru fiecare pas","open-source-selvedge.2ab05d7411":"Scrie","open-source-selvedge.527d86ed84":"Ține munca într-un colț sigur","open-source-selvedge.ca032b5844":"Ține codul în limite, păstrează registrul","open-source-selvedge.ce2cddc0bb":"Un ajutor atent","open-source-selvedge.f8c94a3b4b":"Ce este","open-source-selvedge.704869f20f":"Pe scurt","open-source-selvedge.21e83f6c44":"Citește povestea scurtă","open-source-selvedge.06c805023d":"Vezi ce a făcut codul","open-source-selvedge.d346a6159d":"Selvedge pune un program pe care nu l-ai ales într-o cameră fără internet, fără acces la fișierele tale și fără nimic de învățat despre mașina ta. Lasă o chitanță care spune ce a revenit și ce i s-a permis programului să facă, astfel încât să poți verifica o afirmație ulterioară în loc să iei pe cineva de cuvânt.","open-source-selvedge.a1301435db":" scrie tot ce face","open-source-selvedge.5bd50e406e":"Un ajutor atent care","open-source-selvedge.279245bb2e":"Stil AION, sigilat ed25519","open-source-selvedge.5f174de1cc":"Dovadă","open-source-selvedge.ff5b90620f":"SHA3-256 per apel de gazdă","open-source-selvedge.98e2d78aaa":"Implicit, nu opțional","open-source-selvedge.2956ef9ad6":"Determinism","open-source-selvedge.cd95bf50b6":"Gazdă de componente Wasmtime","open-source-selvedge.b3776d63ad":"Backend-uri","open-source-selvedge.2da600bf94":"Versiune","open-source-selvedge.f187484f8c":"Rust (Ediția 2024)","open-source-selvedge.89b86ab0e6":"Limbaj","open-source-selvedge.942587e61e":"Fișa proiectului","open-source-selvedge.d4a74b503a":"Citește documentația","open-source-selvedge.a42a770d90":"Selvedge rulează cod pe care nu l-ai scris într-o gazdă de componente WebAssembly fără rețea, sistem de fișiere, mediu sau ceas în mișcare. Fiecare rulare finalizată returnează o înregistrare pe care o altă parte o poate reda și un raport de execuție care spune ce i s-a permis codului să facă. Publicat sub Apache 2.0.","open-source-selvedge.92ec8c4f54":"responsabilitate sigură","open-source-selvedge.722d7084a5":"Cod neîncrezător","open-source-selvedge.3b6a6a049d":"izolat","open-source-selvedge.7d5b92b8a7":"CAP-SET","open-source-selvedge.0e2f3c1696":"FUEL","open-source-selvedge.a266fe9c4d":"MEMORIE","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":"OBSERVAT","open-source-selvedge.35e0d0360a":"LIVE","open-source-selvedge.0f4b423c4b":"MĂSURAT","open-source-selvedge.6e10953f3e":"OPEN","open-source-selvedge.rebuild-h1-lead":"Rulează cod pe care nu l-ai scris.","open-source-selvedge.rebuild-h1-accent":"O cameră cu chitanță.","open-source-selvedge.rebuild-business-h1-lead":"Rulează cod neîncrezător pe hardware pe care îl controlezi.","open-source-selvedge.rebuild-business-h1-accent":"Un sandbox WebAssembly determinist.","open-source-selvedge.close.github":"Întreabă despre lansare","open-source-selvedge.source.access":"Publică în runda a patra","open-source-selvedge.close.title":"Verifică rezultatul","open-source-selvedge.close.titleAccent":"nu codul","open-source-selvedge.close.panel.title":"Ce poți verifica singur","open-source-selvedge.close.panel.tag":"RUNTIME","open-source-selvedge.close.panel.row.0.label":"Licență","open-source-selvedge.close.panel.row.0.value":"Apache 2.0","open-source-selvedge.close.panel.row.1.label":"Execuție","open-source-selvedge.close.panel.row.1.value":"Refuz implicit","open-source-selvedge.close.panel.row.2.label":"Determinism","open-source-selvedge.close.panel.row.2.value":"Implicit, nu opțional","open-source-selvedge.close.panel.row.3.label":"Transcript","open-source-selvedge.close.panel.row.3.value":"SHA3-256 per apel de gazdă","open-source-selvedge.close.panel.foot":"Publicarea este planificată în runde bilunare. Depozitul și documentația sa apar împreună.","oss-selvedge-business-glyph.fef8e889dc":"Politica de execuție","oss-selvedge-business-glyph.6b5eb5323e":"Refuz implicit","oss-selvedge-business-glyph.4ce8c39ddd":"Unde o găsești","oss-selvedge-business-glyph.eba5db6f23":"Blocaj de furnizor","oss-selvedge-business-glyph.6eef664840":"Niciuna","oss-selvedge-business-glyph.a95380913a":"Serviciu extern","oss-selvedge-business-glyph.a92831c31f":"Construit în Țările de Jos","oss-selvedge-business-glyph.47deeb13b4":"Rulează pe computerele tale","oss-selvedge-business-glyph.71aec0536c":"Datele rămân în Europa","oss-selvedge-business-glyph.8ac7aa173f":"Ce primești","oss-selvedge-business-glyph.5c75fc26b6":"Control și dovezi","oss-selvedge-business-glyph.df5248d3cd":"Răspunsul la audit","oss-selvedge-business-glyph.74f39697ac":"Înainte","oss-selvedge-business-glyph.b407dd020f":"O promisiune pe hârtie","oss-selvedge-business-glyph.4f1d10b8b9":"Cu Selvedge","oss-selvedge-business-glyph.62d62865a8":"Dovezi sigilate","oss-selvedge-consumer-glyph.088aa1c6a5":"A rămas în colțul sigur","oss-selvedge-consumer-glyph.cc8e3cba23":"A făcut doar ce ai cerut","oss-selvedge-consumer-glyph.f87dcfd005":"A notat fiecare pas","oss-selvedge-consumer-glyph.ce2cddc0bb":"Un ajutor atent","oss-selvedge-consumer-glyph.0b5703d2a7":"Colțul sigur","oss-selvedge-consumer-glyph.135207e95b":"Face o singură treabă mică, aici, și nicăieri altundeva.","oss-selvedge-consumer-glyph.0ed7e2fe52":"Ce a făcut, notat","oss-selvedge-consumer-glyph.2b11f0b541":"Sigilat, ca să nu poată fi schimbat nimic","oss-selvedge-hero-glyph.85be9bda9e":"Verificare AION reușită.","oss-selvedge-hero-glyph.8fff039853":"YES","oss-selvedge-hero-glyph.c5616cf985":"Semnătura este validă:","oss-selvedge-hero-glyph.9e84fd1870":"Suma de control corespunde:","oss-selvedge-hero-glyph.ae05be9259":"Transcrierea a fost salvată în:","oss-selvedge-hero-glyph.7d1f8eca4c":"Instrucțiuni:","oss-selvedge-hero-glyph.1611baddbd":"2 097 152 de octeți","oss-selvedge-hero-glyph.b6d31df01c":"Memorie:","oss-selvedge-hero-glyph.d1fd5a4123":"Utilizarea resurselor:","oss-selvedge-hero-glyph.80e5667a3d":"Execuția s-a finalizat cu succes în 18,4 ms","oss-selvedge-hero-glyph.ebece295c6":"lanț de transcriere, sha3-256","oss-selvedge-hero-glyph.859e2c0cd0":"timp 5000 ms","oss-selvedge-hero-glyph.6137065f69":"combustibil 50 M","oss-selvedge-hero-glyph.489a5f61f6":"memorie 256 MiB","oss-selvedge-hero-glyph.70049344a2":"politică: refuz implicit","oss-selvedge-hero-glyph.9b97280973":"Determinist:","oss-selvedge-hero-glyph.0642f22885":"Motor:","oss-selvedge-hero-glyph.8116c74b17":"Artifact în execuție:","oss-selvedge-hero-glyph.9f85876f55":"Wasmtime, model de componente","page-breadcrumb.c766e66518":"Breadcrumb","page-toc.7e439c353e":"Pe această pagină","section_st_a1_display-split.7c9a7c0610":"Detalii","section_st_f1_cta-dark.90e40d5043":"Începeți","selvedge-rebuild.why":"De ce","selvedge-rebuild.state.depth-3":"Adâncime 3","selvedge-rebuild.state.depth-1":"Adâncime 1","selvedge-rebuild.state.leaf":"Frunză","selvedge-rebuild.state.path":"Cale","selvedge-rebuild.state.root":"Rădăcină","selvedge-rebuild.state.proof":"Dovadă","selvedge-rebuild.instrument.first-check":"Prima verificare","selvedge-rebuild.instrument.last-check":"Ultima verificare","selvedge-rebuild.e4117a549a":"Camera, chitanța și lista sunt întreaga promisiune.","selvedge-rebuild.e04c2bbabb":"O listă, nu o estimare.","selvedge-rebuild.f4a910b306":"Găsește și repară","selvedge-rebuild.d7231e00d3":"Codul este purtat cu fiecare rulare.","selvedge-rebuild.de97a98b3b":"Fiecare chitanță","selvedge-rebuild.4fb8981886":"Un singur rezumat denumește construcția.","selvedge-rebuild.280587dbfc":"Artefact exact","selvedge-rebuild.94bce13433":"de la o chitanță la fiecare job","selvedge-rebuild.d8ad44b2fd":"Urma înapoi","selvedge-rebuild.66d0398793":"GĂSIT, NU GHICIT","selvedge-rebuild.f64f81f133":"FIECARE JOB","selvedge-rebuild.cd30789775":"UN SINGUR COD","selvedge-rebuild.36d917a683":"Aici ajunge ca o listă. Fiecare job care a folosit programul defectuos îl numește prin cod, dată și o scurtă listă de permisiuni, astfel încât să poți vedea ce a fost afectat și cât de departe ar fi putut ajunge. Dacă cei care l-au creat nu mai sunt de încredere, retragerea intră în vigoare la un interval de reîmprospătare stabilit, nu ori de câte ori expiră un certificat. Software-ul este publicat sub licența Apache 2.0.","selvedge-rebuild.12399078d5":"Versiunea obișnuită a acestei conversații este o estimare. Cineva își dă seama ce versiune rula probabil, în ce zile, pentru ce persoane, iar răspunsul ajunge ca un interval cu o avertizare. Asta lasă faptele necesare pentru a dimensiona o corecție ca pe o reconstrucție, nu ca pe o înregistrare. Corecția începe cu o listă care poate fi verificată.","selvedge-rebuild.0ccfcd0de4":"Ce se schimbă","selvedge-rebuild.664ca13427":"Fiecare job înregistrează un cod scurt pentru programul exact care a făcut treaba. Nu numele lui, nu numărul versiunii, ci programul în sine, astfel încât două construcții care împărtășesc un nume să aibă totuși coduri diferite. Dacă acel program se dovedește ulterior defectuos, codul este modul prin care fiecare job atins de el este găsit.","selvedge-rebuild.7e5bd67fe6":"și fiecare job atins de el","selvedge-rebuild.b27d103669":"Un singur cod numește programul","selvedge-rebuild.332f693bb9":"Când ceva se dovedește greșit","selvedge-rebuild.e7dceacc68":"Când ceva se dovedește greșit, un singur cod numește programul.","selvedge-rebuild.9c9d8ebf4c":"Începe din aceeași formă curată.","selvedge-rebuild.363b82b08d":"Job doi","selvedge-rebuild.5e92b89d0f":"Nimic adus.","selvedge-rebuild.747a74c704":"Camere noi","selvedge-rebuild.bbd11eef60":"Închis cu înregistrarea sa.","selvedge-rebuild.e429b951d7":"Job unu","selvedge-rebuild.129567cb21":"înainte, în timpul și după","selvedge-rebuild.456de19ceb":"Trei camere","selvedge-rebuild.164f8ae614":"NIMIC ÎMPĂRTĂȘIT","selvedge-rebuild.16d6f8e910":"DE FIECARE DATĂ","selvedge-rebuild.09d2a97782":"CAMERĂ NOUĂ","selvedge-rebuild.fb65ff4141":"Programul în sine este încărcat proaspăt de fiecare dată din propriul cod, iar chitanța poartă un cod pentru acel cod, astfel încât ceea ce a rulat astăzi este în mod demonstrabil ceea ce a rulat luna trecută. Nimic nu se acumulează între timp de care să-și facă cineva griji mai târziu.","selvedge-rebuild.b0f5fcfbc7":"O cameră Selvedge nouă costă atât de puțin încât una per job este accesibilă, deci nimic nu trebuie împărtășit. Dacă ceva chiar trebuie să treacă mai departe, este predat intenționat și apare în înregistrare ca ceva care a fost predat.","selvedge-rebuild.46cfb3934a":"În practică","selvedge-rebuild.ff26c0ce98":"Fiecare job primește o cameră nouă. Nimic din cea anterioară nu este în ea: nicio notă rămasă, nicio lucrare neterminată, nicio amintire a cine a cerut. Asta sună evident și de obicei nu este adevărat, pentru că menținerea unei camere în picioare este mai ieftină decât construirea uneia noi, așa că majoritatea sistemelor păstrează camera și o reutilizează.","selvedge-rebuild.7f6bde3487":"pentru ca următorul job să găsească","selvedge-rebuild.0813f2a065":"Nimic nu este lăsat în urmă","selvedge-rebuild.e0a28255b6":"Între un job și următorul","selvedge-rebuild.ddf86350ec":"O cameră nouă este gata pentru următorul job.","selvedge-rebuild.47d52db543":"Rezumatul politicii și data.","selvedge-rebuild.d8c67f88b7":"Listă de capacități numită.","selvedge-rebuild.8d71e4a6c8":"Ce a fost permis","selvedge-rebuild.1be6bb3160":"Ieșire, rezultat și utilizarea resurselor.","selvedge-rebuild.7661e6591f":"Ce s-a întâmplat","selvedge-rebuild.5354effb89":"o chitanță, două întrebări","selvedge-rebuild.bf7aa926cc":"Două jumătăți","selvedge-rebuild.8719258390":"SCRIS","selvedge-rebuild.d45d38b1c1":"CE A PUTEA","selvedge-rebuild.103f9176a0":"CE A FĂCUT","selvedge-rebuild.fc09104420":"A nu găsi nimic este o dovadă slabă, pentru că depinde de cât de atent a căutat cineva și cât timp a avut înainte de întâlnire. O listă de două permisiuni este o dovadă puternică, pentru că nu mai era nimic altceva de găsit.","selvedge-rebuild.e7e3ece016":"Schimbă ce se întâmplă când pui o întrebare mai târziu. În loc ca cineva să treacă prin ce a făcut programul și să raporteze că nu a găsit nimic îngrijorător, lista de permisiuni este chiar acolo și este scurtă.","selvedge-rebuild.74365019ac":"Cele mai multe înregistrări îți spun ce a făcut un program. O chitanță Selvedge spune și ce i s-a permis să facă, ceea ce este un lucru diferit și mai util. Un program căruia nu i s-a permis niciodată să se apropie de fișierele tale nu a putut fi lângă fișierele tale, iar acest lucru este consemnat, indiferent dacă cineva se întâmpla să privească în acel moment.","selvedge-rebuild.b418919876":"ce a făcut și ce a putut","selvedge-rebuild.f0ba8e6e92":"Fiecare chitanță are două jumătăți","selvedge-rebuild.a9fe3bc508":"Permisiune, scrisă","selvedge-rebuild.76194111ba":"Un cod nu este o copie a programului; el numește exact lucrul care a rulat.","selvedge-rebuild.17cabedb50":"Lista spune unde.","selvedge-rebuild.67452c68d0":"Codurile diferă","selvedge-rebuild.c1c7f44d1c":"Comportamentul s-a repetat.","selvedge-rebuild.0407e20f79":"Codurile coincid","selvedge-rebuild.90586d801f":"Aceleași setări și artefact.","selvedge-rebuild.dba9e64b97":"Rulează mâine","selvedge-rebuild.bd7b414b53":"Intrare, cameră și chitanță.","selvedge-rebuild.c941dde6f2":"Rulează azi","selvedge-rebuild.7b1c52fa95":"ce îți spune a doua rulare","selvedge-rebuild.bebe96c4de":"Un test, două rezultate","selvedge-rebuild.e1c7f38f86":"POȚI VERIFICA","selvedge-rebuild.b00a146670":"ACELAȘI RĂSPUNS","selvedge-rebuild.64ee12f3fd":"ACELAȘI MOMENT","selvedge-rebuild.698a936171":"Închide și un mic truc. Un program care poate citi ceasul se poate comporta într-un fel înainte de un termen și altfel după el, iar nimeni nu ar vedea vreodată diferența. Un ceas care nu se mișcă nu poate fi urmărit, așa că nu există nimic față de care să te comporți diferit.","selvedge-rebuild.d722dbffa2":"Îți oferă un test pe care îl poți rula singur. Dacă ceva pare greșit, rulează-l din nou cu aceeași intrare. Dacă răspunsul este același, programul se comportă corect, iar problema este în altă parte. Dacă este diferit, ceva s-a schimbat, iar comparația spune care parte.","selvedge-rebuild.750c2096f3":"De ce contează","selvedge-rebuild.7768a95a4a":"Cele mai multe programe dau răspunsuri ușor diferite de fiecare dată, pentru că se uită la ceas, folosesc un pic de întâmplare sau observă cât de ocupată este mașina. Un program care rulează în Selvedge nu poate face nimic din toate acestea. Ceasul din interior este fix și nu se mișcă niciodată, iar orice element aleatoriu pornește de la același număr la fiecare rulare. Întreabă de două ori, primești același răspuns.","selvedge-rebuild.00bc249842":"și vezi dacă mai coincide","selvedge-rebuild.1797b92182":"Rulează-l din nou mâine","selvedge-rebuild.0d971150f5":"Același răspuns de două ori","selvedge-rebuild.0ce33bc17c":"Rulează-l din nou mâine și vezi dacă mai coincide.","selvedge-rebuild.780591dd40":"Lucrarea s-a împăturit împreună.","selvedge-rebuild.b454191161":"Rulează codul","selvedge-rebuild.0d36ec2dc8":"Capturat și amprentat.","selvedge-rebuild.c35f4d270f":"Răspuns returnat","selvedge-rebuild.12f6bce42d":"Ieșire tipărită","selvedge-rebuild.e45f48ada6":"și un cod pentru fiecare","selvedge-rebuild.96a145870f":"Două lucruri","selvedge-rebuild.4056de166c":"AMBELE AMPRENTATE","selvedge-rebuild.3736161d33":"RETURNAT","selvedge-rebuild.07d3782dee":"TIPĂRIT","selvedge-rebuild.7362fe572e":"Este aceeași idee ca un sigiliu pe un plic, dar face mai mult. Un sigiliu îți spune că scrisoarea a fost deschisă. Acesta îți spune care pagină s-a schimbat și funcționează și atunci când scrisoarea a fost copiată de o duzină de ori de atunci. Fiecare cititor primește același răspuns din înregistrarea copiată.","selvedge-rebuild.7ffcd03942":"Acest cod este ceea ce face o discuție ulterioară scurtă. Dacă cineva îți arată un răspuns pe care un program l-a dat în martie anul trecut și vrei să știi dacă este răspunsul care a ieșit efectiv, compari codurile. Se potrivesc sau nu, și nu există nimic la mijloc de discutat.","selvedge-rebuild.940394c7d2":"Când treaba este gata, două lucruri ies din cameră: orice a tipărit programul în timp ce lucra și răspunsul pe care l-a calculat. Nimic altceva. Ambele sunt amprentate la ieșire, ceea ce înseamnă că se face un cod scurt din ele, iar codul se schimbă complet dacă se schimbă o singură literă.","selvedge-rebuild.690d8dd7a6":"și ambele sunt amprentate","selvedge-rebuild.72f4db7882":"Două lucruri se întorc","selvedge-rebuild.1251cc0dd7":"Ce se întoarce","selvedge-rebuild.8d77e5771a":"Următoarea întrebare utilă este ce se întoarce.","selvedge-rebuild.ec6f32ee39":"Niciun mediu.","selvedge-rebuild.a6252b6690":"Detaliile tale","selvedge-rebuild.fb9f6423d9":"Niciun director.","selvedge-rebuild.f1096a5b4c":"Fișierele tale","selvedge-rebuild.4c4c583f2e":"Nicio conexiune.","selvedge-rebuild.66c06c11d1":"Internet","selvedge-rebuild.ac8e062358":"Un slot, o treabă.","selvedge-rebuild.bb7841ee3e":"Programul tău","selvedge-rebuild.8b493952a7":"și ce nu este","selvedge-rebuild.4d26f69b94":"Ce este în cameră","selvedge-rebuild.660cea3ce9":"UN SLOT","selvedge-rebuild.f1818b9fef":"NIMIC DE CITIT","selvedge-rebuild.98a2180aec":"NICI O IEȘIRE","selvedge-rebuild.663ab35faf":"Deci nu te bazezi pe faptul că cineva s-a gândit la tot dinainte. Aceasta este partea care de obicei eșuează, și eșuează tăcut, luni mai târziu, într-un mod pe care nimeni nu îl observă până când altcineva nu îl semnalează. O listă scurtă și explicită face vizibilă o permisiune lipsă înainte ca aceasta să devină o problemă.","selvedge-rebuild.0e9905b668":"Motivul pentru care ajută nu este că programul este urmărit cu atenție. Este că nu există nimic în cameră care să meargă prost. Un program nu poate trimite detaliile tale nicăieri dacă nu există nicio ieșire prin care să le trimită și nu poate citi fotografiile tale dacă ușa către ele nu a fost construită niciodată.","selvedge-rebuild.22ccf30775":"Programe pe care nu le-ai scris tu ajung să ruleze pe computerul tău tot timpul: un add-on, un plug-in, ceva ce un asistent a decis să folosească pentru a-ți răspunde la întrebare. Selvedge pune acel program într-o cameră proprie. Din interior nu există internet, nicio cale către fișierele tale și nimic de aflat despre mașina ta.","selvedge-rebuild.9e56594623":"și nimic altceva deloc","selvedge-rebuild.6b5631ed3a":"O cameră cu un singur slot în ea","selvedge-rebuild.704869f20f":"Pe scurt","selvedge-rebuild.160543d3ec":"O cameră poate fi explicată și pe scurt.","selvedge-rebuild.6e66049bd0":"Lanț de decizii și cinci operațiuni.","selvedge-rebuild.140855a7dd":"Audit și cale agent","selvedge-rebuild.be90f07014":"Dovadă în afara operatorului.","selvedge-rebuild.c3f6368941":"Jurnal de transparență","selvedge-rebuild.4402f8d6f4":"Admitere și adresă de conținut.","selvedge-rebuild.1fd6a805da":"Registru","selvedge-rebuild.943a71d70f":"Izolare și execuție deterministă.","selvedge-rebuild.0a771c36be":"Sandbox","selvedge-rebuild.493bbfc72f":"granița, dovada, predarea","selvedge-rebuild.6311787659":"Ce conține setul","selvedge-rebuild.c968638a6e":"APACHE 2.0","selvedge-rebuild.d0158524ed":"HARDWARE-UL TĂU","selvedge-rebuild.cfd1b83141":"UN SINGUR SET DE COMPONENTE","selvedge-rebuild.2c4db760cf":"Restul costului este cel pe care achiziția îl uită de obicei, adică ce se întâmplă când un furnizor schimbă termenii sau nu mai răspunde. Setul de componente este publicat sub Apache 2.0, artefactele sunt fișiere cu adresare de conținut, înregistrările sunt fișiere, iar verificarea rulează pe mașina celeilalte părți, așa că o ieșire este o copie, nu o migrare.","selvedge-rebuild.c69320538d":"Costul recurent al unei rulări este măsurat, nu estimat: 5,26 până la 6,06 microsecunde per apel prin graniță și mult sub o milisecundă pentru a porni o instanță nouă, pe un Intel i9-13900KF cu o versiune release, optimizare fat link-time și Rust 1.85.0. Acesta este tot ce costă înregistrarea la rulare.","selvedge-rebuild.59bd1ff6f9":"Cât costă","selvedge-rebuild.662cd46273":"Selvedge este un singur set de componente care acoperă runtime-ul sandbox, registrul de artefacte, jurnalul de transparență, traseul de audit cu lanț de hash-uri și interfața prin care un agent ajunge la un instrument. Rulează pe hardware pe care îl controlezi. Nimic extern nu se află pe calea unei rulări: niciun cont, nicio cheie deținută de un furnizor, niciun serviciu care trebuie să răspundă pentru ca o sarcină să se termine.","selvedge-rebuild.9ce257fa8d":"și rulează pe hardware-ul tău","selvedge-rebuild.b1c3183260":"Un singur toolchain, nu patru","selvedge-rebuild.dea6811b37":"Ce înlocuiește","selvedge-rebuild.86c78780e9":"Un singur toolchain, pe hardware pe care îl deții, este închiderea comercială.","selvedge-rebuild.b742347ca6":"Oprește sau arată istoricul.","selvedge-rebuild.80b0178666":"Anulare / proveniență","selvedge-rebuild.2976625857":"Rulează în interiorul camerei.","selvedge-rebuild.c65605adf5":"Invocă","selvedge-rebuild.084d82061e":"Admite artefactul.","selvedge-rebuild.fd6c3ebf7b":"Instalează","selvedge-rebuild.820fa7ff41":"Găsește o capacitate numită.","selvedge-rebuild.4827ea2271":"Descoperă","selvedge-rebuild.38025e67e1":"o singură ușă pentru instrumentele agent","selvedge-rebuild.41cb4bf6dc":"Cinci operațiuni","selvedge-rebuild.3501cb4872":"FĂRĂ APROBĂRI","selvedge-rebuild.9054eecb7b":"PROVENIENȚĂ LA CERERE","selvedge-rebuild.0cd0da7fef":"O SINGURĂ UȘĂ","selvedge-rebuild.e088784883":"Ulterior, proveniența a ceea ce a rulat poate fi cerută, iar aceasta este partea în jurul căreia merită proiectat un proces: adresa proprie a artefactului, dacă semnătura lui rezistă, certificatul prezentat cu el, politica sub care a rulat și unde a fost executat înainte. Aceste fapte rămân disponibile când o rulare trebuie verificată mai târziu. Pot fi verificate fără a avea încredere în persoana care a rulat.","selvedge-rebuild.c3c0f81705":"Controalele de aici nu sunt aprobări, pentru că o aprobare are nevoie de cineva treaz. Ele sunt forma ușii. Un instrument este descoperit, instalat și invocat printr-o singură interfață de cinci operațiuni, astfel încât fiecare sosire este același tip de eveniment, iar verificarea care refuză o capacitate este cea prin care trece fiecare altă rulare, nu un al doilea mecanism scris special pentru agenți.","selvedge-rebuild.896b2f37be":"Mecanismul","selvedge-rebuild.122ebb7a98":"Un asistent care lucrează la o sarcină poate decide că are nevoie de o capacitate pe care nu o are, poate găsi una și poate începe să o folosească într-o singură bucată de muncă pe care nimeni nu o urmărește. Nu a existat un pas de achiziție și nicio revizuire, pentru că nu a existat niciun moment în care să le pui. Selvedge este granița prin care asistentul trebuie să treacă, iar raportul de la final numește ce instrument a sosit, ce i s-a permis și ce a făcut.","selvedge-rebuild.deeaa912ba":"și este deja înăuntru","selvedge-rebuild.767c396612":"Nimeni nu a ales acest instrument","selvedge-rebuild.d368c82df4":"Când apelantul este un model","selvedge-rebuild.ee26c4f440":"Când apelantul este un model, o singură ușă menține sosirea lizibilă.","selvedge-rebuild.9faf774569":"Aplică politica de tarifare.","selvedge-rebuild.ee1acfa55e":"Autentificare","selvedge-rebuild.9bbe32214f":"Inspectează înregistrarea rulării.","selvedge-rebuild.78590ea6e5":"Limită de resurse","selvedge-rebuild.ed9390115c":"Reîncearcă cu backoff-ul specificat.","selvedge-rebuild.f4544d56bb":"Eroare de preluare","selvedge-rebuild.1455a7acb3":"Deschide circuitul.","selvedge-rebuild.f06cb33ba6":"Nepotrivire de digest","selvedge-rebuild.1be73b4878":"recuperarea călătorește cu eșecul","selvedge-rebuild.5dacd1167d":"Un cod, o singură mișcare următoare","selvedge-rebuild.3ac9292cf3":"FĂRĂ SCRAPING DE JURNALE","selvedge-rebuild.93aaff4907":"RECUPERARE SPECIFICATĂ","selvedge-rebuild.dbba85fbb0":"CODURI STABILE","selvedge-rebuild.3b6e2d01ab":"Acolo unde o capacitate este refuzată, mesajul listează tipurile care ar fi fost valide, ceea ce este diferența dintre o după-amiază de ghicit și o schimbare de o linie. O eroare care își numește propria remediere este cea mai ieftină documentație scrisă vreodată. Corecția este apoi explicită.","selvedge-rebuild.1fb184edcf":"Strategia de recuperare este ceea ce separă cazurile care arată identic pe un dashboard la două dimineața. Un digest care nu se potrivește nu este tranzitoriu, așa că reîncercarea este timp pierdut, iar strategia atașată spune să deschizi circuitul, nu să încerci din nou. O preluare eșuată este tranzitorie și spune să reîncerci.","selvedge-rebuild.2f6a307ba7":"Pentru operatori","selvedge-rebuild.0a5279b594":"Documentația operațională eșuează atunci când trebuie scrisă pe baza textului din jurnale, pentru că textul jurnalelor se schimbă fără ca cineva să numească asta o schimbare. Erorile Selvedge poartă în schimb un cod stabil, iar un runbook care menționează codul rămâne corect chiar și după o actualizare care reformulează fiecare mesaj pe parcurs. Acolo unde codul include o strategie de recuperare, runbook-ul nu trebuie să ghicească una.","selvedge-rebuild.664b90089f":"este o eroare cu un runbook","selvedge-rebuild.c69f009f72":"O eroare cu un cod","selvedge-rebuild.d8bf8f167e":"Operabilitate","selvedge-rebuild.b4986d7d25":"O cameră nouă de fiecare dată este ceea ce face această dovadă accesibilă.","selvedge-rebuild.05f9859c50":"Ștergere de rutină, fără scripturi surpriză.","selvedge-rebuild.9e0dece16b":"Capătul îndepărtat","selvedge-rebuild.7ba8dfa987":"Adâncime fixă în spatele celui curent.","selvedge-rebuild.b850e7b847":"Fișiere mai vechi","selvedge-rebuild.e4eb2b5e27":"Ultimul hash transportat mai departe.","selvedge-rebuild.55e313d20f":"Cusătură","selvedge-rebuild.4e5fd99150":"Un obiect pe linie.","selvedge-rebuild.2c44db0063":"Fișierul curent","selvedge-rebuild.8dae783204":"când un fișier se rotește","selvedge-rebuild.888fb4bc11":"Ce rămâne și ce se mută","selvedge-rebuild.1191de056a":"BACKOFF","selvedge-rebuild.d47c87e179":"TOKENURI HASH-UIRE","selvedge-rebuild.eac901cef2":"ROTATION HOLDS","selvedge-rebuild.f7e2e2ba8c":"Încercările eșuate sunt limitate la cinci pe minut și încetinite cu o întârziere dublată de una, două, patru și opt secunde, iar un client care eșuează de douăzeci de ori în zece minute este blocat, nu doar încetinit. Asta transformă un atac de ghicire într-un ritm, nu într-un rezultat, și transformă un raport de incident într-un grafic pe care nimeni nu trebuie să îl interpreteze.","selvedge-rebuild.6736e35335":"Cealaltă eșec tăcut este reprezentat de credențialele dintr-o copie de rezervă. Tokenurile de autentificare sunt hash-uite cu argon2id înainte de a fi stocate, astfel încât un fișier copiat sau o imagine de memorie capturată nu conține nimic care să poată fi prezentat ca token. Copia de rezervă poate fi revizuită sau restaurată fără a deveni o scurgere de credențiale.","selvedge-rebuild.cac3da045e":"Cum se menține","selvedge-rebuild.652f961a36":"Volumul este gestionat de Selvedge, nu de un script pe care cineva își amintește să îl scrie. Jurnalul se rotește când fișierul depășește o anumită dimensiune, o adâncime fixă de fișiere mai vechi stă în spatele lui, iar fiecare rotație șterge fișierul de la capătul îndepărtat. Aici, ceea ce rămâne se verifică în continuare din propria ancoră, iar ceea ce a dispărut este vizibil ca o întrerupere.","selvedge-rebuild.62615faf30":"și lanțul supraviețuiește","selvedge-rebuild.d4854c73b7":"Rotația păstrează dovezile","selvedge-rebuild.d821e71a5b":"Retenție și acces","selvedge-rebuild.5dee0013ab":"Retenția este o politică, dar lanțul trebuie să îi supraviețuiască.","selvedge-rebuild.8d847cbbe6":"Jurnalul conține în continuare vechiul arbore.","selvedge-rebuild.0ea7b95eab":"Consistență","selvedge-rebuild.526411c35f":"Rădăcina și dimensiunea arborelui.","selvedge-rebuild.8639df5c74":"Cap de arbore semnat","selvedge-rebuild.b67622bea2":"Ruta de includere.","selvedge-rebuild.61922ee14e":"Hash-uri surori","selvedge-rebuild.11deeeb03e":"Lucrul care a fost admis.","selvedge-rebuild.2df596d9d9":"Digestul artefactului","selvedge-rebuild.26ef63813e":"după ce un artefact ajunge","selvedge-rebuild.e33d42e6b6":"Ce păstrează un client","selvedge-rebuild.da6c5f785f":"O SINGURĂ ADRESĂ","selvedge-rebuild.50419b986e":"DEMONSTRABIL EXTERN","selvedge-rebuild.80e513b0ff":"DOAR ADĂUGARE","selvedge-rebuild.82c17b3462":"Cealaltă jumătate nu necesită nicio decizie. O singură adresă de conținut identifică un artefact de la compilare prin registry până la rulare, ceea ce transformă o rechemare în ceva pe care îl execuți, nu doar îl anunți, iar un semnatar retras intră în vigoare la un interval de reîmprospătare, nu la o dată de expirare.","selvedge-rebuild.0e322153c8":"Publicarea jurnalului este o decizie pe care o iei o singură dată, iar acolo unde ai luat-o, cooperarea ta nu face parte din verificarea nimănui. Ei verifică prezența și creșterea față de o rădăcină pe care ai publicat-o, pe propria lor mașină, la un moment ales de ei. Rădăcina originală rămâne punctul public de referință.","selvedge-rebuild.fab7e71c01":"Garanția","selvedge-rebuild.7b85ff0b6e":"Slăbiciunea în fiecare evidență pe care o organizație o păstrează despre sine este că organizația o păstrează. Jurnalul de transparență Selvedge elimină această obiecție pentru o singură întrebare restrânsă, și anume ce a intrat. Unui client i se poate oferi o dovadă că un anumit artefact este în jurnal și o dovadă că jurnalul a crescut doar de la ultima verificare. Integritatea de includere și de doar-adăugare pot fi, prin urmare, verificate fără a avea încredere în operator.","selvedge-rebuild.66229e2d58":"fără a fi luat pe încredere","selvedge-rebuild.2cc484ffbc":"Dovedirea a ceea ce ai admis","selvedge-rebuild.4f9007e629":"Dovezi pe care nu le deții","selvedge-rebuild.cdcfb6c3c1":"Registry-ul spune ce a ajuns. Jurnalul de transparență permite altcuiva să verifice.","selvedge-rebuild.2a95479d68":"Transportat cu artefactul.","selvedge-rebuild.5f174de1cc":"Dovadă","selvedge-rebuild.f1f0ddab0b":"Eligibil pentru tipul respectiv.","selvedge-rebuild.0449e1003d":"Namespace","selvedge-rebuild.2e26c5d52d":"Octeți magici, nu o etichetă.","selvedge-rebuild.e00ac23f2a":"Tip","selvedge-rebuild.54e0cdb26f":"Lungime corectă, hexazecimal și prezent.","selvedge-rebuild.47fdd58bee":"Digest","selvedge-rebuild.409fa246aa":"și un răspuns la fiecare pull","selvedge-rebuild.112b824580":"Patru verificări la intrare","selvedge-rebuild.1858ed0f91":"OCI DIGESTS","selvedge-rebuild.0a6780b777":"TOKENURI NECESARE","selvedge-rebuild.67bf2475b1":"Accesul este o listă de tokenuri pe care le emiteți și le retrageți, stocate sub formă de hash cu argon2id, astfel încât un fișier copiat sau o imagine de memorie să nu conțină nimic prezentabil. Încercările eșuate sunt limitate la cinci pe minut cu o întârziere dublată, iar un client care eșuează de douăzeci de ori în zece minute este blocat complet. Limita rămâne vizibilă în înregistrarea încercării.","selvedge-rebuild.86269212e3":"O adresă de conținut identifică un artefact de la publicare până la extragere și înregistrarea rulării. Acea adresă face proveniența verificabilă: care build, când a fost admis, sub ce namespace, care deployment l-a extras și de câte ori a rulat. Aceeași adresă răspunde la fiecare dintre acestea ulterior, fără un al doilea index de sincronizat.","selvedge-rebuild.3d5033cca6":"Selvedge include un server de registry, astfel încât locul în care ajung artefactele terțe este un serviciu pe propriul hardware, nu un cont la altcineva. Ascultă pe o adresă publică doar când autentificarea prin token este activată, verifică patru lucruri la fiecare push și răspunde la pull-uri în digerii SHA-256 pe care ecosistemul larg le folosește deja, stocând totul intern sub SHA3-256.","selvedge-rebuild.224f72415e":"un registry pe care îl operați","selvedge-rebuild.bbd6ef38ef":"Furnizorii publică în","selvedge-rebuild.a0a03c8fd1":"Unde ajung artefactele","selvedge-rebuild.d1e24e5a34":"Un rezultat este mai ușor de apărat când locul în care a intrat este al vostru.","selvedge-rebuild.1111b73a8f":"Întrebați ce intrare a văzut invitatul.","selvedge-rebuild.4bed336194":"Ieșire","selvedge-rebuild.d7f27a4216":"Inspectați calea codului sau build-ul gazdei.","selvedge-rebuild.0b645d1b65":"Combustibil","selvedge-rebuild.de86466d91":"Același profil determinist.","selvedge-rebuild.c7f73bb54d":"Setări","selvedge-rebuild.36ffeb1c8a":"Același cod înseamnă o comparație relevantă.","selvedge-rebuild.c6fe330e04":"Artefact","selvedge-rebuild.02be99bd8d":"și ce înseamnă mai departe","selvedge-rebuild.a53a08f8c4":"Ce s-a mutat","selvedge-rebuild.bc2cb603df":"SAU CÂMPUL","selvedge-rebuild.4b885b786e":"ACEEAȘI ÎNREGISTRARE","selvedge-rebuild.ba9ebe1f95":"ACEEAȘI INTRARE","selvedge-rebuild.50479df67b":"Cu două înregistrări, răspunsul ajunge în aceeași după-amiază și numește un câmp, nu o parte, astfel încât a greși costă cât trebuie, iar a avea dreptate costă aproape nimic. Asta ar trebui să fie în contract înainte de prima dispută, nu descoperită în timpul uneia. Ambele părți pot repeta această verificare fără o altă întâlnire.","selvedge-rebuild.db0ac7feb8":"Un răspuns mecanic mută cine suportă costul argumentului. O cifră disputată astăzi consumă o săptămână din două echipe care compară sisteme ce nu au fost niciodată comparabile și tinde să se termine cu un credit de bunăvoință, pentru că nimeni nu poate arăta care parte a greșit și cineva trebuie să închidă ticketul. Nicio echipă nu poate produce o cifră pe care cealaltă parte este obligată să o accepte.","selvedge-rebuild.8134cbe2c9":"O contraparte spune că cifra primită este greșită. Voi aveți rularea voastră, iar ei au a lor. Compararea celor două înregistrări Selvedge este mecanică: comparația parcurge câmpurile și raportează fiecare diferență cu ce era așteptat și ce a sosit, astfel încât conversația începe cu ce câmp diferă, nu cu al cui sistem este de vină.","selvedge-rebuild.415a27590d":"câmp cu câmp, nu disputat","selvedge-rebuild.651b2f8627":"Două înregistrări comparate","selvedge-rebuild.a9cce5b9fe":"Un rezultat disputat","selvedge-rebuild.7c918d0343":"Un rezultat disputat este următorul: două înregistrări, comparate câmp cu câmp.","selvedge-rebuild.b457d4d9d3":"Memoria de vârf, timpul și instrucțiunile.","selvedge-rebuild.1e23ac57dd":"Cifre de resurse","selvedge-rebuild.f6c680ffb5":"Configurația în vigoare.","selvedge-rebuild.b44f987ea4":"Hash motor","selvedge-rebuild.ca1f09eab2":"Politica care le-a acordat.","selvedge-rebuild.945db98b77":"Digest politică","selvedge-rebuild.be7bd7e933":"Capabilități numite de rulare.","selvedge-rebuild.f761a72878":"Listă acordată","selvedge-rebuild.8be583ccfd":"răspuns dintr-un singur document","selvedge-rebuild.abfa32a842":"Patru întrebări","selvedge-rebuild.80935eb972":"DATED","selvedge-rebuild.c3cb9355f8":"POLITICA ÎN RULARE","selvedge-rebuild.506221fd52":"ACORDAT, LISTAT","selvedge-rebuild.4d5c5b7775":"Același raport include digerii certificatelor verificate și ce a consumat rularea în memorie de vârf, timp de procesor și instrucțiuni. Întrebarea ulterioară este întotdeauna ce a folosit efectiv, iar răspunsul este deja pe pagină, nu cu o a doua echipă care lucrează după un alt ceas și o altă definiție a incidentului. Susține un răspuns direct cât timp dovezile sunt încă proaspete.","selvedge-rebuild.06d0c87ca8":"Asta transformă un argument într-o căutare. Un regulator care întreabă dacă o componentă ar fi putut ajunge la înregistrările clienților primește un răspuns cu o dată, nu o asigurare despre intenție. Răspunde la o întrebare istorică specifică: a avut această componentă numită, la această rulare, o rută către acele înregistrări? Răspunsul nu depinde de cineva care își amintește mai târziu intenția furnizorului.","selvedge-rebuild.5c82441a97":"Înregistrarea","selvedge-rebuild.6cdd02da63":"Întrebarea incomodă după un incident este rareori ce a făcut software-ul. Este ce i s-a permis să facă, iar în majoritatea mediilor răspunsul este asamblat din fișiere de configurare, istoric de deployment și memoria cuiva. Fiecare rulare Selvedge produce un raport care numește capabilitățile acordate, politica care le-a acordat și un hash al setărilor în vigoare.","selvedge-rebuild.020ea9fcbe":"și ce i s-a permis","selvedge-rebuild.cd553c8839":"Fiecare rulare spune ce a făcut","selvedge-rebuild.5e367f020e":"Întrebarea după un incident","selvedge-rebuild.f2edf768d8":"O înregistrare transformă întrebarea furnizorului într-o căutare.","selvedge-rebuild.0c347f9e0f":"Fără bloc de mediu sau argumente.","selvedge-rebuild.c701ab1556":"Moștenește accesul nostru?","selvedge-rebuild.f2df9d1888":"Niciun director nu este deschis.","selvedge-rebuild.e98ce49657":"Poate lăsa un fișier?","selvedge-rebuild.99436e239e":"Nicio rețea nu este prezentă implicit.","selvedge-rebuild.1c017e2833":"Poate trimite date?","selvedge-rebuild.68b0d04e37":"Doar lumi declarate și capabilități numite.","selvedge-rebuild.fd5147edb1":"La ce poate atinge?","selvedge-rebuild.51992f6040":"scris ca patru răspunsuri","selvedge-rebuild.7bcd533661":"Cel mai rău caz","selvedge-rebuild.80b36fb606":"DECLARAT","selvedge-rebuild.a419f58f13":"CEL MAI RĂU CAZ MIC","selvedge-rebuild.be725ffbc0":"NIMIC DE ATINS","selvedge-rebuild.eb3afa60c4":"O componentă care nu a cerut niciodată nimic dincolo de intrarea și ieșirea ei este descrisă complet într-o singură linie, și nimeni nu trebuie să întrețină acea linie pentru ca ea să rămână adevărată peste un an. Aceasta este partea care o face utilizabilă într-un document pe care cineva îl semnează.","selvedge-rebuild.86f054031c":"Aceasta schimbă forma conversației cu furnizorul. Întrebarea nu mai este dacă ingineria furnizorului este solidă, lucru pe care nu îl poți verifica și pe care ei nu îl pot dovedi, ci devine ce i s-a acordat artefactului, lucru care este scris pe loc.","selvedge-rebuild.1debddb64e":"Codul care sosește de la un furnizor sau de la un contribuitor extern rulează în Selvedge fără conexiune la rețea, fără director deschis pentru el, fără mediu de citit și fără argumente. Nu este ținut departe de aceste lucruri printr-o regulă pe care cineva trebuie să o întrețină. Ele nu sunt acolo. Consecința pentru o evaluare a riscurilor este că cel mai rău caz este suficient de mic pentru a fi scris într-o propoziție.","selvedge-rebuild.6be7d30a6b":"într-o cameră goală","selvedge-rebuild.6df473a455":"Un artefact prost aterizează","selvedge-rebuild.e948526d56":"Care este cel mai rău caz","selvedge-rebuild.0b8ad471af":"Următoarea întrebare este la ce poate ajunge cel mai rău caz.","selvedge-rebuild.a02a250db5":"Selectat în momentul lucrului.","selvedge-rebuild.c257ef4501":"Ales de agent","selvedge-rebuild.cf63b964fc":"Nimeni din cameră nu l-a ales.","selvedge-rebuild.2054305e05":"Dependență tranzitivă","selvedge-rebuild.cdf3fea97a":"Altcineva deține lansarea.","selvedge-rebuild.8cbf4d00a5":"Dependență directă","selvedge-rebuild.b71aa2a2b1":"O echipă îl poate revizui.","selvedge-rebuild.1ea8c912d2":"Scris aici","selvedge-rebuild.332edb5a4d":"și când l-a citit cineva ultima dată","selvedge-rebuild.66cd35e493":"Patru moduri în care ajunge","selvedge-rebuild.9520a29c14":"O ÎNREGISTRARE","selvedge-rebuild.2271914641":"ACOPERIREA DECISĂ MAI ÎNTÂI","selvedge-rebuild.e07e85e80d":"NU REVIZUIREA","selvedge-rebuild.8d05721c00":"Selvedge lucrează cu cele două lucruri care supraviețuiesc acestui fapt: acoperirea decisă înainte ca codul să ajungă și înregistrarea păstrată după ce pleacă. Ambele sunt disponibile în ziua în care un furnizor livrează ceva ce nimeni din clădire nu a deschis. Este o dovadă pe care cineva o poate păstra independent.","selvedge-rebuild.d0d23ca94c":"Fiecare control din această zonă presupune un moment în care o persoană ar fi putut să se uite. Revizuirea achizițiilor presupune asta. Revizuirea codului presupune asta. Un instrument selectat de un agent în timp ce rulează elimină complet acel moment și o face pentru sarcinile care cresc cel mai rapid.","selvedge-rebuild.560556f058":"Dependențe pe care nimeni nu le-a citit, pluginuri de la furnizori, integrări care se actualizează după propriul program și acum instrumente alese de un model în momentul în care rulează. Revizuirea tuturor acestora nu a fost niciodată realistă. Selvedge schimbă întrebarea de la dacă codul este de încredere la ce poate atinge codul și ce poți spune despre el ulterior cuiva din afara clădirii tale.","selvedge-rebuild.0d07a7b2f6":"și nimeni de aici nu l-a citit","selvedge-rebuild.546fb9cede":"Nu ai scris tu cea mai mare parte","selvedge-rebuild.55874251d8":"Implicitul pe care nimeni nu l-a ales","selvedge-rebuild.82b00203b9":"Ceea ce au în comun cele șase este că un străin poate verifica rularea pe care au produs-o.","selvedge-rebuild.8f4639c201":"Sigilat dacă nu este declarat.","selvedge-rebuild.a6a6318544":"GPU","selvedge-rebuild.c99a2bcf3e":"Observă","selvedge-rebuild.316ccc52a4":"Nu poate semnala un alt proces.","selvedge-rebuild.6f8e6cc6ac":"Propria durată de viață","selvedge-rebuild.30fd44bcfe":"Cheia rămâne în afară.","selvedge-rebuild.a7f47e6eb3":"Operațiuni, nu chei","selvedge-rebuild.f685d27aeb":"O fereastră, nu un sistem de fișiere.","selvedge-rebuild.ff764e20d1":"După prefix","selvedge-rebuild.e160d76fcb":"Un instrument nenumit nu există aici.","selvedge-rebuild.f1aae84762":"Apeluri numite doar","selvedge-rebuild.07e959a70b":"și cât costă să ceri","selvedge-rebuild.665388e0b3":"Șase lumi","selvedge-rebuild.06348a4532":"NUMIT PE LINIE","selvedge-rebuild.afe70011f9":"CERE, NU ATINGE","selvedge-rebuild.1013aec36c":"ȘASE LUMI","selvedge-rebuild.60562d5b0b":"Aceasta înseamnă și că înregistrarea unei rulări este lizibilă fără a cunoaște componenta. Fiecare linie din ea numește lumea prin care a trecut apelul, astfel încât o rulare care a atins două lumi are patru care sunt dovedit goale, iar un revizor poate stabili asta din înregistrare, nu din sursă. Toate cele șase lumi sunt distribuite sub Apache 2.0, astfel încât granița pe care se bazează un revizor este una pe care o poate citi el însuși.","selvedge-rebuild.63f511d5c2":"O singură capacitate numită extern ar fi mai simplu de implementat și inutilă pentru raționament, pentru că acordarea ei nu îi spune nimic unui revizor. Șase lumi înseamnă că o acordare este o propoziție pe care cineva o poate citi: această componentă poate apela două instrumente numite, poate citi un prefix și nimic altceva. Aceasta fixează și limita pe care un operator are voie să o acorde. Acea limită este vizibilă în chitanță.","selvedge-rebuild.819cfda982":"Accesul extern al unei componente este format din șase lumi numite: instrument, stocare, criptografie, proces, observare și gpu. Fiecare este declarată înainte de pornire; o lume nedeclarată este absentă din mediu. O acordare numește astfel o operațiune și granița ei, nu o promisiune vagă de acces extern. Chitanța înregistrează aceste acordări pe linie, astfel încât un revizor poate vedea care lumi au rămas goale fără a citi configurația gazdei.","selvedge-rebuild.cd867e3f2c":"și nicio cale de a ajunge dincolo","selvedge-rebuild.06850e8469":"Șase lumi din care să ceri","selvedge-rebuild.09d7280b63":"Întreaga suprafață de capacități","selvedge-rebuild.4e01209ac7":"Ceea ce lasă cea mai simplă întrebare: ce are voie o componentă să ceară de fapt?","selvedge-rebuild.8539c9a9d8":"i9-13900KF, Rust 1.85.0, fat LTO.","selvedge-rebuild.07dc1b32f0":"Mașină numită","selvedge-rebuild.04f0c3f5a6":"Mult sub o milisecundă.","selvedge-rebuild.c79e051c62":"Sandbox proaspăt","selvedge-rebuild.46e30f38ba":"22 până la 27 de nanosecunde.","selvedge-rebuild.aff4ba3800":"Încorporare directă","selvedge-rebuild.7d8c6afdf3":"5.26 până la 6.06 microsecunde.","selvedge-rebuild.a4d57a9359":"Graniță limitată","selvedge-rebuild.122385cbbe":"măsurat pe o singură mașină numită","selvedge-rebuild.224d7c9838":"Ce costă și ce oferă","selvedge-rebuild.cc282eac1e":"PORNIRE SUB-MILISECUNDĂ","selvedge-rebuild.9a1cbd0dc8":"APEL DE 6 MICROSECUNDE","selvedge-rebuild.66b7fb60dc":"Ceea ce recuperează costul se află la celălalt capăt. O instanță nouă se ridică în mai puțin de o milisecundă pe acel hardware, așa că o cameră per cerere este accesibilă, nu un lux rezervat pentru lucrul în loturi. Nimic nu se transferă între rulări, iar pool-ul care le deservește achiziționează și eliberează un slot în timp constant.","selvedge-rebuild.6d37e34f65":"Măsurat pe un Intel i9-13900KF, build de lansare cu optimizare fat link-time, Rust 1.85.0, o sută de eșantioane per cifră după o încălzire de trei secunde. Suita de benchmark-uri vine cu proiectul și fixează versiunea a tot ceea ce compară, astfel încât numerele pot fi reproduse pe propria mașină.","selvedge-rebuild.5b487a198c":"Măsurarea","selvedge-rebuild.ce2547f5f6":"Apelul limitat în proces costă între 5,26 și 6,06 microsecunde. O înglobare simplă costă între 22 și 27 de nanosecunde. Diferența este verificarea importului, ceasurile înlocuite și chitanța, prețuite per apel. Aceste cifre provin dintr-un build de lansare după încălzire, nu o promisiune despre orice gazdă. Suita de benchmark-uri este fixată pe versiune și vine cu proiectul, astfel încât o contraparte poate rula din nou comparația pe propria mașină.","selvedge-rebuild.eb0bea042b":"și acesta este numărul","selvedge-rebuild.80244c6031":"Granita are un preț","selvedge-rebuild.59f208dd86":"Măsurat, cu condițiile","selvedge-rebuild.1c554966f5":"Toate acestea sunt în continuare propriul tău fișier pe propriul tău disc, așa că dă verificarea altcuiva.","selvedge-rebuild.1abf201fe1":"Ce a admis sau a retras registrul.","selvedge-rebuild.c4a1e99a74":"Artefact intrat sau ieșit","selvedge-rebuild.99dc0fd69a":"Când un client a fost refuzat.","selvedge-rebuild.14681ed6ee":"Rată sau dimensiune atinsă","selvedge-rebuild.da84e101f9":"Care limită a încheiat care rulare.","selvedge-rebuild.c7deb27f03":"Buget epuizat","selvedge-rebuild.dfd95f1763":"Politică, artefact, motiv și verificări.","selvedge-rebuild.de43b346ca":"Capabilitate refuzată","selvedge-rebuild.0860379105":"decizii, nu apeluri","selvedge-rebuild.770ce14a0d":"Despre ce este o intrare","selvedge-rebuild.d302fd1542":"ROTAȚIE","selvedge-rebuild.736d1d19bd":"LANȚUL SUPRAVIEȚUIEȘTE","selvedge-rebuild.0f26f75355":"O LINIE, UN HASH","selvedge-rebuild.4fd6822dee":"Acesta este tipul de înregistrare care merită costul verificării, pentru că este tipul despre care oricine discută. Nimeni nu contestă că o funcție a fost apelată. Contestă dacă o componentă ar fi trebuit să aibă acces la o înregistrare a unui client în primul rând, iar aceasta este o linie în acest fișier cu un hash de fiecare parte. Decizia rămâne disponibilă pentru un recenzor ulterior.","selvedge-rebuild.52fc58dd92":"Opt tipuri de intrări sunt adăugate, iar fiecare dintre ele este o decizie, nu un apel. O intrare de aplicare a politicii conține identificatorul politicii, digestul artefactului, rezultatul, motivul pentru o respingere și lista capabilităților verificate pentru a ajunge la ea. Admiterea, execuția începută, execuția finalizată, încălcarea limitei de resurse, limita de rată, limita de dimensiune și extragerea artefactului completează restul.","selvedge-rebuild.dc375c42ba":"Fișierul de audit este un obiect pe linie. Fiecare linie hash-uiește propriul conținut împreună cu hash-ul anterior; elimină una și fiecare hash ulterior nu se mai potrivește. Rotația transportă ultimul hash în următorul fișier ca ancoră. Intrările descriu decizii precum aplicarea politicii, admiterea, finalizarea execuției, limitele de rată sau dimensiune și o extragere de artefact. Un recenzor ulterior poate astfel întreba de ce o rulare a fost refuzată, nu doar dacă a avut loc un apel.","selvedge-rebuild.dfc80074cc":"deci o ștergere apare","selvedge-rebuild.69fcfe76f1":"Fiecare linie reține ultimul","selvedge-rebuild.aee1333814":"Fișierul de audit","selvedge-rebuild.5a622af936":"Aceeași disciplină, aplicată deciziilor pe care cineva le va contesta mai târziu.","selvedge-rebuild.fb3c095122":"O rădăcină la o dimensiune trecută.","selvedge-rebuild.a6b6f9fa4d":"Care a fost rădăcina?","selvedge-rebuild.9410fb5d00":"Un cap de arbore semnat.","selvedge-rebuild.25c2799dca":"Care este rădăcina?","selvedge-rebuild.37a62a6d90":"O dovadă de consistență între dimensiunile arborelui.","selvedge-rebuild.39a9a225ab":"S-a schimbat?","selvedge-rebuild.13d3c8a85e":"Un drum scurt de la artefact la rădăcină.","selvedge-rebuild.0791d2b497":"Este acolo?","selvedge-rebuild.7729d17652":"fără să aibă încredere în operatorul său","selvedge-rebuild.12b003c6ac":"Patru întrebări la care răspunde","selvedge-rebuild.e533871af4":"CAP SEMNAT","selvedge-rebuild.e9912b4293":"CONSISTENȚĂ","selvedge-rebuild.830294fe4a":"DOVADĂ DE INCLUZIUNE","selvedge-rebuild.15627b2116":"Eliminarea este ceea ce forma face costisitoare. Scoate o intrare și fiecare dovadă pe care cineva o deține asupra acelei părți a arborelui încetează să se verifice, pe mașina lor, fără ca cineva să fie nevoit să privească. Această proprietate este ceea ce cumpără un client când cere o dovadă de incluziune în loc de o captură de ecran.","selvedge-rebuild.0986321b82":"Un client păstrează rădăcina care i-a fost înmânată, iar fiecare afirmație ulterioară despre jurnal trebuie să fie de acord cu rădăcina deja în mâinile lor. Nimic în această verificare nu implică pe cel care rulează jurnalul. Clientul deține acea dovadă independent, astfel încât verificarea rămâne posibilă chiar și atunci când operatorul nu are nimic de adăugat.","selvedge-rebuild.af125678b5":"Fiecare artefact admis este adăugat la un arbore Merkle: frunzele folosesc prefixul 0x00, iar nodurile interne 0x01. Incluziunea într-un jurnal cu un milion de intrări necesită douăzeci de hash-uri, astfel încât un client o poate verifica pe propria mașină. Un cap de arbore semnat fixează rădăcina la o dimensiune, în timp ce dovezile de consistență arată că rădăcinile ulterioare o extind, nu o înlocuiesc. Operatorul furnizează dovada; clientul efectuează verificarea.","selvedge-rebuild.85aa50a3b8":"cuiva din afara lui","selvedge-rebuild.6f39cde263":"Jurnalul se dovedește singur","selvedge-rebuild.0a295dee94":"Jurnalul append-only","selvedge-rebuild.e77dce4f9b":"Admiterea unui artefact este una. Dovedirea ulterioară că l-ai admis este alta.","selvedge-rebuild.86aa1f5eed":"Vine cu artefactul și este redat la verificare.","selvedge-rebuild.343cb675ac":"Namespace eligibil pentru acest tip.","selvedge-rebuild.709a23220f":"Nume","selvedge-rebuild.f8123c295a":"Primii patru octeți, niciodată un nume de fișier.","selvedge-rebuild.fc92e820c6":"Lungime corectă, hexazecimal și prezent.","selvedge-rebuild.6e105ad7a3":"și unde este citită dovada","selvedge-rebuild.1618f58781":"Pentru ce este verificat un push","selvedge-rebuild.e185f9f7d4":"DOVADĂ PREZENTĂ","selvedge-rebuild.e4360fc330":"OCTEȚI MAGICI","selvedge-rebuild.6d4b74c092":"LOOPBACK SAU TOKEN-URI","selvedge-rebuild.33e95b7d0e":"Dovada în sine este redată acolo unde artefactul este verificat, ceea ce menține ușa rapidă și pune kernel-ul acolo unde are timp să lucreze. Ușa decide identitatea și eligibilitatea în muncă constantă per push; kernel-ul decide adevărul. O dovadă lentă nu poate deveni astfel un motiv pentru a admite un artefact înainte de a fi verificat.","selvedge-rebuild.175ed9b192":"Pornește registrul pe orice altceva decât o adresă loopback cu autentificarea prin token dezactivată și refuză să pornească. Activează autentificarea cu o listă de tokenuri goală și refuză și asta. Implementarea nesigură este indisponibilă, nu doar descurajată, astfel încât o greșeală de configurare apare imediat ca o eroare de pornire.","selvedge-rebuild.fc1d256e62":"Registrul determină tipul din primii patru octeți ai unui artefact, nu din extensia sau manifestul acestuia. Digestul trebuie să fie valid și prezent, namespace-ul trebuie să se potrivească cu tipul, iar o dovadă trebuie să îl însoțească. Serviciul refuză, de asemenea, o pornire nesigură pe altceva decât loopback fără autentificare prin token și respinge o listă goală de tokenuri când autentificarea este activată. Identitatea, forma și dovada sunt verificate înainte ca orice să fie stocat.","selvedge-rebuild.027f67dd55":"înainte ca orice să fie stocat","selvedge-rebuild.3d6b6cb540":"O trimitere este verificată în patru moduri","selvedge-rebuild.583ed36f97":"Controlul admiterii","selvedge-rebuild.1914cd4ce8":"Ușa decide ce intră; kernelul decide ce este adevărat.","selvedge-rebuild.b69c347e7f":"Fiecare pas primește un verdict.","selvedge-rebuild.c0f85d6679":"Reluare","selvedge-rebuild.f97399239c":"Analizat în kernel.","selvedge-rebuild.cdde4f20ba":"Pași","selvedge-rebuild.c318427ef6":"Analizat doar după ce se potrivește.","selvedge-rebuild.6f95f40eae":"Fișier de clauze","selvedge-rebuild.1e9e6eecd0":"Comparat cu plafonul înainte de analiză.","selvedge-rebuild.a97f5adbde":"Dimensiune declarată","selvedge-rebuild.1f9c89d51e":"fiecare verificat, niciunul presupus","selvedge-rebuild.e619c9a6b2":"Patru lucruri în jurul unei dovezi","selvedge-rebuild.7fa302aed3":"DIMENSIUNEA ÎNTÂI","selvedge-rebuild.8a20135ce2":"RELUAT","selvedge-rebuild.24704c8edc":"LRAT ȘI ALETHE","selvedge-rebuild.29f977d6d0":"Munca a intrat în ceea ce stă în jurul ei. Rădăcinile de încredere sunt deținute explicit, nu moștenite din orice stocare are mașina întâmplător, revocarea are un interval de reîmprospătare, astfel încât o retragere ajunge fără să aștepte o dată de expirare, iar un token de timestamp are propria semnătură verificată înainte ca timpul său să fie crezut. Semnăturile Cosign se verifică împotriva unei chei și a unei semnături base64, astfel încât artefactele semnate în ecosistemul mai larg ajung deja verificabile.","selvedge-rebuild.f0f219cc1b":"Un certificat Selvedge este în mod deliberat mic. Este o semnătură Ed25519 peste o cheie publică, un emitent, un subiect și cele două capete ale unei ferestre de valabilitate, deci nu există nimic în el care să trebuiască analizat dintr-un format controlat de altcineva. Rolul său rămâne restrâns: să spună care emitent a semnat care subiect pentru ce perioadă, fără a cere unui verificator să despacheteze mai întâi un document larg. Rămâne lizibil pentru un verificator independent. Domeniul său nu este lăsat la inferență.","selvedge-rebuild.f626b7a7da":"Sub suprafață","selvedge-rebuild.776d70676a":"O dovadă atașată unui artefact este o afirmație până când Selvedge o reia. Dovada LRAT și Alethe sunt analizate și verificate pas cu pas printr-un kernel de dovezi, cu un plafon de dimensiune aplicat înainte de începerea analizei. Rădăcinile de încredere, reîmprospătarea revocării și semnăturile timestamp sunt verificate în jurul acelui kernel, în timp ce semnăturile Cosign sunt verificate împotriva cheii și semnăturii furnizate. Granița rămâne suficient de mică pentru ca un verificator independent să o inspecteze.","selvedge-rebuild.438689443c":"și reluat pas cu pas","selvedge-rebuild.1ed9eb8043":"Dovada este reverificată","selvedge-rebuild.77b6e89fee":"Dovezi și certificate","selvedge-rebuild.36ad1e8721":"Argumentul este mult mai des despre documentul din dreapta, iar ambele provin dintr-o singură rulare.","selvedge-rebuild.36c042f601":"Ieșirea, eroarea și valoarea returnată completează înregistrarea.","selvedge-rebuild.43708b1ad0":"Fluxuri capturate","selvedge-rebuild.ae61a28e3a":"Cât de multă muncă a fost consumată.","selvedge-rebuild.ed58f29743":"Instrucțiuni","selvedge-rebuild.918feb5b79":"Ce profil determinist s-a aplicat.","selvedge-rebuild.e5b7649e03":"Ce componentă exactă a rulat.","selvedge-rebuild.60697a86b4":"Octeți artefact","selvedge-rebuild.a49fe57a20":"și peste ce este luat fiecare","selvedge-rebuild.aeb0956f38":"Patru din șapte","selvedge-rebuild.07519769df":"DIMENSIUNE CONSTANTĂ","selvedge-rebuild.f9c0b723ec":"HASHURI, NU JURNALE","selvedge-rebuild.7531a92ec1":"ȘAPTE CÂMPURI","selvedge-rebuild.c35ff8c3a0":"Raportul de execuție stabilește ce i s-a permis rulării. Numește capacitățile acordate, politica care le-a acordat, certificatele care au fost verificate, un hash al setărilor în vigoare și ce a consumat rularea în memorie de vârf, timp de procesor și instrucțiuni. Aceste două întrebări ajung întotdeauna împreună după un incident, iar Selvedge le răspunde cu două documente, nu cu unul căruia i se cere să facă ambele treburi.","selvedge-rebuild.b0b2377aff":"Înregistrarea stabilește dacă acest lucru s-a întâmplat din nou și este documentul la care oamenii se așteaptă să se certe. În practică, se ceartă pe celălalt. Permite unui cititor ulterior să întrebe dacă același artefact, intrări și setări au produs din nou același rezultat. Aceasta este o întrebare istorică despre eveniment. Raportul de execuție răspunde la cealaltă întrebare: ce i s-a permis rulării să facă atunci când s-a întâmplat.","selvedge-rebuild.e88ce1c6ea":"Șapte câmpuri revin dintr-o rulare finalizată și niciunul nu este proză: digesturi ale artefactului și setărilor, instrucțiuni consumate, digesturi ale ieșirii și valorii returnate și o amprentă a stocării care îmbină munca cu fluxurile capturate. Rămâne mic indiferent dacă ieșirea este o linie sau un gigabyte. Raportul de execuție însoțitor înregistrează capacități, politică, certificate, setări și utilizarea de vârf a resurselor, astfel încât aceeași rulare răspunde atât la ce s-a întâmplat, cât și la ce i s-a permis să facă.","selvedge-rebuild.a219a2c15d":"și un raport dovedește permisiunea","selvedge-rebuild.7eaab205c1":"O înregistrare dovedește repetiția","selvedge-rebuild.13380a7edb":"Două documente per rulare","selvedge-rebuild.4077f0afa7":"O comparație este la fel de bună ca înregistrarea din spatele ei, așa că citește ce conține înregistrarea.","selvedge-rebuild.39f8833993":"Nu mai citi; restul este zgomot.","selvedge-rebuild.c0084eb27a":"Nu același program","selvedge-rebuild.64bc44871e":"Rulările nu au fost configurate la fel.","selvedge-rebuild.36e1b53299":"Nu comparabil","selvedge-rebuild.9fc1d0cf34":"Aceeași muncă, octeți diferiți la ieșire.","selvedge-rebuild.d136230733":"Rezultatul s-a schimbat","selvedge-rebuild.6aee5fae01":"Un număr diferit înseamnă o cale de cod diferită.","selvedge-rebuild.de89199753":"Munca s-a schimbat","selvedge-rebuild.95e99b8668":"după câmpul în care aterizează","selvedge-rebuild.1f218ead06":"Ce îți spune o diferență","selvedge-rebuild.d5cf7685a8":"FĂRĂ VERDICT","selvedge-rebuild.d5a9df81ba":"AȘTEPTAT ȘI OBȚINUT","selvedge-rebuild.ed299cc67f":"CÂMP CU CÂMP","selvedge-rebuild.a526ac7e2e":"De aceea intrarea este fixată și călătorește cu artefactul. Aceasta este o linie într-o procedură și este linia care decide dacă o comparație închide un argument sau deschide un al doilea. Oferă unei contrapărți aceiași octeți pentru a-i rula din nou, fără a fi nevoie să cadă mai întâi de acord asupra intrării la care se referea comparația.","selvedge-rebuild.6615580bdf":"Lista numește câmpul care s-a mutat, iar câmpul decide diagnosticul. Doar combustibilul este o cale de cod diferită. Combustibilul și rezultatul împreună înseamnă un invitat care a citit ceva ce celălalt nu a citit. Un rezumat al setărilor care diferă înseamnă că cele două rulări nu au fost niciodată comparabile, iar un rezumat al artefactului care diferă înseamnă că nu au fost niciodată același program.","selvedge-rebuild.8c8effaa95":"Selvedge parcurge două înregistrări câmp cu câmp și acumulează fiecare diferență cu valorile așteptate și reale. Combustibil diferit și rezultat diferit sunt probleme diferite, iar lista spune pe care o ai. Nu reduce o nepotrivire la o etichetă de trecut/ratat: un rezumat al setărilor identifică o configurație diferită, în timp ce un rezumat al artefactului identifică programe diferite. Doar combustibilul indică o schimbare de cale; combustibilul plus rezultatul indică un invitat care a citit o valoare diferită. Rezultatul oferă contrapărții o verificare concretă următoare în loc de o discuție despre un singur boolean.","selvedge-rebuild.646770fca0":"dintre câmpurile care s-au mutat","selvedge-rebuild.e6e4d5cded":"Replay returnează o listă","selvedge-rebuild.c81ee5ef6b":"Două rulări, comparate","selvedge-rebuild.66a522b7c5":"De aceea „s-a reprodus” primește un răspuns mai bun decât da.","selvedge-rebuild.d76c40f0ce":"Copiere rapidă la scriere sau primul acces fixat.","selvedge-rebuild.f2c61a30e9":"Inițializarea memoriei","selvedge-rebuild.c5abd185c9":"Detectat pentru viteză sau fixat pentru portabilitate.","selvedge-rebuild.72afcd7b6b":"Alegerea instrucțiunilor vectoriale","selvedge-rebuild.12d9267ba1":"Puternic și ieftin, dintr-o singură sămânță.","selvedge-rebuild.de76cb3681":"Ambele fluxuri aleatorii","selvedge-rebuild.aa0c86bf67":"Epocă fixă, prima ianuarie 2024.","selvedge-rebuild.be2bae9c5e":"Ceasul de perete","selvedge-rebuild.76249575a8":"(eliminat sau decis o dată)","selvedge-rebuild.32684a6c6c":"Surse de derivă","selvedge-rebuild.d5b4ab5d99":"PORTABIL PRIN ALEGERE","selvedge-rebuild.73b7c15756":"O SINGURĂ SĂMÂNȚĂ","selvedge-rebuild.e5599ca3ea":"CEAS FIX","selvedge-rebuild.3228959407":"Configurația de determinism include o verificare care spune pe care dintre cele două o deții, astfel încât portabilitatea este o decizie cu un răspuns tipărit, nu ceva descoperit când replay-ul unei contrapărți nu este de acord. Fixarea costă unitățile vectoriale mai largi pe mașinile care le au, și acesta este tot compromisul.","selvedge-rebuild.95523f0e77":"Două setări decid dacă același artefact urmează aceeași cale prin procesor pe mașina altcuiva: cum sunt selectate instrucțiunile vectoriale și cum este inițializată memoria. Detectează ce are mașina și rularea este mai rapidă. Fixează-le pe amândouă și rularea este portabilă. Un verificator ulterior are nevoie de acea cale fixă.","selvedge-rebuild.b679796146":"Selvedge elimină sursele de variație: un ceas fix la 1 ianuarie 2024 și ambele fluxuri aleatorii semănate dintr-o singură valoare. Înregistrarea păstrează un rezumat al acelei configurații, nu valorile extrase. Instrucțiunile vectoriale și inițializarea memoriei sunt și ele alegeri explicite: detectează-le pentru viteză sau fixează-le pentru portabilitate. Un verificator poate citi hash-ul profilului și poate ști dacă un replay era de așteptat să urmeze aceeași cale de mașină înainte de a compara rezultatul.","selvedge-rebuild.0a6cfc8fac":"nu o setare de activat","selvedge-rebuild.1fd189502e":"Determinismul este scădere","selvedge-rebuild.a7c3ed1772":"Scădere, nu configurare","selvedge-rebuild.0c47ffb9bb":"Un număr de instrucțiuni înseamnă ceva doar dacă instrucțiunile au fost aceleași de două ori.","selvedge-rebuild.adebd97359":"Combustibilul consumat poate fi scăzut între rulări.","selvedge-rebuild.a2daaab559":"Cifră ulterioară","selvedge-rebuild.3d67ae7992":"Munca, nu ceasul de perete, este limita.","selvedge-rebuild.de6412fbe8":"Buget de zero","selvedge-rebuild.15dcfdda9a":"Încărcarea nu mută un număr.","selvedge-rebuild.2202f5e805":"Același punct de oprire","selvedge-rebuild.60440bc65a":"Numărat pe măsură ce rulează invitatul; când este consumat, rularea se termină.","selvedge-rebuild.63309fc99a":"Buget de instrucțiuni","selvedge-rebuild.9bb4b0c4cd":"și ce cumpără numărarea","selvedge-rebuild.4f84d48da3":"O singură limită","selvedge-rebuild.34b96ad39f":"ACELAȘI PE ORICE CPU","selvedge-rebuild.c314cfa17b":"NU SECUNDE","selvedge-rebuild.62e2ede50f":"INSTRUCȚIUNI","selvedge-rebuild.d1536b89dd":"Instrucțiunile consumate sunt o proprietate a rulării. Cifra stă în înregistrare, poate fi scăzută, iar o diferență de opt la nouă miliarde este primul lucru care merită privit când două rulări nu sunt de acord. Acesta este întregul motiv pentru a număra munca, nu timpul: numărul supraviețuiește mașinii pe care a fost luat. O rerulare pe alt hardware returnează același număr sau numește câmpul care s-a mutat.","selvedge-rebuild.7aff67a600":"Un număr este și o cifră pe care două părți o pot folosi una împotriva celeilalte. Timpul scurs este o proprietate a mașinii care s-a întâmplat să fie liberă, iar nimic util nu rezultă dintr-o diferență în el. Măsoară disponibilitatea pe gazdă, nu munca efectuată de invitat. Numărul descrie în schimb muncă ce poate fi verificată independent.","selvedge-rebuild.72426f8729":"Timpul scurs permite aceluiași artefact să treacă pe o mașină inactivă și să eșueze pe una ocupată. Selvedge limitează o rulare prin numărul de instrucțiuni consumate de invitat, astfel încât încărcarea nu schimbă nici răspunsul, nici punctul în care se oprește. Bugetul este atribuit muncii invitatului, nu programării gazdei. Un timeout poate proteja în continuare un apel blocat al gazdei, dar nu este semnalul de reproductibilitate; numărul de instrucțiuni înregistrat este.","selvedge-rebuild.8afbc5d594":"și combustibilul măsoară programul","selvedge-rebuild.03b2c4da91":"Un termen limită măsoară o gazdă","selvedge-rebuild.21a2c5f1aa":"Ce oprește de fapt o rulare","selvedge-rebuild.1a78f4b9ca":"O rulare care nu cere nimic poate totuși să nu se termine, iar asta are nevoie de o altă limită.","selvedge-rebuild.4a92056b30":"Doar pentru că wildcard-ul este scris.","selvedge-rebuild.98f3f99f4d":"Aceeași importare cu wildcard","selvedge-rebuild.aca85a73fa":"Refuzat, nu presupus inofensiv.","selvedge-rebuild.e4b5b433a2":"O importare nimic clasifică","selvedge-rebuild.15c54f0161":"Recunoscut, dar absent din politică. Se oprește aici.","selvedge-rebuild.f998b59fb9":"O interfață socket","selvedge-rebuild.b0449a2f1e":"Numită în politică și furnizată de gazdă.","selvedge-rebuild.83ae8486f7":"Fluxurile standard","selvedge-rebuild.a46cc41ece":"o politică, patru răspunsuri","selvedge-rebuild.161836a8f2":"Patru cereri","selvedge-rebuild.366a00a60f":"EȘUEAZĂ ÎNCHIS","selvedge-rebuild.4d3b321af0":"VERIFICAT PRIMUL","selvedge-rebuild.063d13205c":"IMPORTURI DECLARATE","selvedge-rebuild.0727104688":"În Selvedge, cazul necunoscut eșuează închis, iar singura modalitate de a-l deschide este un wildcard care stă în politică ca intrare proprie. O permisiune pe care nu ai decis-o nu este disponibilă, iar o permisiune pe care ai decis-o este lizibilă pentru oricine citește politica anul viitor fără să reconstituie raționamentul. Acea intrare este revizuibilă, iar eliminarea ei închide din nou cazul.","selvedge-rebuild.4adda50d9a":"Cazul necunoscut este locul unde runtime-urile cedează de obicei. O cerere nerecunoscută este lăsată să treacă pe motiv că probabil este inofensivă, și așa ajunge o capabilitate pe care nimeni nu a ales-o, nimeni nu o deține și nimeni nu o poate data. O graniță rămâne inteligibilă doar când se închide exact în acel caz.","selvedge-rebuild.2b1f8f5acb":"Un artefact care cere rețeaua de la Selvedge nu pornește niciodată. Fiecare import declarat este parcurs înainte de instanțiere din toți cei trei constructori de instanțe; un singur import în afara politicii oprește totul, iar un import pe care nicio politică nu îl poate clasifica eșuează închis, cu excepția cazului în care un wildcard a fost acordat intenționat. Parcurgerea are loc înainte ca orice constructor de modul să ruleze, deci un import refuzat nu poate scurge o instanță parțială. Politica de import este, prin urmare, o condiție de pornire verificabilă, nu un filtru de runtime de tip best-effort.","selvedge-rebuild.c701cfb7bc":"este refuzat, nu lăsat să treacă","selvedge-rebuild.11f61b8cea":"Un import pe care nu îl poate plasa","selvedge-rebuild.e8f740737e":"Înainte de instanțiere","selvedge-rebuild.dcd4ba984c":"O cameră goală este doar jumătate. Ceva trebuie, de asemenea, să refuze înainte ca codul să pornească.","selvedge-rebuild.0e3f683921":"Niciun director, socket, variabilă sau argument.","selvedge-rebuild.b31a999e3e":"Orice altceva","selvedge-rebuild.b6f2a8aafd":"Octeții apelantului, sau un flux închis.","selvedge-rebuild.ed8d995cba":"Intrarea standard","selvedge-rebuild.619f80b0f4":"Același tratament. Nimic nu este scris în altă parte.","selvedge-rebuild.be84302eb7":"Eroarea standard","selvedge-rebuild.28c9b400a8":"Capturat, digerat și returnat cu rularea.","selvedge-rebuild.f0c190c767":"Ieșirea standard","selvedge-rebuild.80384c78ce":"și ce nu există pentru a traversa","selvedge-rebuild.fbda0b5df6":"Ce traversează peretele","selvedge-rebuild.f317e1836d":"FĂRĂ ENV","selvedge-rebuild.772e054092":"FĂRĂ FIȘIERE","selvedge-rebuild.61176d0dd1":"FĂRĂ REȚEA","selvedge-rebuild.a4a4906f32":"Scăderea rămâne nemișcată. Nu există un sistem de fișiere de acordat și nicio rețea de reținut, deci cel mai rău caz depinde de forma gazdei, nu de cineva care ține o listă corectă. O politică Selvedge pe care o construiești singur începe cu o listă de capabilități goală și cu determinismul cerut, iar camera pe care o descrie este camera pe care o obții.","selvedge-rebuild.d987579a1c":"O listă de permisiuni este un lucru pe care cineva îl întreține, iar orice este întreținut derivă. O versiune deschide un director pentru o diagnoză, diagnoza se termină până vara, intrarea îi supraviețuiește, iar doi ani mai târziu nimeni nu poate spune ce depinde de ea. Acea istorie este ceea ce o chitanță păstrează pentru o revizuire ulterioară.","selvedge-rebuild.a97c12e865":"Întreabă ce poate accesa o componentă în interiorul Selvedge și răspunsul este trei fluxuri: ieșirea standard, eroarea standard și intrarea standard atunci când apelantul furnizează una. Niciun director, socket, variabilă de mediu sau listă de argumente nu este deschis; gazda nu are nicio cale de cod care să deschidă una.","selvedge-rebuild.d9a7d95854":"și nu există un al patrulea","selvedge-rebuild.dcfbae366b":"Un invitat primește trei fluxuri","selvedge-rebuild.fbadde4854":"Ce primește un invitat","selvedge-rebuild.fallback-record":"înregistrare","selvedge-rebuild.fallback-check":"verificare","selvedge-rebuild.illustrative":"ILUSTRATIV","selvedge-rebuild.declared":"declarat","selvedge-rebuild.recorded":"înregistrat","selvedge-rebuild.banner.eng-unchecked.kicker":"Ce înseamnă o trecere","selvedge-rebuild.banner.eng-unchecked.title":"Fiecare afirmație este testată","selvedge-rebuild.banner.eng-unchecked.body":"Un artefact poate purta afirmații despre sine: un digest de semnătură, un digest de certificat, un digest de politică. Fiecare este o promisiune că ceva a fost verificat, iar fiecare are nevoie de material înainte de a putea fi verificat deloc. Selvedge insistă asupra acestui material. Un artefact care face referire la un digest de semnătură se verifică odată ce semnătura detașată și cheia sunt furnizate. Unul care face referire la un digest de certificat se verifică odată ce un verificator de lanț este acolo pentru a-l citi. Unul care face referire la un digest de politică se verifică pe calea conștientă de politică care l-a produs.","selvedge-rebuild.banner.eng-unchecked.instrument-header":"Material de verificare","selvedge-rebuild.banner.eng-unchecked.instrument-tag":"Necesar","selvedge-rebuild.banner.eng-unchecked.verdict-label":"Rezultatul trecerii","selvedge-rebuild.banner.eng-unchecked.item-1-label":"Digest de semnătură","selvedge-rebuild.banner.eng-unchecked.item-1-body":"Semnătură detașată și cheie.","selvedge-rebuild.banner.eng-unchecked.item-2-label":"Digest de certificat","selvedge-rebuild.banner.eng-unchecked.item-2-body":"Verificator de lanț.","selvedge-rebuild.banner.eng-unchecked.item-3-label":"Digest de politică","selvedge-rebuild.banner.eng-unchecked.item-3-body":"Cale conștientă de politică.","selvedge-rebuild.banner.eng-unchecked.item-4-label":"Artefact + setări","selvedge-rebuild.banner.eng-unchecked.item-4-body":"Verificat la fiecare rulare.","selvedge-rebuild.banner.eng-unchecked.verdict":"O trecere acoperă fiecare afirmație din artefact.","selvedge-rebuild.banner.eng-unchecked.footline":"De aceea o trecere Selvedge înseamnă același lucru pentru partea care o primește.","selvedge-rebuild.banner.eng-handover.kicker":"Cine deține dovezile","selvedge-rebuild.banner.eng-handover.title":"Predai patru lucruri","selvedge-rebuild.banner.eng-handover.body":"O a doua parte care verifică o rulare Selvedge are nevoie de patru lucruri: octeții artefactului, intrarea pe care acei octeți au primit-o, setările de determinism folosite de rulare și înregistrarea produsă. Toate patru sunt fișiere. Toate patru călătoresc prin orice mijloace folosiți deja amândoi, iar niciunul nu este o acreditare, o licență sau un endpoint.","selvedge-rebuild.banner.eng-handover.instrument-header":"Predare pentru reluare","selvedge-rebuild.banner.eng-handover.instrument-tag":"Offline","selvedge-rebuild.banner.eng-handover.verdict-label":"Reluare independentă","selvedge-rebuild.banner.eng-handover.item-1-label":"Octeți artefact","selvedge-rebuild.banner.eng-handover.item-1-body":"Ce a rulat.","selvedge-rebuild.banner.eng-handover.item-2-label":"Intrare furnizată","selvedge-rebuild.banner.eng-handover.item-2-body":"Pe ce a rulat.","selvedge-rebuild.banner.eng-handover.item-3-label":"Setări","selvedge-rebuild.banner.eng-handover.item-3-body":"Cum a rulat.","selvedge-rebuild.banner.eng-handover.item-4-label":"Înregistrarea ta","selvedge-rebuild.banner.eng-handover.item-4-body":"Ce să compari.","selvedge-rebuild.banner.eng-handover.verdict":"Mașina lor, comparația lor, lista lor.","selvedge-rebuild.banner.eng-handover.footline":"Patru fișiere, iar partea care se îndoiește de tine este partea care verifică.","selvedge-rebuild.banner.biz-blind.kicker":"De ce un rezultat de test se transferă","selvedge-rebuild.banner.biz-blind.title":"Nu poate spune","selvedge-rebuild.banner.biz-blind.body":"Software-ul care își poate vedea mediul înconjurător se poate comporta diferit în el. O componentă care citește data se poate comporta într-un fel înainte de o dată limită și altfel după aceasta. Una care citește numele mașinii poate fi atentă într-un mediu de testare și neglijentă în producție. Una care poate vedea cât de încărcată este mașina poate lua o scurtătură doar atunci când este puțin probabil ca cineva să măsoare. Acesta este motivul pentru care un test de acceptare este ceva pe care l-ai trecut o dată, nu ceva pe care îl cunoști.","selvedge-rebuild.banner.biz-blind.instrument-header":"Granită neutră față de furnizor","selvedge-rebuild.banner.biz-blind.instrument-tag":"Aceleași condiții","selvedge-rebuild.banner.biz-blind.verdict-label":"Rezultat transferabil","selvedge-rebuild.banner.biz-blind.compare-left":"Fără dependență păstrată","selvedge-rebuild.banner.biz-blind.compare-right":"Granită vizibilă","selvedge-rebuild.banner.biz-blind.item-1-label":"Fără cont","selvedge-rebuild.banner.biz-blind.item-1-body":"Rulează pe hardware-ul tău.","selvedge-rebuild.banner.biz-blind.item-2-label":"Fără cheie de furnizor","selvedge-rebuild.banner.biz-blind.item-2-body":"Nimic reținut pentru tine.","selvedge-rebuild.banner.biz-blind.item-3-label":"Fără rețea ascunsă","selvedge-rebuild.banner.biz-blind.item-3-body":"Nicio cale de exfiltrare.","selvedge-rebuild.banner.biz-blind.item-4-label":"Un raport datat","selvedge-rebuild.banner.biz-blind.item-4-body":"Permisiunea este scrisă.","selvedge-rebuild.banner.biz-blind.verdict":"Un rezultat de test se transferă pentru că granița este aceeași.","selvedge-rebuild.banner.biz-blind.footline":"Dovada este utilă cuiva care nu a fost în cameră.","selvedge-rebuild.banner.biz-fresh.kicker":"De ce izolarea este accesibilă","selvedge-rebuild.banner.biz-fresh.title":"O cameră nouă de fiecare dată","selvedge-rebuild.banner.biz-fresh.body":"Izolarea este de obicei raționalizată. Pregătirea unui mediu curat costă suficient de mult încât este rezervată pentru lucrul în loturi, iar tot ce este interactiv împarte un proces de lungă durată în care reziduul unei sarcini este condiția de pornire a următoarei. Aceasta este o decizie de cost și este aproape întotdeauna prezentată ca o arhitectură.","selvedge-rebuild.banner.biz-fresh.instrument-header":"Secvența camerei noi","selvedge-rebuild.banner.biz-fresh.instrument-tag":"Per cerere","selvedge-rebuild.banner.biz-fresh.verdict-label":"Concluzie operațională","selvedge-rebuild.banner.biz-fresh.item-1-label":"Pornire la rece","selvedge-rebuild.banner.biz-fresh.item-1-body":"Sub milisecundă.","selvedge-rebuild.banner.biz-fresh.item-2-label":"O cerere","selvedge-rebuild.banner.biz-fresh.item-2-body":"O cameră.","selvedge-rebuild.banner.biz-fresh.item-3-label":"Fără transfer","selvedge-rebuild.banner.biz-fresh.item-3-body":"Nimic partajat implicit.","selvedge-rebuild.banner.biz-fresh.item-4-label":"O înregistrare","selvedge-rebuild.banner.biz-fresh.item-4-body":"Predarea este explicită.","selvedge-rebuild.banner.biz-fresh.verdict":"Izolarea este accesibilă când camera este ieftină.","selvedge-rebuild.banner.biz-fresh.footline":"Un furnizor nu poate moșteni camera de ieri.","selvedge-rebuild.banner.con-code.kicker":"Ce conține chitanța","selvedge-rebuild.banner.con-code.title":"Un cod nu este o copie","selvedge-rebuild.banner.con-code.body":"O chitanță care ar dovedi ce a ieșit din scrisoarea ta ar trebui să conțină scrisoarea, iar aceasta este partea despre care oamenii întreabă pe bună dreptate. Selvedge nu păstrează nicio copie. Ceea ce păstrează este un cod scurt calculat din conținut, iar calculul rulează doar într-o singură direcție.","selvedge-rebuild.banner.con-code.instrument-header":"Registrul chitanțelor","selvedge-rebuild.banner.con-code.instrument-tag":"Rejucabil","selvedge-rebuild.banner.con-code.verdict-label":"Ce dovedește","selvedge-rebuild.banner.con-code.item-1-label":"Artefactul","selvedge-rebuild.banner.con-code.item-1-body":"Ce program.","selvedge-rebuild.banner.con-code.item-2-label":"Intrarea","selvedge-rebuild.banner.con-code.item-2-body":"Ce a văzut.","selvedge-rebuild.banner.con-code.item-3-label":"Setările","selvedge-rebuild.banner.con-code.item-3-body":"Ce a fost fixat.","selvedge-rebuild.banner.con-code.item-4-label":"Chitanța","selvedge-rebuild.banner.con-code.item-4-body":"Ce să compari.","selvedge-rebuild.banner.con-code.verdict":"Un cod scurt numește rularea; nu pretinde a fi sursa.","selvedge-rebuild.banner.con-code.footline":"Obiectul util este suficient de mic pentru a fi predat.","selvedge-rebuild.internal-numeric":"Calculul intern, stocarea și acumularea folosesc reprezentări binare, întregi, în virgulă fixă sau adaptive întreg/virgulă fixă. Virgula mobilă este acceptată doar la o graniță externă declarată și este convertită explicit înainte de începerea lucrului intern. Nu există nicio rezervă internă de virgulă mobilă.","selvedge-rebuild.banner.eng-unchecked.title-accent":"înainte de a fi acordată o trecere","selvedge-rebuild.banner.eng-unchecked.body-second":"Cereți lui Selvedge să verifice fără material, iar eroarea numește exact ce lipsește, ceea ce transformă un artefact neverificabil într-o cerere pentru singurul lucru care l-ar rezolva. Efectul practic este că un rezultat verde de la Selvedge își poartă întregul sens oriunde călătorește: fiecare afirmație pe care artefactul o face a fost testată, cu aceleași instrumente, împotriva materialului pe care cineva l-a furnizat efectiv.","selvedge-rebuild.banner.eng-handover.title-accent":"iar verificarea este a lor","selvedge-rebuild.banner.eng-handover.body-second":"Ei rulează reluarea pe propria mașină, cu propria construcție a instrumentelor, iar ceea ce primește înapoi este lista lor de câmpuri diferite, nu asigurarea ta despre rulare. Nimic pe această cale nu necesită un cont, o cheie deținută de noi sau un serviciu al nostru care să fie accesibil, astfel încât verificarea funcționează în timpul unei întreruperi, pe o rețea izolată și la ani după rularea pe care o stabilește. Acesta este motivul pentru care o înregistrare Selvedge merită citată într-un contract: partea care nu are încredere în tine este partea care o verifică.","selvedge-rebuild.banner.biz-blind.title-accent":"că este testat","selvedge-rebuild.banner.biz-blind.body-second":"O componentă care rulează în Selvedge nu are ce citi. Ceasul pe care îl primește nu se mișcă niciodată de la un singur moment fix. Nu există mediu, argumente, rețea sau director, deci nu există nume de mașină, etichetă de implementare sau modalitate de a afla dacă aceasta este a patra rulare sau prima. Comportamentul poate depinde în continuare de intrare, ceea ce este exact motivul pentru care intrarea este lucrul pe care îl fixezi și îl predai. Ceea ce nu poate depinde este data, gazda sau ocazia, astfel încât o rulare care s-a comportat în acceptare se comportă la fel în noiembrie pe hardware-ul altcuiva.","selvedge-rebuild.banner.biz-fresh.title-accent":"pentru că o cameră este ieftină","selvedge-rebuild.banner.biz-fresh.body-second":"Pornirea unei instanțe Selvedge proaspete durează mult sub o milisecundă pe mașina pe care proiectul o măsoară, ceea ce plasează una per cerere în bugetul aproape oricărui lucru interactiv. Nimic nu se transferă între ele decât dacă este transmis în mod deliberat, iar ceea ce este transmis apare în evidență ca fiind ceva ce a fost transmis. Versiunea comercială a acestei propoziții este scurtă: greșeala unui job este greșeala unui job, iar raza de explozie este o cameră care nu mai există.","selvedge-rebuild.banner.con-code.title-accent":"a lucrului din care provine","selvedge-rebuild.banner.con-code.body-second":"Același conținut produce întotdeauna același cod, deci codul este suficient pentru a arăta că nimic nu s-a schimbat. Codul nu poate fi transformat înapoi în conținut, deci nu arată nimic despre ce a fost conținutul. O rulare peste un raport de două sute de pagini lasă o evidență de aceeași dimensiune ca o rulare peste o singură linie, iar niciuna dintre evidențe nu conține un cuvânt despre ce a fost vorba. Poți să o păstrezi un deceniu sau să o înmânezi cuiva care nu are voie să citească documentul și să nu dezvălui nimic.","selvedge-rebuild.banner.eng-record.kicker":"Ce rămâne după rulare","selvedge-rebuild.banner.eng-record.title":"Procesul s-a oprit","selvedge-rebuild.banner.eng-record.title-accent":"evidența încă răspunde","selvedge-rebuild.banner.eng-record.body":"O rulare finalizată ar trebui să lase mai mult decât un indicator de succes. Selvedge leagă artefactul, intrarea, setările de determinism și munca măsurată de ieșirile care au revenit. Evidența este un set de câmpuri, nu o relatare în proză scrisă după eveniment.","selvedge-rebuild.banner.eng-record.body-second":"O a doua mașină poate reda același material și poate compara evidența câmp cu câmp. Dacă artefactul, setările, numărul de instrucțiuni sau ieșirea diferă, dezacordul are un loc numit, nu o afirmație generală că rularea nu a putut fi reprodusă.","selvedge-rebuild.banner.eng-record.instrument-header":"Chitanță de rulare","selvedge-rebuild.banner.eng-record.instrument-tag":"Câmp cu câmp","selvedge-rebuild.banner.eng-record.verdict-label":"Verificare de redare","selvedge-rebuild.banner.eng-record.item-1-label":"Artefact + intrare","selvedge-rebuild.banner.eng-record.item-1-body":"Materialul care a intrat.","selvedge-rebuild.banner.eng-record.item-2-label":"Setări de determinism","selvedge-rebuild.banner.eng-record.item-2-body":"Condițiile fixate pentru rulare.","selvedge-rebuild.banner.eng-record.item-3-label":"Instrucțiuni consumate","selvedge-rebuild.banner.eng-record.item-3-body":"Munca măsurată.","selvedge-rebuild.banner.eng-record.item-4-label":"Digestii de ieșire","selvedge-rebuild.banner.eng-record.item-4-body":"Valorile de comparat.","selvedge-rebuild.banner.eng-record.verdict":"Când o redare deviază, evidența indică câmpul unde s-a întâmplat.","selvedge-rebuild.banner.eng-record.footline":"Dovezile rămân utile după ce procesul care le-a produs a dispărut.","selvedge-rebuild.banner.biz-transfer.kicker":"Ce supraviețuiește unei schimbări de furnizor","selvedge-rebuild.banner.biz-transfer.title":"Păstrează rezultatul acceptat","selvedge-rebuild.banner.biz-transfer.title-accent":"fără a păstra furnizorul","selvedge-rebuild.banner.biz-transfer.body":"Un rezultat de acceptare devine fragil când doar furnizorul îl poate reproduce. Contul, serviciul și cadrul de testare intern devin apoi parte din dovezi, chiar dacă contractul spune că software-ul în sine este portabil.","selvedge-rebuild.banner.biz-transfer.body-second":"Selvedge face predarea concretă. Păstrează artefactul, capacitățile permise, setările fixate de rulare și evidența rezultată. Un furnizor de înlocuire sau un recenzor independent poate reda acele fișiere pe propria mașină fără să ceară furnizorului original să redeschidă ceva.","selvedge-rebuild.banner.biz-transfer.instrument-header":"Predare independentă","selvedge-rebuild.banner.biz-transfer.instrument-tag":"Fără serviciu reținut","selvedge-rebuild.banner.biz-transfer.verdict-label":"Granită comercială","selvedge-rebuild.banner.biz-transfer.item-1-label":"Artefact acceptat","selvedge-rebuild.banner.biz-transfer.item-1-body":"Octeții exacti care au trecut.","selvedge-rebuild.banner.biz-transfer.item-2-label":"Set de permisiuni","selvedge-rebuild.banner.biz-transfer.item-2-body":"Granita în care a rulat.","selvedge-rebuild.banner.biz-transfer.item-3-label":"Pachet de redare","selvedge-rebuild.banner.biz-transfer.item-3-body":"Fișiere pe care cumpărătorul le poate păstra.","selvedge-rebuild.banner.biz-transfer.item-4-label":"Comparare independentă","selvedge-rebuild.banner.biz-transfer.item-4-body":"Nu este necesar un cont de furnizor.","selvedge-rebuild.banner.biz-transfer.verdict":"Dovezile își schimbă mâinile fără a crea o nouă dependență.","selvedge-rebuild.banner.biz-transfer.footline":"Partea care primește rezultatul primește și mijloacele de a-l verifica.","slv-visuals.chrome-meta":"run record","slv-visuals.661f13bc63":"CHECKED","slv-visuals.bd63dd7336":"declared, bounded, recorded","slv-visuals.ac7ff256a6":"SEL","slv-visuals.44fd37f1ed":"Această lume este sigilată pentru că nu a fost declarată.","slv-visuals.74140b3eb3":"Operațiunea traversează camera în timp ce cheia rămâne afară.","slv-visuals.a95af2a207":"Un prefix de cale este vizibil; aceasta este o fereastră, nu un sistem de fișiere.","slv-visuals.5265953d8b":"Două instrumente numite sunt prezente; un instrument nenumit nu are deschidere.","slv-visuals.43dd7aa30b":"Lista acordată este datată pe raport, astfel încât revizuirea devine o căutare.","slv-visuals.bcaf2f4bea":"Capacitatea a fost refuzată înainte de rulare, cu un cod stabil pentru runbook.","slv-visuals.f712baba7f":"Combustibilul și ieșirea s-au mutat: întreabă ce intrare a primit efectiv invitatul.","slv-visuals.f4435747db":"Combustibilul s-a mutat în timp ce ieșirea a fost reținută: inspectează construcția gazdei sau calea codului.","slv-visuals.e18ddd4366":"Nicio constatare. Fixarea renunță la unități vectoriale mai largi, iar portabilitatea este acum o lectură.","slv-visuals.f1a5ccbfac":"Două constatări: selecția vectorială și inițializarea memoriei depind de gazdă.","slv-visuals.interaction.choices":"Alegerea vizuală Selvedge","slv-visuals.interaction.sequence":"Secvența Selvedge","slv-visuals.interaction.worlds":"Lumile de capabilitate Selvedge","slv-visuals.interaction.tree":"Arborele de dovadă a includerii Selvedge","slv-visuals.fallback-hash":"hash","slv-visuals.fallback-fact":"fapt","slv-visuals.control.detect":"detect-tuned","slv-visuals.control.pinned":"pinned","slv-visuals.control.fuel":"combustibil mutat","slv-visuals.control.output":"combustibil + ieșire mutată","slv-visuals.control.policy":"politică refuzată","slv-visuals.control.allowed":"politică permisă","slv-visuals.control.tool":"instrument","slv-visuals.control.storage":"stocare","slv-visuals.control.crypto":"cripto","slv-visuals.control.observe":"observă","toc-rail.f5cbdf6bfb":"Cuprins"}
