contract-testing-roster
Un axe (stack) + un booléen (opt-in) : résout comment un test de contrat côté fournisseur est construit — ne jamais coder la décision en dur dans un worker.
Quand l’utiliser
- Avant d’émettre un test de contrat côté fournisseur — chargé par contract-testing-worker
- Déterminer si la couche de vérification Microcks doit être ajoutée en plus de la baseline
- Ajouter un adaptateur de stack (ajouter une ligne + un skill
contract-testing-{stack}, zéro autre modification)
Contrat d’entrée
- Prompt d’exécution (peut porter une demande opt-in explicite — priorité la plus haute)
.github/instructions/skraft.instructions.mdchamptesting.contract.microcks(lu par appel outil, jamais rappelé)
Contrat de sortie
- Lien d’adaptateur résolu (ex. contract-testing-dotnet) + flag opt-in
- OU : payload
status: blockedavectypeetcontextsi la valeur opt-in est invalide ou si le stack n’a pas d’adaptateur
Invariants
- Lire l’opt-in par appel outil — jamais depuis le rappel ; si le fichier est absent, utiliser le défaut
false - Cascade : prompt explicite >
skraft.instructions.mdtesting.contract.microcks> défautfalse - Valeur inconnue → stop — émettre
status: blockedavectype: invalid_contract_optin; ne jamais deviner - Stack non supporté → stop — émettre
status: blockedavectype: unsupported_stack - Ajouter un stack = un adaptateur + une ligne de table — zéro modification de ce skill ou du worker
Pourquoi cette forme
Centraliser la décision de routage dans un seul skill évite que chaque worker suppose un stack. Tout nouveau stack s’insère sans toucher aux agents existants.
« Consumer-driven contracts let the consumer specify what it needs from a provider. » — Newman, S., Building Microservices, 2nd ed., 2021.
Table des adaptateurs de stack
| Stack | Adaptateur | Statut |
|---|---|---|
| .NET | contract-testing-dotnet | supporté |
| Java | (contract-testing-java non encore fourni) | NON SUPPORTÉ |
Customisation autorisée
- Adaptateurs de stack ajoutés indépendamment (aucune modification de ce skill ou du worker)
Voir aussi
- contract-testing — Authoring générique de contrats (OpenAPI, échantillons Microcks)
- contract-testing-dotnet — Adaptateur .NET résolu par ce roster
- software-engineer — Agent DELIVER qui déclenche le worker qui charge ce skill