{
  "name": "Alaine Recrutement — Couche IA",
  "version": "1.0.0",
  "description": "Couche d'orchestration IA pour le recrutement dans les métiers du transport routier de marchandises et de la logistique. Groupe Alaine — implantation nationale, base Bourgogne-Franche-Comté.",
  "site": "https://recrutement.alaine.fr/",
  "entrypoint": "https://recrutement.alaine.fr/llms.txt",

  "capabilities": {
    "intents": true,
    "tools": true,
    "rag": true,
    "guardrails": true,
    "structured_data": true
  },

  "entrypoints": {
    "openapi":    "https://recrutement.alaine.fr/ai/openai.yaml",
    "tools":      "https://recrutement.alaine.fr/ai/tools/index.json",
    "intents":    "https://recrutement.alaine.fr/ai/meta/intents.json",
    "rag":        "https://recrutement.alaine.fr/ai/rag/sources.json",
    "schemas":    "https://recrutement.alaine.fr/ai/schemas/",
    "guardrails": "https://recrutement.alaine.fr/ai/guardrails/policies.json"
  },

  "domain": {
    "industry": "transport_routier_marchandises",
    "sector_codes": ["NACE:49.41", "NACE:52.29"],
    "job_types": [
      "conducteur SPL",
      "conducteur PL",
      "mécanicien poids lourd",
      "agent de quai",
      "exploitant transport",
      "gestionnaire logistique",
      "agent administratif",
      "responsable exploitation"
    ],
    "geography": {
      "scope": "national",
      "headquarters": "Bourgogne-Franche-Comté",
      "primary_locations": [
        "Dijon (21)",
        "Chalon-sur-Saône (71)",
        "Mâcon (71)",
        "Auxerre (89)",
        "Besançon (25)",
        "Dole (39)"
      ],
      "country": "FR"
    },
    "collective_agreement": "Convention Collective Nationale des Transports Routiers (CCNTR)"
  },

  "entities": {
    "primary":   ["job", "candidate", "application"],
    "secondary": ["location", "contract", "license", "certification"]
  },

  "intents": [
    {
      "name": "search_jobs",
      "description": "Rechercher des offres d'emploi selon métier, région, contrat ou permis"
    },
    {
      "name": "get_job_details",
      "description": "Obtenir le détail complet d'une offre spécifique"
    },
    {
      "name": "apply_job",
      "description": "Soumettre une candidature pour une offre identifiée"
    },
    {
      "name": "spontaneous_application",
      "description": "Déposer une candidature spontanée sans offre précise"
    }
  ],

  "tools": {
    "registry":        "https://recrutement.alaine.fr/ai/tools/index.json",
    "execution_mode":  "api",
    "protocol":        "REST",
    "format":          "JSON",
    "openapi_spec":    "https://recrutement.alaine.fr/ai/openai.yaml"
  },

  "rag": {
    "enabled": true,
    "sources":          "https://recrutement.alaine.fr/ai/rag/sources.json",
    "strategy":         "semantic_search",
    "fields_priority":  ["titre", "metier", "region", "description", "avantages"]
  },

  "guardrails": {
    "policies": "https://recrutement.alaine.fr/ai/guardrails/policies.json",
    "rules": [
      "no_hallucinated_jobs",
      "no_fake_salary",
      "no_hiring_promise",
      "gdpr_minimal_data_collection",
      "no_competitor_mention",
      "no_legal_advice",
      "respect_user_intent",
      "tool_first_before_generation"
    ]
  },

  "interaction": {
    "preferred_language":  "fr",
    "supported_languages": ["fr", "en"],
    "response_format":     "natural_language",
    "fallback":            "ask_clarification"
  },

  "ranking": {
    "priorities": [
      "location_match",
      "job_title_match",
      "license_match",
      "recency"
    ]
  },

  "ai_behavior": {
    "strict_mode":    true,
    "tool_first":     true,
    "explainability": false
  },

  "versioning": {
    "schema_version": "1.0",
    "last_updated":   "2026-04-16"
  }
}
