{
  "engine": "ironparse",
  "layer": "deterministic-verification",
  "copybook": "ACORD_AL3_NIGHTMARE.CPY",
  "verdict": "PASS",
  "inputSha256": "a3297567bd4b766668235bd20706da1f2bae39e842c5bbf43f5224de2d01cf0c",
  "outputSha256": "e3b252076d57ee9fe348d14c4dab30e0d4a896a5551dd043b8be75b2cb40249a",
  "counts": {
    "records": 11,
    "elementaryFields": 80,
    "redefines": 2,
    "occursDependingOn": 6,
    "fixedOccurs": 2
  },
  "gates": [
    {
      "id": "01",
      "name": "PARSER",
      "detail": "Deterministic AST extraction yields a non-empty, field-bearing record set. No LLM involved.",
      "pass": true,
      "measure": "11 records · 80 elementary fields"
    },
    {
      "id": "02",
      "name": "SCHEMA_SANITY",
      "detail": "Candidate schema parses as valid Zod — balanced delimiters, no markdown fences, no prose.",
      "pass": true,
      "measure": "valid Zod module"
    },
    {
      "id": "03",
      "name": "FIELD_PARITY",
      "detail": "len(COBOL elementary fields) === len(emitted schema leaves). Off by one and the build fails.",
      "pass": true,
      "measure": "COBOL 80 ⇄ schema 80"
    },
    {
      "id": "04",
      "name": "DARK_CORNER",
      "detail": "Every REDEFINES overlay compiles to a union (discriminated where a record-type byte exists); every OCCURS to a dynamic array.",
      "pass": true,
      "measure": "2/2 overlays · 8/8 arrays"
    },
    {
      "id": "05",
      "name": "MOCK_STRUCTURE",
      "detail": "A mock document generated from the schema re-validates against it — the schema is internally consistent.",
      "pass": true,
      "measure": "82 nodes round-tripped"
    }
  ],
  "mappings": [
    {
      "cobol": "TRANSACTION-TYPE",
      "level": 2,
      "pic": "X(4)",
      "storage": "alphanumeric (4 chars)",
      "tsPath": "acordAl3Record.transactionType",
      "tsType": "z.string().max(4)"
    },
    {
      "cobol": "MESSAGE-ID",
      "level": 2,
      "pic": "X(8)",
      "storage": "alphanumeric (8 chars)",
      "tsPath": "acordAl3Record.messageId",
      "tsType": "z.string().max(8)"
    },
    {
      "cobol": "TIMESTAMP",
      "level": 2,
      "pic": "X(26)",
      "storage": "alphanumeric (26 chars)",
      "tsPath": "acordAl3Record.timestamp",
      "tsType": "z.string().max(26)"
    },
    {
      "cobol": "STATE-CODE",
      "level": 2,
      "pic": "X(2)",
      "storage": "alphanumeric (2 chars)",
      "tsPath": "acordAl3Record.stateCode",
      "tsType": "z.string().max(2)"
    },
    {
      "cobol": "CARRIER-CODE",
      "level": 2,
      "pic": "X(4)",
      "storage": "alphanumeric (4 chars)",
      "tsPath": "acordAl3Record.carrierCode",
      "tsType": "z.string().max(4)"
    },
    {
      "cobol": "POLICY-NUMBER",
      "level": 2,
      "pic": "X(20)",
      "storage": "alphanumeric (20 chars)",
      "tsPath": "acordAl3Record.policyNumber",
      "tsType": "z.string().max(20)"
    },
    {
      "cobol": "NAME-TYPE",
      "level": 2,
      "pic": "X(1)",
      "storage": "alphanumeric (1 chars)",
      "tsPath": "insuredNameData.nameType",
      "tsType": "z.string().max(1)"
    },
    {
      "cobol": "INSURED-LAST-NAME",
      "level": 2,
      "pic": "X(30)",
      "storage": "alphanumeric (30 chars)",
      "tsPath": "insuredNameData.insuredLastName",
      "tsType": "z.string().max(30)"
    },
    {
      "cobol": "INSURED-FIRST-NAME",
      "level": 2,
      "pic": "X(20)",
      "storage": "alphanumeric (20 chars)",
      "tsPath": "insuredNameData.insuredFirstName",
      "tsType": "z.string().max(20)"
    },
    {
      "cobol": "INSURED-MIDDLE-NAME",
      "level": 2,
      "pic": "X(15)",
      "storage": "alphanumeric (15 chars)",
      "tsPath": "insuredNameData.insuredMiddleName",
      "tsType": "z.string().max(15)"
    },
    {
      "cobol": "INSURED-SUFFIX",
      "level": 2,
      "pic": "X(10)",
      "storage": "alphanumeric (10 chars)",
      "tsPath": "insuredNameData.insuredSuffix",
      "tsType": "z.string().max(10)"
    },
    {
      "cobol": "ADDR-INDICATOR",
      "level": 2,
      "pic": "X(1)",
      "storage": "alphanumeric (1 chars)",
      "tsPath": "insuredAddressData.addrIndicator",
      "tsType": "z.string().max(1)"
    },
    {
      "cobol": "ADDRESS-LINE-1",
      "level": 2,
      "pic": "X(35)",
      "storage": "alphanumeric (35 chars)",
      "tsPath": "insuredAddressData.addressLine1",
      "tsType": "z.string().max(35)"
    },
    {
      "cobol": "ADDRESS-LINE-2",
      "level": 2,
      "pic": "X(35)",
      "storage": "alphanumeric (35 chars)",
      "tsPath": "insuredAddressData.addressLine2",
      "tsType": "z.string().max(35)"
    },
    {
      "cobol": "CITY",
      "level": 2,
      "pic": "X(25)",
      "storage": "alphanumeric (25 chars)",
      "tsPath": "insuredAddressData.city",
      "tsType": "z.string().max(25)"
    },
    {
      "cobol": "STATE",
      "level": 2,
      "pic": "X(2)",
      "storage": "alphanumeric (2 chars)",
      "tsPath": "insuredAddressData.state",
      "tsType": "z.string().max(2)"
    },
    {
      "cobol": "ZIP-CODE",
      "level": 2,
      "pic": "X(9)",
      "storage": "alphanumeric (9 chars)",
      "tsPath": "insuredAddressData.zipCode",
      "tsType": "z.string().max(9)"
    },
    {
      "cobol": "POLICY-EFF-DATE",
      "level": 2,
      "pic": "X(8)",
      "storage": "alphanumeric (8 chars)",
      "tsPath": "policyInfo.policyEffDate",
      "tsType": "z.string().max(8)"
    },
    {
      "cobol": "POLICY-EXP-DATE",
      "level": 2,
      "pic": "X(8)",
      "storage": "alphanumeric (8 chars)",
      "tsPath": "policyInfo.policyExpDate",
      "tsType": "z.string().max(8)"
    },
    {
      "cobol": "PREMIUM-AMOUNT",
      "level": 2,
      "pic": "S9(9)V99 COMP-3",
      "storage": "packed decimal (COMP-3, signed, scaled)",
      "tsPath": "policyInfo.premiumAmount",
      "tsType": "z.number()"
    },
    {
      "cobol": "PREMIUM-PAYMENT-MODE",
      "level": 2,
      "pic": "X(1)",
      "storage": "alphanumeric (1 chars)",
      "tsPath": "policyInfo.premiumPaymentMode",
      "tsType": "z.string().max(1)"
    },
    {
      "cobol": "POLICY-STATUS",
      "level": 2,
      "pic": "X(1)",
      "storage": "alphanumeric (1 chars)",
      "tsPath": "policyInfo.policyStatus",
      "tsType": "z.string().max(1)"
    },
    {
      "cobol": "VEHICLE-COUNT",
      "level": 2,
      "pic": "9(2)",
      "storage": "display numeric (2 digits)",
      "tsPath": "vehicleDetail.vehicleCount",
      "tsType": "z.string().regex(/^\\d{1,2}$/)"
    },
    {
      "cobol": "VIN",
      "level": 3,
      "pic": "X(17)",
      "storage": "alphanumeric (17 chars)",
      "tsPath": "vehicleDetail.vehicleEntry[].vin",
      "tsType": "z.string().max(17)"
    },
    {
      "cobol": "YEAR",
      "level": 3,
      "pic": "9(4)",
      "storage": "display numeric (4 digits)",
      "tsPath": "vehicleDetail.vehicleEntry[].year",
      "tsType": "z.string().regex(/^\\d{1,4}$/)"
    },
    {
      "cobol": "MAKE",
      "level": 3,
      "pic": "X(15)",
      "storage": "alphanumeric (15 chars)",
      "tsPath": "vehicleDetail.vehicleEntry[].make",
      "tsType": "z.string().max(15)"
    },
    {
      "cobol": "MODEL",
      "level": 3,
      "pic": "X(20)",
      "storage": "alphanumeric (20 chars)",
      "tsPath": "vehicleDetail.vehicleEntry[].model",
      "tsType": "z.string().max(20)"
    },
    {
      "cobol": "VEHICLE-CLASS",
      "level": 3,
      "pic": "X(3)",
      "storage": "alphanumeric (3 chars)",
      "tsPath": "vehicleDetail.vehicleEntry[].vehicleClass",
      "tsType": "z.string().max(3)"
    },
    {
      "cobol": "COVERAGE-AMOUNT",
      "level": 3,
      "pic": "S9(7)V99 COMP-3",
      "storage": "packed decimal (COMP-3, signed, scaled)",
      "tsPath": "vehicleDetail.vehicleEntry[].coverageAmount",
      "tsType": "z.number()"
    },
    {
      "cobol": "DEDUCTIBLE-AMOUNT",
      "level": 3,
      "pic": "S9(5)V99 COMP-3",
      "storage": "packed decimal (COMP-3, signed, scaled)",
      "tsPath": "vehicleDetail.vehicleEntry[].deductibleAmount",
      "tsType": "z.number()"
    },
    {
      "cobol": "DRIVER-COUNT",
      "level": 3,
      "pic": "9(1)",
      "storage": "display numeric (1 digits)",
      "tsPath": "vehicleDetail.vehicleEntry[].driverCount",
      "tsType": "z.string().regex(/^\\d{1,1}$/)"
    },
    {
      "cobol": "DRIVER-NAME",
      "level": 4,
      "pic": "X(30)",
      "storage": "alphanumeric (30 chars)",
      "tsPath": "vehicleDetail.vehicleEntry[].driverList[].driverName",
      "tsType": "z.string().max(30)"
    },
    {
      "cobol": "DRIVER-LICENSE",
      "level": 4,
      "pic": "X(20)",
      "storage": "alphanumeric (20 chars)",
      "tsPath": "vehicleDetail.vehicleEntry[].driverList[].driverLicense",
      "tsType": "z.string().max(20)"
    },
    {
      "cobol": "DRIVER-DOB",
      "level": 4,
      "pic": "X(8)",
      "storage": "alphanumeric (8 chars)",
      "tsPath": "vehicleDetail.vehicleEntry[].driverList[].driverDob",
      "tsType": "z.string().max(8)"
    },
    {
      "cobol": "DRIVER-RELATION",
      "level": 4,
      "pic": "X(1)",
      "storage": "alphanumeric (1 chars)",
      "tsPath": "vehicleDetail.vehicleEntry[].driverList[].driverRelation",
      "tsType": "z.string().max(1)"
    },
    {
      "cobol": "DH-RECORD-TYPE",
      "level": 2,
      "pic": "X(1)",
      "storage": "alphanumeric (1 chars)",
      "tsPath": "driverHistory.dhRecordType",
      "tsType": "z.string().max(1)"
    },
    {
      "cobol": "DH-LAST-UPDATE",
      "level": 2,
      "pic": "X(8)",
      "storage": "alphanumeric (8 chars)",
      "tsPath": "driverHistory.dhLastUpdate",
      "tsType": "z.string().max(8)"
    },
    {
      "cobol": "DH-ACCIDENT-COUNT",
      "level": 2,
      "pic": "9(2)",
      "storage": "display numeric (2 digits)",
      "tsPath": "driverHistory.dhAccidentCount",
      "tsType": "z.string().regex(/^\\d{1,2}$/)"
    },
    {
      "cobol": "DH-VIOLATION-COUNT",
      "level": 2,
      "pic": "9(2)",
      "storage": "display numeric (2 digits)",
      "tsPath": "driverHistory.dhViolationCount",
      "tsType": "z.string().regex(/^\\d{1,2}$/)"
    },
    {
      "cobol": "DH-MVR-SCORE",
      "level": 2,
      "pic": "9(3)",
      "storage": "display numeric (3 digits)",
      "tsPath": "driverHistory.dhMvrScore",
      "tsType": "z.string().regex(/^\\d{1,3}$/)"
    },
    {
      "cobol": "DH-CLAIM-DATE",
      "level": 3,
      "pic": "X(8)",
      "storage": "alphanumeric (8 chars)",
      "tsPath": "driverHistory.dhClaimHistory[].dhClaimDate",
      "tsType": "z.string().max(8)"
    },
    {
      "cobol": "DH-CLAIM-AMOUNT",
      "level": 3,
      "pic": "S9(6)V99 COMP-3",
      "storage": "packed decimal (COMP-3, signed, scaled)",
      "tsPath": "driverHistory.dhClaimHistory[].dhClaimAmount",
      "tsType": "z.number()"
    },
    {
      "cobol": "DH-CLAIM-TYPE",
      "level": 3,
      "pic": "X(2)",
      "storage": "alphanumeric (2 chars)",
      "tsPath": "driverHistory.dhClaimHistory[].dhClaimType",
      "tsType": "z.string().max(2)"
    },
    {
      "cobol": "COVERAGE-COUNT",
      "level": 2,
      "pic": "9(2)",
      "storage": "display numeric (2 digits)",
      "tsPath": "coverageOptions.coverageCount",
      "tsType": "z.string().regex(/^\\d{1,2}$/)"
    },
    {
      "cobol": "COVERAGE-TYPE",
      "level": 3,
      "pic": "X(3)",
      "storage": "alphanumeric (3 chars)",
      "tsPath": "coverageOptions.coverageEntry[].coverageType",
      "tsType": "z.string().max(3)"
    },
    {
      "cobol": "COVERAGE-LIMIT",
      "level": 3,
      "pic": "S9(7)V99 COMP-3",
      "storage": "packed decimal (COMP-3, signed, scaled)",
      "tsPath": "coverageOptions.coverageEntry[].coverageLimit",
      "tsType": "z.number()"
    },
    {
      "cobol": "COVERAGE-PREMIUM",
      "level": 3,
      "pic": "S9(6)V99 COMP-3",
      "storage": "packed decimal (COMP-3, signed, scaled)",
      "tsPath": "coverageOptions.coverageEntry[].coveragePremium",
      "tsType": "z.number()"
    },
    {
      "cobol": "COVERAGE-STATUS",
      "level": 3,
      "pic": "X(1)",
      "storage": "alphanumeric (1 chars)",
      "tsPath": "coverageOptions.coverageEntry[].coverageStatus",
      "tsType": "z.string().max(1)"
    },
    {
      "cobol": "DEDUCTIBLE-APPLIED",
      "level": 3,
      "pic": "S9(5)V99 COMP-3",
      "storage": "packed decimal (COMP-3, signed, scaled)",
      "tsPath": "coverageOptions.coverageEntry[].deductibleApplied",
      "tsType": "z.number()"
    },
    {
      "cobol": "SUPPLEMENT-COUNT",
      "level": 2,
      "pic": "9(2)",
      "storage": "display numeric (2 digits)",
      "tsPath": "supplementalExposures.supplementCount",
      "tsType": "z.string().regex(/^\\d{1,2}$/)"
    },
    {
      "cobol": "SUPPLEMENT-TYPE",
      "level": 3,
      "pic": "X(4)",
      "storage": "alphanumeric (4 chars)",
      "tsPath": "supplementalExposures.supplementData[].supplementType",
      "tsType": "z.string().max(4)"
    },
    {
      "cobol": "SUPPLEMENT-CODE",
      "level": 3,
      "pic": "X(6)",
      "storage": "alphanumeric (6 chars)",
      "tsPath": "supplementalExposures.supplementData[].supplementCode",
      "tsType": "z.string().max(6)"
    },
    {
      "cobol": "SUPPLEMENT-DESC",
      "level": 3,
      "pic": "X(50)",
      "storage": "alphanumeric (50 chars)",
      "tsPath": "supplementalExposures.supplementData[].supplementDesc",
      "tsType": "z.string().max(50)"
    },
    {
      "cobol": "SUPPLEMENT-AMOUNT",
      "level": 3,
      "pic": "S9(7)V99 COMP-3",
      "storage": "packed decimal (COMP-3, signed, scaled)",
      "tsPath": "supplementalExposures.supplementData[].supplementAmount",
      "tsType": "z.number()"
    },
    {
      "cobol": "EXCLUSION-IND",
      "level": 3,
      "pic": "X(1)",
      "storage": "alphanumeric (1 chars)",
      "tsPath": "supplementalExposures.supplementData[].exclusionInd",
      "tsType": "z.string().max(1)"
    },
    {
      "cobol": "TOTAL-CLAIMS",
      "level": 2,
      "pic": "9(3)",
      "storage": "display numeric (3 digits)",
      "tsPath": "claimHistoryRecord.totalClaims",
      "tsType": "z.string().regex(/^\\d{1,3}$/)"
    },
    {
      "cobol": "CLAIM-DATE",
      "level": 3,
      "pic": "X(8)",
      "storage": "alphanumeric (8 chars)",
      "tsPath": "claimHistoryRecord.claimDetails[].claimDate",
      "tsType": "z.string().max(8)"
    },
    {
      "cobol": "CLAIM-TYPE",
      "level": 3,
      "pic": "X(2)",
      "storage": "alphanumeric (2 chars)",
      "tsPath": "claimHistoryRecord.claimDetails[].claimType",
      "tsType": "z.string().max(2)"
    },
    {
      "cobol": "CLAIM-AMOUNT",
      "level": 3,
      "pic": "S9(8)V99 COMP-3",
      "storage": "packed decimal (COMP-3, signed, scaled)",
      "tsPath": "claimHistoryRecord.claimDetails[].claimAmount",
      "tsType": "z.number()"
    },
    {
      "cobol": "CLAIM-STATUS",
      "level": 3,
      "pic": "X(1)",
      "storage": "alphanumeric (1 chars)",
      "tsPath": "claimHistoryRecord.claimDetails[].claimStatus",
      "tsType": "z.string().max(1)"
    },
    {
      "cobol": "CLAIM-DESCRIPTION",
      "level": 3,
      "pic": "X(100)",
      "storage": "alphanumeric (100 chars)",
      "tsPath": "claimHistoryRecord.claimDetails[].claimDescription",
      "tsType": "z.string().max(100)"
    },
    {
      "cobol": "LOSS-DATE",
      "level": 3,
      "pic": "X(8)",
      "storage": "alphanumeric (8 chars)",
      "tsPath": "claimHistoryRecord.claimDetails[].lossDate",
      "tsType": "z.string().max(8)"
    },
    {
      "cobol": "REPORT-DATE",
      "level": 3,
      "pic": "X(8)",
      "storage": "alphanumeric (8 chars)",
      "tsPath": "claimHistoryRecord.claimDetails[].reportDate",
      "tsType": "z.string().max(8)"
    },
    {
      "cobol": "BILL-ACCOUNT-NUMBER",
      "level": 2,
      "pic": "X(15)",
      "storage": "alphanumeric (15 chars)",
      "tsPath": "billingAccount.billAccountNumber",
      "tsType": "z.string().max(15)"
    },
    {
      "cobol": "BILL-PAYMENT-TYPE",
      "level": 2,
      "pic": "X(1)",
      "storage": "alphanumeric (1 chars)",
      "tsPath": "billingAccount.billPaymentType",
      "tsType": "z.string().max(1)"
    },
    {
      "cobol": "BILL-CREDIT-CARD",
      "level": 2,
      "pic": "X(16)",
      "storage": "alphanumeric (16 chars)",
      "tsPath": "billingAccount.billCreditCard",
      "tsType": "z.string().max(16)"
    },
    {
      "cobol": "BILL-EXPIRY",
      "level": 2,
      "pic": "X(4)",
      "storage": "alphanumeric (4 chars)",
      "tsPath": "billingAccount.billExpiry",
      "tsType": "z.string().max(4)"
    },
    {
      "cobol": "BILL-AUTH-CODE",
      "level": 2,
      "pic": "X(10)",
      "storage": "alphanumeric (10 chars)",
      "tsPath": "billingAccount.billAuthCode",
      "tsType": "z.string().max(10)"
    },
    {
      "cobol": "LAST-PAYMENT-DATE",
      "level": 2,
      "pic": "X(8)",
      "storage": "alphanumeric (8 chars)",
      "tsPath": "billingAccount.lastPaymentDate",
      "tsType": "z.string().max(8)"
    },
    {
      "cobol": "LAST-PAYMENT-AMOUNT",
      "level": 2,
      "pic": "S9(7)V99 COMP-3",
      "storage": "packed decimal (COMP-3, signed, scaled)",
      "tsPath": "billingAccount.lastPaymentAmount",
      "tsType": "z.number()"
    },
    {
      "cobol": "BALANCE-DUE",
      "level": 2,
      "pic": "S9(8)V99 COMP-3",
      "storage": "packed decimal (COMP-3, signed, scaled)",
      "tsPath": "billingAccount.balanceDue",
      "tsType": "z.number()"
    },
    {
      "cobol": "PAY-DATE",
      "level": 3,
      "pic": "X(8)",
      "storage": "alphanumeric (8 chars)",
      "tsPath": "billingAccount.paymentHistory[].payDate",
      "tsType": "z.string().max(8)"
    },
    {
      "cobol": "PAY-AMOUNT",
      "level": 3,
      "pic": "S9(6)V99 COMP-3",
      "storage": "packed decimal (COMP-3, signed, scaled)",
      "tsPath": "billingAccount.paymentHistory[].payAmount",
      "tsType": "z.number()"
    },
    {
      "cobol": "PAY-RESULT",
      "level": 3,
      "pic": "X(2)",
      "storage": "alphanumeric (2 chars)",
      "tsPath": "billingAccount.paymentHistory[].payResult",
      "tsType": "z.string().max(2)"
    },
    {
      "cobol": "NOTE-COUNT",
      "level": 2,
      "pic": "9(2)",
      "storage": "display numeric (2 digits)",
      "tsPath": "notesAndRemarks.noteCount",
      "tsType": "z.string().regex(/^\\d{1,2}$/)"
    },
    {
      "cobol": "NOTE-DATE",
      "level": 3,
      "pic": "X(8)",
      "storage": "alphanumeric (8 chars)",
      "tsPath": "notesAndRemarks.noteEntry[].noteDate",
      "tsType": "z.string().max(8)"
    },
    {
      "cobol": "NOTE-AUTHOR",
      "level": 3,
      "pic": "X(20)",
      "storage": "alphanumeric (20 chars)",
      "tsPath": "notesAndRemarks.noteEntry[].noteAuthor",
      "tsType": "z.string().max(20)"
    },
    {
      "cobol": "NOTE-TYPE",
      "level": 3,
      "pic": "X(1)",
      "storage": "alphanumeric (1 chars)",
      "tsPath": "notesAndRemarks.noteEntry[].noteType",
      "tsType": "z.string().max(1)"
    },
    {
      "cobol": "NOTE-TEXT",
      "level": 3,
      "pic": "X(200)",
      "storage": "alphanumeric (200 chars)",
      "tsPath": "notesAndRemarks.noteEntry[].noteText",
      "tsType": "z.string().max(200)"
    },
    {
      "cobol": "NOTE-STATUS",
      "level": 3,
      "pic": "X(1)",
      "storage": "alphanumeric (1 chars)",
      "tsPath": "notesAndRemarks.noteEntry[].noteStatus",
      "tsType": "z.string().max(1)"
    }
  ],
  "schema": "import { z } from \"zod\";\n\nexport const RecordSchema = z.object({\n  acordAl3Record: z.object({\n    transactionType: z.string().max(4),\n    messageId: z.string().max(8),\n    timestamp: z.string().max(26),\n    stateCode: z.string().max(2),\n    carrierCode: z.string().max(4),\n    policyNumber: z.string().max(20),\n  }),\n  // REDEFINES overlay: INSURED-NAME-DATA / INSURED-ADDRESS-DATA\n  insuredNameData: z.union([\n    z.object({\n      nameType: z.string().max(1),\n      insuredLastName: z.string().max(30),\n      insuredFirstName: z.string().max(20),\n      insuredMiddleName: z.string().max(15),\n      insuredSuffix: z.string().max(10),\n    }),\n    z.object({\n      addrIndicator: z.string().max(1),\n      addressLine1: z.string().max(35),\n      addressLine2: z.string().max(35),\n      city: z.string().max(25),\n      state: z.string().max(2),\n      zipCode: z.string().max(9),\n    })\n  ]),\n  policyInfo: z.object({\n    policyEffDate: z.string().max(8),\n    policyExpDate: z.string().max(8),\n    premiumAmount: z.number(),\n    premiumPaymentMode: z.string().max(1),\n    policyStatus: z.string().max(1),\n  }),\n  // REDEFINES overlay: VEHICLE-DETAIL / DRIVER-HISTORY\n  vehicleDetail: z.union([\n    z.object({\n      vehicleCount: z.string().regex(/^\\d{1,2}$/),\n      vehicleEntry: z.array(z.object({\n        vin: z.string().max(17),\n        year: z.string().regex(/^\\d{1,4}$/),\n        make: z.string().max(15),\n        model: z.string().max(20),\n        vehicleClass: z.string().max(3),\n        coverageAmount: z.number(),\n        deductibleAmount: z.number(),\n        driverCount: z.string().regex(/^\\d{1,1}$/),\n        driverList: z.array(z.object({\n          driverName: z.string().max(30),\n          driverLicense: z.string().max(20),\n          driverDob: z.string().max(8),\n          driverRelation: z.string().max(1),\n        })).max(5) /* OCCURS 0..5 DEPENDING ON DRIVER-COUNT */,\n      })).max(10) /* OCCURS 0..10 DEPENDING ON VEHICLE-COUNT */,\n    }),\n    z.object({\n      dhRecordType: z.string().max(1),\n      dhLastUpdate: z.string().max(8),\n      dhAccidentCount: z.string().regex(/^\\d{1,2}$/),\n      dhViolationCount: z.string().regex(/^\\d{1,2}$/),\n      dhMvrScore: z.string().regex(/^\\d{1,3}$/),\n      dhClaimHistory: z.array(z.object({\n        dhClaimDate: z.string().max(8),\n        dhClaimAmount: z.number(),\n        dhClaimType: z.string().max(2),\n      })).max(5) /* OCCURS 5 */,\n    })\n  ]),\n  coverageOptions: z.object({\n    coverageCount: z.string().regex(/^\\d{1,2}$/),\n    coverageEntry: z.array(z.object({\n      coverageType: z.string().max(3),\n      coverageLimit: z.number(),\n      coveragePremium: z.number(),\n      coverageStatus: z.string().max(1),\n      deductibleApplied: z.number(),\n    })).max(8) /* OCCURS 0..8 DEPENDING ON COVERAGE-COUNT */,\n  }),\n  supplementalExposures: z.object({\n    supplementCount: z.string().regex(/^\\d{1,2}$/),\n    supplementData: z.array(z.object({\n      supplementType: z.string().max(4),\n      supplementCode: z.string().max(6),\n      supplementDesc: z.string().max(50),\n      supplementAmount: z.number(),\n      exclusionInd: z.string().max(1),\n    })).max(20) /* OCCURS 0..20 DEPENDING ON SUPPLEMENT-COUNT */,\n  }),\n  claimHistoryRecord: z.object({\n    totalClaims: z.string().regex(/^\\d{1,3}$/),\n    claimDetails: z.array(z.object({\n      claimDate: z.string().max(8),\n      claimType: z.string().max(2),\n      claimAmount: z.number(),\n      claimStatus: z.string().max(1),\n      claimDescription: z.string().max(100),\n      lossDate: z.string().max(8),\n      reportDate: z.string().max(8),\n    })).max(15) /* OCCURS 0..15 DEPENDING ON TOTAL-CLAIMS */,\n  }),\n  billingAccount: z.object({\n    billAccountNumber: z.string().max(15),\n    billPaymentType: z.string().max(1),\n    billCreditCard: z.string().max(16),\n    billExpiry: z.string().max(4),\n    billAuthCode: z.string().max(10),\n    lastPaymentDate: z.string().max(8),\n    lastPaymentAmount: z.number(),\n    balanceDue: z.number(),\n    paymentHistory: z.array(z.object({\n      payDate: z.string().max(8),\n      payAmount: z.number(),\n      payResult: z.string().max(2),\n    })).max(12) /* OCCURS 12 */,\n  }),\n  notesAndRemarks: z.object({\n    noteCount: z.string().regex(/^\\d{1,2}$/),\n    noteEntry: z.array(z.object({\n      noteDate: z.string().max(8),\n      noteAuthor: z.string().max(20),\n      noteType: z.string().max(1),\n      noteText: z.string().max(200),\n      noteStatus: z.string().max(1),\n    })).max(10) /* OCCURS 0..10 DEPENDING ON NOTE-COUNT */,\n  }),\n});\n\nexport type Record = z.infer<typeof RecordSchema>;"
}