Cette page a été traduite par une machine et n'a pas encore été révisée par une personne. L'anglais est la référence ; les corrections sont les bienvenues sur GitHub. GitHub
Cookwala / Développeurs
Core 0.2 · normatif, en cours de révision
D'un dry run à un rapport de conformance
Un premier chemin recommandé, puis les SDK, l'API, les liaisons et les évaluations. Tout ce qui suit fonctionne aujourd'hui ; ce qui n'existe pas encore est indiqué.
Démarrage rapide : cinq minutes, sans matériel
Get the tools.
git clone https://github.com/amado2k5/cookwala && cd cookwala pip install -e sdk/python # standard library only; add [full] for schema validation and signaturesHash a recipe. An executor cooks exactly this revision and refuses on mismatch.
cookwala hash examples/koshari.cookwala.jsonsha256:f7fc3745af514…Can this device cook it? Nothing is executed; the answer comes before heat.
cookwala dryrun examples/koshari.cookwala.json --device examples/capabilities/robot-arm.json{"state": "refused", "refusal": {"reason": "missing_capability", "node": "n1", "detail": "device cannot perform cw.op.boil and no person is present to do it"}}cookwala dryrun examples/koshari.cookwala.json --device examples/capabilities/robot-arm.json --human-present{"state": "accepted", "plan": [{"node": "n1", "op": "cw.op.boil", "by": "human", "verifiedBy": "human"}, …]}Check a temperature trace against a safe band. 99 °C is a boil, not a simmer.
python -c "import cookwala as cw; print(cw.check_envelope('cw.op.simmer', [{'t':0,'tempC':60},{'t':60,'tempC':94},{'t':90,'tempC':99}]))"{'envelopeOk': False, 'targetOk': None, 'reason': 'left_envelope'}Run the conformance vectors and write a report. The report is the artifact behind any claim.
cookwala conformance --report report.jsonconformance: 137/137 passed (7 core suites, 5 profile suites) report -> report.jsonRun the reference hub and cook against the Core API.
cookwala hub --port 7878 curl -s localhost:7878/v1/safety-limits | headThen
POST /v1/executionsas in the hub README: refused without a person present, accepted with one,stopalways works, the log carries no personal data.
SDKs et outils
Un client hub avec les mêmes 25 opérations en 13 langues (Python, TypeScript, JavaScript, Go, Rust, Java, Kotlin, C#, Swift, C++, Ruby, PHP, curl), et 101 scénarios avec du code pour chacun : SDK et scénarios.
Package Python et CLI
pip install -e sdk/python. hash, verify, dryrun, envelope, convert, sms, constraints, validate, conformance, humanitarian, export, init, hub, mcp. Bibliothèque standard uniquement.
Types TypeScript
Types pour tous les 24 schémas, générés et vérifiés par type ; le dry run du navigateur en tant que module. Un namespace par schéma.
now · source package; npm next →Serveur MCP
Quatorze outils en lecture seule pour tout client MCP, lancés par npx -y @cookwala/mcp : search, get, dry_run, explain_step, check_envelope, check_mandate, parse_sms et d’autres. Aucun serveur à héberger. Ne cuisine jamais.
Hub de référence
L'API Core avec un appareil simulé : dry run avant la chaleur, machine à états sur une horloge, enveloppes respectées, l'arrêt fonctionne toujours. Dockerfile inclus.
now →Interfaces ROS 2
cookwala_msgs: Actions ExecuteRecipe et ExecuteNode ; cancel est un arrêt de sécurité ; aucun champ goal ne peut dépasser une limite.
Les exportateurs LeRobot et OpenTelemetry
Les execution logs deviennent des tâches LeRobotDataset v3 et des traces OTLP, uniquement avec le consentement du ménage.
now →Nouveau : du code d’exemple pour chaque rôle
Clients, un agent planificateur sous mandat, un orchestrateur, des barrières de sécurité, la reprise et les rapports, en Python, JavaScript, Java et C#. Lancez la démo sans installation, puis emportez le même code vers pip, npm, Maven, Gradle, NuGet, Homebrew, Chocolatey, Scoop, apt, RPM, pacman, conda, snap, un conteneur, Helm, Artifactory, ou une fonction sur Azure, AWS, Google Cloud ou OpenShift.
Construit et testé par la CI ; les registres arrivent avec la première version étiquetée.
L'API Core
Une API que chaque exécuteur implémente : POST /v1/executions, status, stop, resume, log, safety limits, capabilities ; les catalogues ajoutent les recalls et les incidents. Clés d'idempotence sur chaque POST, If-Match sur les changements, le refus comme réponse normale, le stop jamais refusé pour autorisation.
core.openapi.yaml · registry.openapi.yaml · humanitarian.openapi.yaml · household.openapi.yaml (local) · tous les schémas dans un seul bundle
Versionnage
Semver selon la spécification ; les versions mineures sont additives ; les versions majeures sont annoncées 12 mois à l'avance ; l'index dessert chaque version majeure pendant 3 ans. Le Core est en 0.2.x ; les profils sont versionnés indépendamment et déclarent la version du Core dont ils ont besoin. Governance
Conformance
137 vecteurs publics : hachage (incluant l'exemple RFC 8785), signatures (incluant une clé RFC 8032), révocation, divulgation sélective, chaînes d'événements et points de contrôle témoins, unités, enveloppes et sensor ladders, machines à états, politique de divulgation, règles du registry, grammaire SMS, politique de signal, vérification de relais.
Une réclamation est un ConformanceReport signé : auto-déclaré → vérifié par un opérateur de registry → certifié par un certificateur indépendant (aucun engagé pour l'instant). Des rapports, jamais des badges. Le chemin · vecteurs
Evals pour les agents
Dix cas promptfoo vérifient qu'un agent suit les règles du Core : texte non fiable, mandates et caps, blocs d'allergènes, limites de sécurité, unattended operations, recalls, over-refusal. Ajoutez des fournisseurs pour comparer les modèles ; publiez avec l'id du modèle, la date et le hash de la config. Benchmark
Ce qu'il côtoie, et ce qu'il n'est pas
Aucun de ces standards n'est un contrat vérifié par la machine entre une recette et un appareil. Cookwala n'est que cela, et s'appuie sur les autres là où ils conviennent.
| Schema.org Recipe | Décrit une recette pour les moteurs de recherche : ingrédients, durées, nutrition. Pas d'opérations, pas de conditions de fin, rien qu'un appareil vérifie. Une recette Cookwala peut être publiée avec des champs Schema.org pour être trouvée. |
|---|---|
| LeRobot (Hugging Face) | Un format de jeux de données pour ce qu'un robot a fait : observations et actions. Il ne dit ni ce qu'est une recette ni quand une étape est dangereuse. Cookwala y exporte des journaux d'exécution consentis. |
| HACCP | Un système de gestion pour les personnes : dangers, points critiques, enregistrements. Cookwala encode les points de contrôle pour qu'une machine les vérifie ; il ne remplace pas le plan HACCP d'une cuisine. |
| Matter (CSA) | Le contrôle des appareils : régler un four, lire une sonde. Cookwala dit ce qu'on doit demander au four et quand refuser ; la table de correspondance est dans bindings/matter.json. |
| ROS 2 | Le middleware des robots : comment un robot bouge et se parle. Cookwala se place au-dessus du mouvement et fournit des interfaces ROS 2 pour la couche tâche. |
Concepts, dans un seul tableau
| Terme | Ce que c'est | Ce que ce n'est pas |
|---|---|---|
| Operation envelope | La signification physique d'une opération : milieu, plage de température, attention, sans surveillance autorisée, sensor ladder, dangers | Un paramètre de recette ; les recettes le restreignent, ne l'élargissent jamais |
| Sensor ladder | Façons de vérifier une étape, par ordre de préférence : un capteur, une estimation enregistrée, le temps, une personne. Si aucun échelon n'est atteignable, refuser | Un repli vers la supposition |
| Limite de sécurité | Appliquée sur l'appareil ; la plus stricte l'emporte toujours ; aucun message ne peut l'augmenter | Un champ dans une recette ou une requête |
| Mandat de l'agent | Portées, limites, fournisseurs autorisés, expiration, liste de confirmation préalable, signé par le mandant | Une invite |
| Contrainte dérivée | Le seul objet domestique qu'un fournisseur reçoit (« livrer de 17:00 à 18:00, étiqueter pour cacahuètes ») | Un fait domestique |
| Rapport de conformité | Un enregistrement signé indiquant quels vecteurs ont été exécutés, avec quel outil, quand, et sur quoi | Un badge |
Problèmes courants
- Tout est refusé avec needs_human_present : la découpe, le sauté et la friture ne peuvent pas être exécutés sans surveillance ; passer
--human-present. - Refusé avec missing_sensor_no_fallback sur la friture : la friture possède un échelon, un thermomètre à huile ; c'est le fonctionnement standard.
- Le hash ne correspond pas : les hashes excluent uniquement
hashetsignature; tout autre changement est une nouvelle révision. - La validation indique qu'une température est hors de l'enveloppe : la cible de la recette doit se situer à l'intérieur de la bande de l'opération ; modifiez l'opération ou la cible.
- Python ne peut pas importer cookwala : installez à partir d'un checkout ou définissez
COOKWALA_ROOT.
Contribuer
Implémenter l'API Core sur un appareil ou un hub et publier un rapport ; écrire un nœud de pont ROS 2 ; ajouter des cas d'attaque au benchmark de l'agent ; ajouter des vecteurs ; proposer un RFC. Comment · RFCs · GitHub
Les documents sont également disponibles sur /llms.txt et au format Markdown par page, pour les lecteurs IA.