Cookwala / SDK and scenarios

Draft profile

SDK and scenarios

One client, the same 25 operations, in 13 languages, against any Cookwala hub. 101 scenarios show what to do, step by step, with the command line, the code in every language and the recorded output; every one is executed against the reference hub before it is published.

Languages

Every client is a thin HTTP client: the reference library runs on the hub, so a client in any language gets exactly the behaviour the conformance vectors test. Packages are not yet published to registries; install from the repository.

  1. 001 · A dry run refuses koshari on a robot with no oil thermometer
    developer · Robots for people · beginner
  2. 002 · Parse a food bank's SMS day: offer, claim, handover with a partial rejection
    food bank · Help end hunger · beginner
  3. 003 · A grocer receives constraints, never the household's facts
    developer · Robots for people, Make people healthier · intermediate
  4. 004 · Hash a recipe and see that the same document always gives the same hash
    developer · Robots for people · beginner
  5. 005 · Read what a device says about itself: capabilities, safety limits, conformance, recalls
    appliance maker · Robots for people · beginner
  6. 006 · List the demo devices, the operation vocabulary and the recipes a hub can plan
    developer · Robots for people · beginner
  7. 007 · Convert kitchen units, and see that volume to mass needs a density
    home cook · Make people healthier · beginner
  8. 008 · Validate documents against the schemas and read the errors for a broken one
    recipe publisher · Make people healthier · beginner
  9. 009 · Ask the sensor ladder which rung a device can satisfy for simmering, sauteing and deep frying
    robot maker · Robots for people · beginner
  10. 010 · Allow or forbid model estimates and watch the rungs change
    researcher · Robots for people · beginner
  11. 011 · The same recipe with and without a person in the kitchen
    home cook · Robots for people · beginner
  12. 012 · Six example recipes dry-run on the kitchen robot with thermometers
    kitchen operator · Help end hunger, Robots for people · beginner
  13. 013 · Kofta on the oven, salad on the arm, koshari on the fryer robot
    appliance maker · Help end hunger, Robots for people · beginner
  14. 014 · A V0 imported recipe is refused on a robot and assigned to a person when one is present
    recipe publisher · Help end hunger · beginner
  15. 015 · The five presets of the home-page demo, from the SDK
    developer · Robots for people · beginner
  16. 016 · Read a recipe as a document: yield, allergens, steps, end conditions and a critical control point
    teacher · Make people healthier · beginner
  17. 017 · Read the reference registry: five pointers, nothing third-party
    registry operator · Robots for people · beginner
  18. 018 · An execution request with the wrong recipe hash is refused; the right hash still needs a person
    agent builder · Robots for people · intermediate
  19. 019 · Convert quantities read from a recipe document
    home cook · Make people healthier · beginner
  20. 020 · Check a simmer trace against its envelope: inside, left it, missed the target
    developer · Robots for people · beginner
  21. 021 · Water boils lower at altitude: the same trace at sea level and at 1,500 m
    researcher · Robots for people, Make people healthier · beginner
  22. 022 · A deep-fry trace inside the band, one that runs hot, and the limit that cuts heat at 200 degC
    robot maker · Robots for people · beginner
  23. 023 · An oven trace against the bake envelope and a recipe target
    appliance maker · Robots for people · beginner
  24. 024 · A saute trace, and why sauteing is never left alone
    home cook · Robots for people · beginner
  25. 025 · A recipe target outside its operation's envelope is invalid whatever the readings
    recipe publisher · Make people healthier, Robots for people · beginner
  26. 026 · The boiling ladder rung by rung: thermometer, boil detector, estimate, time
    robot maker · Robots for people · beginner
  27. 027 · Operations that never fall back to time: toasting, reducing, cutting
    researcher · Robots for people · beginner
  28. 028 · The refusals an agent sees when nobody is home
    agent builder · Robots for people · beginner
  29. 029 · missing_capability: what an appliance cannot do, and what accepted means when a person does the rest
    appliance maker · Robots for people · beginner
  30. 030 · missing_sensor_no_fallback: the one refusal a person present cannot lift
    robot maker · Robots for people · beginner
  31. 031 · Compare two devices on the same recipe: same plan length, different rungs
    developer · Robots for people · beginner
  32. 032 · The smart oven and its core probe: the kofta recipe, the ladder, the limit
    appliance maker · Make people healthier, Robots for people · beginner
  33. 033 · A counter arm makes salad: washing alone, cutting with a person nearby
    home cook · Make people healthier, Robots for people · beginner
  34. 034 · The fryer robot plans koshari with every heat step verified by a sensor
    robot maker · Help end hunger, Robots for people · beginner
  35. 035 · Ask the device what it can do, then dry-run against its own answer
    agent builder · Robots for people · intermediate
  36. 036 · Knife work: what the vocabulary says, what the ladder says, what the dry run says
    teacher · Robots for people, Make people healthier · beginner
  37. 037 · Hot holding: the trace, the band, the two-hour limit
    food safety officer · Make people healthier · beginner
  38. 038 · Cold chain in the kitchen: chilling and marinating traces
    dietitian · Make people healthier · beginner
  39. 039 · Operations without a thermal envelope: mixing, cutting, peeling
    developer · Robots for people · beginner
  40. 040 · Start an execution and read its status as it advances
    developer · Robots for people · beginner
  41. 041 · Stop a run and read the log it leaves behind
    kitchen operator · Robots for people · beginner
  42. 042 · Resume a waiting run with If-Match set to the current seq
    kitchen operator · Robots for people · beginner
  43. 043 · A resume with a stale seq is answered with 412 Precondition Failed
    developer · Robots for people · beginner
  44. 044 · Retrying a start with the same Idempotency-Key never starts a second pot
    agent builder · Robots for people · beginner
  45. 045 · A run is refused before anything heats when no person is present
    robot maker · Robots for people · beginner
  46. 046 · A request for a recipe the hub does not hold is refused
    developer · Robots for people · beginner
  47. 047 · A request whose recipeHash differs from the hub's copy is refused
    recipe publisher · Robots for people · beginner
  48. 048 · An agent whose mandate lacks the start_cooking scope is refused
    agent builder · Robots for people · beginner
  49. 049 · A malformed request gets a Problem, a well-formed one gets a status
    developer · Robots for people · beginner
  50. 050 · The same execution id with a new Idempotency-Key is a 409 conflict
    developer · Robots for people · beginner
  51. 051 · Report an anonymous incident to a catalog
    food safety officer · Make people healthier, Robots for people · beginner
  52. 052 · Read the recall list and try to verify the example recall
    regulator · Make people healthier · beginner
  53. 053 · Read what the reference hub claims to conform to
    certifier · Robots for people · beginner
  54. 054 · Verify signed documents against key records: ok, tampered, revoked, unknown, unsigned
    insurer · Robots for people · beginner
  55. 055 · Hash a recipe and compare it with the hash field the file carries
    recipe publisher · Make people healthier · beginner
  56. 056 · Read the safety limits a device enforces locally
    regulator · Robots for people, Make people healthier · beginner
  57. 057 · Stop works at every moment and a stopped run stays stopped
    robot maker · Robots for people · beginner
  58. 058 · An execution log records steps and verification, never people
    researcher · Make people healthier, Robots for people · beginner
  59. 059 · What an insurer can read after a run: the log, its limits pack, and incident reports
    insurer · Robots for people · beginner
  60. 060 · A farm offers produce by SMS with the harvest date
    farmer · Help end hunger · beginner
  61. 061 · Claim an offer in full or by the kilogram
    food bank · Help end hunger · beginner
  62. 062 · Record a handover: all accepted, partly accepted, or all rejected
    food bank · Help end hunger · beginner
  63. 063 · Rejection reason codes, part one: TEMP, DATE, PACK, ALLERG, QTY
    food safety officer · Make people healthier, Help end hunger · beginner
  64. 064 · Rejection reason codes, part two: PEST, SPACE, TRANSPORT, LATE, OTHER
    kitchen operator · Help end hunger · beginner
  65. 065 · Record a distribution and its per-meal menu by SMS
    school program · Help end hunger, Make people healthier · beginner
  66. 066 · HELP, CANCEL and the errors a gateway must answer
    developer · Help end hunger · beginner
  67. 067 · The checks a gateway applies to an OFFER before listing it
    food safety officer · Make people healthier, Help end hunger · beginner
  68. 068 · Check the Cairo food bank's recorded offer against the rule packs
    food bank · Help end hunger · beginner
  69. 069 · A school offer that includes whole nuts: the audience decides
    school program · Make people healthier, Help end hunger · beginner
  70. 070 · A relief offer with hot rice at 52 °C is blocked by two packs
    kitchen operator · Help end hunger, Make people healthier · beginner
  71. 071 · A farm offer reaches a robot kitchen: from SMS to a dry run
    robot maker · Robots for people, Help end hunger · beginner
  72. 072 · The per-meal nutrients a MENU message carries and the packs read
    dietitian · Make people healthier · beginner
  73. 073 · Validate documents against the Humanitarian Profile schema
    developer · Help end hunger · beginner
  74. 074 · Care rules: which food classes are blocked for everyone, which depend on the group
    food safety officer · Make people healthier · beginner
  75. 075 · The impact summary: every measure says how it was obtained
    regulator · Help end hunger · beginner
  76. 076 · Temperature readings decide: one offer passes, one is blocked
    insurer · Make people healthier, Help end hunger · beginner
  77. 077 · Rule packs are documents: validate them, hash them, apply one
    certifier · Make people healthier, Help end hunger · beginner
  78. 078 · Arabic-Indic and Persian digits work in every command
    food bank · Help end hunger · beginner
  79. 079 · A food bank's day as the Cairo flow records it: offer, claim, handover, distribution
    regulator · Help end hunger, Make people healthier · beginner
  80. 080 · A delivery runner receives the window and the door, nothing else
    developer · Robots for people, Make people healthier · beginner
  81. 081 · A meal-planning agent receives eleven constraints and zero facts
    agent builder · Robots for people, Make people healthier · intermediate
  82. 082 · A device maker sees firmware only while a consent grant stands
    appliance maker · Robots for people · intermediate
  83. 083 · An insurer receives a device fault summary and nothing about the home
    insurer · Robots for people · intermediate
  84. 084 · A food program and a dataset receive nothing from a home
    school program · Help end hunger, Make people healthier · beginner
  85. 085 · A second robot learns where not to move, never when people are home
    robot maker · Robots for people · intermediate
  86. 086 · Three travel rules: never, derived, consented, and a consent that cannot override never
    regulator · Make people healthier, Robots for people · intermediate
  87. 087 · Validate a household context and the roles file, and hash the context
    developer · Robots for people, Make people healthier · beginner
  88. 088 · Your home as a grocer, a neighbour's robot and an insurer would see it
    home cook · Make people healthier, Robots for people · beginner
  89. 089 · One allergy becomes two constraints for a grocer and one for a planner
    dietitian · Make people healthier · beginner
  90. 090 · Read the reference registry: six entries, all verified by DNS TXT
    registry operator · Robots for people, Help end hunger · beginner
  91. 091 · A directory entry points at a conformance report by hash
    registry operator · Robots for people · intermediate
  92. 092 · The hub's self-declared claim and the reference report with 137 vectors
    certifier · Robots for people · intermediate
  93. 093 · Fifty-seven operations, thirty-two with envelopes, one legacy placeholder
    developer · Robots for people · beginner
  94. 094 · Validate a demand signal and a supply signal
    farmer · Help end hunger · beginner
  95. 095 · Validate a relief kitchen and its production run
    kitchen operator · Help end hunger, Make people healthier · beginner
  96. 096 · Recipe text is data: the plan is built from the process graph, not the words
    agent builder · Robots for people · intermediate
  97. 097 · An agent request without start_cooking in its mandate is refused
    agent builder · Robots for people · advanced
  98. 098 · Read a recipe's steps in English and Arabic, exporting nothing
    researcher · Make people healthier, Help end hunger · beginner
  99. 099 · Validate a recipe, see an invalid one fail, and publish its hash
    recipe publisher · Make people healthier · beginner
  100. 100 · A recall through a mirror: verify against the issuer, never the relay
    food safety officer · Make people healthier, Robots for people · intermediate
  101. 101 · A halal authority certifies a meal, re-certifies it later, and a second authority certifies it too
    certifier · Make people healthier · intermediate