{
  "code": "wp_core_ca_v1",
  "title_en": "Work Permit Core Pathways (Canada)",
  "title_fr": "Voies de base des permis de travail (Canada)",
  "jurisdiction": "CA",
  "effective_from": "2026-01-01",
  "review_by": "2027-01-01",
  "notes_en": "Initial decision-support pack. Does not declare eligibility. Practitioner sign-off required.",
  "notes_fr": "Jeu initial d'aide à la décision. Ne déclare pas l'admissibilité. Signature du praticien requise.",
  "sources": [
    {
      "code": "IRCC_EMPLOYER_SPECIFIC",
      "authority": "IRCC",
      "title_en": "Employer-specific work permits",
      "title_fr": "Permis de travail liés à un employeur",
      "url_en": "https://www.canada.ca/en/immigration-refugees-citizenship/services/work-canada/employer-specific.html",
      "url_fr": "https://www.canada.ca/fr/immigration-refugies-citoyennete/services/travailler-canada/employeur-donne.html",
      "citation": "IRCC employer-specific work permit instructions",
      "review_by": "2027-01-01"
    },
    {
      "code": "IRCC_IMP",
      "authority": "IRCC",
      "title_en": "International Mobility Program",
      "title_fr": "Programme de mobilité internationale",
      "url_en": "https://www.canada.ca/en/immigration-refugees-citizenship/services/work-canada/hire-temporary-foreign/international-mobility-program/who.html",
      "url_fr": "https://www.canada.ca/fr/immigration-refugies-citoyennete/services/travailler-canada/embaucher-etranger-temporaires/programme-mobilite-internationale/qui.html",
      "citation": "IMP who you can hire",
      "review_by": "2027-01-01"
    },
    {
      "code": "IRPR_186",
      "authority": "Justice",
      "title_en": "IRPR s.186 — Work without a permit",
      "title_fr": "RIPR art.186 — Travail sans permis",
      "url_en": "https://laws-lois.justice.gc.ca/eng/regulations/SOR-2002-227/section-186.html",
      "url_fr": "https://laws-lois.justice.gc.ca/fra/reglements/DORS-2002-227/section-186.html",
      "citation": "SOR/2002-227, s.186",
      "review_by": "2027-01-01"
    },
    {
      "code": "IRPR_200",
      "authority": "Justice",
      "title_en": "IRPR s.200 — Work permits",
      "title_fr": "RIPR art.200 — Permis de travail",
      "url_en": "https://laws-lois.justice.gc.ca/eng/regulations/sor-2002-227/section-200.html",
      "url_fr": "https://laws-lois.justice.gc.ca/fra/reglements/DORS-2002-227/section-200.html",
      "citation": "SOR/2002-227, s.200",
      "review_by": "2027-01-01"
    },
    {
      "code": "ESDC_WAGE",
      "authority": "ESDC",
      "title_en": "High-wage / low-wage LMIA streams",
      "title_fr": "Volets EIMT salaires élevés / bas salaires",
      "url_en": "https://www.canada.ca/en/employment-social-development/services/foreign-workers/median-wage.html",
      "url_fr": "https://www.canada.ca/fr/emploi-developpement-social/services/travailleurs-etrangers/salaire-moyen.html",
      "citation": "ESDC median wage thresholds",
      "review_by": "2027-01-01"
    },
    {
      "code": "QC_AUTH",
      "authority": "MIFI",
      "title_en": "Quebec temporary foreign worker authorizations",
      "title_fr": "Autorisations Québec — travailleurs étrangers temporaires",
      "url_en": "https://www.quebec.ca/entreprises-et-travailleurs-autonomes/administrer-gerer/embauche-gestion-personnel/recruter/embaucher-immigrant/embaucher-travailleur-etranger-temporaire/comprendre-autorisations",
      "url_fr": "https://www.quebec.ca/entreprises-et-travailleurs-autonomes/administrer-gerer/embauche-gestion-personnel/recruter/embaucher-immigrant/embaucher-travailleur-etranger-temporaire/comprendre-autorisations",
      "citation": "MIFI temporary worker authorizations",
      "review_by": "2027-01-01"
    }
  ],
  "pathways": [
    {
      "code": "LMIA_HIGH_WAGE",
      "branch": "lmia",
      "title_en": "LMIA — High-wage stream",
      "title_fr": "EIMT — Volet salaires élevés",
      "summary_en": "Employer-specific permit requiring a positive LMIA under the high-wage stream when wage is at or above the provincial threshold.",
      "summary_fr": "Permis lié à un employeur exigeant une EIMT positive au volet salaires élevés lorsque le salaire est égal ou supérieur au seuil provincial.",
      "rank_weight": 10,
      "requires_employer": true,
      "requires_caq": false,
      "criteria": [
        {
          "code": "EMPLOYER_REQUIRED",
          "title_en": "Employer authorization required",
          "title_fr": "Autorisation de l'employeur requise",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "eq", "fact": "auth.employer_required", "value": true },
          "citations": ["IRCC_EMPLOYER_SPECIFIC", "IRPR_200"]
        },
        {
          "code": "BRANCH_LMIA",
          "title_en": "LMIA branch hypothesized",
          "title_fr": "Branche EIMT hypothétique",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "eq", "fact": "auth.branch_hypothesis", "value": "lmia" },
          "citations": ["ESDC_WAGE", "IRCC_EMPLOYER_SPECIFIC"]
        },
        {
          "code": "EMPLOYER_ACTIVE",
          "title_en": "Employer is an active business",
          "title_fr": "L'employeur est une entreprise active",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "eq", "fact": "employer.active_business", "value": true },
          "citations": ["IRPR_200"]
        },
        {
          "code": "NOC_PRESENT",
          "title_en": "NOC 2021 code recorded",
          "title_fr": "Code CNP 2021 consigné",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "exists", "fact": "job.noc_2021" },
          "citations": ["ESDC_WAGE"]
        },
        {
          "code": "WAGE_PRESENT",
          "title_en": "Hourly wage recorded for stream comparison",
          "title_fr": "Salaire horaire consigné pour comparer le volet",
          "is_blocking": false,
          "is_critical": true,
          "condition": { "op": "exists", "fact": "job.wage_hourly" },
          "citations": ["ESDC_WAGE"]
        },
        {
          "code": "WAGE_STREAM_REVIEW",
          "title_en": "Confirm wage against provincial high-wage threshold",
          "title_fr": "Confirmer le salaire par rapport au seuil provincial des salaires élevés",
          "is_blocking": false,
          "is_critical": true,
          "condition": {
            "op": "wage_gte_threshold",
            "fact": "job.wage_hourly",
            "province_fact": "employer.worksite_province"
          },
          "citations": ["ESDC_WAGE"]
        }
      ]
    },
    {
      "code": "IMP_EXEMPTION",
      "branch": "imp",
      "title_en": "LMIA-exempt employer-specific (IMP)",
      "title_fr": "Permis lié à un employeur dispensé d'EIMT (PMI)",
      "summary_en": "Employer-specific work under an IMP exemption code after offer of employment in the Employer Portal.",
      "summary_fr": "Travail lié à un employeur au titre d'un code de dispense du PMI après offre dans le Portail des employeurs.",
      "rank_weight": 20,
      "requires_employer": true,
      "requires_caq": false,
      "criteria": [
        {
          "code": "BRANCH_IMP",
          "title_en": "IMP branch hypothesized",
          "title_fr": "Branche PMI hypothétique",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "eq", "fact": "auth.branch_hypothesis", "value": "imp" },
          "citations": ["IRCC_IMP"]
        },
        {
          "code": "EXEMPTION_CODE",
          "title_en": "Exemption code identified",
          "title_fr": "Code de dispense identifié",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "exists", "fact": "auth.exemption_code" },
          "citations": ["IRCC_IMP"]
        },
        {
          "code": "EXEMPTION_IN_CATALOG",
          "title_en": "Exemption code present in published WP catalog",
          "title_fr": "Code de dispense présent dans le catalogue WP publié",
          "is_blocking": false,
          "is_critical": true,
          "condition": { "op": "registry_contains", "registry": "exemptions", "fact": "auth.exemption_code" },
          "citations": ["IRCC_IMP"]
        },
        {
          "code": "EMPLOYER_REQUIRED",
          "title_en": "Employer still required",
          "title_fr": "Employeur toujours requis",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "eq", "fact": "auth.employer_required", "value": true },
          "citations": ["IRCC_IMP", "IRPR_200"]
        },
        {
          "code": "EXEMPTION_CRITERIA_REVIEW",
          "title_en": "Verify category-specific IMP criteria",
          "title_fr": "Vérifier les critères PMI propres à la catégorie",
          "is_blocking": false,
          "is_critical": true,
          "condition": { "op": "manual_review", "reason": "Confirm nationality, role, qualifications, and category instructions for the exemption code." },
          "citations": ["IRCC_IMP"]
        }
      ]
    },
    {
      "code": "OPEN_PERMIT",
      "branch": "open",
      "title_en": "Open work permit category",
      "title_fr": "Catégorie de permis de travail ouvert",
      "summary_en": "Open permit pathways where employer authorization is not required. Category-specific criteria still apply.",
      "summary_fr": "Voies de permis ouvert où l'autorisation de l'employeur n'est pas requise. Les critères propres à la catégorie s'appliquent toujours.",
      "rank_weight": 30,
      "requires_employer": false,
      "requires_caq": false,
      "criteria": [
        {
          "code": "BRANCH_OPEN",
          "title_en": "Open-permit branch hypothesized",
          "title_fr": "Branche permis ouvert hypothétique",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "eq", "fact": "auth.branch_hypothesis", "value": "open" },
          "citations": ["IRCC_EMPLOYER_SPECIFIC"]
        },
        {
          "code": "EMPLOYER_NOT_REQUIRED",
          "title_en": "Employer authorization not required",
          "title_fr": "Autorisation de l'employeur non requise",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "eq", "fact": "auth.employer_required", "value": false },
          "citations": ["IRCC_EMPLOYER_SPECIFIC"]
        },
        {
          "code": "STATUS_KNOWN",
          "title_en": "Worker status recorded",
          "title_fr": "Statut du travailleur consigné",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "exists", "fact": "worker.status" },
          "citations": ["IRPR_200"]
        },
        {
          "code": "OPEN_CATEGORY_REVIEW",
          "title_en": "Confirm open-permit category criteria",
          "title_fr": "Confirmer les critères de la catégorie de permis ouvert",
          "is_blocking": false,
          "is_critical": true,
          "condition": { "op": "manual_review", "reason": "Confirm PGWP, spouse, bridging, vulnerable worker, or other open category requirements." },
          "citations": ["IRCC_EMPLOYER_SPECIFIC"]
        }
      ]
    },
    {
      "code": "R186_NO_PERMIT",
      "branch": "r186",
      "title_en": "Work authorized without a permit (IRPR 186)",
      "title_fr": "Travail autorisé sans permis (RIPR 186)",
      "summary_en": "Activity may fall under IRPR 186. A listed occupation alone is not enough; each paragraph has distinct conditions.",
      "summary_fr": "L'activité peut relever du RIPR 186. Une profession listée ne suffit pas; chaque alinéa a ses propres conditions.",
      "rank_weight": 40,
      "requires_employer": false,
      "requires_caq": false,
      "criteria": [
        {
          "code": "BRANCH_R186",
          "title_en": "R186 branch hypothesized",
          "title_fr": "Branche R186 hypothétique",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "eq", "fact": "auth.branch_hypothesis", "value": "r186" },
          "citations": ["IRPR_186"]
        },
        {
          "code": "ACTIVITY_REVIEW",
          "title_en": "Confirm exact IRPR 186 paragraph and conditions",
          "title_fr": "Confirmer l'alinéa exact du RIPR 186 et ses conditions",
          "is_blocking": false,
          "is_critical": true,
          "condition": { "op": "manual_review", "reason": "Match activity, duration, and reuse limits to the specific IRPR 186 paragraph." },
          "citations": ["IRPR_186"]
        }
      ]
    },
    {
      "code": "QC_CAQ_GATE",
      "branch": "quebec",
      "title_en": "Quebec CAQ / simultaneous LMIA gate",
      "title_fr": "Porte CAQ Québec / EIMT simultanée",
      "summary_en": "For Quebec work over 30 days under TFWP, employer LMIA and temporary selection/CAQ sequencing must be verified.",
      "summary_fr": "Pour un travail au Québec de plus de 30 jours au PTET, la séquence EIMT et sélection temporaire/CAQ doit être vérifiée.",
      "rank_weight": 15,
      "requires_employer": true,
      "requires_caq": true,
      "criteria": [
        {
          "code": "PROVINCE_QC",
          "title_en": "Worksite is Quebec",
          "title_fr": "Lieu de travail au Québec",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "eq", "fact": "employer.worksite_province", "value": "QC" },
          "citations": ["QC_AUTH"]
        },
        {
          "code": "CAQ_FLAG",
          "title_en": "CAQ requirement flagged",
          "title_fr": "Exigence de CAQ signalée",
          "is_blocking": false,
          "is_critical": true,
          "condition": { "op": "eq", "fact": "quebec.caq_required", "value": true },
          "citations": ["QC_AUTH"]
        },
        {
          "code": "QC_PROCESS_REVIEW",
          "title_en": "Confirm simultaneous ESDC/MIFI filing and CAQ package",
          "title_fr": "Confirmer le dépôt simultané EDSC/MIFI et le dossier CAQ",
          "is_blocking": false,
          "is_critical": true,
          "condition": { "op": "manual_review", "reason": "Verify Quebec exemptions, francisation, and temporary selection form version." },
          "citations": ["QC_AUTH", "ESDC_WAGE"]
        }
      ]
    },
    {
      "code": "STATUS_MAINTAINED",
      "branch": "status",
      "title_en": "Maintained status / filing-location risk",
      "title_fr": "Statut conservé / risque lié au lieu de dépôt",
      "summary_en": "Inside Canada status, expiry, and maintained-status conditions change forms and work authorization.",
      "summary_fr": "Le statut au Canada, l'expiration et le statut conservé changent les formulaires et l'autorisation de travailler.",
      "rank_weight": 50,
      "requires_employer": false,
      "requires_caq": false,
      "criteria": [
        {
          "code": "INSIDE_CANADA",
          "title_en": "Worker is inside Canada",
          "title_fr": "Le travailleur est au Canada",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "eq", "fact": "worker.location", "value": "inside" },
          "citations": ["IRPR_200"]
        },
        {
          "code": "STATUS_EXPIRY_KNOWN",
          "title_en": "Status expiry recorded",
          "title_fr": "Expiration du statut consignée",
          "is_blocking": true,
          "is_critical": true,
          "condition": { "op": "exists", "fact": "worker.status_expiry" },
          "citations": ["IRPR_200"]
        },
        {
          "code": "MAINTAINED_STATUS_REVIEW",
          "title_en": "Confirm maintained-status work conditions",
          "title_fr": "Confirmer les conditions de travail en statut conservé",
          "is_blocking": false,
          "is_critical": true,
          "condition": { "op": "manual_review", "reason": "If applying before expiry, confirm same employer/job/location limits for employer-specific permits." },
          "citations": ["IRPR_186", "IRPR_200"]
        }
      ]
    }
  ]
}
