---
name: pkwtt-checker
description: "Audit PKWTT permanent employment contracts, probation limits (max 3 months), auto-conversion triggers, minimum wage compliance, and statutory severance rights under PP 35/2021 & UU 6/2023."
argument-hint: <monthly_wage> <probation_months> <minimum_wage_ump> <job_type_permanent_or_temporary> <contract_type_pkwt_or_pkwtt> <tenure_months>
risk_level: HIGH
rule_type: statutory
quality_tier: tested
allowed-tools: bash
capability:
  requires: [<monthly_wage> <probation_months> <minimum_wage_ump> <job_type_permanent_or_temporary> <contract_type_pkwt_or_pkwtt> <tenure_months>]
  produces: [payoutAmount, statutoryEntitlements, complianceStatus]
  deterministic: true
  cross_domain_relevance:
    tax: high
    finance: high
    legal: high
---

# PKWTT Permanent Employment & Contract Conversion Auditor

Audits PKWTT (Perjanjian Kerja Waktu Tidak Tertentu / Permanent Employment) contracts, probation period limits, and automatic conversion triggers from PKWT to PKWTT under Government Regulation PP No. 35/2021 and UU No. 6/2023 (Cipta Kerja).

## Statutory Rules & Conversion Triggers (PP 35/2021)
1. **Probation Period (Masa Percobaan / Probation)**:
   - Allowed **only in PKWTT** for a maximum duration of **3 months** (Pasal 13).
   - Any probation clause inside a PKWT contract is null and void (*batal demi hukum* / void by operation of law), causing the contract to automatically convert to PKWTT from day 1.
2. **Job Nature Boundary (Pasal 4)**:
   - PKWT cannot be used for core production or permanent work. If executed for permanent work, it converts to PKWTT by law.
3. **Tenure Limit (Pasal 8)**:
   - Cumulative PKWT duration cannot exceed **5 years (60 months)**. Exceeding 60 months converts the status to PKWTT.
4. **Statutory Entitlements of PKWTT**:
   - Entitled to full severance payout (Pesangon UP, UPMK, UPH) upon PHK (PP 35/2021 Pasal 40).
   - Full BPJS Social Security membership (JHT, JP, JKK, JKM) and mandatory annual paid leave (12 days after 12 months).

## Hybrid Execution Model
Pass parameters to `engines/pkwtt-calculator.js`:
* `auditPkwttStatus({ monthlyWage, probationMonths, minimumWage, jobType, contractType, totalTenureMonths, isRegisteredKemnaker })`

## Worked Example
Input: Contract labeled "PKWT" for a Core Developer position, 4 months probation, 24 months tenure, wage Rp 10.000.000.
Output:
- `isConvertedToPkwttByLaw`: `true`
- `conversionTriggers`: `["PROBATION_IN_PKWT", "PERMANENT_JOB_IN_PKWT"]`
- `effectiveContractStatus`: `"PKWTT (Permanent Employment)"`
- `statusReason`: *"Contract automatically converts to PKWTT by operation of law due to probation clause and core job nature in PKWT."*
