{"block_close_oss.c33fd1fe9c":"Communauté et écosystème","open-source-selvedge.hero-broker.no":"Non","open-source-selvedge.a5e3c573e9":"Compiler les charges de travail BNN de Kera pour l'exécution Selvedge.","open-source-selvedge.d5f412e831":"Kera","open-source-selvedge.fe0a091fdb":"Produits","open-source-selvedge.7dfa2cfe61":"Provenance des événements chaînée par hachage pour les événements système.","open-source-selvedge.1aa2f31ee7":"Registre","open-source-selvedge.6cc3364a24":"Preuve d'exécution","open-source-selvedge.ff130daae8":"Certificats de preuve de raisonnement, pas de transcriptions d'exécution.","open-source-selvedge.df84637182":"AION","open-source-selvedge.d5d6e83bf2":"Continuer l'exploration","open-source-selvedge.75e393a1ac":"Explorer le projet","open-source-selvedge.f9743247fa":"Lire la documentation","open-source-selvedge.ef0fd4ccef":"Inspecter le registre d'exécution","open-source-selvedge.e971b9cac2":"Selvedge publie au quatrième tour du programme de publication de la fondation, après Knot et Ledger. Une fois publié, testez un module WASM dans un bac à sable et rejouez l'enveloppe de preuve vous-même.","open-source-selvedge.aa91c05f23":"Vérifiez le résultat, pas le code","open-source-selvedge.90e40d5043":"Commencer","open-source-selvedge.de6848949f":"Selvedge","open-source-selvedge.650fabe787":"Open Source","open-source-selvedge.0a2d263d08":"OSS / Selvedge","open-source-selvedge.9e2fe6d1ab":"Bac à sable à refus par défaut","open-source-selvedge.6b5eb5323e":"Refus par défaut","open-source-selvedge.9940fac0fc":"Surface d'exécution des outils du protocole de contexte de modèle.","open-source-selvedge.d19313d340":"Serveur d'agents","open-source-selvedge.bb1d021694":"Scellé Ed25519, transcription SHA3-256, vérification hors ligne.","open-source-selvedge.1ee471ad95":"Enveloppe de preuve","open-source-selvedge.7e4e340a74":"Réseaux de neurones binaires IR graphique, JIT et interpréteur.","open-source-selvedge.0743169b8b":"Moteur Kera","open-source-selvedge.90ba359bc5":"Runtime de modèle de composants, hôte WASI 0.2 Preview 2.","open-source-selvedge.90aecd8ec1":"Moteur Wasmtime","open-source-selvedge.ed07ad60bf":"Surface vérifiée","open-source-selvedge.8ec9f20dc2":"CE QUI EST LIVRÉ","open-source-selvedge.efe0c41bcb":"KERA","open-source-selvedge.4e946026a7":"WASM","open-source-selvedge.8e4939f0ca":"RUST 2024","open-source-selvedge.c968638a6e":"TRANSCRIPTION SCELLÉE","open-source-selvedge.201a4da5a0":"Selvedge exécute du code non fiable dans un bac à sable à capacités limitées et enregistre l'exécution dans une transcription scellée. Le confinement limite ce que le code peut toucher ; la transcription montre ce qui s'est réellement passé et peut être rejouée pour examen.","open-source-selvedge.3ca6c6a37b":"Déterministe par défaut","open-source-selvedge.a55e5a1229":"Capacités limitées","open-source-selvedge.fca77b7e3a":"Le chemin d'exécution scellé","open-source-selvedge.8faedce292":"Quatre runtimes","open-source-selvedge.2adb968c4a":"Même enveloppe","open-source-selvedge.0bf361df63":"Serveur de protocole de contexte de modèle pour les outils d'agents.","open-source-selvedge.21593b807a":"MCP","open-source-selvedge.1df8dd458e":"Runtime d'agent de longue durée avec une file d'attente.","open-source-selvedge.329cb8b6ba":"Service","open-source-selvedge.8b3b7e65eb":"construire, vérifier, exécuter, rejouer. Compatible CI.","open-source-selvedge.700b401ca5":"CLI","open-source-selvedge.fb075836bd":"Lié à votre application en tant que crate.","open-source-selvedge.0fd17b94c9":"Intégré","open-source-selvedge.3512486e9f":"Où Selvedge s'exécute","open-source-selvedge.d53f3da0a7":"POSTURE","open-source-selvedge.f28d7de3d9":"RÉGLEMENTÉ","open-source-selvedge.a21096cb07":"RUNTIME BNN","open-source-selvedge.0fcaf629eb":"PLUGINS","open-source-selvedge.32e4cd84f3":"OUTILS D'AGENTS","open-source-selvedge.78a8dfaf02":"Les outils d'agents, les plugins tiers, l'inférence BNN Kera et le travail sur les données réglementées passent tous par la même frontière contrôlée. Chaque runtime produit la même enveloppe de preuve scellée, donc les changements de déploiement ne modifient pas l'histoire d'audit.","open-source-selvedge.e9f7d0cf54":"répond aux charges de travail réglementées","open-source-selvedge.8d5a043fd8":"Où le code non fiable","open-source-selvedge.14a29ba383":"Cas d'utilisation","open-source-selvedge.f86aae8de8":"Le chemin chaud reste avec la vanille","open-source-selvedge.224a8949e8":"Démarrage à froid, la victoire principale","open-source-selvedge.36998c51d5":"Hachage de transcription, SIMD.","open-source-selvedge.41366a8f09":"1 à 3 us","open-source-selvedge.01dbc6d47c":"SHA3-256, 1 Ko","open-source-selvedge.bd0fbf08cc":"Signature Ed25519 5-15 us, vérification 15-30 us.","open-source-selvedge.1f3e8a79be":"10 à 20 us","open-source-selvedge.671d8813b1":"Création de preuve AION","open-source-selvedge.9f10fa1bbe":"Démarrage du processus inclus, 8 à 9 fois plus rapide.","open-source-selvedge.4258dd2386":"1,58 à 1,70 ms","open-source-selvedge.919b634e80":"CLI à froid, Kera JIT","open-source-selvedge.2d3bb21f5e":"Module de calcul, contre 1187-1494 us vanilla.","open-source-selvedge.bd8403776f":"15 à 21 us","open-source-selvedge.cbb71692d2":"Démarrage à froid, API","open-source-selvedge.6cd2cd614d":"Depuis BENCHMARKS.md","open-source-selvedge.48109cc196":"BENCHES SELVEDGE","open-source-selvedge.d9074c5c77":"CRITERION","open-source-selvedge.7084ceb2f1":"AION 10-1000x","open-source-selvedge.b0437f28f6":"KERA JIT CHAUD 2x","open-source-selvedge.65e2c56be9":"FROID 62-243x","open-source-selvedge.928af32bc7":"Selvedge Wasmtime démarre 62 à 243 fois plus vite que Wasmtime vanilla au niveau de l'API. Le compromis honnête est le chemin à chaud : vanilla conserve l'appel répété de 22 ns, et le modèle de composants qui produit le transcript y est plus lent. Kera JIT est 2 fois plus rapide à chaud pour le travail sur graphe. Les chiffres proviennent du BENCHMARKS.md du dépôt.","open-source-selvedge.da589b16da":"Choisissez le runtime selon la charge","open-source-selvedge.c296a030fe":"Le démarrage à froid est l'avantage","open-source-selvedge.63c9045599":"Performance","open-source-selvedge.7b63c4cb70":"Accordé par appel","open-source-selvedge.abf0c49614":"Refus par défaut","open-source-selvedge.cce9f81b05":"Chaque décision de contrôle est enregistrée et hachée.","open-source-selvedge.5bcd602254":"Transcript","open-source-selvedge.7dc2595377":"max_execution_time_ns, séparé du fuel.","open-source-selvedge.e909add520":"Limite de temps réel","open-source-selvedge.214f86c442":"max_memory_bytes, 256 MiB par défaut, plafond de 4 GiB.","open-source-selvedge.89095dddd2":"Limite de RAM","open-source-selvedge.0f69ea8c8d":"max_instructions, l'épuisement arrête proprement la charge.","open-source-selvedge.7171161439":"Budget de calcul","open-source-selvedge.71f2051042":"Horloge, aléa, système de fichiers, réseau, environnement, stdio, processus, personnalisé. Refus par défaut.","open-source-selvedge.ca09c54bff":"Capacités","open-source-selvedge.f767a4311b":"Contrôles par exécution","open-source-selvedge.369abb529c":"NIVEAUX DE POLITIQUE","open-source-selvedge.64269f9bd2":"TIME","open-source-selvedge.f4b1c471ce":"MÉMOIRE","open-source-selvedge.d8a8b58d7f":"FUEL","open-source-selvedge.1a8d3ca502":"Un ensemble de capacités en refus par défaut contrôle chaque appel hôte sur huit domaines WASI. Les limites de ressources sur la mémoire, le fuel et le temps bornent les comportements incontrôlés. Chaque décision de contrôle et lecture de ressource figure dans le transcript.","open-source-selvedge.770a668e0e":"Limites de ressources. Audit","open-source-selvedge.8a54e91228":"Capacités","open-source-selvedge.bb9cf14180":"Politique","open-source-selvedge.26fe8fb85c":"Des reçus plutôt que des affirmations","open-source-selvedge.e08283960c":"Vérifiez, ne faites pas confiance","open-source-selvedge.82de28b689":"Vous avez besoin de preuves cryptographiques de ce que la charge a fait, pas de confiance dans le runtime.","open-source-selvedge.858b0d2d19":"Faites confiance au runtime, pas à la charge","open-source-selvedge.ba959133c8":"Autoriser le système de fichiers, refuser le réseau, mais aucun enregistrement par appel dans la piste d'audit.","open-source-selvedge.ff6fdd664b":"Autorisation ou refus grossier","open-source-selvedge.f58bb04b13":"FP et temps réel fuient. La relecture produit approximativement la même sortie, pas exactement.","open-source-selvedge.a1d55a1dad":"La relecture dérive","open-source-selvedge.f7afaaab99":"aucun reçu","open-source-selvedge.4677f31dd1":"Un sandbox empêche l'évasion. Il ne prouve pas que la charge s'est comportée correctement à l'intérieur.","open-source-selvedge.6f3134b990":"Le confinement n'est pas la correction","open-source-selvedge.782cef5501":"Quatre lacunes structurelles","open-source-selvedge.056dcf1841":"POURQUOI LES SANDBOXES MANQUENT","open-source-selvedge.f1358eac2f":"POLITIQUE GROSSIÈRE","open-source-selvedge.2bf9ef4df8":"NONDÉTERMINISTE","open-source-selvedge.1c613acc7e":"AUCUNE PREUVE","open-source-selvedge.d38e80798b":"Les sandboxes conventionnels empêchent le code malveillant de s'échapper. Ils ne produisent pas d'enregistrement de ce que le code a réellement fait à l'intérieur. Quand un auditeur demande, la réponse est une affirmation, pas une preuve.","open-source-selvedge.61920a517c":"Ils ne prouvent pas","open-source-selvedge.5a88fbb30e":"Les sandboxes contiennent","open-source-selvedge.8a9400005c":"Un sandbox n'explique pas l'exécution","open-source-selvedge.7c46a5978b":"Selvedge capture exactement ce qui a été exécuté, de l'entrée à la sortie, chaque appel hôte scellé.","open-source-selvedge.3e663e9467":"Selvedge est un transcript d'exécution","open-source-selvedge.a5be60731e":"Le registre enregistre ce qui s'est passé dans un système. Selvedge enregistre quel code a tourné.","open-source-selvedge.2c3e446b87":"Ledger est une provenance d'événements","open-source-selvedge.de792742e8":"AION émet des certificats sur les étapes de résolution, pas sur les exécutions.","open-source-selvedge.ced73ef9a5":"AION est une preuve de raisonnement","open-source-selvedge.0d9a7a065c":"En quoi Selvedge diffère d'AION et de Ledger","open-source-selvedge.d7ffcdc87b":"Mêmes entrées plus même enveloppe signifient même sortie, toujours.","open-source-selvedge.7d8134cc1f":"Relecture à l'octet identique","open-source-selvedge.75fcf02b02":"Une époque fixe et un PRNG ChaCha20 ensemencé remplacent le temps hôte et l'entropie.","open-source-selvedge.92a47286b6":"Horloge virtuelle, RNG ensemencé","open-source-selvedge.13c1f9cde6":"Le calcul interne, le stockage et l'accumulation utilisent des représentations binaires, entières, à virgule fixe ou adaptatives entières/à virgule fixe. La virgule flottante n'est acceptée qu'à une frontière externe déclarée et est explicitement convertie avant le début du travail interne ; il n'y a pas de repli interne en virgule flottante. L'horloge virtuelle reste fixe, donc la relecture produit les mêmes octets.","open-source-selvedge.a33c607874":"Pas de flottants internes, pas d'horloges","open-source-selvedge.81ec58648a":"Exécution déterministe par défaut","open-source-selvedge.4b447f3a6e":"Le vérificateur rejoue hors ligne avec les octets du module et l'enveloppe seuls.","open-source-selvedge.17d120d8bb":"Rejouable","open-source-selvedge.6e95469aa0":"Signature ed25519 sur la racine de l'enveloppe. Pas de prose.","open-source-selvedge.6e3665d85f":"Signé","open-source-selvedge.bc61f0c3fe":"Chaque appel hôte est haché dans la chaîne. Les modifications cassent la chaîne.","open-source-selvedge.aa5cba1a92":"Chaîne de hachage","open-source-selvedge.04c7525615":"Pourquoi le transcript diffère d'un journal","open-source-selvedge.6db180787e":"Même flux à chaque exécution. La relecture est mécanique.","open-source-selvedge.69aca853c2":"Preuve AION","open-source-selvedge.ff8fc1c58a":"Sceau","open-source-selvedge.0ae62541bc":"Chaîne SHA3","open-source-selvedge.873507a022":"Hachage","open-source-selvedge.b1b392607d":"Exécution","open-source-selvedge.3e3f943d84":"caps épinglés","open-source-selvedge.ddcb77ff76":"Chargement","open-source-selvedge.71faf343ce":"Transcript d'exécution","open-source-selvedge.952be7ff16":"Preuve AION émise, signée ed25519, enveloppe prête à expédier.","open-source-selvedge.be1a4b336f":"Chaque appel hôte et résultat est haché dans une chaîne SHA3-256.","open-source-selvedge.83dcc459e8":"Wasmtime ou Kera s'exécute dans le sandbox à refus par défaut.","open-source-selvedge.1a5c8788b4":"Module chargé, capacités épinglées, limites de ressources appliquées.","open-source-selvedge.25ec589727":"Selvedge exécute du code WASM ou Kera dans un sandbox à refus par défaut, hache chaque appel hôte dans une chaîne de transcript SHA3-256, et enveloppe le résultat dans une enveloppe de preuve AION signée. L'enveloppe se rejoue sans le sandbox d'origine.","open-source-selvedge.fa84feaccb":"Un transcript scellé","open-source-selvedge.62ee5ca76d":"Quatre étapes","open-source-selvedge.a5a88d36d1":"Ce que produit Selvedge","open-source-selvedge.db2f804f0c":"Les données quittent l'Europe","open-source-selvedge.8799dc7cf1":"Ordinateurs que vous possédez","open-source-selvedge.1d197d39c5":"Où il s'exécute","open-source-selvedge.79073eaaf2":"Pays-Bas","open-source-selvedge.44ab85a252":"Origine","open-source-selvedge.f1be77358f":"Preuve, pas promesse","open-source-selvedge.df5248d3cd":"La réponse d'audit","open-source-selvedge.6eef664840":"Aucun","open-source-selvedge.a95380913a":"Service externe requis","open-source-selvedge.eba5db6f23":"Verrouillage fournisseur","open-source-selvedge.4ce8c39ddd":"Où le trouver","open-source-selvedge.3229609e15":"Modèle d'exécution","open-source-selvedge.cba0624eb5":"Fiche d'approvisionnement","open-source-selvedge.101226ec7a":"Ce qu'il économise et dérisque","open-source-selvedge.7a0848ede3":"Voir la frontière d'exécution","open-source-selvedge.c01c519a99":"Selvedge est un sandbox WebAssembly déterministe pour code non fiable. Son manifeste de permissions et son transcript scellé s'exécutent sur du matériel que vous contrôlez, donc une contrepartie peut rejouer l'enregistrement sur sa propre machine et un litige devient une consultation plutôt qu'une demande d'assurance.","open-source-selvedge.27e446d5a9":"Conserver un transcript scellé","open-source-selvedge.e1cb220703":"Exécuter du code non fiable","open-source-selvedge.6ec18dcb30":"Selvedge","open-source-selvedge.993a665d35":"En charge","open-source-selvedge.c1df7f8f11":"Vous restez","open-source-selvedge.f3101e3bb1":"Sur un ordinateur à la maison","open-source-selvedge.7cb07d3c00":"Peut s'exécuter","open-source-selvedge.576347ec82":"Europe","open-source-selvedge.15edfb4da4":"Fabriqué en","open-source-selvedge.dd80c16201":"Même réponse, à chaque fois","open-source-selvedge.d7e70b6e08":"Même question","open-source-selvedge.12fee4f639":"Ainsi, rien ne peut être falsifié","open-source-selvedge.4c10b31d42":"Ça scelle","open-source-selvedge.dcd11694fe":"Un reçu de chaque étape","open-source-selvedge.2ab05d7411":"Ça écrit","open-source-selvedge.527d86ed84":"Garde le travail dans un coin sûr","open-source-selvedge.ca032b5844":"Gardez le code dans les limites, gardez la trace","open-source-selvedge.ce2cddc0bb":"Un assistant prudent","open-source-selvedge.f8c94a3b4b":"Ce que c'est","open-source-selvedge.704869f20f":"En termes simples","open-source-selvedge.21e83f6c44":"Lisez la petite histoire","open-source-selvedge.06c805023d":"Voyez ce que le code a fait","open-source-selvedge.d346a6159d":"Selvedge place un programme que vous n'avez pas choisi dans une pièce sans internet, sans accès à vos fichiers et sans rien à apprendre sur votre machine. Il laisse un reçu indiquant ce qui est revenu et ce que le programme était autorisé à faire, afin que vous puissiez vérifier une affirmation ultérieure au lieu de prendre quelqu'un au mot.","open-source-selvedge.a1301435db":" note tout ce qu'il fait","open-source-selvedge.5bd50e406e":"Un assistant prudent qui","open-source-selvedge.279245bb2e":"Style AION, scellé ed25519","open-source-selvedge.5f174de1cc":"Preuve","open-source-selvedge.ff5b90620f":"SHA3-256 par appel hôte","open-source-selvedge.98e2d78aaa":"Par défaut, pas sur option","open-source-selvedge.2956ef9ad6":"Déterminisme","open-source-selvedge.cd95bf50b6":"Hôte de composants Wasmtime","open-source-selvedge.b3776d63ad":"Backends","open-source-selvedge.2da600bf94":"Version","open-source-selvedge.f187484f8c":"Rust (édition 2024)","open-source-selvedge.89b86ab0e6":"Langage","open-source-selvedge.942587e61e":"Fiche projet","open-source-selvedge.d4a74b503a":"Lire la documentation","open-source-selvedge.a42a770d90":"Selvedge exécute du code que vous n'avez pas écrit dans un hôte de composants WebAssembly sans réseau, système de fichiers, environnement ni horloge mobile. Chaque exécution terminée renvoie un enregistrement qu'une autre partie peut rejouer, ainsi qu'un rapport d'exécution indiquant ce que le code était autorisé à faire. Publié sous Apache 2.0.","open-source-selvedge.92ec8c4f54":"responsabilité sûre","open-source-selvedge.722d7084a5":"Code non fiable","open-source-selvedge.3b6a6a049d":"sandboxé","open-source-selvedge.7d5b92b8a7":"CAP-SET","open-source-selvedge.0e2f3c1696":"FUEL","open-source-selvedge.a266fe9c4d":"MÉMOIRE","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":"OBSERVÉ","open-source-selvedge.35e0d0360a":"LIVE","open-source-selvedge.0f4b423c4b":"MESURÉ","open-source-selvedge.6e10953f3e":"OPEN","open-source-selvedge.rebuild-h1-lead":"Exécutez du code que vous n'avez pas écrit.","open-source-selvedge.rebuild-h1-accent":"Une pièce avec un reçu.","open-source-selvedge.rebuild-business-h1-lead":"Exécutez du code non fiable sur du matériel que vous contrôlez.","open-source-selvedge.rebuild-business-h1-accent":"Un bac à sable WebAssembly déterministe.","open-source-selvedge.close.github":"Renseignez-vous sur la version","open-source-selvedge.source.access":"Publication au quatrième tour","open-source-selvedge.close.title":"Vérifiez le résultat","open-source-selvedge.close.titleAccent":"pas le code","open-source-selvedge.close.panel.title":"Ce que vous pouvez vérifier vous-même","open-source-selvedge.close.panel.tag":"EXÉCUTION","open-source-selvedge.close.panel.row.0.label":"Licence","open-source-selvedge.close.panel.row.0.value":"Apache 2.0","open-source-selvedge.close.panel.row.1.label":"Exécution","open-source-selvedge.close.panel.row.1.value":"Refus par défaut","open-source-selvedge.close.panel.row.2.label":"Déterminisme","open-source-selvedge.close.panel.row.2.value":"Par défaut, pas sur option","open-source-selvedge.close.panel.row.3.label":"Transcription","open-source-selvedge.close.panel.row.3.value":"SHA3-256 par appel hôte","open-source-selvedge.close.panel.foot":"La publication est prévue par tours bimensuels. Le dépôt et sa documentation sont mis en ligne ensemble.","oss-selvedge-business-glyph.fef8e889dc":"Politique d'exécution","oss-selvedge-business-glyph.6b5eb5323e":"Refus par défaut","oss-selvedge-business-glyph.4ce8c39ddd":"Où le trouver","oss-selvedge-business-glyph.eba5db6f23":"Verrouillage fournisseur","oss-selvedge-business-glyph.6eef664840":"Aucun","oss-selvedge-business-glyph.a95380913a":"Service externe","oss-selvedge-business-glyph.a92831c31f":"Conçu aux Pays-Bas","oss-selvedge-business-glyph.47deeb13b4":"Fonctionne sur vos propres ordinateurs","oss-selvedge-business-glyph.71aec0536c":"Les données restent en Europe","oss-selvedge-business-glyph.8ac7aa173f":"Ce que vous obtenez","oss-selvedge-business-glyph.5c75fc26b6":"Contrôle et preuves","oss-selvedge-business-glyph.df5248d3cd":"La réponse d'audit","oss-selvedge-business-glyph.74f39697ac":"Avant","oss-selvedge-business-glyph.b407dd020f":"Une promesse sur papier","oss-selvedge-business-glyph.4f1d10b8b9":"Avec Selvedge","oss-selvedge-business-glyph.62d62865a8":"Preuves scellées","oss-selvedge-consumer-glyph.088aa1c6a5":"Resté dans un coin sûr","oss-selvedge-consumer-glyph.cc8e3cba23":"N'a fait que ce que vous avez demandé","oss-selvedge-consumer-glyph.f87dcfd005":"A noté chaque étape","oss-selvedge-consumer-glyph.ce2cddc0bb":"Un assistant prudent","oss-selvedge-consumer-glyph.0b5703d2a7":"Le coin sûr","oss-selvedge-consumer-glyph.135207e95b":"Il fait une petite tâche, ici, et nulle part ailleurs.","oss-selvedge-consumer-glyph.0ed7e2fe52":"Ce qu'il a fait, consigné par écrit","oss-selvedge-consumer-glyph.2b11f0b541":"Scellé, pour que rien ne puisse être modifié","oss-selvedge-hero-glyph.85be9bda9e":"Vérification AION réussie.","oss-selvedge-hero-glyph.8fff039853":"YES","oss-selvedge-hero-glyph.c5616cf985":"Signature valide :","oss-selvedge-hero-glyph.9e84fd1870":"Empreinte conforme :","oss-selvedge-hero-glyph.ae05be9259":"Journal enregistré dans :","oss-selvedge-hero-glyph.7d1f8eca4c":"Instructions :","oss-selvedge-hero-glyph.1611baddbd":"2 097 152 octets","oss-selvedge-hero-glyph.b6d31df01c":"Mémoire :","oss-selvedge-hero-glyph.d1fd5a4123":"Utilisation des ressources :","oss-selvedge-hero-glyph.80e5667a3d":"Exécution terminée avec succès en 18,4 ms","oss-selvedge-hero-glyph.ebece295c6":"chaîne de journal, sha3-256","oss-selvedge-hero-glyph.859e2c0cd0":"temps 5000 ms","oss-selvedge-hero-glyph.6137065f69":"carburant 50 M","oss-selvedge-hero-glyph.489a5f61f6":"mémoire 256 Mio","oss-selvedge-hero-glyph.70049344a2":"politique : refus par défaut","oss-selvedge-hero-glyph.9b97280973":"Déterministe :","oss-selvedge-hero-glyph.0642f22885":"Moteur :","oss-selvedge-hero-glyph.8116c74b17":"Artefact en cours d'exécution :","oss-selvedge-hero-glyph.9f85876f55":"Wasmtime, modèle de composants","page-breadcrumb.c766e66518":"Fil d'Ariane","page-toc.7e439c353e":"Sur cette page","section_st_a1_display-split.7c9a7c0610":"Détail","section_st_f1_cta-dark.90e40d5043":"Commencer","selvedge-rebuild.why":"Pourquoi","selvedge-rebuild.state.depth-3":"Profondeur 3","selvedge-rebuild.state.depth-1":"Profondeur 1","selvedge-rebuild.state.leaf":"Feuille","selvedge-rebuild.state.path":"Chemin","selvedge-rebuild.state.root":"Racine","selvedge-rebuild.state.proof":"Preuve","selvedge-rebuild.instrument.first-check":"Première vérification","selvedge-rebuild.instrument.last-check":"Dernière vérification","selvedge-rebuild.e4117a549a":"La pièce, le reçu et la liste constituent toute la promesse.","selvedge-rebuild.e04c2bbabb":"Une liste, pas une estimation.","selvedge-rebuild.f4a910b306":"Trouver et corriger","selvedge-rebuild.d7231e00d3":"Le code est transporté à chaque exécution.","selvedge-rebuild.de97a98b3b":"Chaque reçu","selvedge-rebuild.4fb8981886":"Un condensé nomme la version.","selvedge-rebuild.280587dbfc":"Artefact exact","selvedge-rebuild.94bce13433":"d'un reçu à chaque tâche","selvedge-rebuild.d8ad44b2fd":"La trace en arrière","selvedge-rebuild.66d0398793":"TROUVÉ, PAS DEVINÉ","selvedge-rebuild.f64f81f133":"CHAQUE TÂCHE","selvedge-rebuild.cd30789775":"UN SEUL CODE","selvedge-rebuild.36d917a683":"Ici, cela arrive sous forme de liste. Chaque tâche ayant utilisé le programme défectueux le nomme par code, date et une courte liste de permissions, afin que vous puissiez voir ce qui a été affecté et jusqu'où cela aurait pu aller. Si les personnes qui l'ont créé ne sont plus dignes de confiance, le retrait prend effet à un intervalle d'actualisation défini plutôt qu'à l'expiration d'un certificat. Le logiciel est publié sous licence Apache 2.0.","selvedge-rebuild.12399078d5":"La version habituelle de cette conversation est une estimation. Quelqu'un détermine quelle version tournait probablement, quels jours, pour quelles personnes, et la réponse arrive sous forme de fourchette avec une réserve. Cela laisse les faits nécessaires pour délimiter une correction comme une reconstruction plutôt qu'un enregistrement. La correction commence par une liste vérifiable.","selvedge-rebuild.0ccfcd0de4":"Ce qui change","selvedge-rebuild.664ca13427":"Chaque tâche enregistre un code court pour le programme exact qui a effectué le travail. Pas son nom, pas son numéro de version, le programme lui-même, de sorte que deux versions partageant un même nom aient des codes différents. Si ce programme s'avère ensuite défectueux, le code est ce qui permet de retrouver chaque tâche qu'il a touchée.","selvedge-rebuild.7e5bd67fe6":"et chaque tâche qu'il a touchée","selvedge-rebuild.b27d103669":"Un code nomme le programme","selvedge-rebuild.332f693bb9":"Quand quelque chose s'avère erroné","selvedge-rebuild.e7dceacc68":"Quand quelque chose s'avère erroné, un code nomme le programme.","selvedge-rebuild.9c9d8ebf4c":"Part de la même forme propre.","selvedge-rebuild.363b82b08d":"Tâche deux","selvedge-rebuild.5e92b89d0f":"Rien de transporté.","selvedge-rebuild.747a74c704":"Nouvelle pièce","selvedge-rebuild.bbd11eef60":"Fermée avec son enregistrement.","selvedge-rebuild.e429b951d7":"Tâche un","selvedge-rebuild.129567cb21":"avant, pendant et après","selvedge-rebuild.456de19ceb":"Trois pièces","selvedge-rebuild.164f8ae614":"RIEN DE PARTAGÉ","selvedge-rebuild.16d6f8e910":"À CHAQUE FOIS","selvedge-rebuild.09d2a97782":"NOUVELLE PIÈCE","selvedge-rebuild.fb65ff4141":"Le programme lui-même est chargé à neuf à chaque fois depuis son propre code, et le reçu porte un code pour ce code, de sorte que ce qui a tourné aujourd'hui est prouvablement ce qui a tourné le mois dernier. Rien ne s'accumule entre-temps pour que quiconque s'en inquiète plus tard.","selvedge-rebuild.b0f5fcfbc7":"Une nouvelle pièce Selvedge coûte si peu qu'une par tâche est abordable, donc rien ne doit être partagé. Si quelque chose doit vraiment être transporté, cela se fait intentionnellement et cela apparaît dans l'enregistrement comme quelque chose qui a été transmis.","selvedge-rebuild.46cfb3934a":"En pratique","selvedge-rebuild.ff26c0ce98":"Chaque tâche reçoit une nouvelle pièce. Rien de la précédente ne s'y trouve : pas de notes laissées, pas de travail à moitié fini, pas de mémoire de qui a demandé. Cela semble évident et ce ne l'est généralement pas, car garder une pièce debout coûte moins cher que d'en construire une nouvelle, donc la plupart des systèmes gardent la pièce et la réutilisent.","selvedge-rebuild.7f6bde3487":"pour que la prochaine tâche trouve","selvedge-rebuild.0813f2a065":"Rien n'est laissé derrière","selvedge-rebuild.e0a28255b6":"Entre une tâche et la suivante","selvedge-rebuild.ddf86350ec":"Une nouvelle pièce est prête pour la prochaine tâche.","selvedge-rebuild.47d52db543":"Condensé de politique et date.","selvedge-rebuild.d8c67f88b7":"Liste de capacités nommée.","selvedge-rebuild.8d71e4a6c8":"Ce qui était autorisé","selvedge-rebuild.1be6bb3160":"Sortie, résultat et utilisation des ressources.","selvedge-rebuild.7661e6591f":"Ce qui s'est passé","selvedge-rebuild.5354effb89":"un reçu, deux questions","selvedge-rebuild.bf7aa926cc":"Deux moitiés","selvedge-rebuild.8719258390":"ÉCRIT","selvedge-rebuild.d45d38b1c1":"CE QU'IL POUVAIT","selvedge-rebuild.103f9176a0":"CE QU'IL A FAIT","selvedge-rebuild.fc09104420":"Ne rien trouver est une preuve faible, car cela dépend de l'effort de recherche et du temps disponible avant la réunion. Une liste de deux permissions est une preuve forte, car il n'y avait rien d'autre à trouver.","selvedge-rebuild.e7e3ece016":"Cela change ce qui se passe lorsque vous posez une question plus tard. Au lieu que quelqu'un examine ce que le programme a fait et rapporte qu'il n'a rien trouvé d'inquiétant, la liste de permissions est là, et elle est courte.","selvedge-rebuild.74365019ac":"La plupart des journaux disent ce qu'un programme a fait. Un reçu Selvedge dit aussi ce qu'il avait le droit de faire, ce qui est une chose différente et plus utile. Un programme qui n'a jamais été autorisé à approcher vos fichiers n'a pas pu s'en approcher, et cela est consigné, que quelqu'un ait regardé ou non à ce moment-là.","selvedge-rebuild.b418919876":"ce qu'il a fait et ce qu'il pouvait faire","selvedge-rebuild.f0ba8e6e92":"Chaque reçu a deux moitiés","selvedge-rebuild.a9fe3bc508":"Permission, par écrit","selvedge-rebuild.76194111ba":"Un code n'est pas une copie du programme ; il désigne la chose exacte qui a tourné.","selvedge-rebuild.17cabedb50":"La liste indique où.","selvedge-rebuild.67452c68d0":"Les codes diffèrent","selvedge-rebuild.c1c7f44d1c":"Le comportement s'est répété.","selvedge-rebuild.0407e20f79":"Les codes concordent","selvedge-rebuild.90586d801f":"Mêmes réglages et artefact.","selvedge-rebuild.dba9e64b97":"Exécuter demain","selvedge-rebuild.bd7b414b53":"Entrée, salle et reçu.","selvedge-rebuild.c941dde6f2":"Exécuter aujourd'hui","selvedge-rebuild.7b1c52fa95":"ce que la deuxième exécution vous apprend","selvedge-rebuild.bebe96c4de":"Un test, deux résultats","selvedge-rebuild.e1c7f38f86":"VOUS POUVEZ VÉRIFIER","selvedge-rebuild.b00a146670":"MÊME RÉPONSE","selvedge-rebuild.64ee12f3fd":"MÊME MOMENT","selvedge-rebuild.698a936171":"Cela ferme aussi une petite astuce. Un programme qui peut lire l'horloge peut se comporter d'une manière avant une échéance et d'une autre après, et personne ne verrait jamais la différence. Une horloge qui ne bouge jamais ne peut pas être observée, donc il n'y a rien à propos de quoi se comporter différemment.","selvedge-rebuild.d722dbffa2":"Cela vous donne un test que vous pouvez exécuter vous-même. Si quelque chose semble faux, relancez-le avec la même entrée. Si la réponse est la même, le programme se comporte correctement et le problème est ailleurs. Si elle est différente, quelque chose a changé, et la comparaison indique quelle partie.","selvedge-rebuild.750c2096f3":"Pourquoi c'est important","selvedge-rebuild.7768a95a4a":"La plupart des programmes donnent des réponses légèrement différentes à chaque fois, car ils regardent l'horloge, utilisent un peu de hasard ou remarquent à quel point la machine est occupée. Un programme qui tourne dans Selvedge ne peut rien faire de tout cela. L'horloge interne est fixe et ne bouge jamais, et tout ce qui est aléatoire part du même nombre à chaque exécution. Demandez deux fois, obtenez la même réponse.","selvedge-rebuild.00bc249842":"et voyez si cela concorde toujours","selvedge-rebuild.1797b92182":"Relancez-le demain","selvedge-rebuild.0d971150f5":"La même réponse deux fois","selvedge-rebuild.0ce33bc17c":"Relancez-le demain et voyez si cela concorde toujours.","selvedge-rebuild.780591dd40":"Le travail s'est replié ensemble.","selvedge-rebuild.b454191161":"Exécuter le code","selvedge-rebuild.0d36ec2dc8":"Capturé et empreinté.","selvedge-rebuild.c35f4d270f":"Réponse renvoyée","selvedge-rebuild.12f6bce42d":"Sortie imprimée","selvedge-rebuild.e45f48ada6":"et un code pour chacun","selvedge-rebuild.96a145870f":"Deux choses","selvedge-rebuild.4056de166c":"LES DEUX EMPREINTÉS","selvedge-rebuild.3736161d33":"RENVOYÉE","selvedge-rebuild.07d3782dee":"IMPRIMÉE","selvedge-rebuild.7362fe572e":"C'est la même idée qu'un sceau sur une enveloppe, et cela fait plus. Un sceau vous dit que la lettre a été ouverte. Cela vous dit quelle page a changé, et cela fonctionne toujours quand la lettre a été copiée une douzaine de fois depuis. Chaque lecteur obtient la même réponse du journal copié.","selvedge-rebuild.7ffcd03942":"Ce code est ce qui rend un argument ultérieur court. Si quelqu'un vous montre une réponse qu'un programme a donnée en mars dernier et que vous voulez savoir si c'est la réponse qui est réellement sortie, vous comparez les codes. Ils correspondent ou non, et il n'y a rien entre les deux à discuter.","selvedge-rebuild.940394c7d2":"Quand le travail est terminé, deux choses quittent la salle : tout ce que le programme a imprimé en travaillant, et la réponse qu'il a trouvée. Rien d'autre. Les deux sont empreintés à la sortie, ce qui signifie qu'un code court est fait à partir d'eux, et le code change complètement si une seule lettre change.","selvedge-rebuild.690d8dd7a6":"et les deux sont empreintés","selvedge-rebuild.72f4db7882":"Deux choses reviennent","selvedge-rebuild.1251cc0dd7":"Ce qui revient","selvedge-rebuild.8d77e5771a":"La prochaine question utile est ce qui revient.","selvedge-rebuild.ec6f32ee39":"Aucun environnement.","selvedge-rebuild.a6252b6690":"Vos informations","selvedge-rebuild.fb9f6423d9":"Aucun répertoire.","selvedge-rebuild.f1096a5b4c":"Vos fichiers","selvedge-rebuild.4c4c583f2e":"Aucune connexion.","selvedge-rebuild.66c06c11d1":"Internet","selvedge-rebuild.ac8e062358":"Un emplacement, un travail.","selvedge-rebuild.bb7841ee3e":"Votre programme","selvedge-rebuild.8b493952a7":"et ce qui n'y est pas","selvedge-rebuild.4d26f69b94":"Ce qui est dans la salle","selvedge-rebuild.660cea3ce9":"UN EMPLACEMENT","selvedge-rebuild.f1818b9fef":"RIEN À LIRE","selvedge-rebuild.98a2180aec":"AUCUNE ISSUE","selvedge-rebuild.663ab35faf":"Vous ne comptez donc pas sur quelqu'un qui a pensé à tout à l'avance. C'est la partie qui échoue généralement, et elle échoue silencieusement, des mois plus tard, d'une manière que personne ne remarque jusqu'à ce que quelqu'un d'autre le signale. Une liste courte et explicite rend une permission manquante visible avant qu'elle ne devienne un problème.","selvedge-rebuild.0e9905b668":"La raison pour laquelle cela aide n'est pas que le programme est surveillé attentivement. C'est qu'il n'y a rien dans la salle qui puisse mal tourner. Un programme ne peut pas envoyer vos informations nulle part s'il n'y a aucune issue pour les envoyer, et il ne peut pas lire vos photos si la porte vers elles n'a jamais été construite.","selvedge-rebuild.22ccf30775":"Des programmes que vous n'avez pas écrits finissent par tourner sur votre ordinateur tout le temps : un add-on, un plug-in, quelque chose qu'un assistant a décidé d'utiliser pour répondre à votre question. Selvedge place ce programme dans une salle qui lui est propre. De l'intérieur, il n'y a pas d'internet, aucun accès à vos fichiers, et rien à apprendre sur votre machine.","selvedge-rebuild.9e56594623":"et rien d'autre du tout","selvedge-rebuild.6b5631ed3a":"Une pièce avec un seul emplacement","selvedge-rebuild.704869f20f":"En termes simples","selvedge-rebuild.160543d3ec":"Une pièce peut aussi s'expliquer en termes simples.","selvedge-rebuild.6e66049bd0":"Chaîne de décision et cinq opérations.","selvedge-rebuild.140855a7dd":"Piste d'audit et chemin de l'agent","selvedge-rebuild.be90f07014":"Preuve en dehors de l'opérateur.","selvedge-rebuild.c3f6368941":"Journal de transparence","selvedge-rebuild.4402f8d6f4":"Admission et adresse de contenu.","selvedge-rebuild.1fd6a805da":"Registre","selvedge-rebuild.943a71d70f":"Contenant et exécution déterministe.","selvedge-rebuild.0a771c36be":"Bac à sable","selvedge-rebuild.493bbfc72f":"la limite, la preuve, la remise","selvedge-rebuild.6311787659":"Ce que contient l'ensemble","selvedge-rebuild.c968638a6e":"APACHE 2.0","selvedge-rebuild.d0158524ed":"VOTRE MATÉRIEL","selvedge-rebuild.cfd1b83141":"UN SEUL ENSEMBLE DE COMPOSANTS","selvedge-rebuild.2c4db760cf":"Le reste du coût est celui que l'approvisionnement oublie généralement, à savoir ce qui se passe lorsqu'un fournisseur modifie ses conditions ou cesse de répondre. L'ensemble de composants est publié sous licence Apache 2.0, les artefacts sont des fichiers à adresse de contenu, les enregistrements sont des fichiers, et la vérification s'exécute sur la machine de l'autre partie, donc une sortie est une copie plutôt qu'une migration.","selvedge-rebuild.c69320538d":"Le coût récurrent d'une exécution est mesuré plutôt que devisé : 5,26 à 6,06 microsecondes par appel à travers la limite et bien moins d'une milliseconde pour démarrer une nouvelle instance, sur un Intel i9-13900KF avec une compilation de version, une optimisation des liens fat et Rust 1.85.0. C'est tout ce que coûte l'enregistrement au moment de l'exécution.","selvedge-rebuild.59bd1ff6f9":"Ce que ça coûte","selvedge-rebuild.662cd46273":"Selvedge est un ensemble de composants couvrant l'environnement d'exécution du bac à sable, le registre d'artefacts, le journal de transparence, la piste d'audit chaînée par hachage et l'interface qu'un agent utilise pour atteindre un outil. Il fonctionne sur du matériel que vous contrôlez. Aucun élément externe ne se trouve sur le chemin d'une exécution : pas de compte, pas de clé détenue par un fournisseur, pas de service qui doive répondre pour qu'une tâche se termine.","selvedge-rebuild.9ce257fa8d":"et il fonctionne sur votre matériel","selvedge-rebuild.b1c3183260":"Une seule chaîne d'outils, pas quatre","selvedge-rebuild.dea6811b37":"Ce qu'il remplace","selvedge-rebuild.86c78780e9":"Une seule chaîne d'outils, sur du matériel que vous possédez, est la conclusion commerciale.","selvedge-rebuild.b742347ca6":"Arrêter ou afficher son historique.","selvedge-rebuild.80b0178666":"Annuler / provenance","selvedge-rebuild.2976625857":"Exécuter dans la pièce.","selvedge-rebuild.c65605adf5":"Invoquer","selvedge-rebuild.084d82061e":"Admettre l'artefact.","selvedge-rebuild.fd6c3ebf7b":"Installer","selvedge-rebuild.820fa7ff41":"Trouver une capacité nommée.","selvedge-rebuild.4827ea2271":"Découvrir","selvedge-rebuild.38025e67e1":"une seule porte pour les outils d'agent","selvedge-rebuild.41cb4bf6dc":"Cinq opérations","selvedge-rebuild.3501cb4872":"AUCUNE APPROBATION","selvedge-rebuild.9054eecb7b":"PROVENANCE SUR DEMANDE","selvedge-rebuild.0cd0da7fef":"UNE SEULE PORTE","selvedge-rebuild.e088784883":"Ensuite, la provenance de ce qui a été exécuté peut être demandée, et c'est la partie qui mérite qu'on conçoive un processus autour : l'adresse propre de l'artefact, si sa signature tient, le certificat présenté avec lui, la politique sous laquelle il a été exécuté, et où il a déjà été exécuté. Ces faits restent disponibles lorsqu'une exécution doit être vérifiée plus tard. Ils peuvent être vérifiés sans faire confiance à la personne qui l'a exécutée.","selvedge-rebuild.c3c0f81705":"Les contrôles ici ne sont pas des approbations, car une approbation nécessite quelqu'un d'éveillé. Ce sont la forme de la porte. Un outil est découvert, installé et invoqué via une seule interface de cinq opérations, donc chaque arrivée est le même type d'événement, et le contrôle qui refuse une capacité est celui que toutes les autres exécutions subissent plutôt qu'un second mécanisme écrit spécialement pour les agents.","selvedge-rebuild.896b2f37be":"Le mécanisme","selvedge-rebuild.122ebb7a98":"Un assistant travaillant sur une tâche peut décider qu'il a besoin d'une capacité qu'il ne possède pas, en trouver une et commencer à l'utiliser dans un travail que personne ne surveille. Il n'y a eu ni étape d'approvisionnement ni revue, car il n'y a eu aucun moment pour les insérer. Selvedge est la limite que l'assistant doit franchir, et le rapport à la fin nomme quel outil est arrivé, ce qui lui a été permis et ce qu'il a fait.","selvedge-rebuild.deeaa912ba":"et il est déjà à l'intérieur","selvedge-rebuild.767c396612":"Personne n'a choisi cet outil","selvedge-rebuild.d368c82df4":"Quand l'appelant est un modèle","selvedge-rebuild.ee26c4f440":"Quand l'appelant est un modèle, une seule porte rend l'arrivée lisible.","selvedge-rebuild.9faf774569":"Appliquer la politique de débit.","selvedge-rebuild.ee1acfa55e":"Authentification","selvedge-rebuild.9bbe32214f":"Inspecter l'enregistrement d'exécution.","selvedge-rebuild.78590ea6e5":"Limite de ressources","selvedge-rebuild.ed9390115c":"Réessayer avec le délai d'attente indiqué.","selvedge-rebuild.f4544d56bb":"Échec de récupération","selvedge-rebuild.1455a7acb3":"Ouvrir le circuit.","selvedge-rebuild.f06cb33ba6":"Inadéquation de l'empreinte","selvedge-rebuild.1be73b4878":"la récupération voyage avec l'échec","selvedge-rebuild.5dacd1167d":"Un code, une prochaine action","selvedge-rebuild.3ac9292cf3":"AUCUNE ANALYSE DE JOURNAUX","selvedge-rebuild.93aaff4907":"RÉCUPÉRATION INDIQUÉE","selvedge-rebuild.dbba85fbb0":"CODES STABLES","selvedge-rebuild.3b6e2d01ab":"Lorsqu'une capacité est refusée, le message énumère les types qui auraient été valides, ce qui fait la différence entre un après-midi de devinettes et un changement d'une ligne. Une erreur qui nomme sa propre correction est la documentation la moins chère jamais écrite. La correction est alors explicite.","selvedge-rebuild.1fb184edcf":"La stratégie de récupération est ce qui distingue des cas qui semblent identiques sur un tableau de bord à deux heures du matin. Une empreinte qui ne correspond pas n'est pas transitoire, donc réessayer est une perte de temps, et la stratégie qui y est attachée dit d'ouvrir le circuit plutôt que de réessayer. Un échec de récupération est transitoire et dit de réessayer.","selvedge-rebuild.2f6a307ba7":"Pour les opérateurs","selvedge-rebuild.0a5279b594":"La documentation opérationnelle échoue lorsqu'elle doit être rédigée à partir du texte des journaux, car le texte des journaux change sans que personne ne le signale comme un changement. Les défaillances Selvedge portent plutôt un code stable, et un runbook qui nomme le code reste correct à travers une mise à niveau qui reformule chaque message au passage. Lorsque le code comporte une stratégie de récupération, le runbook n'a pas à en deviner une.","selvedge-rebuild.664b90089f":"est une erreur avec un runbook","selvedge-rebuild.c69f009f72":"Une erreur avec un code","selvedge-rebuild.d8bf8f167e":"Exploitabilité","selvedge-rebuild.b4986d7d25":"Une nouvelle salle à chaque fois rend cette preuve abordable.","selvedge-rebuild.05f9859c50":"Suppression de routine, pas de script surprise.","selvedge-rebuild.9e0dece16b":"Extrémité distante","selvedge-rebuild.7ba8dfa987":"Profondeur fixe derrière le fichier actuel.","selvedge-rebuild.b850e7b847":"Fichiers plus anciens","selvedge-rebuild.e4eb2b5e27":"Dernier hachage reporté.","selvedge-rebuild.55e313d20f":"Jointure","selvedge-rebuild.4e5fd99150":"Un objet par ligne.","selvedge-rebuild.2c44db0063":"Fichier actuel","selvedge-rebuild.8dae783204":"lorsqu'un fichier est renouvelé","selvedge-rebuild.888fb4bc11":"Ce qui reste et ce qui bouge","selvedge-rebuild.1191de056a":"BACKOFF","selvedge-rebuild.d47c87e179":"JETONS HACHÉS","selvedge-rebuild.eac901cef2":"MAINTIENS DE ROTATION","selvedge-rebuild.f7e2e2ba8c":"Les tentatives échouées sont plafonnées à cinq par minute et ralenties selon un délai de doublement d'une, deux, quatre et huit secondes, et un client qui échoue vingt fois en dix minutes est bloqué plutôt que ralenti. Cela transforme une attaque par devinette en un débit plutôt qu'en un résultat, et transforme un rapport d'incident en un graphique que personne n'a à interpréter.","selvedge-rebuild.6736e35335":"L'autre défaillance silencieuse est celle des informations d'identification dans une sauvegarde. Les jetons d'authentification sont hachés avec argon2id avant d'être stockés, donc un fichier copié ou une image mémoire capturée ne contient rien qui puisse être présenté comme un jeton. La sauvegarde peut être examinée ou restaurée sans devenir une fuite d'informations d'identification.","selvedge-rebuild.cac3da045e":"Comment il tient","selvedge-rebuild.652f961a36":"Le volume est géré par Selvedge plutôt que par un script que quelqu'un se souvient d'écrire. Le journal est renouvelé lorsque le fichier dépasse une taille, une profondeur fixe de fichiers plus anciens se trouve derrière, et chaque renouvellement supprime celui à l'extrémité distante. Ici, ce qui reste se vérifie toujours à partir de son propre ancrage, et ce qui est parti est visible comme une rupture.","selvedge-rebuild.62615faf30":"et la chaîne y survit","selvedge-rebuild.d4854c73b7":"La rotation préserve la preuve","selvedge-rebuild.d821e71a5b":"Conservation et accès","selvedge-rebuild.5dee0013ab":"La conservation est une politique, mais la chaîne doit y survivre.","selvedge-rebuild.8d847cbbe6":"Le journal contient toujours l'ancien arbre.","selvedge-rebuild.0ea7b95eab":"Cohérence","selvedge-rebuild.526411c35f":"La racine et la taille de l'arbre.","selvedge-rebuild.8639df5c74":"Tête d'arbre signée","selvedge-rebuild.b67622bea2":"Le chemin d'inclusion.","selvedge-rebuild.61922ee14e":"Hachages frères","selvedge-rebuild.11deeeb03e":"La chose qui a été admise.","selvedge-rebuild.2df596d9d9":"Empreinte de l'artefact","selvedge-rebuild.26ef63813e":"après l'arrivée d'un artefact","selvedge-rebuild.e33d42e6b6":"Ce qu'un client conserve","selvedge-rebuild.da6c5f785f":"UNE ADRESSE","selvedge-rebuild.50419b986e":"PROUVABLE À L'EXTÉRIEUR","selvedge-rebuild.80e513b0ff":"AJOUT SEULEMENT","selvedge-rebuild.82c17b3462":"L'autre moitié ne nécessite aucune décision. Une adresse de contenu identifie un artefact de la construction au registre jusqu'à l'exécution, ce qui transforme un rappel en quelque chose que vous effectuez plutôt que d'annoncer, et un signataire retiré prend effet sur un intervalle de rafraîchissement plutôt que sur une date d'expiration.","selvedge-rebuild.0e322153c8":"Publier le journal est une décision que vous prenez une fois, et là où vous l'avez prise, votre coopération ne fait partie d'aucune vérification. Ils vérifient la présence et la croissance par rapport à une racine que vous avez publiée, sur leur propre machine, à un moment de leur choix. La racine d'origine reste le point de référence public.","selvedge-rebuild.fab7e71c01":"La garantie","selvedge-rebuild.7b85ff0b6e":"La faiblesse de tout enregistrement qu'une organisation conserve sur elle-même est que l'organisation le conserve. Le journal de transparence Selvedge élimine cette objection pour une question étroite, à savoir ce qui est entré. Un client peut recevoir une preuve qu'un artefact spécifique est dans le journal, et une preuve que le journal n'a fait que croître depuis sa dernière consultation. L'intégrité d'inclusion et d'ajout seulement est donc vérifiable sans faire confiance à l'opérateur.","selvedge-rebuild.66229e2d58":"sans être pris sur la confiance","selvedge-rebuild.2cc484ffbc":"Prouver ce que vous avez admis","selvedge-rebuild.4f9007e629":"Preuve que vous ne possédez pas","selvedge-rebuild.cdcfb6c3c1":"Le registre indique ce qui est arrivé. Le journal de transparence permet à quelqu'un d'autre de le vérifier.","selvedge-rebuild.2a95479d68":"Transporté avec l'artefact.","selvedge-rebuild.5f174de1cc":"Preuve","selvedge-rebuild.f1f0ddab0b":"Éligible pour le type.","selvedge-rebuild.0449e1003d":"Espace de noms","selvedge-rebuild.2e26c5d52d":"Octets magiques, pas une étiquette.","selvedge-rebuild.e00ac23f2a":"Type","selvedge-rebuild.54e0cdb26f":"Longueur correcte, hexadécimal et présent.","selvedge-rebuild.47fdd58bee":"Empreinte","selvedge-rebuild.409fa246aa":"et une réponse à chaque tirage","selvedge-rebuild.112b824580":"Quatre vérifications à l'entrée","selvedge-rebuild.1858ed0f91":"EMPREINTES OCI","selvedge-rebuild.0a6780b777":"JETONS REQUIS","selvedge-rebuild.67bf2475b1":"L'accès est une liste de jetons que vous émettez et révoquez, conservés hachés avec argon2id, de sorte qu'un fichier copié ou une image mémoire ne contienne rien d'exploitable. Les tentatives échouées sont plafonnées à cinq par minute avec un délai de doublement, et un client qui échoue vingt fois en dix minutes est bloqué définitivement. La limite reste visible dans l'enregistrement de la tentative.","selvedge-rebuild.86269212e3":"Une adresse de contenu identifie un artefact de la publication au tirage jusqu'au journal d'exécution. Cette adresse rend sa provenance traçable : quelle build, quand elle a été admise, sous quel espace de noms, quel déploiement l'a tirée, et combien de fois elle a été exécutée. La même adresse répond à chacune de ces questions plus tard, sans second index à maintenir en synchronisation.","selvedge-rebuild.3d5033cca6":"Selvedge fournit un serveur de registre, de sorte que l'endroit où atterrissent les artefacts tiers est un service sur votre propre matériel plutôt qu'un compte chez quelqu'un d'autre. Il écoute sur une adresse publique uniquement lorsque l'authentification par jeton est activée, vérifie quatre choses à chaque push, et répond aux tirages avec les digests SHA-256 que l'écosystème plus large utilise déjà, tout en stockant tout en interne sous SHA3-256.","selvedge-rebuild.224f72415e":"un registre que vous opérez","selvedge-rebuild.bbd6ef38ef":"Les fournisseurs publient dans","selvedge-rebuild.a0a03c8fd1":"Où les artefacts arrivent","selvedge-rebuild.d1e24e5a34":"Un résultat est plus facile à défendre lorsque l'endroit où il est entré est le vôtre.","selvedge-rebuild.1111b73a8f":"Demandez quelle entrée l'invité a vue.","selvedge-rebuild.4bed336194":"Sortie","selvedge-rebuild.d7f27a4216":"Inspectez le chemin de code ou la build hôte.","selvedge-rebuild.0b645d1b65":"Carburant","selvedge-rebuild.de86466d91":"Même profil déterministe.","selvedge-rebuild.c7f73bb54d":"Paramètres","selvedge-rebuild.36ffeb1c8a":"Un même code signifie une comparaison pertinente.","selvedge-rebuild.c6fe330e04":"Artefact","selvedge-rebuild.02be99bd8d":"et ce que cela signifie ensuite","selvedge-rebuild.a53a08f8c4":"Ce qui a bougé","selvedge-rebuild.bc2cb603df":"OU LE CHAMP","selvedge-rebuild.4b885b786e":"MÊME ENREGISTREMENT","selvedge-rebuild.ba9ebe1f95":"MÊME ENTRÉE","selvedge-rebuild.50479df67b":"Avec deux enregistrements, la réponse arrive le même après-midi et elle nomme un champ plutôt qu'une partie, donc se tromper coûte ce que cela devrait et avoir raison ne coûte presque rien. Cela doit figurer dans le contrat avant le premier litige plutôt que d'être découvert pendant celui-ci. Les deux parties peuvent répéter cette vérification sans une autre réunion.","selvedge-rebuild.db0ac7feb8":"Une réponse mécanique déplace le coût de l'argument. Une somme contestée aujourd'hui passe une semaine à deux équipes comparant des systèmes qui n'ont jamais été comparables, et cela tend à se terminer par un crédit de bonne volonté, car personne ne peut montrer quel côté a tort et quelqu'un doit clore le ticket. Aucune équipe ne peut produire un chiffre que l'autre côté est obligé d'accepter.","selvedge-rebuild.8134cbe2c9":"Une contrepartie dit que le chiffre qui lui a été donné est faux. Vous avez votre exécution et ils ont la leur. Comparer les deux enregistrements Selvedge est mécanique : la comparaison parcourt les champs et rapporte chaque différence avec ce qui était attendu et ce qui est arrivé, de sorte que la conversation s'ouvre sur quel champ diffère plutôt que sur quel système est en faute.","selvedge-rebuild.415a27590d":"champ par champ, pas débattu","selvedge-rebuild.651b2f8627":"Deux enregistrements comparés","selvedge-rebuild.a9cce5b9fe":"Un résultat contesté","selvedge-rebuild.7c918d0343":"Un résultat contesté est le suivant : deux enregistrements, comparés champ par champ.","selvedge-rebuild.b457d4d9d3":"Mémoire maximale, temps et instructions.","selvedge-rebuild.1e23ac57dd":"Chiffres de ressources","selvedge-rebuild.f6c680ffb5":"La configuration en vigueur.","selvedge-rebuild.b44f987ea4":"Hash du moteur","selvedge-rebuild.ca1f09eab2":"La politique qui les a accordés.","selvedge-rebuild.945db98b77":"Digest de la politique","selvedge-rebuild.be7bd7e933":"Capacités nommées par l'exécution.","selvedge-rebuild.f761a72878":"Liste accordée","selvedge-rebuild.8be583ccfd":"répondu à partir d'un seul document","selvedge-rebuild.abfa32a842":"Quatre questions","selvedge-rebuild.80935eb972":"DATED","selvedge-rebuild.c3cb9355f8":"POLITIQUE EN COURS","selvedge-rebuild.506221fd52":"ACCORDÉ, LISTÉ","selvedge-rebuild.4d5c5b7775":"Le même rapport contient les digests des certificats qui ont été vérifiés et ce que l'exécution a consommé en mémoire maximale, temps processeur et instructions. La question de suivi est toujours ce qu'il a réellement utilisé, et cette réponse est déjà sur la page plutôt qu'avec une seconde équipe travaillant selon une horloge et une définition différentes de l'incident. Cela permet une réponse directe pendant que les preuves sont encore fraîches.","selvedge-rebuild.06d0c87ca8":"Cela transforme un argument en recherche. Un régulateur demandant si un composant aurait pu atteindre les enregistrements clients obtient une réponse avec une date plutôt qu'une assurance sur l'intention. Cela répond à une question historique spécifique : ce composant nommé, lors de cette exécution, avait-il un chemin vers ces enregistrements ? La réponse ne dépend pas de quelqu'un se souvenant plus tard de l'intention du fournisseur.","selvedge-rebuild.5c82441a97":"L'enregistrement","selvedge-rebuild.6cdd02da63":"La question délicate après un incident est rarement ce que le logiciel a fait. C'est ce que le logiciel était autorisé à faire, et dans la plupart des environnements, cette réponse est assemblée à partir de fichiers de configuration, d'historique de déploiement et de la mémoire de quelqu'un. Chaque exécution Selvedge produit un rapport nommant les capacités qui lui ont été accordées, la politique qui les a accordées, et un hash des paramètres en vigueur.","selvedge-rebuild.020ea9fcbe":"et ce qui était autorisé","selvedge-rebuild.cd553c8839":"Chaque exécution dit ce qu'elle a fait","selvedge-rebuild.5e367f020e":"La question après un incident","selvedge-rebuild.f2edf768d8":"Un enregistrement transforme la question du fournisseur en recherche.","selvedge-rebuild.0c347f9e0f":"Aucun environnement ni bloc d'arguments.","selvedge-rebuild.c701ab1556":"Hérite-t-il de notre accès ?","selvedge-rebuild.f2df9d1888":"Aucun répertoire n'est ouvert.","selvedge-rebuild.e98ce49657":"Peut-il laisser un fichier ?","selvedge-rebuild.99436e239e":"Aucun réseau n'est présent par défaut.","selvedge-rebuild.1c017e2833":"Peut-il envoyer des données ?","selvedge-rebuild.68b0d04e37":"Seuls les mondes déclarés et les capacités nommées.","selvedge-rebuild.fd5147edb1":"Que peut-il toucher ?","selvedge-rebuild.51992f6040":"écrit sous forme de quatre réponses","selvedge-rebuild.7bcd533661":"Le pire cas","selvedge-rebuild.80b36fb606":"DÉCLARÉ","selvedge-rebuild.a419f58f13":"PIRE CAS PETIT","selvedge-rebuild.be725ffbc0":"RIEN À ATTEINDRE","selvedge-rebuild.eb3afa60c4":"Un composant qui n'a jamais demandé plus que son entrée et sa sortie est décrit complètement en une ligne, et personne n'a à maintenir cette ligne pour qu'elle reste vraie un an plus tard. C'est ce qui le rend utilisable dans un document que quelqu'un signe.","selvedge-rebuild.86f054031c":"Cela change la forme de la conversation avec le fournisseur. La question cesse d'être de savoir si l'ingénierie du fournisseur est solide, ce que vous ne pouvez pas vérifier et qu'il ne peut pas prouver, et devient ce qui a été accordé à l'artefact, ce qui est écrit au moment de l'exécution.","selvedge-rebuild.1debddb64e":"Le code provenant d'un fournisseur ou d'un contributeur externe s'exécute dans Selvedge sans connexion réseau, sans répertoire ouvert pour lui, sans environnement à lire et sans arguments. Il n'est pas retenu de ces choses par une règle que quelqu'un doit maintenir. Elles ne sont tout simplement pas là. La conséquence pour une évaluation des risques est que le pire cas est assez petit pour tenir en une phrase.","selvedge-rebuild.6be7d30a6b":"dans une pièce vide","selvedge-rebuild.6df473a455":"Un mauvais artefact atterrit","selvedge-rebuild.e948526d56":"Ce qu'est le pire cas","selvedge-rebuild.0b8ad471af":"La question suivante est de savoir ce que le pire cas peut atteindre.","selvedge-rebuild.a02a250db5":"Sélectionné au moment du travail.","selvedge-rebuild.c257ef4501":"Choisi par l'agent","selvedge-rebuild.cf63b964fc":"Personne dans la pièce ne l'a choisi.","selvedge-rebuild.2054305e05":"Dépendance transitive","selvedge-rebuild.cdf3fea97a":"Quelqu'un d'autre possède la version.","selvedge-rebuild.8cbf4d00a5":"Dépendance directe","selvedge-rebuild.b71aa2a2b1":"Une équipe peut le revoir.","selvedge-rebuild.1ea8c912d2":"Écrit ici","selvedge-rebuild.332edb5a4d":"et quand quelqu'un l'a lu pour la dernière fois","selvedge-rebuild.66cd35e493":"Quatre façons d'arriver","selvedge-rebuild.9520a29c14":"UN ENREGISTREMENT","selvedge-rebuild.2271914641":"PORTÉE DÉCIDÉE D'ABORD","selvedge-rebuild.e07e85e80d":"PAS DE REVUE","selvedge-rebuild.8d05721c00":"Selvedge travaille sur les deux choses qui survivent à cela : la portée décidée avant l'arrivée du code, et l'enregistrement conservé après son départ. Les deux sont disponibles le jour où un fournisseur livre quelque chose que personne dans le bâtiment n'a ouvert. C'est une preuve que quelqu'un peut conserver indépendamment.","selvedge-rebuild.d0d23ca94c":"Chaque contrôle dans ce domaine suppose un moment où une personne aurait pu regarder. La revue d'approvisionnement le suppose. La revue de code le suppose. Un outil sélectionné par un agent pendant son exécution supprime complètement ce moment, et il le fait pour les charges de travail qui croissent le plus rapidement.","selvedge-rebuild.560556f058":"Des dépendances que personne n'a lues, des plugins de fournisseurs, des intégrations qui se mettent à jour selon leur propre calendrier, et maintenant des outils choisis par un modèle au moment de son exécution. Tout revoir n'a jamais été réaliste. Selvedge change la question : de savoir si le code est digne de confiance à ce que le code peut atteindre, et ce que vous pouvez en dire ensuite à quelqu'un en dehors de votre bâtiment.","selvedge-rebuild.0d07a7b2f6":"et personne ici ne l'a lu","selvedge-rebuild.546fb9cede":"Vous n'avez pas écrit la majeure partie","selvedge-rebuild.55874251d8":"Le défaut que personne n'a choisi","selvedge-rebuild.82b00203b9":"Ce que les six ont en commun, c'est qu'un étranger peut vérifier l'exécution qu'ils ont produite.","selvedge-rebuild.8f4639c201":"Scellé sauf déclaration.","selvedge-rebuild.a6a6318544":"GPU","selvedge-rebuild.c99a2bcf3e":"Observer","selvedge-rebuild.316ccc52a4":"Ne peut pas signaler un autre processus.","selvedge-rebuild.6f8e6cc6ac":"Sa propre durée de vie","selvedge-rebuild.30fd44bcfe":"La clé reste à l'extérieur.","selvedge-rebuild.a7f47e6eb3":"Opérations, pas clés","selvedge-rebuild.f685d27aeb":"Une fenêtre, pas un système de fichiers.","selvedge-rebuild.ff764e20d1":"Par préfixe","selvedge-rebuild.e160d76fcb":"Un outil sans nom n'existe pas ici.","selvedge-rebuild.f1aae84762":"Appels nommés uniquement","selvedge-rebuild.07e959a70b":"et ce que demander coûte","selvedge-rebuild.665388e0b3":"Six mondes","selvedge-rebuild.06348a4532":"NOMMÉ PAR LIGNE","selvedge-rebuild.afe70011f9":"DEMANDER, PAS ATTEINDRE","selvedge-rebuild.1013aec36c":"SIX MONDES","selvedge-rebuild.60562d5b0b":"Cela signifie aussi que l'enregistrement d'une exécution est lisible sans connaître le composant. Chaque ligne nomme le monde par lequel l'appel est passé, donc une exécution qui a touché deux mondes en a quatre qui sont prouvablement vides, et un réviseur peut l'établir à partir de l'enregistrement plutôt que du code source. Les six mondes sont publiés sous Apache 2.0, donc la frontière sur laquelle un réviseur s'appuie est une frontière qu'il peut lire lui-même.","selvedge-rebuild.63f511d5c2":"Une seule capacité appelée externe serait plus simple à implémenter et inutile pour raisonner, car l'accorder ne dit rien à un réviseur. Six mondes signifie qu'une autorisation est une phrase que quelqu'un peut lire : ce composant peut appeler deux outils nommés, lire un préfixe, et rien d'autre. Cela fixe aussi la limite qu'un opérateur est autorisé à accorder. Cette limite est visible dans le reçu.","selvedge-rebuild.819cfda982":"L'accès externe d'un composant est six mondes nommés : outil, stockage, crypto, processus, observer et gpu. Chacun est déclaré avant le démarrage ; un monde non déclaré est absent de l'environnement. Une autorisation nomme donc une opération et sa frontière, pas une vague promesse d'accès externe. Le reçu enregistre ces autorisations par ligne, donc un réviseur peut voir quels mondes sont restés vides sans lire la configuration de l'hôte.","selvedge-rebuild.cd867e3f2c":"et aucun moyen d'aller au-delà","selvedge-rebuild.06850e8469":"Six mondes pour demander","selvedge-rebuild.09d7280b63":"Toute la surface de capacité","selvedge-rebuild.4e01209ac7":"Ce qui laisse la question la plus simple : qu'est-ce qu'un composant est réellement autorisé à demander ?","selvedge-rebuild.8539c9a9d8":"i9-13900KF, Rust 1.85.0, fat LTO.","selvedge-rebuild.07dc1b32f0":"Machine nommée","selvedge-rebuild.04f0c3f5a6":"Bien moins d'une milliseconde.","selvedge-rebuild.c79e051c62":"Sandbox fraîche","selvedge-rebuild.46e30f38ba":"22 à 27 nanosecondes.","selvedge-rebuild.aff4ba3800":"Intégration nue","selvedge-rebuild.7d8c6afdf3":"5,26 à 6,06 microsecondes.","selvedge-rebuild.a4d57a9359":"Frontière bornée","selvedge-rebuild.122385cbbe":"mesuré sur une machine nommée","selvedge-rebuild.224d7c9838":"Ce que cela coûte et ce que cela apporte","selvedge-rebuild.cc282eac1e":"DÉMARRAGE SOUS LA MILLISECONDE","selvedge-rebuild.9a1cbd0dc8":"APPEL EN 6 MICROSECONDES","selvedge-rebuild.66b7fb60dc":"Ce qui compense le coût se trouve à l'autre extrémité. Une nouvelle instance démarre en bien moins d'une milliseconde sur ce matériel, donc une salle par requête est abordable plutôt qu'un luxe réservé aux traitements par lots. Rien n'est conservé entre les exécutions, et le pool qui les dessert acquiert et libère un emplacement en temps constant.","selvedge-rebuild.6d37e34f65":"Mesuré sur un Intel i9-13900KF, build de release avec optimisation des liens fat LTO, Rust 1.85.0, cent échantillons par chiffre après un échauffement de trois secondes. La suite de benchmarks est fournie avec le projet et épingle la version de tout ce qu'elle compare, afin que les chiffres puissent être reproduits sur votre propre machine.","selvedge-rebuild.5b487a198c":"La mesure","selvedge-rebuild.ce2547f5f6":"L'appel borné dans le processus coûte de 5,26 à 6,06 microsecondes. Un embedding nu coûte de 22 à 27 nanosecondes. La différence est le contrôle d'importation, les horloges remplacées et le reçu, facturés par appel. Ces chiffres proviennent d'un build de release après échauffement, et non d'une promesse concernant chaque hôte. La suite de benchmarks est épinglée à une version et fournie avec le projet, donc une contrepartie peut relancer la comparaison sur sa propre machine.","selvedge-rebuild.eb0bea042b":"et voici le chiffre","selvedge-rebuild.80244c6031":"La frontière a un coût","selvedge-rebuild.59f208dd86":"Mesuré, avec les conditions","selvedge-rebuild.1c554966f5":"Tout cela reste votre propre fichier sur votre propre disque, alors confiez le chèque à quelqu'un d'autre.","selvedge-rebuild.1abf201fe1":"Ce que le registre a admis ou retiré.","selvedge-rebuild.c4a1e99a74":"Artefact entré ou sorti","selvedge-rebuild.99dc0fd69a":"Quand un client a été refusé.","selvedge-rebuild.14681ed6ee":"Taux ou taille atteint","selvedge-rebuild.da84e101f9":"Quelle limite a mis fin à quelle exécution.","selvedge-rebuild.c7deb27f03":"Budget épuisé","selvedge-rebuild.dfd95f1763":"Politique, artefact, raison et contrôles.","selvedge-rebuild.de43b346ca":"Capacité refusée","selvedge-rebuild.0860379105":"des décisions, pas des appels","selvedge-rebuild.770ce14a0d":"Ce que contient une entrée","selvedge-rebuild.d302fd1542":"ROTATION","selvedge-rebuild.736d1d19bd":"LA CHAÎNE SURVIT","selvedge-rebuild.0f26f75355":"UNE LIGNE, UN HACHAGE","selvedge-rebuild.4fd6822dee":"C'est le genre de registre qui vaut le coût de la vérification, car c'est le genre dont tout le monde discute. Personne ne conteste qu'une fonction a été appelée. Ce qu'on conteste, c'est de savoir si un composant aurait dû être autorisé à approcher un enregistrement client en premier lieu, et c'est une ligne dans ce fichier avec un hachage de chaque côté. La décision reste disponible pour un réviseur ultérieur.","selvedge-rebuild.52fc58dd92":"Huit types d'entrées sont enregistrés, et chacun d'eux est une décision plutôt qu'un appel. Une entrée d'application de politique contient l'identifiant de politique, le condensé de l'artefact, le résultat, la raison d'un refus et la liste des capacités vérifiées pour y parvenir. L'admission, le début d'exécution, la fin d'exécution, la violation de limite de ressources, la limite de débit, la limite de taille et le retrait d'artefact constituent le reste.","selvedge-rebuild.dc375c42ba":"Le fichier d'audit contient un objet par ligne. Chaque ligne hache son propre contenu avec le hachage précédent ; retirez-en une et tous les hachages suivants cesseront de correspondre. La rotation transporte le dernier hachage dans le fichier suivant comme ancre. Les entrées décrivent des décisions telles que l'application de politique, l'admission, la fin d'exécution, les limites de débit ou de taille, et un retrait d'artefact. Un réviseur ultérieur peut donc demander pourquoi une exécution a été refusée, et non seulement si un appel a eu lieu.","selvedge-rebuild.dfc80074cc":"donc une suppression apparaît","selvedge-rebuild.69fcfe76f1":"Chaque ligne contient le dernier","selvedge-rebuild.aee1333814":"Le fichier d'audit","selvedge-rebuild.5a622af936":"La même discipline, appliquée aux décisions que quelqu'un contestera plus tard.","selvedge-rebuild.fb3c095122":"Une racine à une taille passée.","selvedge-rebuild.a6b6f9fa4d":"Quelle était la racine ?","selvedge-rebuild.9410fb5d00":"Un en-tête d'arbre signé.","selvedge-rebuild.25c2799dca":"Quelle est la racine ?","selvedge-rebuild.37a62a6d90":"Une preuve de cohérence entre les tailles d'arbre.","selvedge-rebuild.39a9a225ab":"A-t-il changé ?","selvedge-rebuild.13d3c8a85e":"Un chemin court de l'artefact à la racine.","selvedge-rebuild.0791d2b497":"Y est-il ?","selvedge-rebuild.7729d17652":"sans faire confiance à son opérateur","selvedge-rebuild.12b003c6ac":"Quatre questions auxquelles il répond","selvedge-rebuild.e533871af4":"EN-TÊTE SIGNÉ","selvedge-rebuild.e9912b4293":"COHÉRENCE","selvedge-rebuild.830294fe4a":"PREUVE D'INCLUSION","selvedge-rebuild.15627b2116":"La suppression est ce que la forme rend coûteuse. Retirez une entrée et toute preuve que quelqu'un détient sur cette partie de l'arbre cessera de se vérifier, sur sa machine, sans que personne ait à surveiller. C'est cette propriété qu'un client achète lorsqu'il demande une preuve d'inclusion plutôt qu'une capture d'écran.","selvedge-rebuild.0986321b82":"Un client conserve la racine qui lui a été remise, et toute affirmation ultérieure concernant le journal doit concorder avec la racine déjà en sa possession. Rien dans ce contrôle n'implique celui qui gère le journal. Le client détient cette preuve de manière indépendante, donc le contrôle reste possible même lorsque l'opérateur n'a rien à ajouter.","selvedge-rebuild.af125678b5":"Chaque artefact admis est ajouté à un arbre de Merkle : les feuilles utilisent le préfixe 0x00 et les nœuds internes 0x01. L'inclusion dans un journal d'un million d'entrées nécessite vingt hachages, donc un client peut le vérifier sur sa propre machine. Un en-tête d'arbre signé fixe la racine à une taille, tandis que les preuves de cohérence montrent que les racines ultérieures l'étendent plutôt que de la remplacer. L'opérateur fournit la preuve ; le client effectue le contrôle.","selvedge-rebuild.85aa50a3b8":"à quelqu'un de l'extérieur","selvedge-rebuild.6f39cde263":"Le journal se prouve lui-même","selvedge-rebuild.0a295dee94":"Le journal d'ajout seul","selvedge-rebuild.e77dce4f9b":"Admettre un artefact est une chose. Prouver plus tard que vous l'avez admis en est une autre.","selvedge-rebuild.86aa1f5eed":"Fourni avec l'artefact et rejoué lors de la vérification.","selvedge-rebuild.343cb675ac":"Espace de noms éligible pour ce type.","selvedge-rebuild.709a23220f":"Nom","selvedge-rebuild.f8123c295a":"Quatre premiers octets, jamais un nom de fichier.","selvedge-rebuild.fc92e820c6":"Longueur correcte, hexadécimal et présent.","selvedge-rebuild.6e105ad7a3":"et où la preuve est lue","selvedge-rebuild.1618f58781":"Ce qui est vérifié lors d'un push","selvedge-rebuild.e185f9f7d4":"PREUVE PRÉSENTE","selvedge-rebuild.e4360fc330":"OCTETS MAGIQUES","selvedge-rebuild.6d4b74c092":"LOOPBACK OU JETONS","selvedge-rebuild.33e95b7d0e":"La preuve elle-même est rejouée là où l'artefact est vérifié, ce qui garde la porte rapide et met le noyau là où il a le temps de travailler. La porte décide de l'identité et de l'éligibilité en travail constant par push ; le noyau décide de la vérité. Une preuve lente ne peut donc pas devenir une raison d'admettre un artefact avant qu'il ait été vérifié.","selvedge-rebuild.175ed9b192":"Si vous démarrez le registre sur une adresse autre que loopback avec l'authentification par jeton désactivée, il refuse de démarrer. Si vous activez l'authentification avec une liste de jetons vide, il la refuse également. Le déploiement non sécurisé est indisponible plutôt que déconseillé, de sorte qu'une erreur de configuration se manifeste immédiatement comme une erreur de démarrage.","selvedge-rebuild.fc1d256e62":"Le registre détermine le type à partir des quatre premiers octets d'un artefact, et non de son extension ou de son manifeste. Son empreinte doit être valide et présente, son espace de noms doit correspondre à ce type, et une preuve doit l'accompagner. Le service refuse également un démarrage non sécurisé sur une adresse autre que loopback sans authentification par jeton, et il rejette une liste de jetons vide lorsque l'authentification est activée. L'identité, la forme et la preuve sont vérifiées avant que quoi que ce soit ne soit stocké.","selvedge-rebuild.027f67dd55":"avant que quoi que ce soit ne soit stocké","selvedge-rebuild.3d6b6cb540":"Un push est vérifié de quatre manières","selvedge-rebuild.583ed36f97":"Contrôle d'admission","selvedge-rebuild.1914cd4ce8":"La porte décide de ce qui entre ; le noyau décide de ce qui est vrai.","selvedge-rebuild.b69c347e7f":"Chaque étape reçoit un verdict.","selvedge-rebuild.c0f85d6679":"Rejeu","selvedge-rebuild.f97399239c":"Analysé dans le noyau.","selvedge-rebuild.cdde4f20ba":"Étapes","selvedge-rebuild.c318427ef6":"Analysé seulement après avoir été conforme.","selvedge-rebuild.6f95f40eae":"Fichier de clauses","selvedge-rebuild.1e9e6eecd0":"Comparé au plafond avant l'analyse.","selvedge-rebuild.a97f5adbde":"Taille déclarée","selvedge-rebuild.1f9c89d51e":"chacune vérifiée, aucune supposée","selvedge-rebuild.e619c9a6b2":"Quatre éléments autour d'une preuve","selvedge-rebuild.7fa302aed3":"TAILLE D'ABORD","selvedge-rebuild.8a20135ce2":"REJOUÉ","selvedge-rebuild.24704c8edc":"LRAT ET ALETHE","selvedge-rebuild.29f977d6d0":"Le travail a porté sur ce qui l'entoure. Les racines de confiance sont détenues explicitement plutôt qu'héritées du stockage que la machine possède par hasard, la révocation comporte un intervalle de rafraîchissement afin qu'un retrait soit pris en compte sans attendre une date d'expiration, et un jeton d'horodatage a sa propre signature vérifiée avant que son heure ne soit crue. Les signatures Cosign sont vérifiées par rapport à une clé et une signature en base64, de sorte que les artefacts signés dans l'écosystème plus large arrivent déjà vérifiables.","selvedge-rebuild.f0f219cc1b":"Un certificat Selvedge est délibérément petit. C'est une signature Ed25519 sur une clé publique, un émetteur, un sujet et les deux extrémités d'une fenêtre de validité, donc il n'y a rien à analyser à partir d'un format contrôlé par quelqu'un d'autre. Son rôle reste étroit : dire quel émetteur a signé quel sujet pour quelle période, sans demander à un vérificateur de déballer un document volumineux au préalable. Il reste lisible par un vérificateur indépendant. Sa portée n'est pas laissée à l'inférence.","selvedge-rebuild.f626b7a7da":"Sous la surface","selvedge-rebuild.776d70676a":"Une preuve attachée à un artefact est une revendication jusqu'à ce que Selvedge la rejoue. Les preuves LRAT et Alethe sont analysées et vérifiées étape par étape à travers un noyau de preuve, avec un plafond de taille appliqué avant le début de l'analyse. Les racines de confiance, le rafraîchissement de la révocation et les signatures d'horodatage sont vérifiés autour de ce noyau, tandis que les signatures Cosign sont vérifiées par rapport à leur clé et signature fournies. La frontière reste suffisamment petite pour qu'un vérificateur indépendant puisse l'inspecter.","selvedge-rebuild.438689443c":"et rejoué étape par étape","selvedge-rebuild.1ed9eb8043":"La preuve est revérifiée","selvedge-rebuild.77b6e89fee":"Preuves et certificats","selvedge-rebuild.36ad1e8721":"L'argument porte beaucoup plus souvent sur le document de droite, et les deux proviennent d'une seule exécution.","selvedge-rebuild.36c042f601":"La sortie, l'erreur et la valeur de retour complètent l'enregistrement.","selvedge-rebuild.43708b1ad0":"Flux capturés","selvedge-rebuild.ae61a28e3a":"Quelle quantité de travail a été consommée.","selvedge-rebuild.ed58f29743":"Instructions","selvedge-rebuild.918feb5b79":"Quel profil déterministe a été appliqué.","selvedge-rebuild.e5b7649e03":"Quel composant exact a été exécuté.","selvedge-rebuild.60697a86b4":"Octets de l'artefact","selvedge-rebuild.a49fe57a20":"et sur quoi chacun est pris","selvedge-rebuild.aeb0956f38":"Quatre des sept","selvedge-rebuild.07519769df":"TAILLE CONSTANTE","selvedge-rebuild.f9c0b723ec":"EMPREINTES, PAS DE JOURNAUX","selvedge-rebuild.7531a92ec1":"SEPT CHAMPS","selvedge-rebuild.c35ff8c3a0":"Le rapport d'exécution établit ce que l'exécution était autorisée à faire. Il nomme les capacités accordées, la politique qui les a accordées, les certificats qui ont été vérifiés, une empreinte des paramètres en vigueur, et ce que l'exécution a consommé en mémoire maximale, en temps processeur et en instructions. Ces deux questions arrivent toujours ensemble après un incident, et Selvedge y répond avec deux documents plutôt qu'un seul chargé de faire les deux.","selvedge-rebuild.b0b2377aff":"L'enregistrement établit si cela s'est reproduit, et c'est le document que les gens s'attendent à contester. En pratique, ils contestent l'autre. Il permet à un lecteur ultérieur de demander si le même artefact, les mêmes entrées et les mêmes paramètres ont produit à nouveau le même résultat. C'est une question historique sur l'événement. Le rapport d'exécution répond à l'autre question : ce que l'exécution était autorisée à faire lorsqu'elle s'est produite.","selvedge-rebuild.e88ce1c6ea":"Sept champs reviennent d'une exécution terminée et aucun n'est en prose : empreintes de l'artefact et des paramètres, instructions consommées, empreintes de la sortie et de la valeur de retour, et une empreinte du stockage qui combine le travail et les flux capturés. Il reste petit que la sortie soit une ligne ou un gigaoctet. Le rapport d'exécution compagnon enregistre les capacités, la politique, les certificats, les paramètres et l'utilisation maximale des ressources, de sorte que la même exécution répond à la fois à ce qui s'est passé et à ce qu'elle était autorisée à faire.","selvedge-rebuild.a219a2c15d":"et un rapport prouve la permission","selvedge-rebuild.7eaab205c1":"Un enregistrement prouve la répétition","selvedge-rebuild.13380a7edb":"Deux documents par exécution","selvedge-rebuild.4077f0afa7":"Une comparaison ne vaut que par l'enregistrement qui la sous-tend, alors lisez ce que contient l'enregistrement.","selvedge-rebuild.39f8833993":"Arrêtez de lire ; le reste est du bruit.","selvedge-rebuild.c0084eb27a":"Pas le même programme","selvedge-rebuild.64bc44871e":"Les exécutions n'étaient pas configurées de la même manière.","selvedge-rebuild.36e1b53299":"Non comparable","selvedge-rebuild.9fc1d0cf34":"Même travail, octets de sortie différents.","selvedge-rebuild.d136230733":"Le résultat a changé","selvedge-rebuild.6aee5fae01":"Un compte différent est un chemin de code différent.","selvedge-rebuild.de89199753":"Le travail a changé","selvedge-rebuild.95e99b8668":"par le champ dans lequel il atterrit","selvedge-rebuild.1f218ead06":"Ce qu'une différence vous dit","selvedge-rebuild.d5cf7685a8":"AUCUN VERDICT","selvedge-rebuild.d5a9df81ba":"ATTENDU ET OBTENU","selvedge-rebuild.ed299cc67f":"CHAMP PAR CHAMP","selvedge-rebuild.a526ac7e2e":"C'est pourquoi l'entrée est épinglée et voyage avec l'artefact. C'est une ligne dans une procédure, et c'est la ligne qui décide si une comparaison clôt un argument ou en ouvre un second. Elle donne à une contrepartie les mêmes octets à réexécuter, sans avoir d'abord à convenir de l'entrée que la comparaison visait.","selvedge-rebuild.6615580bdf":"La liste nomme le champ qui a bougé, et le champ décide du diagnostic. Le carburant seul est un chemin de code différent. Le carburant et la sortie ensemble indiquent un invité qui a lu quelque chose que l'autre n'a pas lu. Un condensé des paramètres qui diffère signifie que les deux exécutions n'ont jamais été comparables, et un condensé de l'artefact qui diffère signifie qu'ils n'ont jamais été le même programme.","selvedge-rebuild.8c8effaa95":"Selvedge parcourt deux enregistrements champ par champ et accumule chaque différence avec les valeurs attendues et réelles. Un carburant différent et une sortie différente sont des problèmes différents, et la liste indique lequel vous avez. Elle ne réduit pas une divergence à une étiquette de réussite ou d'échec : un condensé des paramètres identifie une configuration différente, tandis qu'un condensé de l'artefact identifie des programmes différents. Le carburant seul pointe vers un changement de chemin ; le carburant plus la sortie pointe vers un invité qui a lu une valeur différente. Le résultat donne à une contrepartie une prochaine vérification concrète au lieu d'une dispute sur un booléen.","selvedge-rebuild.646770fca0":"des champs qui ont bougé","selvedge-rebuild.e6e4d5cded":"Replay renvoie une liste","selvedge-rebuild.c81ee5ef6b":"Deux exécutions, comparées","selvedge-rebuild.66a522b7c5":"C'est pourquoi « est-ce que ça s'est reproduit » obtient une meilleure réponse que oui.","selvedge-rebuild.d76c40f0ce":"Copie sur écriture rapide ou premier contact épinglé.","selvedge-rebuild.f2c61a30e9":"Initialisation de la mémoire","selvedge-rebuild.c5abd185c9":"Détecté pour la vitesse ou épinglé pour la portabilité.","selvedge-rebuild.72afcd7b6b":"Choix des instructions vectorielles","selvedge-rebuild.12d9267ba1":"Fort et peu coûteux, à partir d'une seule graine.","selvedge-rebuild.de76cb3681":"Les deux flux aléatoires","selvedge-rebuild.aa0c86bf67":"Horloge fixe, le premier janvier 2024.","selvedge-rebuild.be2bae9c5e":"Horloge murale","selvedge-rebuild.76249575a8":"(supprimé, ou décidé une fois)","selvedge-rebuild.32684a6c6c":"Sources de dérive","selvedge-rebuild.d5b4ab5d99":"PORTABLE PAR CHOIX","selvedge-rebuild.73b7c15756":"UNE SEULE GRAINE","selvedge-rebuild.e5599ca3ea":"HORLOGE FIXE","selvedge-rebuild.3228959407":"La configuration de déterminisme porte une vérification qui indique laquelle des deux vous tenez, de sorte que la portabilité est une décision avec une réponse imprimée plutôt que quelque chose découvert lorsque la relecture d'une contrepartie est en désaccord. Épingler coûte les unités vectorielles plus larges sur les machines qui les ont, et c'est tout l'échange.","selvedge-rebuild.95523f0e77":"Deux paramètres décident si le même artefact suit le même chemin à travers le processeur sur la machine de quelqu'un d'autre : comment les instructions vectorielles sont sélectionnées et comment la mémoire est initialisée. Détectez ce que la machine a et l'exécution est plus rapide. Épinglez-les tous les deux et l'exécution est portable. Un vérificateur ultérieur a besoin de ce chemin fixe.","selvedge-rebuild.b679796146":"Selvedge supprime les sources de variation : une horloge fixe au 1er janvier 2024 et les deux flux aléatoires ensemencés à partir d'une seule valeur. L'enregistrement contient un condensé de cette configuration, pas les valeurs extraites. Les instructions vectorielles et l'initialisation de la mémoire sont aussi des choix explicites : détectez-les pour la vitesse ou épinglez-les pour la portabilité. Un vérificateur peut lire le hachage du profil et savoir si une relecture était censée suivre le même chemin machine avant de comparer la sortie.","selvedge-rebuild.0a6cfc8fac":"pas un paramètre à activer","selvedge-rebuild.1fd189502e":"Le déterminisme est une soustraction","selvedge-rebuild.a7c3ed1772":"Soustraction, pas configuration","selvedge-rebuild.0c47ffb9bb":"Un nombre d'instructions ne signifie quelque chose que si les instructions étaient les mêmes deux fois.","selvedge-rebuild.adebd97359":"Le carburant consommé peut être soustrait entre les exécutions.","selvedge-rebuild.a2daaab559":"Chiffre ensuite","selvedge-rebuild.3d67ae7992":"Le travail, plutôt qu'une horloge murale, est la limite.","selvedge-rebuild.de6412fbe8":"Budget de zéro","selvedge-rebuild.15dcfdda9a":"La charge ne déplace pas un compte.","selvedge-rebuild.2202f5e805":"Même point d'arrêt","selvedge-rebuild.60440bc65a":"Compté pendant que l'invité s'exécute ; lorsqu'il est épuisé, l'exécution se termine.","selvedge-rebuild.63309fc99a":"Budget d'instructions","selvedge-rebuild.9bb4b0c4cd":"et ce que compter achète","selvedge-rebuild.4f84d48da3":"Une seule limite","selvedge-rebuild.34b96ad39f":"IDENTIQUE SUR TOUT CPU","selvedge-rebuild.c314cfa17b":"PAS DES SECONDES","selvedge-rebuild.62e2ede50f":"INSTRUCTIONS","selvedge-rebuild.d1536b89dd":"Les instructions consommées sont une propriété de l'exécution. Le chiffre se trouve dans l'enregistrement, il peut être soustrait, et une différence de huit sur neuf milliards est la première chose à examiner lorsque deux exécutions diffèrent. C'est toute la raison de compter le travail plutôt que le temps : le nombre survit à la machine sur laquelle il a été pris. Une nouvelle exécution sur un autre matériel renvoie le même compte ou nomme le champ qui a bougé.","selvedge-rebuild.7aff67a600":"Un compte est aussi un chiffre que deux parties peuvent se tenir mutuellement. Le temps écoulé est une propriété de la machine qui se trouvait être libre, et rien d'utile ne découle d'une différence dans celui-ci. Il mesure la disponibilité sur l'hôte, pas le travail effectué par l'invité. Le compte décrit plutôt un travail qui peut être vérifié indépendamment.","selvedge-rebuild.72426f8729":"Le temps écoulé permet au même artefact de réussir sur une machine inactive et d'échouer sur une machine occupée. Selvedge limite une exécution par le nombre d'instructions consommées par l'invité, de sorte que la charge ne change ni la réponse ni le point où elle s'arrête. Le budget est imputé au travail de l'invité plutôt qu'à l'ordonnancement de l'hôte. Un délai d'attente peut toujours protéger un appel hôte bloqué, mais ce n'est pas le signal de reproductibilité ; le nombre d'instructions enregistré l'est.","selvedge-rebuild.8afbc5d594":"et le carburant mesure le programme","selvedge-rebuild.03b2c4da91":"Une échéance mesure un hôte","selvedge-rebuild.21a2c5f1aa":"Ce qui arrête réellement une exécution","selvedge-rebuild.1a78f4b9ca":"Une exécution qui ne demande rien peut encore ne pas se terminer, et cela nécessite une limite différente.","selvedge-rebuild.4a92056b30":"Seulement parce que le joker est écrit.","selvedge-rebuild.98f3f99f4d":"Le même import avec joker","selvedge-rebuild.aca85a73fa":"Refusé plutôt que supposé inoffensif.","selvedge-rebuild.e4b5b433a2":"Un import rien classifie","selvedge-rebuild.15c54f0161":"Reconnu mais absent de la politique. S'arrête ici.","selvedge-rebuild.f998b59fb9":"Une interface socket","selvedge-rebuild.b0449a2f1e":"Nommé dans la politique et fourni par l'hôte.","selvedge-rebuild.83ae8486f7":"Les flux standard","selvedge-rebuild.a46cc41ece":"une politique, quatre réponses","selvedge-rebuild.161836a8f2":"Quatre demandes","selvedge-rebuild.366a00a60f":"ÉCHOUE FERMÉ","selvedge-rebuild.4d3b321af0":"VÉRIFIÉ D'ABORD","selvedge-rebuild.063d13205c":"IMPORTS DÉCLARÉS","selvedge-rebuild.0727104688":"Dans Selvedge, le cas inconnu échoue fermé, et la seule façon de l'ouvrir est un joker qui se trouve dans la politique comme entrée propre. Une permission que vous n'avez pas décidée n'est pas disponible, et une permission que vous avez décidée est lisible pour quiconque lit la politique l'année prochaine sans avoir à reconstruire le raisonnement. Cette entrée est examinable, et la supprimer ferme à nouveau le cas.","selvedge-rebuild.4adda50d9a":"Le cas inconnu est celui où les runtimes cèdent généralement du terrain. Une requête non reconnue est transmise en supposant qu'elle est probablement inoffensive, et c'est ainsi qu'une capacité arrive que personne n'a choisie, que personne ne possède et que personne ne peut dater. Une frontière reste intelligible uniquement lorsqu'elle se ferme dans ce cas précis.","selvedge-rebuild.2b1f8f5acb":"Un artefact qui demande le réseau à Selvedge ne démarre jamais. Chaque import déclaré est parcouru avant l'instanciation depuis les trois constructeurs d'instances ; un import hors politique arrête tout, et un import qu'aucune politique ne peut classer échoue en mode fermé, sauf si un wildcard a été accordé intentionnellement. Le parcours a lieu avant l'exécution de tout constructeur de module, donc un import refusé ne peut pas fuiter une instance partielle. La politique d'import est donc une condition de démarrage vérifiable plutôt qu'un filtre d'exécution au mieux.","selvedge-rebuild.c701cfb7bc":"est refusé, pas transmis","selvedge-rebuild.11f61b8cea":"Un import qu'elle ne peut pas placer","selvedge-rebuild.e8f740737e":"Avant l'instanciation","selvedge-rebuild.dcd4ba984c":"Une pièce vide, c'est la moitié. Quelque chose doit aussi refuser avant que le code ne démarre.","selvedge-rebuild.0e3f683921":"Aucun répertoire, socket, variable ou argument.","selvedge-rebuild.b31a999e3e":"Tout le reste","selvedge-rebuild.b6f2a8aafd":"Les octets de l'appelant, ou un flux fermé.","selvedge-rebuild.ed8d995cba":"Entrée standard","selvedge-rebuild.619f80b0f4":"Le même traitement. Rien n'est écrit ailleurs.","selvedge-rebuild.be84302eb7":"Erreur standard","selvedge-rebuild.28c9b400a8":"Capturé, digéré et rendu avec l'exécution.","selvedge-rebuild.f0c190c767":"Sortie standard","selvedge-rebuild.80384c78ce":"et ce qui n'est pas là pour être franchi","selvedge-rebuild.fbda0b5df6":"Ce qui franchit la frontière","selvedge-rebuild.f317e1836d":"PAS D'ENV","selvedge-rebuild.772e054092":"PAS DE FICHIERS","selvedge-rebuild.61176d0dd1":"PAS DE RÉSEAU","selvedge-rebuild.a4a4906f32":"La soustraction reste stable. Il n'y a pas de système de fichiers à accorder ni de réseau à retenir, donc le pire cas repose sur la forme de l'hôte plutôt que sur quelqu'un qui maintient une liste correcte. Une politique Selvedge que vous construisez vous-même commence avec une liste de capacités vide et la déterminisme requis, et la pièce qu'elle décrit est celle que vous obtenez.","selvedge-rebuild.d987579a1c":"Une liste de permissions est une chose que quelqu'un maintient, et toute chose maintenue dérive. Une version ouvre un répertoire pour un diagnostic, le diagnostic est terminé avant l'été, l'entrée lui survit, et deux ans plus tard personne ne peut dire ce qui en dépend. Cette histoire est ce qu'un reçu préserve pour un examen ultérieur.","selvedge-rebuild.a97c12e865":"Demandez ce qu'un composant peut atteindre à l'intérieur de Selvedge et la réponse est trois flux : la sortie standard, l'erreur standard, et l'entrée standard lorsque l'appelant en fournit une. Aucun répertoire, socket, variable d'environnement ou liste d'arguments n'est ouvert ; l'hôte n'a aucun chemin de code qui en ouvre un.","selvedge-rebuild.d9a7d95854":"et il n'y a pas de quatrième","selvedge-rebuild.dcfbae366b":"Un invité reçoit trois flux","selvedge-rebuild.fbadde4854":"Ce qui est remis à un invité","selvedge-rebuild.fallback-record":"enregistrement","selvedge-rebuild.fallback-check":"vérification","selvedge-rebuild.illustrative":"ILLUSTRATIF","selvedge-rebuild.declared":"déclaré","selvedge-rebuild.recorded":"enregistré","selvedge-rebuild.banner.eng-unchecked.kicker":"Ce que signifie une réussite","selvedge-rebuild.banner.eng-unchecked.title":"Chaque affirmation est testée","selvedge-rebuild.banner.eng-unchecked.body":"Un artefact peut porter des affirmations sur lui-même : un digest de signature, un digest de certificat, un digest de politique. Chacun est une promesse que quelque chose a été vérifié, et chacun nécessite du matériel avant de pouvoir être vérifié du tout. Selvedge insiste sur ce matériel. Un artefact référençant un digest de signature se vérifie une fois la signature détachée et la clé fournies. Celui référençant un digest de certificat se vérifie une fois qu'un vérificateur de chaîne est là pour le lire. Celui référençant un digest de politique se vérifie sur le chemin sensible à la politique qui l'a produit.","selvedge-rebuild.banner.eng-unchecked.instrument-header":"Matériel de vérification","selvedge-rebuild.banner.eng-unchecked.instrument-tag":"Requis","selvedge-rebuild.banner.eng-unchecked.verdict-label":"Résultat de la vérification","selvedge-rebuild.banner.eng-unchecked.item-1-label":"Digest de signature","selvedge-rebuild.banner.eng-unchecked.item-1-body":"Signature détachée et clé.","selvedge-rebuild.banner.eng-unchecked.item-2-label":"Digest de certificat","selvedge-rebuild.banner.eng-unchecked.item-2-body":"Vérificateur de chaîne.","selvedge-rebuild.banner.eng-unchecked.item-3-label":"Digest de politique","selvedge-rebuild.banner.eng-unchecked.item-3-body":"Chemin sensible à la politique.","selvedge-rebuild.banner.eng-unchecked.item-4-label":"Artefact + paramètres","selvedge-rebuild.banner.eng-unchecked.item-4-body":"Vérifié à chaque exécution.","selvedge-rebuild.banner.eng-unchecked.verdict":"Une réussite couvre chaque affirmation de l'artefact.","selvedge-rebuild.banner.eng-unchecked.footline":"C'est pourquoi une réussite Selvedge signifie la même chose pour la partie qui la reçoit.","selvedge-rebuild.banner.eng-handover.kicker":"Qui détient les preuves","selvedge-rebuild.banner.eng-handover.title":"Vous remettez quatre choses","selvedge-rebuild.banner.eng-handover.body":"Une seconde partie qui vérifie une exécution Selvedge a besoin de quatre choses : les octets de l'artefact, l'entrée que ces octets ont reçue, les paramètres de déterminisme utilisés par l'exécution, et le enregistrement qu'elle a produit. Les quatre sont des fichiers. Les quatre voyagent par les moyens que vous utilisez déjà tous les deux, et aucun n'est un identifiant, une licence ou un point de terminaison.","selvedge-rebuild.banner.eng-handover.instrument-header":"Transfert de rejeu","selvedge-rebuild.banner.eng-handover.instrument-tag":"Hors ligne","selvedge-rebuild.banner.eng-handover.verdict-label":"Rejeu indépendant","selvedge-rebuild.banner.eng-handover.item-1-label":"Octets de l'artefact","selvedge-rebuild.banner.eng-handover.item-1-body":"Ce qui a été exécuté.","selvedge-rebuild.banner.eng-handover.item-2-label":"Entrée fournie","selvedge-rebuild.banner.eng-handover.item-2-body":"Sur quoi il a été exécuté.","selvedge-rebuild.banner.eng-handover.item-3-label":"Paramètres","selvedge-rebuild.banner.eng-handover.item-3-body":"Comment il a été exécuté.","selvedge-rebuild.banner.eng-handover.item-4-label":"Votre enregistrement","selvedge-rebuild.banner.eng-handover.item-4-body":"Quoi comparer.","selvedge-rebuild.banner.eng-handover.verdict":"Leur machine, leur comparaison, leur liste.","selvedge-rebuild.banner.eng-handover.footline":"Quatre fichiers, et celui qui doute de vous est celui qui vérifie.","selvedge-rebuild.banner.biz-blind.kicker":"Pourquoi un résultat de test se transfère","selvedge-rebuild.banner.biz-blind.title":"Il ne peut pas dire","selvedge-rebuild.banner.biz-blind.body":"Un logiciel qui peut voir son environnement peut s'y comporter différemment. Un composant qui lit la date peut se comporter d'une manière avant une date limite et d'une autre après. Celui qui lit le nom de la machine peut être prudent dans un environnement de test et négligent en production. Celui qui peut voir à quel point la machine est chargée peut prendre un raccourci uniquement lorsque personne n'est susceptible de mesurer. C'est ce qui fait d'un test d'acceptation quelque chose que vous avez réussi une fois plutôt que quelque chose que vous savez.","selvedge-rebuild.banner.biz-blind.instrument-header":"Frontière neutre vis-à-vis du fournisseur","selvedge-rebuild.banner.biz-blind.instrument-tag":"Mêmes conditions","selvedge-rebuild.banner.biz-blind.verdict-label":"Résultat transférable","selvedge-rebuild.banner.biz-blind.compare-left":"Aucune dépendance conservée","selvedge-rebuild.banner.biz-blind.compare-right":"Frontière visible","selvedge-rebuild.banner.biz-blind.item-1-label":"Aucun compte","selvedge-rebuild.banner.biz-blind.item-1-body":"S'exécute sur votre matériel.","selvedge-rebuild.banner.biz-blind.item-2-label":"Aucune clé de fournisseur","selvedge-rebuild.banner.biz-blind.item-2-body":"Rien n'est conservé pour vous.","selvedge-rebuild.banner.biz-blind.item-3-label":"Aucun réseau caché","selvedge-rebuild.banner.biz-blind.item-3-body":"Aucun chemin pour exfiltrer.","selvedge-rebuild.banner.biz-blind.item-4-label":"Un rapport daté","selvedge-rebuild.banner.biz-blind.item-4-body":"L'autorisation est écrite.","selvedge-rebuild.banner.biz-blind.verdict":"Un résultat de test se transfère parce que la frontière est la même.","selvedge-rebuild.banner.biz-blind.footline":"La preuve est utile à quelqu'un qui n'était pas dans la pièce.","selvedge-rebuild.banner.biz-fresh.kicker":"Pourquoi l'isolation est abordable","selvedge-rebuild.banner.biz-fresh.title":"Une nouvelle pièce à chaque fois","selvedge-rebuild.banner.biz-fresh.body":"L'isolation est généralement rationnée. Mettre en place un environnement propre coûte assez cher pour qu'il soit réservé aux travaux par lots, et tout ce qui est interactif partage un processus de longue durée où les résidus d'un travail sont la condition de départ du suivant. C'est une décision de coût, et elle est presque toujours présentée comme une architecture.","selvedge-rebuild.banner.biz-fresh.instrument-header":"Séquence de nouvelle pièce","selvedge-rebuild.banner.biz-fresh.instrument-tag":"Par requête","selvedge-rebuild.banner.biz-fresh.verdict-label":"Conclusion opérationnelle","selvedge-rebuild.banner.biz-fresh.item-1-label":"Démarrage à froid","selvedge-rebuild.banner.biz-fresh.item-1-body":"Sous la milliseconde.","selvedge-rebuild.banner.biz-fresh.item-2-label":"Une requête","selvedge-rebuild.banner.biz-fresh.item-2-body":"Une pièce.","selvedge-rebuild.banner.biz-fresh.item-3-label":"Aucun report","selvedge-rebuild.banner.biz-fresh.item-3-body":"Rien n'est partagé par défaut.","selvedge-rebuild.banner.biz-fresh.item-4-label":"Un enregistrement","selvedge-rebuild.banner.biz-fresh.item-4-body":"La passation est explicite.","selvedge-rebuild.banner.biz-fresh.verdict":"L'isolation est abordable lorsque la pièce est bon marché.","selvedge-rebuild.banner.biz-fresh.footline":"Un fournisseur ne peut pas hériter de la pièce d'hier.","selvedge-rebuild.banner.con-code.kicker":"Ce que contient le reçu","selvedge-rebuild.banner.con-code.title":"Un code n'est pas une copie","selvedge-rebuild.banner.con-code.body":"Un reçu qui prouverait ce qui est sorti de votre lettre devrait contenir la lettre, et c'est la partie que les gens demandent à juste titre. Selvedge ne conserve aucune copie. Ce qu'il conserve est un code court calculé à partir du contenu, et le calcul ne fonctionne que dans un sens.","selvedge-rebuild.banner.con-code.instrument-header":"Registre des reçus","selvedge-rebuild.banner.con-code.instrument-tag":"Rejouable","selvedge-rebuild.banner.con-code.verdict-label":"Ce qu'il prouve","selvedge-rebuild.banner.con-code.item-1-label":"L'artefact","selvedge-rebuild.banner.con-code.item-1-body":"Quel programme.","selvedge-rebuild.banner.con-code.item-2-label":"L'entrée","selvedge-rebuild.banner.con-code.item-2-body":"Ce qu'il a vu.","selvedge-rebuild.banner.con-code.item-3-label":"Les paramètres","selvedge-rebuild.banner.con-code.item-3-body":"Ce qui était fixé.","selvedge-rebuild.banner.con-code.item-4-label":"Le reçu","selvedge-rebuild.banner.con-code.item-4-body":"Quoi comparer.","selvedge-rebuild.banner.con-code.verdict":"Un code court nomme l'exécution ; il ne prétend pas être la source.","selvedge-rebuild.banner.con-code.footline":"L'objet utile est assez petit pour être transmis.","selvedge-rebuild.internal-numeric":"Le calcul interne, le stockage et l'accumulation utilisent des représentations binaires, entières, en virgule fixe ou adaptatives entières/virgule fixe. La virgule flottante n'est acceptée qu'à une frontière externe déclarée et est explicitement convertie avant le début du travail interne. Il n'y a pas de repli interne en virgule flottante.","selvedge-rebuild.banner.eng-unchecked.title-accent":"avant qu'une réussite ne soit accordée","selvedge-rebuild.banner.eng-unchecked.body-second":"Demandez à Selvedge de vérifier sans le matériel et l'erreur nomme exactement ce qui manque, ce qui transforme un artefact invérifiable en une demande pour la seule chose qui pourrait le régler. L'effet pratique est qu'un résultat vert de Selvedge porte tout son sens où qu'il aille : chaque affirmation que fait l'artefact a été testée, avec les mêmes outils, contre un matériel que quelqu'un a réellement fourni.","selvedge-rebuild.banner.eng-handover.title-accent":"et la vérification leur appartient","selvedge-rebuild.banner.eng-handover.body-second":"Ils exécutent la relecture sur leur propre machine avec leur propre version des outils, et ce qui revient est leur liste des champs différents plutôt que votre assurance sur l'exécution. Rien sur ce chemin n'a besoin d'un compte, d'une clé détenue par nous, ou d'un de nos services accessible, donc la vérification fonctionne pendant une panne, sur un réseau isolé, et des années après l'exécution qu'elle règle. C'est ce qui rend un enregistrement Selvedge digne d'être cité dans un contrat : celui qui se méfie de vous est celui qui le vérifie.","selvedge-rebuild.banner.biz-blind.title-accent":"qu'il est testé","selvedge-rebuild.banner.biz-blind.body-second":"Un composant exécuté dans Selvedge n'a rien à lire. L'horloge qui lui est donnée ne bouge jamais d'un seul instant fixe. Il n'y a pas d'environnement, pas d'arguments, pas de réseau et pas de répertoire, donc il n'y a pas de nom de machine, pas d'étiquette de déploiement et aucun moyen de savoir si c'est la quatrième exécution ou la première. Le comportement peut toujours dépendre de l'entrée, ce qui est exactement pourquoi l'entrée est la chose que vous épinglez et transmettez. Ce dont il ne peut pas dépendre, c'est de la date, de l'hôte ou de l'occasion, donc une exécution qui s'est comportée en acceptation se comporte de la même manière en novembre sur le matériel de quelqu'un d'autre.","selvedge-rebuild.banner.biz-fresh.title-accent":"parce qu'une pièce est bon marché","selvedge-rebuild.banner.biz-fresh.body-second":"L'installation d'une nouvelle instance Selvedge prend bien moins d'une milliseconde sur la machine sur laquelle le projet effectue ses mesures, ce qui place une instance par requête dans le budget de presque tout ce qui est interactif. Rien n'est transmis entre elles à moins d'être délibérément passé, et ce qui est passé apparaît dans l'enregistrement comme ayant été transmis. La version commerciale de cette phrase est courte : l'erreur d'un travail est l'erreur d'un travail, et le rayon d'explosion est une pièce qui n'existe plus.","selvedge-rebuild.banner.con-code.title-accent":"de la chose dont elle provient","selvedge-rebuild.banner.con-code.body-second":"Le même contenu produit toujours le même code, donc le code suffit pour montrer que rien n'a changé. Le code ne peut pas être reconverti en contenu, donc il ne révèle rien sur ce qu'était le contenu. Une exécution sur un rapport de deux cents pages laisse un enregistrement de la même taille qu'une exécution sur une seule ligne, et aucun des deux enregistrements ne contient un mot de ce dont il s'agissait. Vous pouvez le conserver pendant une décennie, ou le confier à quelqu'un qui n'est pas autorisé à lire le document, sans rien divulguer du tout.","selvedge-rebuild.banner.eng-record.kicker":"Ce qui reste après l'exécution","selvedge-rebuild.banner.eng-record.title":"Le processus s'est arrêté","selvedge-rebuild.banner.eng-record.title-accent":"l'enregistrement répond toujours","selvedge-rebuild.banner.eng-record.body":"Une exécution terminée devrait laisser plus qu'un simple indicateur de succès. Selvedge lie l'artefact, l'entrée, les paramètres de déterminisme et le travail mesuré aux sorties obtenues. L'enregistrement est un ensemble de champs, pas un compte rendu rédigé après coup.","selvedge-rebuild.banner.eng-record.body-second":"Une seconde machine peut rejouer le même matériel et comparer l'enregistrement champ par champ. Si l'artefact, les paramètres, le nombre d'instructions ou la sortie diffèrent, le désaccord a un emplacement nommé plutôt qu'une affirmation générale selon laquelle l'exécution n'a pas pu être reproduite.","selvedge-rebuild.banner.eng-record.instrument-header":"Reçu d'exécution","selvedge-rebuild.banner.eng-record.instrument-tag":"Champ par champ","selvedge-rebuild.banner.eng-record.verdict-label":"Vérification de rejeu","selvedge-rebuild.banner.eng-record.item-1-label":"Artefact + entrée","selvedge-rebuild.banner.eng-record.item-1-body":"Le matériel qui est entré.","selvedge-rebuild.banner.eng-record.item-2-label":"Paramètres de déterminisme","selvedge-rebuild.banner.eng-record.item-2-body":"Les conditions fixées pour l'exécution.","selvedge-rebuild.banner.eng-record.item-3-label":"Instructions consommées","selvedge-rebuild.banner.eng-record.item-3-body":"Le travail mesuré.","selvedge-rebuild.banner.eng-record.item-4-label":"Empreintes de sortie","selvedge-rebuild.banner.eng-record.item-4-body":"Les valeurs à comparer.","selvedge-rebuild.banner.eng-record.verdict":"Lorsqu'un rejeu diverge, l'enregistrement pointe vers le champ où cela s'est produit.","selvedge-rebuild.banner.eng-record.footline":"Les preuves restent utiles après la disparition du processus qui les a produites.","selvedge-rebuild.banner.biz-transfer.kicker":"Ce qui survit à un changement de fournisseur","selvedge-rebuild.banner.biz-transfer.title":"Conserver le résultat accepté","selvedge-rebuild.banner.biz-transfer.title-accent":"sans conserver le fournisseur","selvedge-rebuild.banner.biz-transfer.body":"Un résultat d'acceptation devient fragile lorsque seul le fournisseur peut le reproduire. Le compte, le service et le harnais de test interne deviennent alors partie des preuves, même si le contrat stipule que le logiciel lui-même est portable.","selvedge-rebuild.banner.biz-transfer.body-second":"Selvedge rend la passation concrète. Conservez l'artefact, les capacités autorisées, les paramètres d'exécution fixes et l'enregistrement résultant. Un fournisseur de remplacement ou un réviseur indépendant peut rejouer ces fichiers sur sa propre machine sans demander au fournisseur d'origine de rouvrir quoi que ce soit.","selvedge-rebuild.banner.biz-transfer.instrument-header":"Passation indépendante","selvedge-rebuild.banner.biz-transfer.instrument-tag":"Aucun service retenu","selvedge-rebuild.banner.biz-transfer.verdict-label":"Frontière commerciale","selvedge-rebuild.banner.biz-transfer.item-1-label":"Artefact accepté","selvedge-rebuild.banner.biz-transfer.item-1-body":"Les octets exacts qui ont été validés.","selvedge-rebuild.banner.biz-transfer.item-2-label":"Ensemble de permissions","selvedge-rebuild.banner.biz-transfer.item-2-body":"La limite dans laquelle il a fonctionné.","selvedge-rebuild.banner.biz-transfer.item-3-label":"Paquet de rejeu","selvedge-rebuild.banner.biz-transfer.item-3-body":"Fichiers que l'acheteur peut conserver.","selvedge-rebuild.banner.biz-transfer.item-4-label":"Comparaison indépendante","selvedge-rebuild.banner.biz-transfer.item-4-body":"Aucun compte fournisseur requis.","selvedge-rebuild.banner.biz-transfer.verdict":"Les preuves changent de mains sans créer une nouvelle dépendance.","selvedge-rebuild.banner.biz-transfer.footline":"La partie qui reçoit le résultat reçoit également les moyens de le vérifier.","slv-visuals.chrome-meta":"enregistrement d'exécution","slv-visuals.661f13bc63":"VÉRIFIÉ","slv-visuals.bd63dd7336":"déclaré, borné, enregistré","slv-visuals.ac7ff256a6":"SEL","slv-visuals.44fd37f1ed":"Ce monde est scellé parce qu'il n'a pas été déclaré.","slv-visuals.74140b3eb3":"L'opération traverse la pièce tandis que la clé reste à l'extérieur.","slv-visuals.a95af2a207":"Un préfixe de chemin est visible ; c'est une fenêtre, pas un système de fichiers.","slv-visuals.5265953d8b":"Deux outils nommés sont présents ; un outil sans nom n'a pas d'ouverture.","slv-visuals.43dd7aa30b":"La liste accordée est datée sur le rapport, donc la revue devient une consultation.","slv-visuals.bcaf2f4bea":"La capacité a été refusée avant l'exécution, avec un code stable pour le runbook.","slv-visuals.f712baba7f":"Le carburant et la sortie ont bougé : demandez quelle entrée l'invité a réellement reçue.","slv-visuals.f4435747db":"Le carburant a bougé tandis que la sortie était retenue : inspectez la construction de l'hôte ou le chemin de code.","slv-visuals.e18ddd4366":"Aucune constatation. L'épinglage abandonne des unités vectorielles plus larges, et la portabilité est désormais une lecture.","slv-visuals.f1a5ccbfac":"Deux constatations : la sélection vectorielle et l'initialisation de la mémoire dépendent de l'hôte.","slv-visuals.interaction.choices":"Choix visuels de Selvedge","slv-visuals.interaction.sequence":"Séquence de Selvedge","slv-visuals.interaction.worlds":"Mondes de capacités de Selvedge","slv-visuals.interaction.tree":"Arbre de preuve d'inclusion de Selvedge","slv-visuals.fallback-hash":"hachage","slv-visuals.fallback-fact":"fait","slv-visuals.control.detect":"détection-ajustée","slv-visuals.control.pinned":"épinglé","slv-visuals.control.fuel":"carburant déplacé","slv-visuals.control.output":"carburant + sortie déplacés","slv-visuals.control.policy":"politique refusée","slv-visuals.control.allowed":"politique autorisée","slv-visuals.control.tool":"outil","slv-visuals.control.storage":"stockage","slv-visuals.control.crypto":"crypto","slv-visuals.control.observe":"observer","toc-rail.f5cbdf6bfb":"Sommaire"}
