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

  1. 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 signatures
  2. Hash a recipe. An executor cooks exactly this revision and refuses on mismatch.

    cookwala hash examples/koshari.cookwala.json
    sha256:f7fc3745af514…
  3. 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"}, …]}
  4. 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'}
  5. Run the conformance vectors and write a report. The report is the artifact behind any claim.

    cookwala conformance --report report.json
    conformance: 137/137 passed (7 core suites, 5 profile suites) report -> report.json
  6. Run the reference hub and cook against the Core API.

    cookwala hub --port 7878
    curl -s localhost:7878/v1/safety-limits | head

    Then POST /v1/executions as in the hub README: refused without a person present, accepted with one, stop always 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.

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 RecipeDescribe 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.
HACCPUn 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 2Middleware 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érminoQué esQué no es
Operation envelopeEl significado físico de una operación: medio, banda de temperatura, atención, sin supervisión permitido, sensor ladder, peligrosUn ajuste de receta; las recetas lo estrechan, nunca lo amplían
Sensor ladderFormas 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, rechazarUn recurso de respaldo para adivinar
Límite de seguridadAplicado en el dispositivo; lo más estricto siempre gana; ningún mensaje puede aumentarloUn campo en una receta o una solicitud
Mandato del agenteAlcances, límites, proveedores permitidos, vencimiento, lista de confirmación previa, firmado por el principalUn prompt
Restricción derivadaEl ú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 conformanceUn 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 hash y signature; 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.