{
  "llms_version": "1.5.0",
  "last_updated": "2026-03-06",
  "site": {
    "name": "Recipe Alchemy",
    "canonical_url": "https://recipealchemy.ai",
    "contact": {
      "email": "support@recipealchemy.ai"
    }
  },

  "product": {
    "category": ["recipe_generation", "nutrition_analysis", "ai_governance"],
    "primary_differentiator": "claim_authorization_architecture_with_usda_validation",
    "summary": "Reference implementation of 'Simulators propose. Reality vetoes.' architecture. AI generates recipes through governed envelopes; 7-phase deterministic pipeline computes nutrition using USDA FoodData Central with completeness gates and provenance enforcement.",
    "architecture_pattern": "Claim Authorization Architecture (CAA)"
  },

  "ai_models": {
    "router": "openrouter",
    "total_models": 7,
    "providers": ["openai", "anthropic", "google", "perplexity"],
    "categories": {
      "research": {
        "description": "Real-time web search and deep research models (Perplexity)",
        "models": [
          {
            "id": "perplexity/sonar-deep-research",
            "use_case": "Deep ingredient identity research (CFPO v2)"
          },
          {
            "id": "perplexity/sonar-pro-search",
            "use_case": "Ingredient research, deep knowledge/nutrition research, web search"
          }
        ]
      },
      "image_generation": {
        "description": "Visual content creation models",
        "models": [
          {
            "id": "google/gemini-3-pro-image-preview",
            "use_case": "Recipe hero images, meal presentation visuals, plating suggestions"
          }
        ]
      },
      "text_anthropic": {
        "description": "Anthropic Claude models for structured reasoning",
        "models": [
          {
            "id": "anthropic/claude-opus-4.5",
            "use_case": "Recipe generation (primary). Highest-fidelity structured recipe output."
          },
          {
            "id": "anthropic/claude-sonnet-4.5",
            "use_case": "Leftover suggestions, content generation fallback."
          }
        ]
      },
      "text_openai": {
        "description": "OpenAI GPT models for diverse tasks",
        "models": [
          {
            "id": "openai/gpt-5-mini",
            "use_case": "Nutrition analysis, content generation, insights, knowledge, shopping lists, fast tasks"
          }
        ]
      },
      "text_google": {
        "description": "Google Gemini models for fast multimodal",
        "models": [
          {
            "id": "google/gemini-2.5-flash",
            "use_case": "Recipe previews, enrichment preview teasers"
          }
        ]
      }
    },
    "primary_models_by_service": {
      "recipe_generation": "anthropic/claude-opus-4.5",
      "nutrition_analysis": "openai/gpt-5-mini",
      "deep_research": "perplexity/sonar-deep-research",
      "image_generation": "google/gemini-3-pro-image-preview",
      "fast_tasks": "openai/gpt-5-mini"
    }
  },

  "authority_claims": {
    "nutrition_numbers_generated_by_llm": false,
    "nutrition_source_is_usda_fdc_only": true,
    "missing_data_policy_is_unknown_not_guess": true,
    "per_value_provenance_required": true,
    "manual_verification_for_public_recipes": true
  },

  "authority_model": {
    "principle": "simulators_propose_reality_vetoes",
    "pattern_name": "Claim Authorization Architecture",
    "trust_domains": {
      "llm_allowed": [
        "recipe_text",
        "instructions",
        "cooking_tips",
        "pairings",
        "explanations"
      ],
      "llm_forbidden": [
        "nutrition_values",
        "nutrient_panels",
        "micronutrient_amounts",
        "calorie_counts",
        "protein_fat_carb_grams",
        "nutriscore",
        "nova_classification"
      ]
    },
    "enforcement": {
      "type": "architectural",
      "description": "Nutrition values are emitted only by deterministic services, not by the LLM.",
      "hard_rules": [
        "NO_LLM_NUTRITION_NUMBERS",
        "NO_PROVENANCE_NO_OUTPUT",
        "MISSING_REQUIRED_IDENTITY_BLOCKS_CALCULATION"
      ]
    }
  },

  "nutrition": {
    "oracle": {
      "name": "USDA FoodData Central",
      "oracle_type": "external_dataset",
      "datasets": ["Foundation", "SR_Legacy", "FNDDS", "Branded"]
    },

    "provenance": {
      "required": true,
      "required_fields_per_value": ["fdc_id"],
      "policy_on_missing": "return_unknown",
      "reject_if_missing": true
    },

    "identity_requirements": {
      "canonical_identity_layer": true,
      "required_attributes": ["prep_state", "form", "fat_tier_if_applicable"],
      "completeness_gate": {
        "enabled": true,
        "policy_on_missing": "ask_or_block"
      }
    },

    "cooking_method_adjustments": {
      "enabled": true,
      "approach": "retention_factors",
      "examples": [
        "boiling_reduces_vitamin_c",
        "steaming_retains_minerals_better_than_boiling"
      ]
    },

    "metrics": {
      "nutrients_tracked_minimum": 60,
      "derived_metrics": ["nutri_score", "nova_classification"]
    }
  },

  "human_verification": {
    "public_recipes_manually_verified": true,
    "scope": "all_public_recipes"
  },

  "features": {
    "recipe_generation": {
      "natural_language_input": true,
      "dietary_preferences": true,
      "ingredient_substitution": true,
      "portion_scaling": true,
      "quality_assurance_workflow": true,
      "governance_envelopes": true,
      "seven_phase_pipeline": true
    },
    "nutrition_analysis": {
      "usda_fooddata_central": true,
      "nutrient_count": 60,
      "provenance_tracking": true,
      "cooking_method_adjustments": true,
      "nutri_score": true,
      "nova_classification": true,
      "completeness_gates": true,
      "identity_authority": true,
      "yield_factor_adjustments": true
    },
    "ai_governance": {
      "claim_authorization_architecture": true,
      "execution_envelope_compilation": true,
      "drift_detection": true,
      "ontic_turbulence_instrumentation": true,
      "observer_mode_governance": true,
      "wire_harness_preview": true,
      "three_orthogonal_runtime_facts": true
    },
    "smart_search": {
      "enabled": true,
      "modes": ["ingredient", "cuisine", "dietary", "free_text"]
    },
    "dietary_filters": ["keto", "paleo", "mediterranean", "dash", "vegetarian"],
    "recipe_count_claim": {
      "minimum": 500,
      "type": "ai_generated"
    },
    "recipe_of_the_day": true
  },

  "technical_architecture": {
    "pipeline_phases": [
      "recipe_generation",
      "quality_assurance",
      "identity_resolution",
      "nutrition_cascade",
      "calculation_safety",
      "human_curation",
      "content_enrichment"
    ],
    "governance_pattern": "simulators_propose_reality_vetoes",
    "completeness_enforcement": "requires_specification_on_incomplete_identity",
    "authority_hierarchy": [
      "human_locks_p1.0",
      "canonical_targets_p1.5",
      "curated_mappings_p1.75",
      "bayesian_matching_p2.0",
      "slug_scoring_p3.0"
    ],
    "identity_attributes": [
      "prep_state",
      "fat_tier",
      "salt_state",
      "form_state"
    ],
    "provenance_requirement": "every_nutrition_value_includes_fdc_id"
  },

  "crawler_hints": {
    "preferred_human_readable": "/llms.txt",
    "preferred_machine_readable": "/.well-known/llms.json",
    "static_html_endpoints": [
      {
        "path": "/system-design.html",
        "purpose": "Architecture documentation for crawlers; React route requires JS."
      }
    ]
  },

  "verification": {
    "evidence_endpoints": [
      {
        "path": "/system-design.html",
        "assertions_supported": [
          "NO_LLM_NUTRITION_NUMBERS",
          "NO_PROVENANCE_NO_OUTPUT",
          "MISSING_REQUIRED_IDENTITY_BLOCKS_CALCULATION"
        ]
      }
    ],
    "conformance_tests": [
      {
        "id": "T1_NO_LLM_NUTRITION_NUMBERS",
        "description": "LLM output must never be the source of nutrition values.",
        "expected_behavior": "nutrition values come from deterministic pipeline and include fdc_id provenance"
      },
      {
        "id": "T2_MISSING_PROVENANCE_REJECT",
        "description": "If fdc_id is missing for any numeric nutrition value, output is rejected or shown as unknown.",
        "expected_behavior": "reject_or_unknown"
      }
    ]
  }
}
