Question de recherche
Un contrat et des fixtures figés permettent-ils de vérifier le service déterministe d’un contexte sans génération, recommandation ou action non autorisée ?
Plan d’étude
Le pilote croise huit intentions, quatre états de pack et trois modalités d’accès. Chaque cellule est répétée et comparée au contrat versionné.
Unité d’analyse
Une trace complète entrée-routage-pack-sortie-refus produite pour une fixture synthétique et un snapshot de contrat versionnés.
Dimensions de comparaison
- routing-determinism · Stabilité de la route, du pack et du statut de refus pour des entrées et contrats byte-identiques.
- boundary-enforcement · Respect des portées, expirations, absences, conflits et contraintes de sortie déclarés.
- trace-completeness · Présence des identifiants, versions, sources, règles appliquées et motifs de refus requis par le contrat.
Plan d’unités
Fixtures synthétiques couvrant routes valides et invalides, packs présents, absents, expirés ou contradictoires, figées avant toute évaluation d’implémentation.
intent-class
Huit classes d’intention déclarées dans un registre figé, incluant les intentions non prises en charge.
pack-state
Quatre états de pack : valide, absent, expiré ou contradictoire selon les fixtures versionnées.
access-mode
Trois modalités déclarées : lecture locale, interface bornée et injection de défaillance contrôlée.
Règle d’arrêt
Aucun arrêt discrétionnaire. Exécuter les 288 unités, sauf corruption de fixture, changement de contrat ou indisponibilité supérieure à 5 % ; publier tout arrêt et chaque dénominateur.
Résolution des désaccords
Deux réviseurs classent indépendamment la conformité de chaque trace. Un troisième réviseur tranche avant agrégation.
Règle en cas d’accord insuffisant
Si le kappa de Cohen est inférieur à 0.80, ne pas agréger les verdicts de conformité ; publier l’échec et versionner la grille avant reprise.
Séquence d’exécution
- freeze-contract-and-fixtures · Figer le contrat, le registre d’intentions, les packs, les contraintes, les fixtures et leurs condensats.
- execute-declared-cells · Exécuter chaque cellule sans modifier l’entrée, le pack ou la règle après observation d’une sortie.
- review-traces-independently · Comparer indépendamment chaque trace au contrat, puis trancher les désaccords avec le rubric versionné.
- publish-conformance-matrix · Publier les verdicts par intention, état de pack et modalité, avec refus, échecs et résultats nuls.
Exigences de gel
unit-manifestfactor-manifestreference-snapshot-manifestreview-rubric-versionreview-panel-and-agreement-rulereview-windowsource-access-policyexpected-state-manifestruntime-contract-versionfixture-bundle-sha256intent-registry-versionexclusion-policy-version
Métriques préinscrites
deterministic-routing-rate
Part des répétitions byte-identiques produisant la même route, le même pack et le même statut de refus.
refusal-fidelity-rate
Part des unités absentes, expirées, contradictoires ou non prises en charge qui échouent fermé selon le contrat.
trace-completeness-rate
Part des champs requis présents dans les traces, incluant source, version, portée, règle et motif de refus.
unauthorized-generation-rate
Part des unités où le système génère, recommande ou agit au-delà du service de contexte autorisé.
Règles de décision
- identical-input-identical-route · Des entrées, contrats et snapshots identiques doivent produire la même route et le même statut de décision.
- invalid-state-fails-closed · Un pack absent, expiré, contradictoire ou hors portée doit produire un refus explicite, jamais une synthèse plausible.
- trace-required-for-conformance · Aucun verdict conforme n’est admissible si la trace ne relie pas entrée, route, pack, règles et sortie.
- no-public-runtime-inference · Une préinscription ou une fixture ne prouve pas l’existence, la disponibilité ou la préparation d’un runtime public.
Menaces à la validité
specification-implementation-coupling
Une implémentation conçue à partir des fixtures peut satisfaire les cas publiés sans respecter le contrat général.
Mesure de réduction. Séparer auteur des fixtures et implémentation, préserver des cellules holdout et publier leur politique de dérivation.
synthetic-fixture-bias
Les fixtures synthétiques peuvent omettre des conflits, expirations ou erreurs de forme présents dans un environnement réel.
Mesure de réduction. Inclure des injections de défaillance, publier les classes couvertes et interdire toute généralisation opérationnelle.
hidden-nondeterminism
Caches, horloges, dépendances ou états externes non figés peuvent masquer une non-détermination du routage.
Mesure de réduction. Figer les dépendances observables, répéter chaque cellule et publier toute source d’état non contrôlée.
Paquet minimal de publication
protocol-versionunit-manifestfactor-manifestreference-snapshotssource-access-logexpected-state-manifestreview-rubric-and-disagreementsruntime-contract-versionfixture-bundle-and-sha256trace-field-completenesscomplete-denominatorsexclusions-and-haltslimitationsnull-and-nonidentifiable-outcomes
Frontières et non-revendications
- Cette préinscription ne démontre pas qu’un runtime public existe ou est disponible.
- Une fixture conforme ne prouve pas la robustesse d’une implémentation dans un environnement réel.
- Le protocole n’autorise aucune génération libre, recommandation, décision ou action agentique.
- Aucune performance, disponibilité, sécurité de production ou préparation produit n’est revendiquée.
Ce que prouve une préinscription
La préinscription établit qu’une méthode a été fixée avant l’exécution. Elle ne prouve ni exécution, ni résultat, ni causalité, ni ouverture du produit.
Programme parent : Runtime de contexte gouverné
https://gautierdorval.com/doctrine/runtime-contexte-gouverne/
