{
  "module_name": "printer",
  "module_root": "pypos/modules/printer",
  "effective_date": "2026-04-12",
  "score": {
    "max": 100,
    "pass_score": 90
  },
  "kpis": [
    {
      "id": "KPI-01",
      "name": "Function Budget",
      "weight": 20
    },
    {
      "id": "KPI-02",
      "name": "Exception Hygiene",
      "weight": 25
    },
    {
      "id": "KPI-03",
      "name": "Error Contract",
      "weight": 20
    },
    {
      "id": "KPI-04",
      "name": "Test Maturity",
      "weight": 25
    },
    {
      "id": "KPI-05",
      "name": "Governance Controls",
      "weight": 10
    }
  ],
  "critical_functions": [
    {
      "file_path": "pypos/modules/printer/services/printer_diagnostic_service.py",
      "class_name": "PrinterDiagnosticService",
      "function_name": "_check_lan_address",
      "max_loc": 45
    },
    {
      "file_path": "pypos/modules/printer/services/printer_diagnostic_service.py",
      "class_name": "PrinterDiagnosticService",
      "function_name": "_check_usb_address",
      "max_loc": 65
    }
  ],
  "exception_hygiene": {
    "baseline_generic_exception": 107,
    "max_allowed_generic_exception": 32,
    "min_reduction_pct": 70
  },
  "error_contract_targets": [
    {
      "file_path": "pypos/modules/printer/services/printer_diagnostic_service.py",
      "required_tokens": [
        "error_code",
        "reason",
        "trace_id"
      ]
    }
  ],
  "test_matrix": {
    "printer_core": {
      "files": [
        "tests/p1/test_printer_diagnostic_service.py",
        "tests/p1/test_printer_io_service.py",
        "tests/test_settlement_print_service.py"
      ],
      "min_cases": 8
    }
  },
  "governance_checks": [
    {
      "file_path": "pypos/modules/printer/services/settlement_print_service.py",
      "required_tokens": [
        "escape(",
        "_format_rupiah"
      ]
    }
  ]
}
