Diese Seite wurde maschinell übersetzt und wurde noch nicht von einer Person überprüft. Englisch ist die Referenz; Korrekturen auf GitHub sind willkommen. GitHub
Cookwala / Entwickler
Core 0.2 · normativ, in Prüfung
Vom dry run bis zum Conformance-Bericht
Ein empfohlener erster Pfad, dann die SDKs, die API, die Bindings und die Evals. Alles unten stehende läuft heute; was noch nicht existiert, wird so angegeben.
Quickstart: fünf Minuten, keine Hardware
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 und Tools
Ein hub-Client mit denselben 25 Operationen in 13 Sprachen (Python, TypeScript, JavaScript, Go, Rust, Java, Kotlin, C#, Swift, C++, Ruby, PHP, curl) und 101 Szenarien mit Code in jedem: SDK und Szenarien.
Python-Paket und CLI
pip install -e sdk/python. hash, verify, dryrun, envelope, convert, sms, constraints, validate, conformance, humanitarian, export, init, hub, mcp. Nur Standardbibliothek.
TypeScript-Typen
Typen für alle 24 Schemata, generiert und typgeprüft; der Browser dry run als Modul. Ein Namespace pro Schema.
now · source package; npm next →MCP-Server
Vierzehn Nur-Lese-Tools für jeden MCP-Client, gestartet mit npx -y @cookwala/mcp: search, get, dry_run, explain_step, check_envelope, check_mandate, parse_sms und mehr. Kein Server zu betreiben. Kocht nie.
Referenz-Hub
Die Core API mit einem simulierten Gerät: dry run vor der Erhitzung, Zustandsautomat auf einer Uhr, Envelopes werden respektiert, Stopp funktioniert immer. Dockerfile enthalten.
now →ROS 2-Schnittstellen
cookwala_msgs: ExecuteRecipe- und ExecuteNode-Aktionen; cancel ist ein sicherer Stopp; kein goal-Feld kann ein Limit überschreiten.
LeRobot- und OpenTelemetry-Exporter
Execution logs werden zu LeRobotDataset v3 Aufgaben und OTLP-Traces, nur mit dem Einverständnis des Haushalts.
now →Neu: Beispielcode für jede Rolle
Clients, ein Planungsagent mit Mandat, ein Orchestrator, Sicherheitsschranken, Wiederherstellung und Berichte, in Python, JavaScript, Java und C#. Starten Sie die Demo ohne Installation und bringen Sie denselben Code zu pip, npm, Maven, Gradle, NuGet, Homebrew, Chocolatey, Scoop, apt, RPM, pacman, conda, snap, in einen Container, zu Helm, Artifactory oder als Funktion auf Azure, AWS, Google Cloud oder OpenShift.
Von der CI gebaut und getestet; die Registries folgen mit dem ersten getaggten Release.
Die Core API
Eine API, die jeder Executor implementiert: POST /v1/executions, status, stop, resume, log, safety limits, capabilities; Kataloge fügen recalls und incidents hinzu. Idempotency-Keys bei jedem POST, If-Match bei Änderungen, refusal als normale Antwort, stop wird niemals aus Autorisierungsgründen verweigert.
core.openapi.yaml · registry.openapi.yaml · humanitarian.openapi.yaml · household.openapi.yaml (lokal) · alle Schemata in einem Bundle
Versionierung
Semver gemäß Spezifikation; Minor-Versionen sind additiv; Major-Versionen werden 12 Monate im Voraus angekündigt; der Index dient jeder Major-Version für 3 Jahre. Core ist 0.2.x; Profile versionieren unabhängig und geben die Core-Version an, die sie benötigen. Governance
Conformance
137 öffentliche Vektoren: Hashing (einschließlich des RFC 8785 Beispiels), Signaturen (einschließlich eines RFC 8032 Schlüssels), Widerruf, selektive Offenlegung, Ereignisketten und bezeugte Checkpoints, Einheiten, Envelopes und Sensor Ladders, Zustandsautomaten, Offenlegungsrichtlinien, Registry-Regeln, SMS-Grammatik, Signalrichtlinien, Relay-Verifizierung.
Ein Claim ist ein signiertes ConformanceReport: selbst deklariert → verifiziert durch einen Registry-Operator → zertifiziert durch einen unabhängigen Zertifizierer (bisher noch keiner beauftragt). Berichte, niemals Badges. Der Pfad · Vektoren
Evals für Agenten
Zehn promptfoo-Fälle prüfen, ob ein Agent die Core-Regeln befolgt: nicht vertrauenswürdiger Text, Mandates und Caps, Allergen-Blöcke, Sicherheitsgrenzwerte, unbeaufsichtigte Operations, Recalls, Over-Refusal. Fügen Sie Provider hinzu, um Modelle zu vergleichen; veröffentlichen Sie mit der Model-ID, dem Datum und dem Config-Hash. Benchmark
Woneben es steht, und was es nicht ist
Keines davon ist ein maschinell geprüfter Vertrag zwischen Rezept und Gerät. Cookwala ist nur das und nutzt die anderen, wo sie passen.
| Schema.org Recipe | Beschreibt ein Rezept für Suchmaschinen: Zutaten, Zeiten, Nährwerte. Keine Operationen, keine Endbedingungen, nichts, was ein Gerät prüft. Ein Cookwala-Rezept kann mit Schema.org-Feldern veröffentlicht werden. |
|---|---|
| LeRobot (Hugging Face) | Ein Datensatzformat für das, was ein Roboter getan hat: Beobachtungen und Aktionen. Es sagt nicht, was ein Rezept ist oder wann ein Schritt unsicher ist. Cookwala exportiert eingewilligte Ausführungsprotokolle dorthin. |
| HACCP | Ein Managementsystem für Menschen: Gefahren, kritische Kontrollpunkte, Aufzeichnungen. Cookwala kodiert Kontrollpunkte, damit eine Maschine sie prüfen kann; es ersetzt keinen HACCP-Plan. |
| Matter (CSA) | Gerätesteuerung: einen Ofen auf Temperatur stellen, einen Fühler lesen. Cookwala sagt, was der Ofen tun soll und wann abzulehnen ist; die Zuordnung steht in bindings/matter.json. |
| ROS 2 | Roboter-Middleware: wie ein Roboter sich bewegt und intern kommuniziert. Cookwala liegt über der Bewegung und liefert ROS-2-Schnittstellen für die Aufgabenebene. |
Konzepte, in einer Tabelle
| Term | Was es ist | Was es nicht ist |
|---|---|---|
| Operation envelope | Die physikalische Bedeutung einer Operation: Medium, Temperaturbereich, Aufmerksamkeit, unbeaufsichtigt erlaubt, sensor ladder, Gefahren | Eine Rezept-Einstellung; Rezepte verengen sie, erweitern sie nie |
| Sensor ladder | Möglichkeiten, einen Schritt zu verifizieren, am besten zuerst: ein Sensor, eine protokolliert Schätzung, Zeit, eine Person. Wenn keine Stufe erreichbar ist, verweigern | Ein Rückfall auf Schätzen |
| Sicherheitslimit | Auf dem Gerät erzwungen; strenger gewinnt immer; keine Nachricht kann es erhöhen | Ein Feld in einem Rezept oder einer Anfrage |
| Agent mandate | Geltungsbereiche, Limits, erlaubte Anbieter, Ablaufdatum, confirm-before-Liste, unterzeichnet vom Auftraggeber | Ein Prompt |
| Derived constraint | Das einzige Haushaltsgerät, das ein Anbieter erhält („17:00 bis 18:00 Uhr liefern, Etikett für Erdnüsse“) | Ein Haushaltsfaktor |
| Konformitätsbericht | Ein unterzeichnetes Protokoll darüber, welche Vektoren mit welchem Werkzeug, wann und worauf ausgeführt wurden | Ein Abzeichen |
Häufige Probleme
- Alles wird mit needs_human_present abgelehnt: Schneiden, Sautieren und Braten dürfen nicht unbeaufsichtigt ausgeführt werden; pass
--human-present. - Abgelehnt mit missing_sensor_no_fallback beim Frittieren: das Frittieren hat eine Stufe, ein Ölthermometer; das ist der Standardbetrieb.
- Der Hash stimmt nicht überein: Hashes schließen nur
hashundsignatureaus; jede andere Änderung ist eine neue Revision. - Die Validierung besagt, dass eine Temperatur außerhalb des Bereichs liegt: das Rezeptziel muss innerhalb des Bandes der Operation liegen; ändern Sie die Operation oder das Ziel.
- Python kann cookwala nicht importieren: installieren Sie es aus einem Checkout oder setzen Sie
COOKWALA_ROOT.
Beitragen
Implementieren Sie die Core API auf einem Gerät oder einem Hub und veröffentlichen Sie einen Bericht; schreiben Sie einen ROS 2 Bridge-Node; fügen Sie Angriffsfälle zum Agent-Benchmark hinzu; fügen Sie Vektoren hinzu; schlagen Sie ein RFC vor. Wie · RFCs · GitHub
Dokumente befinden sich auch unter /llms.txt und als Markdown pro Seite, für KI-Leser.