{
  "$schema": "https://ecorce.app/schemas/manifest@v1.json",
  "id": "ecorce:fruits-legumes-hebdo@v1",
  "network": "ecorce",
  "actor": {
    "id": "act_ecorce",
    "handle": "ecorce",
    "name": "Écorce — Réseau du commerce indépendant",
    "kind": "organization",
    "role": "organization",
    "sector": "Listes de prix, commandes & crédits automatisés",
    "location": "Montréal, Canada",
    "verified_by": [
      "passkey",
      "ecorce_registry"
    ],
    "reputation_summary": {
      "verified_proofs_count": 3,
      "trusted_circles": [
        "ecorce-b2b",
        "quebec-vrac"
      ]
    }
  },
  "intent": {
    "protocol": "ecorce.weekly_produce_pool@v1",
    "title": "Listes de prix, commandes & crédits automatisés — Grossiste matinal (Marché Central, Montréal)",
    "summary": "La nuit, ton assistant lit les listes de prix PDF des grossistes, compare les tarifs, prépare ta commande du matin, jumelle les demi-caisses entre voisins et génère les demandes de crédit pour les produits manquants ou abîmés au débarcadère de 5h30.",
    "description": "La nuit, ton assistant lit les listes de prix PDF des grossistes, compare les tarifs, prépare ta commande du matin, jumelle les demi-caisses entre voisins et génère les demandes de crédit pour les produits manquants ou abîmés au débarcadère de 5h30.",
    "tags": [
      "fruits-legumes",
      "grossiste-matinal",
      "demi-caisses",
      "credits",
      "montreal",
      "ecorce"
    ],
    "sample_data_notice": "données d'exemple — inventées / invented example data — not any partner's real list or prices"
  },
  "trust_gate": {
    "visibility": "public",
    "allowed_actors": [
      "epicerie-quartier-a",
      "epicerie-quartier-b",
      "*"
    ],
    "call_policy": "draft_only_human_commit",
    "mode": "draft_only",
    "human_approval_on_commit": true,
    "scopes": [
      "fruits-legumes-hebdo:read",
      "fruits-legumes-hebdo:write"
    ],
    "required_scopes": [
      "fruits-legumes-hebdo:read",
      "fruits-legumes-hebdo:write"
    ],
    "required_proofs": []
  },
  "function": {
    "runtime": "ecorce_surface",
    "runtime_pool": "ecorce-partner-tools",
    "function_ref": "fn-ecorce--fruits-legumes-hebdo",
    "script_ref": "ecorce://ecorce-partner-tools/fn-ecorce--fruits-legumes-hebdo",
    "entrypoint": "handle",
    "limits": {
      "cpuMs": 50,
      "subRequests": 5
    },
    "input_schema": {
      "type": "object",
      "properties": {
        "action": {
          "type": "string",
          "enum": [
            "status",
            "commit",
            "pledge",
            "book"
          ],
          "description": "Optional action ('status' to read state without creating a record)"
        },
        "qty": {
          "type": "number",
          "minimum": 1,
          "description": "Quantity field (qty)"
        },
        "note": {
          "type": "string",
          "description": "Optional note or reference"
        }
      }
    },
    "output_schema": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string"
        },
        "record_to_commit": {
          "type": "object"
        },
        "state_patch": {
          "type": "object"
        }
      }
    }
  },
  "projection": {
    "surface_url": "https://ecorce.app/p/ecorce/fruits-legumes-hebdo",
    "page_url": "https://ecorce.app/p/ecorce/fruits-legumes-hebdo",
    "actor_url": "https://ecorce.app/p/ecorce",
    "sandbox_url": "https://ecorce.app/essayer?manifest=ecorce%3Afruits-legumes-hebdo%40v1",
    "mcp_tool_name": "ecorce_fruits_legumes_hebdo",
    "ui_layout": "card_form",
    "cta_label": "Simuler une commande matinale ou un crédit d'avarie",
    "cloneable": true,
    "headline": "Listes de prix, commandes & crédits automatisés au débarcadère de 5h30",
    "story": "La nuit, ton assistant lit les listes de prix PDF des grossistes, compare les tarifs, prépare ta commande du matin, jumelle tes demi-caisses (0,5 + 0,5 = 1 caisse entière) avec l'épicerie de quartier voisine et génère les demandes de crédit pour les produits manquants ou abîmés au débarcadère de 5h30.",
    "facts": [
      {
        "label": "Demi-caisses jumelées",
        "value": "0,5 + 0,5 = 1 caisse",
        "detail": "Épicerie de quartier A (0,5) et Épicerie de quartier B (0,5) partagent 1 caisse de 48 avocats Hass à 64,00 $ (32,00 $ chacun)."
      },
      {
        "label": "Ruptures à 05h30",
        "value": "0 appel matinal",
        "detail": "Substitution automatique selon ta règle pré-autorisée (équivalent calibre ou même origine, max +10 %)."
      },
      {
        "label": "Crédits d'avarie",
        "value": "Prorata immédiat",
        "detail": "Ex.: 2 casseaux abîmés sur 8 (CODE-FL-006) = 25 % de crédit calculé et préparé instantanément (11,00 $)."
      },
      {
        "label": "Lecture nocturne des listes",
        "value": "PDF + Catalogue",
        "detail": "Ton assistant lit la liste matinale du grossiste (Marché Central, Montréal) et prépare le bon avant ton premier café."
      }
    ],
    "custom_html_card": "<style>.d,h1,h2,h3,.logo{letter-spacing:-0.018em!important;font-stretch:92%!important;line-height:1.04!important}</style><h3>Synthèse du matin — Grossiste matinal (Marché Central, Montréal) (données d'exemple)</h3><table class=\"tb\" style=\"margin-top:12px\"><thead><tr><th>Code produit</th><th>Produit &amp; Format</th><th>Prix caisse</th><th>Demi-caisses jumelées</th><th>Statut à 05h30</th></tr></thead><tbody><tr><td><code>CODE-FL-003</code></td><td><b>Avocats Hass calibre 48</b><br><small>Caisse de 48 unités</small></td><td>64,00 $</td><td><b>0,5</b> Épicerie de quartier A + <b>0,5</b> Épicerie de quartier B (32,00 $ chacun)</td><td>Jumelé (0 orpheline)</td></tr><tr><td><code>CODE-FL-007</code></td><td><b>Citrons choix</b><br><small>Caisse de 115 unités</small></td><td>52,00 $</td><td><b>0,5</b> Épicerie de quartier A + <b>0,5</b> Épicerie de quartier B (26,00 $ chacun)</td><td>Jumelé (0 orpheline)</td></tr><tr><td><code>CODE-FL-001</code></td><td><b>Bananes biologiques équitables</b><br><small>Caisse de 40 lb</small></td><td>46,00 $</td><td>3 caisses entières consolidées</td><td>Confirmé au quai</td></tr><tr><td><code>CODE-FL-006</code></td><td><b>Fraises fraîches</b><br><small>Caisse de 8 × 1 lb</small></td><td>44,00 $</td><td>2 caisses entières (2 casseaux abîmés crédités: -11,00 $)</td><td>Crédit prorata préparé</td></tr></tbody></table>"
  },
  "function_ref": "fn-ecorce--fruits-legumes-hebdo",
  "input_schema": {
    "type": "object",
    "properties": {
      "action": {
        "type": "string",
        "enum": [
          "status",
          "commit",
          "pledge",
          "book"
        ],
        "description": "Optional action ('status' to read state without creating a record)"
      },
      "qty": {
        "type": "number",
        "minimum": 1,
        "description": "Quantity field (qty)"
      },
      "note": {
        "type": "string",
        "description": "Optional note or reference"
      }
    }
  },
  "output_schema": {
    "type": "object",
    "properties": {
      "status": {
        "type": "string"
      },
      "record_to_commit": {
        "type": "object"
      },
      "state_patch": {
        "type": "object"
      }
    }
  }
}