mise en place, kept honest

Alexa+ is the model.
This server never guesses.
A pantry and cooking companion for Alexa+. It plans the week, walks a recipe, and tracks what is running low — and it keeps what you reported, what a device sensed, and what it only worked out, visibly distinct in every answer.
Built by a cook. Creative reuse — what's about to turn, what two things in the fridge have never met but should — is most of what cooking actually is, and even a chef runs out of ideas some nights. Mise is that instinct, held to a rule a human running a kitchen can't always keep: never once make something up to sound helpful. (For how that rule is enforced in code — tested, versioned, with the gaps named rather than hidden — read on, or jump straight to the README.)
Ask the pantry what it holds. Nothing is rounded up into a tidy, uniform list — a stated date, a worked-out estimate, and a genuine gap all stay labelled as what they are.
null is a real answer here. A pantry that
fills it in with a plausible number is a pantry that lies — in exactly the way nobody could
catch.
The weekly planner is a pure function over what's in the pantry. Run it twice on the same input and it doesn't just agree — it hands back the same hash.
SHA-256 over an illustrative plan payload, computed twice for this page — not a captured plan_week run. Same discipline either way: a model that plans your week gives a different one each time and can't tell you why either happened. This can hand you a hash.
Reported by voice or written in through the add-on, with an amount somebody actually counted.
Derived from the shelf-life table and how long ago an item was last confirmed — labelled as an estimate everywhere it travels.
Not recently confirmed, or never given an amount. pantry_audit asks about these — it never assumes them.
The demo pantry's kitchen-confidence figure: 33% confirmed with an amount someone counted. That number is deliberately strict — a flattering one would be no use to anybody deciding what to trust.
Most home recipes don't state every amount. Instead of filling the gap with a plausible number, the nutrition answer names exactly which ingredients it could account for and stops there.
That last number is the honest one: most of the curated cooking advice hasn't been read end-to-end by a second person yet. The review queue ranks what to check first by what it would cost if a row were wrong — the garlic-under-oil row is first, by a distance, because that one is a safety question and not a dinner one.
The pantry ledger, the planner, six cooking tools, substitutions, zero-waste
pairing, the UCP checkout, and the four MCP Apps views all run today and are held up by the
test suite above. The MCP round trip — tool listing, guest tools, account-gated rejection, and
all four ui:// views — is verified against a
real MCP client over Streamable HTTP, including the MCP Apps host handshake itself: a small
simulated Alexa+ experience plays Alexa+'s own role (narrate, never decide) against the real
server, and renders each view's live data through the genuine host bridge, not a guess at the
protocol. What's still unverified is Alexa+'s own hosted Web Simulator specifically — region-
blocked from here — which is exactly the gap the simulator exists to cross for this submission.