Aller au contenu

Référence d'exécution Rust

Cette page couvre la surface complète de la racine du crate représentée par l’inventaire exact API. Le comportement du protocole partagé reste défini par la référence d’exécution et les clauses de référence locales. Les noms des modules ci-dessous identifient la provenance de la mise en œuvre ; les appelants importent les réexportations publiques de missionweaveprotocol car les modules eux-mêmes sont privés.

Implémenté s’applique aux API crate-root et au comportement en cours répertoriés ci-dessous.

Adaptateur de déploiement requis s’applique à l’autorité Registry actuelle, au contexte d’acceptation fiable, à l’accès au journal authentifié et à d’autres services de déploiement.

Non implémenté signifie que le crate exactement épinglée n’a pas de runtime correspondant.

Le crate est en version 0.1.0, utilise l’édition 2024, déclare Rust 1.85 comme chaîne d’outils minimale prise en charge et expose un binaire : missionweaveprotocol-conformance. src/lib.rs est la seule racine d’importation publique ; les chemins de module internes ne sont pas des API prises en charge.

L’installation du crate ne démarre aucun service, n’ouvre aucun socket, ne conserve aucun état et n’accorde aucune autorité. Les tranches d’octets renvoyées et les objets de preuve restent des valeurs de processus locales à moins que l’application ne les stocke ou ne les transmette délibérément.

Fonctionnalité d’exécution Source de mise en œuvre publique Contrat au commit épinglé
Racine et constantes du package lib.rs Réexporte la surface publique prise en charge et les versions SDK, de protocole et de fil.
Stricte JSON strict_json.rs parse_strict_json rejette le UTF-8 non valide, les membres en double, le JSON mal formé et les données de fin.
Schéma et heure exacte schema.rs, signed_document.rs Validation hors ligne Draft 2020-12, formats URI/date-heure affirmés, recherche de schéma packagée et comparaison instantanée exacte.
JSON canonique et Ed25519 canonical.rs RFC 8785 octets et hachages plus les assistants Ed25519Signer.
Documents signés et Registry signed_document.rs Neuf types de documents, signature, vérification en six étapes, résolution complète Organization Registry et preuves de vérification immuables.
Cadres frame.rs FrameCodec décode, encode et valide les documents. Il s’agit d’un codec et non d’un service de passerelle hébergé.
Conformité structurelle conformance.rs, bin/missionweaveprotocol-conformance.rs Exécution de vecteur de schéma intégré, résumés de rapports, état de sortie de la CLI et échecs détaillés facultatifs.
Bundles intégrés bundle.rs Accès exact aux pins, recherche d’artefacts et vérification de résumé pour les bundles de protocole, de cryptographie et d’admission.
Première admission admission.rs Première admission et confiance historique au-dessus de la vérification Signed Document réussie.

SchemaCatalog::new, validate, validate_bytes et identifier fonctionnent sur les 22 schémas intégrés exacts. L’analyse stricte et la validation du schéma sont distinctes de la canonisation. canonical_bytes, canonical_sha256 et signature_input implémentent RFC 8785 et la construction d’entrée de signature.

SigningKey est la couture de signature appartenant à l’application. Ed25519Signer fournit des aides à la signature et à la vérification basées sur des valeurs de départ pour une utilisation locale contrôlée. SignedDocumentCodec::sign et verify sélectionnent l’une des neuf valeurs SignedDocumentKind explicites et exécutent les étapes d’analyse, de schéma, d’enveloppe de signature, de résolution de clé, de canonisation et de signature dans l’ordre.

KeyResolver::resolve doit renvoyer la preuve KeyRegistrySnapshot::organization_wide pour une révision Organization cohérente et applicable avec un historique complet conservé. Une clé sélectionnée, une projection partielle, un accès au cache ou un indicateur de confiance fourni par l’appelant est insuffisant. VerifiedSignedDocument expose les octets reçus, la signature et les octets et hachages canoniques complets, l’heure protégée, les preuves de signature et les preuves Registry résolues.

FrameCodec::decode, encode et validate_document valident les valeurs de trame ; ils ne possèdent pas le transport, l’authentification de session, la persistance du curseur, la contre-pression, le routage ou les transitions d’état faisant autorité.

ProtocolBundle::verify vérifie le groupe structurel de 22 schémas et de 59 fichiers. verify_cryptography vérifie 98 artefacts, 22 cas et 62 évaluations déclarées ; verify_admission vérifie 19 artefacts, 5 cas et 30 évaluations déclarées. Ces deux appels vérifient les épingles, les décomptes et les résumés. Ils n’exécutent pas toutes les cryptographies ou évaluations d’admission. Le binaire de conformité et ConformanceRunner::run exécutent uniquement les vecteurs structurels.

AdmissionService::new, prepare_first_admission, admit_first et verify_historical_admission exposent le flux d’admission exact. Continuez avec la référence d’admission Rust pour connaître les résultats de l’adaptateur, l’ordre d’appel et l’exemple de consommateur de package exécutable.

Adaptateur de déploiement requis Autorité d’admission : l’application fournit des preuves Registry actuelles, des preuves historiques Registry, un contexte d’acceptation fiable et un journal authentifié en ajout uniquement.

Non implémenté Orchestration Mission — aucune machine à états Mission de haut niveau ou façade d’orchestration n’est exportée.

Non implémenté Planificateur Worker : aucune file d’attente Worker, planificateur, exécuteur de bail ou boucle de récupération n’est exporté.

Non implémenté Service de passerelle hébergé : le crate fournit un codec de trame, et non un service de passerelle avec propriété de transport, TLS, session, routage ou contre-pression.

Non implémenté Exécution de persistance faisant autorité : aucune exécution de persistance basée sur une base de données ou Agent locale n’est exportée.

Ces absences font partie du contrat de support documenté ; Les capacités d’exécution de référence Python ne doivent pas être déduites des noms de protocole partagés.