hyf

Context-aware query service for Radroots
git clone https://radroots.dev/git/hyf.git
Log | Files | Refs | README | LICENSE

buyer_request_match.request.json (3539B)


      1 {
      2   "version": 1,
      3   "request_id": "buyer-match-req-1",
      4   "capability": "buyer_request.match",
      5   "context": {
      6     "consumer": "radroots-cli",
      7     "execution_mode_preference": "deterministic",
      8     "deadline_ms": 2500,
      9     "evaluation_time": "2026-09-24T09:05:00-07:00",
     10     "timezone": "America/Vancouver",
     11     "locale": "en-CA",
     12     "versions": {
     13       "schema": "hyf_ops_v2",
     14       "taxonomy": "hyf_ops_v2.taxonomy.v1",
     15       "normalization": "hyf_ops_v2.normalization.v1",
     16       "review_policy": "hyf_ops_v2.review_policy.v1",
     17       "ranking_policy": "hyf_ops_v2.ranking_policy.v1",
     18       "question_bundle": "hyf_ops_v2.question_bundle.v1",
     19       "model": "jev-1.13.0"
     20     },
     21     "return_provenance": true,
     22     "actor_id": "buyer-7"
     23   },
     24   "input": {
     25     "need": {
     26       "need_id": "need-1",
     27       "revision": "rev-4",
     28       "actor_id": "buyer-7",
     29       "demand_lines": [
     30         {
     31           "line_id": "line-1",
     32           "product": {"phrase": "Roma tomatoes", "catalogue_id": "tomato.roma", "resolution": "resolved"},
     33           "quantity": {"state": "known", "value": "25", "unit": "lb", "qualifier": "exact"},
     34           "conditions": [
     35             {
     36               "kind": "fulfillment",
     37               "strength": "mandatory",
     38               "value": "pickup",
     39               "evidence": [
     40                 {"kind": "span", "source_id": "src-buyer-1", "revision": "rev-3", "start": 55, "end": 61, "method": "span"}
     41               ]
     42             }
     43           ],
     44           "evidence": [
     45             {"kind": "span", "source_id": "src-buyer-1", "revision": "rev-3", "start": 12, "end": 39, "method": "span"}
     46           ],
     47           "review_required": false
     48         }
     49       ],
     50       "partial_fulfillment": "unstated"
     51     },
     52     "snapshots": [
     53       {
     54         "lot_id": "lot-1",
     55         "revision": "rev-9",
     56         "supplier_id": "farm-1",
     57         "product": {"phrase": "Roma tomatoes", "catalogue_id": "tomato.roma", "resolution": "resolved"},
     58         "unreserved_quantity": {"state": "known", "value": "120", "unit": "lb", "qualifier": "exact"},
     59         "attributes": [{"name": "grade-A", "verified": true}],
     60         "fulfillment": {"method": "pickup", "area": "Vancouver", "window": "2026-09-26/2026-09-27"},
     61         "price": {
     62           "state": "known",
     63           "amount": "250",
     64           "scale": 2,
     65           "currency": "CAD",
     66           "basis": "per_unit",
     67           "fees": [{"kind": "delivery", "amount": "500", "scale": 2, "currency": "CAD"}]
     68         }
     69       },
     70       {
     71         "lot_id": "lot-2",
     72         "revision": "rev-4",
     73         "supplier_id": "farm-2",
     74         "product": {"phrase": "Roma tomatoes", "catalogue_id": null, "resolution": "unresolved"},
     75         "unreserved_quantity": {"state": "unknown", "value": null, "unit": null, "qualifier": "exact"}
     76       }
     77     ],
     78     "coverage": {"scope": "supplied_only", "truncated": false, "evaluated": 2, "excluded": 0},
     79     "references": {
     80       "taxonomy": {
     81         "version": "hyf_ops_v2.taxonomy.v1",
     82         "provenance": "host_supplied",
     83         "products": [
     84           {"catalogue_id": "tomato.roma", "terms": ["Roma tomatoes", "roma tomato"]}
     85         ]
     86       },
     87       "normalization": {
     88         "version": "hyf_ops_v2.normalization.v1",
     89         "provenance": "host_supplied",
     90         "units": [
     91           {"unit": "lb", "dimension": "mass"},
     92           {"unit": "kg", "dimension": "mass"}
     93         ],
     94         "conversions": [
     95           {"from_unit": "lb", "to_unit": "kg", "numerator": "45359237", "denominator": "100000000"}
     96         ],
     97         "packs": []
     98       }
     99     }
    100   }
    101 }