{
  "reviewDate": "2026-10-30",
  "total": 83,
  "passed": 83,
  "failed": 0,
  "status": "passed",
  "limits": "Purchase studies are unapproved conditional scenarios. Source-table maxima govern the selected study; conflicting prose is separately flagged, not used as a hidden replacement cap. Costs, actual approval, infrastructure, parking and full fire/structural compliance remain outside this numeric check.",
  "cases": [
    {
      "name": "Base budget remains unchanged without a request",
      "expected": 42000,
      "actual": 42000,
      "source": "12000m² x3.5 base FAR",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Group total4FAR study uses48000m²",
      "expected": 48000,
      "actual": 48000,
      "source": "12000 x4; source §3.2.2.3p44 / §10.2pp114–115",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Conditional increase is never an approved mode",
      "expected": "purchase-study",
      "actual": "purchase-study",
      "source": "Independent arithmetic / preserved-state invariant",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Conditional approval-needed review is present",
      "expected": true,
      "actual": true,
      "source": "§10.2.4(iv)p115:enabling provision,not a right",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Group purchase-road threshold 11.999",
      "expected": false,
      "actual": false,
      "source": "§10.2.1(ii)p114:12m plotted/group",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Group purchase-road threshold 12",
      "expected": true,
      "actual": true,
      "source": "§10.2.1(ii)p114:12m plotted/group",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Group purchase-road threshold 12.001",
      "expected": true,
      "actual": true,
      "source": "§10.2.1(ii)p114:12m plotted/group",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Other occupancy purchase-road threshold 17.999",
      "expected": false,
      "actual": false,
      "source": "§10.2.1(ii)p114:18m others",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Other occupancy purchase-road threshold 18",
      "expected": true,
      "actual": true,
      "source": "§10.2.1(ii)p114:18m others",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Other occupancy purchase-road threshold 18.001",
      "expected": true,
      "actual": true,
      "source": "§10.2.1(ii)p114:18m others",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Group purchase cap at road 23.999",
      "expected": 7,
      "actual": 7,
      "source": "§3.2.2.3p44 and §10.2.3Note1p114:occupancy cap prevails",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Group purchase cap at road 24",
      "expected": 10.5,
      "actual": 10.5,
      "source": "§3.2.2.3p44 and §10.2.3Note1p114:occupancy cap prevails",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Group purchase cap at road 24.001",
      "expected": 10.5,
      "actual": 10.5,
      "source": "§3.2.2.3p44 and §10.2.3Note1p114:occupancy cap prevails",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Group purchase cap at road 44.999",
      "expected": 10.5,
      "actual": 10.5,
      "source": "§3.2.2.3p44 and §10.2.3Note1p114:occupancy cap prevails",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Group purchase cap at road 45",
      "expected": "No finite table cap",
      "actual": "No finite table cap",
      "source": "§3.2.2.3p44 and §10.2.3Note1p114:occupancy cap prevails",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Group purchase cap at road 45.001",
      "expected": "No finite table cap",
      "actual": "No finite table cap",
      "source": "§3.2.2.3p44 and §10.2.3Note1p114:occupancy cap prevails",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Plotted table maximum is not replaced by conflicting2.0prose",
      "expected": [
        2.5,
        2.5,
        true
      ],
      "actual": [
        2.5,
        2.5,
        true
      ],
      "source": "§10.2.3Note3p114 prose2.0 vs p43/p115 tables2.25/2.50",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Plotted requested2.0 adds26m²",
      "expected": 26,
      "actual": 26,
      "source": "280 x2 -534 =26m²",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Plotted2.1 input is allowed by2.50table",
      "expected": 588,
      "actual": 588,
      "source": "280x2.1=588m²; old artificial2.0cap removed",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Plotted input above2.50 remains rejected",
      "expected": true,
      "actual": true,
      "source": "Independent arithmetic / preserved-state invariant",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Finite group request cap 6.999",
      "expected": true,
      "actual": true,
      "source": "Supported total7.0 on18m road",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Finite group request cap 7",
      "expected": true,
      "actual": true,
      "source": "Supported total7.0 on18m road",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Finite group request cap 7.000001",
      "expected": false,
      "actual": false,
      "source": "Supported total7.0 on18m road",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Out-of-cap serialized request does not create entitlement",
      "expected": [
        42000,
        "base",
        true
      ],
      "actual": [
        42000,
        "base",
        true
      ],
      "source": "Independent arithmetic / preserved-state invariant",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Road change deactivates additional FAR without inventing approval",
      "expected": [
        4500,
        "base",
        true
      ],
      "actual": [
        4500,
        "base",
        true
      ],
      "source": "Office example1800m² x2.5base;12m road below purchase18m",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "No invented purchase uplift for fuel2w",
      "expected": false,
      "actual": false,
      "source": "Fixed/specific/blank maximum or50m² nursery allowance; pp44–47,Chapter10Note1",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "No invented purchase uplift for fuel",
      "expected": false,
      "actual": false,
      "source": "Fixed/specific/blank maximum or50m² nursery allowance; pp44–47,Chapter10Note1",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "No invented purchase uplift for fuelService",
      "expected": false,
      "actual": false,
      "source": "Fixed/specific/blank maximum or50m² nursery allowance; pp44–47,Chapter10Note1",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "No invented purchase uplift for gas",
      "expected": false,
      "actual": false,
      "source": "Fixed/specific/blank maximum or50m² nursery allowance; pp44–47,Chapter10Note1",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "No invented purchase uplift for coldStorage",
      "expected": false,
      "actual": false,
      "source": "Fixed/specific/blank maximum or50m² nursery allowance; pp44–47,Chapter10Note1",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "No invented purchase uplift for fruitMarket",
      "expected": false,
      "actual": false,
      "source": "Fixed/specific/blank maximum or50m² nursery allowance; pp44–47,Chapter10Note1",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "No invented purchase uplift for utilities",
      "expected": false,
      "actual": false,
      "source": "Fixed/specific/blank maximum or50m² nursery allowance; pp44–47,Chapter10Note1",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "No invented purchase uplift for farm",
      "expected": false,
      "actual": false,
      "source": "Fixed/specific/blank maximum or50m² nursery allowance; pp44–47,Chapter10Note1",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "No invented purchase uplift for dairy",
      "expected": false,
      "actual": false,
      "source": "Fixed/specific/blank maximum or50m² nursery allowance; pp44–47,Chapter10Note1",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "No invented purchase uplift for plantNursery",
      "expected": false,
      "actual": false,
      "source": "Fixed/specific/blank maximum or50m² nursery allowance; pp44–47,Chapter10Note1",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "No invented purchase uplift for openSpace",
      "expected": false,
      "actual": false,
      "source": "Fixed/specific/blank maximum or50m² nursery allowance; pp44–47,Chapter10Note1",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Sports-specific maximum0.6prevails",
      "expected": 0.6,
      "actual": 0.6,
      "source": "§3.2.2.8p46",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Unrestricted table does not select infinity automatically",
      "expected": 42000,
      "actual": 42000,
      "source": "Base remains selected until finite target entered",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Finite premium study on45m road is labelled",
      "expected": [
        120000,
        true,
        "purchase-study"
      ],
      "actual": [
        120000,
        true,
        "purchase-study"
      ],
      "source": "12000 x10; beyond ordinary100%base uplift, premium potential remains conditional",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Recorded approval remains distinct and unchanged",
      "expected": [
        50000,
        "approval",
        false
      ],
      "actual": [
        50000,
        "approval",
        false
      ],
      "source": "Independent arithmetic / preserved-state invariant",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "FAR study edit never fabricates approval fields",
      "expected": true,
      "actual": true,
      "source": "Independent arithmetic / preserved-state invariant",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Return to base removes only the purchase-study request",
      "expected": true,
      "actual": true,
      "source": "Independent arithmetic / preserved-state invariant",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Invalid serialized request rejected NaN",
      "expected": true,
      "actual": true,
      "source": "Independent arithmetic / preserved-state invariant",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Invalid serialized request rejected Infinity",
      "expected": true,
      "actual": true,
      "source": "Independent arithmetic / preserved-state invariant",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Invalid serialized request rejected -1",
      "expected": true,
      "actual": true,
      "source": "Independent arithmetic / preserved-state invariant",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Invalid serialized request rejected 0",
      "expected": true,
      "actual": true,
      "source": "Independent arithmetic / preserved-state invariant",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Floor edit preview matches independent area arithmetic",
      "expected": [
        751,
        217
      ],
      "actual": [
        751,
        217
      ],
      "source": "217x3+100=751;751-534=217m²over",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Preview operation never commits the draft",
      "expected": true,
      "actual": true,
      "source": "Independent arithmetic / preserved-state invariant",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Height-only preview preserves floor area",
      "expected": true,
      "actual": true,
      "source": "Independent arithmetic / preserved-state invariant",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Shared multi-building study has one48000m²budget",
      "expected": [
        48000,
        48000,
        2,
        true
      ],
      "actual": [
        48000,
        48000,
        2,
        true
      ],
      "source": "12000x4,not48000perbuilding;coupled setbacks/gaps/fire/park reevaluated",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at35m²",
      "expected": [
        2,
        2.25
      ],
      "actual": [
        2,
        2.25
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at35.001m²",
      "expected": [
        2,
        2.25
      ],
      "actual": [
        2,
        2.25
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at149.999m²",
      "expected": [
        2,
        2.25
      ],
      "actual": [
        2,
        2.25
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at150m²",
      "expected": [
        1.8,
        2.5
      ],
      "actual": [
        1.8,
        2.5
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at150.001m²",
      "expected": [
        1.8,
        2.5
      ],
      "actual": [
        1.8,
        2.5
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at299.999m²",
      "expected": [
        1.8,
        2.5
      ],
      "actual": [
        1.8,
        2.5
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at300m²",
      "expected": [
        1.75,
        2.5
      ],
      "actual": [
        1.75,
        2.5
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at300.001m²",
      "expected": [
        1.75,
        2.5
      ],
      "actual": [
        1.75,
        2.5
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at499.999m²",
      "expected": [
        1.75,
        2.5
      ],
      "actual": [
        1.75,
        2.5
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at500m²",
      "expected": [
        1.5,
        2.5
      ],
      "actual": [
        1.5,
        2.5
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at500.001m²",
      "expected": [
        1.5,
        2.5
      ],
      "actual": [
        1.5,
        2.5
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at1199.999m²",
      "expected": [
        1.5,
        2.5
      ],
      "actual": [
        1.5,
        2.5
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at1200m²",
      "expected": [
        1.25,
        2.5
      ],
      "actual": [
        1.25,
        2.5
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached plotted table row at1200.001m²",
      "expected": [
        1.25,
        2.5
      ],
      "actual": [
        1.25,
        2.5
      ],
      "source": "§3.2.2.2,p43; visually verified supplied table,lower-inclusive/upper-exclusive thresholds",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "No plotted table row is invented below35m²",
      "expected": [
        null,
        false
      ],
      "actual": [
        null,
        false
      ],
      "source": "§3.2.2.2 first row begins35m²",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Plotted input boundary 149.999m² at2.25FAR",
      "expected": true,
      "actual": true,
      "source": "Input uses exact applicable table maximum,not conflicting prose2.0",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Plotted input boundary 149.999m² at2.250001FAR",
      "expected": false,
      "actual": false,
      "source": "Input uses exact applicable table maximum,not conflicting prose2.0",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Plotted input boundary 150m² at2.5FAR",
      "expected": true,
      "actual": true,
      "source": "Input uses exact applicable table maximum,not conflicting prose2.0",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Plotted input boundary 150m² at2.500001FAR",
      "expected": false,
      "actual": false,
      "source": "Input uses exact applicable table maximum,not conflicting prose2.0",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Plotted input boundary 280m² at2.5FAR",
      "expected": true,
      "actual": true,
      "source": "Input uses exact applicable table maximum,not conflicting prose2.0",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Plotted input boundary 1200m² at2.5FAR",
      "expected": true,
      "actual": true,
      "source": "Input uses exact applicable table maximum,not conflicting prose2.0",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "280m² table maximum gives700m²allowance",
      "expected": [
        700,
        166
      ],
      "actual": [
        700,
        166
      ],
      "source": "280x2.50=700;700-534=166m²additional",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "280m² base row and effective base remain distinct",
      "expected": [
        1.8,
        534,
        1.9071428571428573
      ],
      "actual": [
        1.8,
        534,
        1.9071428571428573
      ],
      "source": "§3.2.2p43 worked example:150x2+130x1.8=534;534/280=1.907142857",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached group table at12mroad",
      "expected": [
        3.5,
        7
      ],
      "actual": [
        3.5,
        7
      ],
      "source": "§3.2.2.3p44; supplied table rows12–<18/18–<24/24–<45/≥45",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached group table at17.999mroad",
      "expected": [
        3.5,
        7
      ],
      "actual": [
        3.5,
        7
      ],
      "source": "§3.2.2.3p44; supplied table rows12–<18/18–<24/24–<45/≥45",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached group table at18mroad",
      "expected": [
        3.5,
        7
      ],
      "actual": [
        3.5,
        7
      ],
      "source": "§3.2.2.3p44; supplied table rows12–<18/18–<24/24–<45/≥45",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached group table at23.999mroad",
      "expected": [
        3.5,
        7
      ],
      "actual": [
        3.5,
        7
      ],
      "source": "§3.2.2.3p44; supplied table rows12–<18/18–<24/24–<45/≥45",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached group table at24mroad",
      "expected": [
        3.5,
        10.5
      ],
      "actual": [
        3.5,
        10.5
      ],
      "source": "§3.2.2.3p44; supplied table rows12–<18/18–<24/24–<45/≥45",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached group table at44.999mroad",
      "expected": [
        3.5,
        10.5
      ],
      "actual": [
        3.5,
        10.5
      ],
      "source": "§3.2.2.3p44; supplied table rows12–<18/18–<24/24–<45/≥45",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached group table at45mroad",
      "expected": [
        3.5,
        "Unrestricted"
      ],
      "actual": [
        3.5,
        "Unrestricted"
      ],
      "source": "§3.2.2.3p44; supplied table rows12–<18/18–<24/24–<45/≥45",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Attached group table at60mroad",
      "expected": [
        3.5,
        "Unrestricted"
      ],
      "actual": [
        3.5,
        "Unrestricted"
      ],
      "source": "§3.2.2.3p44; supplied table rows12–<18/18–<24/24–<45/≥45",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Unrestricted road45 accepts finite target beyond10.5",
      "expected": 11,
      "actual": 11,
      "source": "No finite FAR maximum is invented; source conditions/other controls remain",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    },
    {
      "name": "Plotted conflict remains a visible review even in base mode",
      "expected": true,
      "actual": true,
      "source": "Conflicting Chapter10 prose preserved without overriding the table-study input",
      "tolerance": 0.000001,
      "status": "pass",
      "error": ""
    }
  ]
}