Esta página fue traducida por una máquina y aún no ha sido revisada por una persona. El inglés es la referencia; las correcciones son bienvenidas en GitHub. GitHub
Cookwala / Desarrolladores
Core 0.2 · normativo, bajo revisión
De un dry run a un informe de conformance
Un primer camino recomendado, luego los SDKs, la API, los bindings y las evals. Todo lo que aparece a continuación funciona hoy; lo que aún no existe así lo indica.
Quickstart: cinco minutos, sin 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 y herramientas
Un cliente hub con las mismas 25 operaciones en 13 idiomas (Python, TypeScript, JavaScript, Go, Rust, Java, Kotlin, C#, Swift, C++, Ruby, PHP, curl), y 101 escenarios con código en cada uno: SDK y escenarios.
Paquete Python y CLI
pip install -e sdk/python. hash, verify, dryrun, envelope, convert, sms, constraints, validate, conformance, humanitarian, export, init, hub, mcp. Solo biblioteca estándar.
Tipos TypeScript
Tipos para todos los 24 esquemas, generados y verificados por tipo; el dry run del navegador como un módulo. Un namespace por esquema.
now · source package; npm next →Servidor MCP
Catorce herramientas de solo lectura para cualquier cliente MCP, que se inician con npx -y @cookwala/mcp: search, get, dry_run, explain_step, check_envelope, check_mandate, parse_sms y más. Sin servidor que alojar. Nunca cocina.
Hub de referencia
La Core API con un dispositivo simulado: dry run antes de calor, máquina de estados basada en un reloj, envelopes respetados, stop siempre funciona. Dockerfile incluido.
now →Interfaces ROS 2
cookwala_msgs: Acciones ExecuteRecipe y ExecuteNode; cancel es una parada segura; ningún campo goal puede elevar un límite.
Exportadores de LeRobot y OpenTelemetry
Los execution logs se convierten en tareas LeRobotDataset v3 y trazas OTLP, solo con el consentimiento del household.
now →Nuevo: código de ejemplo para cada rol
Clientes, un agente planificador bajo mandato, un orquestador, compuertas de seguridad, recuperación e informes, en Python, JavaScript, Java y C#. Ejecute la demo sin instalar nada y lleve el mismo código a pip, npm, Maven, Gradle, NuGet, Homebrew, Chocolatey, Scoop, apt, RPM, pacman, conda, snap, un contenedor, Helm, Artifactory o una función en Azure, AWS, Google Cloud u OpenShift.
Construido y probado por la CI; los registros llegan con la primera versión etiquetada.
La Core API
Una API que cada executor implementa: POST /v1/executions, status, stop, resume, log, safety limits, capabilities; los catalogs añaden recalls e incidents. Idempotency keys en cada POST, If-Match en cambios, refusal como una respuesta normal, stop nunca rechazado por autorización.
core.openapi.yaml · registry.openapi.yaml · humanitarian.openapi.yaml · household.openapi.yaml (local) · todos los schemas en un solo bundle
Versioning
Semver según la especificación; las versiones minor son aditivas; las major se anuncian con 12 meses de antelación; el índice sirve a cada major durante 3 años. El Core es 0.2.x; los perfiles se versionan de forma independiente y declaran la versión del Core que necesitan. Governance
Conformance
137 vectores públicos: hashing (incluyendo el ejemplo RFC 8785), firmas (incluyendo una clave RFC 8032), revocación, divulgación selectiva, cadenas de eventos y puntos de control testimoniados, unidades, envelopes y sensor ladders, máquinas de estado, política de divulgación, reglas del registry, gramática SMS, política de señal, verificación de relay.
Un claim es un ConformanceReport firmado: autodeclarado → verificado por un operador del registry → certificado por un certificador independiente (ninguno contratado aún). Informes, nunca insignias. The path · vectors
Evals para agentes
Diez casos de promptfoo comprueban que un agente sigue las reglas del Core: texto no confiable, mandates y caps, bloques de alérgenos, límites de seguridad, unattended operations, recalls, over-refusal. Añada proveedores para comparar modelos; publique con el model id, la fecha y el config hash. Benchmark
Junto a qué se sitúa, y qué no es
Ninguno de estos es un contrato verificado por máquina entre una receta y un aparato. Cookwala es solo eso, y usa los demás donde encajan.
| Schema.org Recipe | Describe una receta para buscadores: ingredientes, tiempos, nutrición. Sin operaciones, sin condiciones de fin, nada que un aparato verifique. Una receta Cookwala puede publicarse con campos Schema.org para ser encontrada. |
|---|---|
| LeRobot (Hugging Face) | Un formato de datos de lo que hizo un robot: observaciones y acciones. No dice qué es una receta ni cuándo un paso es inseguro. Cookwala exporta a él registros de ejecución consentidos. |
| HACCP | Un sistema de gestión para personas: peligros, puntos críticos, registros. Cookwala codifica los puntos de control para que una máquina los compruebe; no sustituye el plan HACCP de una cocina. |
| Matter (CSA) | Control de aparatos: poner un horno a una temperatura, leer una sonda. Cookwala dice qué pedirle al horno y cuándo rechazar; la tabla de correspondencia está en bindings/matter.json. |
| ROS 2 | Middleware de robots: cómo se mueve un robot y habla consigo mismo. Cookwala está por encima del movimiento y ofrece interfaces ROS 2 para la capa de tarea. |
Conceptos, en una tabla
| Término | Qué es | Qué no es |
|---|---|---|
| Operation envelope | El significado físico de una operación: medio, banda de temperatura, atención, sin supervisión permitido, sensor ladder, peligros | Un ajuste de receta; las recetas lo estrechan, nunca lo amplían |
| Sensor ladder | Formas de verificar un paso, en mejor orden: un sensor, una estimación registrada, tiempo, una persona. Si no se puede alcanzar ningún peldaño, rechazar | Un recurso de respaldo para adivinar |
| Límite de seguridad | Aplicado en el dispositivo; lo más estricto siempre gana; ningún mensaje puede aumentarlo | Un campo en una receta o una solicitud |
| Mandato del agente | Alcances, límites, proveedores permitidos, vencimiento, lista de confirmación previa, firmado por el principal | Un prompt |
| Restricción derivada | El único objeto del hogar que recibe un proveedor ("entregar de 17:00 a 18:00, etiquetar para cacahuetes") | Un hecho del household context |
| Informe de conformance | Un registro firmado de qué vectores se ejecutaron, con qué herramienta, cuándo, sobre qué | Una insignia |
Problemas comunes
- Todo es rechazado con needs_human_present: cutting, sautéing y frying pueden no ejecutarse sin supervisión; pasar
--human-present. - Refused with missing_sensor_no_fallback on deep frying: la fritura profunda tiene un peldaño, un termómetro de aceite; ese es el funcionamiento estándar.
- The hash doesn't match: los hashes excluyen solo
hashysignature; cualquier otro cambio es una nueva revisión. - Validation says a temperature is outside the envelope: el objetivo de la receta debe estar dentro de la banda de la operación; cambie la operación o el objetivo.
- Python can't import cookwala: instale desde un checkout o establezca
COOKWALA_ROOT.
Contribuir
Implemente la Core API en un dispositivo o un hub y publique un informe; escriba un nodo de puente ROS 2; añada casos de ataque al benchmark del agente; añada vectores; proponga un RFC. Cómo · RFCs · GitHub
Los documentos también se encuentran en /llms.txt y como Markdown por página, para lectores de IA.