Connection check
verified live · 27h ago
guardian-engine
Deterministic recipe verification engine — validates AI-generated recipes against master SOPs.
Tools
7
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
27h ago
Tools & capabilities
7 toolsRead from the running server on 27h ago.
check_allergens
read-only
dish_namesession_idingredients*operator_idrestrictionsresponse_format
+1
Check ingredients for EU FIC 1169/2011 allergen compliance. Returns a detailed audit trace mapping each ingredient to its EU Annex II allergen group with entry numbers and labels.… Check ingredients for EU FIC 1169/2011 allergen compliance. Returns a detailed audit trace mapping each ingredient to its EU Annex II allergen group with entry numbers and labels. The safety verdict is deterministic — no LLM involvement in the decision — and is pinned by the returned ``kb_version_hash``. Use check_all_eu_allergens=True for food labelling (detect all allergens). Use restrictions=['dairy', 'gluten'] to check for specific user allergies. Supplying neither runs the full 14-group Annex II scan and sets ``defaulted_to_full_scan`` — the tool never reports "safe" without checking. ``is_safe`` answers "was a supplied restriction violated?"; ``declared_allergens`` answers "what is actually present?". Read both.
check_safety
read-only
candidate_json*
Run master-independent safety checks on a candidate recipe. Works for ANY recipe — no dish resolution, no master SOP required. Checks poultry internal-temperature safety and scans… Run master-independent safety checks on a candidate recipe. Works for ANY recipe — no dish resolution, no master SOP required. Checks poultry internal-temperature safety and scans all ingredients for the 14 EU FIC 1169/2011 Annex II allergen groups. The verdict is a deterministic function of (candidate, kb_version_hash) — no LLM involvement. Use this when verify_recipe has no matching master for the dish: the safety layer still applies to every recipe. Returns: Safety envelope: verdict (PASSED/FAILED per the zero-critical policy gate), safe flag, issues found, and the pinned kb_version_hash.
fix_recipe
dishdish_namemaster_jsoncandidate_jsonoriginal_promptresponse_format
Deterministically repair a candidate recipe against a Guardian master. Verifies the candidate, applies every machine-actionable correction the symbolic engine produced (missing in… Deterministically repair a candidate recipe against a Guardian master. Verifies the candidate, applies every machine-actionable correction the symbolic engine produced (missing ingredients, quantities, temperatures, durations, cooking media, ingredient substitutions), then re-verifies the result. No LLM is used — the repair is a deterministic function of the candidate recipe and the master ruleset. Findings that need recipe-authoring judgement — adding a whole cooking phase, rewriting step instructions, ingredient-ratio rebalancing — are not auto-applied; they are returned under `patches_skipped`. Allergen findings are never auto-fixed. The response reports the verdict before and after so the caller can see exactly what was resolved. Note: `verdict_after` may still be FAILED when structural changes (e.g. adding a cooking step, rebalancing ingredient ratios) are needed. These require recipe-authoring judgement and are returned under `patches_skipped`. Callers should NOT assume a fixed recipe will pass verification.
get_master
read-only
dish_nameresponse_format
Return the canonical master recipe for a dish (read-only, no LLM). Enables compare-then-verify agentic loops: fetch the master, diff it against the user's recipe, then call verify… Return the canonical master recipe for a dish (read-only, no LLM). Enables compare-then-verify agentic loops: fetch the master, diff it against the user's recipe, then call verify_recipe — instead of verifying blind. Pure knowledge-base lookup, no LLM in the hot path. Master content is transparent by default (ADR-009 / ADR-010): exact temperatures, timings, and EU FIC 1169/2011 allergen codes are returned verbatim, never obfuscated. No score is included (ADR-013) — this is reference data, not a verdict. Returns ingredients, steps (technique/temperature/timing/medium), and the EU FIC allergens derived from the required ingredients. Unknown dishes return a structured UNKNOWN_DISH error.
list_dishes
read-only
cuisine_filter
List all available master dishes with rich metadata. This is a browse/discovery step, not the verification itself — after picking a dish, call verify_recipe(dish_name=<slug>, cand… List all available master dishes with rich metadata. This is a browse/discovery step, not the verification itself — after picking a dish, call verify_recipe(dish_name=<slug>, candidate_json=<your recipe>) to actually check a candidate against it (or fix_recipe to auto-repair it). Returns: Dictionary with `schema_version`, a `dishes` list (slug, title, cuisine, region, aliases, complexity per dish), and a `next_step` hint describing how to proceed to verification.
verify_dietary_claim
read-only
claimcandidate_jsonresponse_format
Verify that a recipe satisfies a dietary claim (vegan, halal, gluten-free, ...). Reuses the existing allergen-detection logic plus a curated forbidden-ingredient map (apps/guardia… Verify that a recipe satisfies a dietary claim (vegan, halal, gluten-free, ...). Reuses the existing allergen-detection logic plus a curated forbidden-ingredient map (apps/guardian/knowledge/dietary_claims.yaml). Returns a structured verdict with the specific offending ingredients and a short justification — never a vague paraphrase.
verify_recipe
read-only
dishdish_namesession_idmaster_jsonoperator_idcandidate_json
+2