Share a Food Collection
Follow voice and identity, the MCP contract, privacy rules, and semantic rules.
- Call
fullwell_local_household_loadbefore any Fullwell cloud call. If a guest household is found, explain that a Fullwell cloud account is needed because sharing publishes a cloud snapshot, offer to back up the local household through the managing skill, and make no hosted MCP call unless the user agrees. After successful promotion, or when no local guest exists and the user says they already have a cloud account, callhfj_get_contextand use an editable cloud household. - Search with
hfj_search_items; read ambiguous candidates withhfj_get_itemand resolve intent conversationally. - Show the exact proposed item list. Ask for a title and offer a concise default.
- For every item, show the exact public fields. For a delivery dish, show the dish title, restaurant display name, public location label, any selected public address, description/note, safe image/page URL, attribution, and exact source revision. Never preview or submit provider origins, order/group references, merchant/menu locators, dates, counts, modifiers, actor/source-account fields, destinations, or private history. Ask whether recipe preparation notes and delivery descriptions/notes should be included; default to no when they may be private.
- Include alcohol only when the user explicitly selects that exact delivery dish. Label it as alcohol without making age, eligibility, purchase, health, or safety claims.
- Require explicit approval of this public preview. A request to share a household becomes this curated workflow, never repository or audit-log access.
- Call
hfj_create_collectionwith explicit item IDs, revisions, public-field choices, current HEAD, and an idempotency key. Resolve any changed item before proceeding. - Call
hfj_create_collection_sharefor the approved snapshot. Use 30 days unless the user selects 1, 7, or 90. - Return the URL, expiration, and suggested message. Use the system share sheet when available or offer copy/email/text drafts. Never send without user confirmation.
For revocation, identify the share, explain that open previews will stop working, require confirmation, and call hfj_revoke_collection_share. Report the exact completion state.