{
  "schemaVersion": 1,
  "slug": "dog-breed-size-calculator",
  "category": "pets",
  "kind": "implementation",
  "independentValidation": false,
  "implementationHash": "e0775d9e35381393a3acc27b7d01dd076ac9b83060b18589fba58fa199ef1fe5",
  "provenance": "Generated from the calculation contract used by the published page. Publication is not external validation.",
  "sourceFiles": [
    "data/calculators/dog-breed-size-calculator.json",
    "src/engine.js"
  ],
  "runtimeSource": "/sources/engine.txt",
  "runtimeHash": "5c888d8898afbdee36267bb9977829e1e2ac568f6677c8ee87469c139864645c",
  "scope": "The compute function records implemented equations, constants, lookup tables and custom rules. Inputs record defaults and allowed values; outputs record precision and units. Defaults are examples, not recommendations. General background references are not evidence for this specific algorithm.",
  "publishedFormula": {
    "formula": "Lookup weight range, height range, lifespan range, and size class by breed",
    "vars": [
      [
        "W1",
        "breed weight low, lb"
      ],
      [
        "W2",
        "breed weight high, lb"
      ],
      [
        "H1",
        "female height, in"
      ],
      [
        "H2",
        "male height, in"
      ]
    ],
    "note": "Reference ranges from the 14-breed table; no individual prediction or advice on exercise, feeding, or medication."
  },
  "externalEvidence": null,
  "contract": {
    "compute": "const B={chihuahua:[[3,6],[5,8],[14,18],'Toy'],yorkie:[[4,7],[7,8],[13,16],'Toy'],dachshund:[[11,32],[8,9],[12,16],'Small'],beagle:[[20,30],[13,15],[12,15],'Small'],cocker:[[24,30],[14,15],[12,15],'Small'],bulldog:[[40,50],[14,15],[8,10],'Medium'],labrador:[[55,80],[21,24],[10,12],'Large'],borderCollie:[[30,55],[18,22],[12,15],'Medium'],germanShepherd:[[50,90],[22,26],[9,13],'Large'],goldenRetriever:[[55,75],[21,24],[10,12],'Large'],husky:[[35,60],[20,24],[12,14],'Medium'],rottweiler:[[80,135],[22,27],[9,10],'Large'],greatDane:[[110,175],[28,32],[7,10],'Giant'],saintBernard:[[120,180],[26,30],[8,10],'Giant']};const b=B[breed]||B.labrador;return{weightLb:b[0][0]+'–'+b[0][1]+' lb',heightIn:b[1][0]+'–'+b[1][1]+' in',lifespan:b[2][0]+'–'+b[2][1]+' years',sizeClass:b[3]};",
    "inputs": [
      {
        "name": "breed",
        "type": "select",
        "default": "labrador",
        "options": [
          {
            "value": "chihuahua"
          },
          {
            "value": "yorkie"
          },
          {
            "value": "dachshund"
          },
          {
            "value": "beagle"
          },
          {
            "value": "cocker"
          },
          {
            "value": "bulldog"
          },
          {
            "value": "labrador"
          },
          {
            "value": "borderCollie"
          },
          {
            "value": "germanShepherd"
          },
          {
            "value": "goldenRetriever"
          },
          {
            "value": "husky"
          },
          {
            "value": "rottweiler"
          },
          {
            "value": "greatDane"
          },
          {
            "value": "saintBernard"
          }
        ]
      }
    ],
    "outputs": [
      {
        "name": "weightLb",
        "precision": 0,
        "unit": "",
        "type": "text"
      },
      {
        "name": "heightIn",
        "precision": 0,
        "unit": "",
        "type": "text"
      },
      {
        "name": "lifespan",
        "precision": 0,
        "unit": "",
        "type": "text"
      },
      {
        "name": "sizeClass",
        "precision": 0,
        "unit": "",
        "type": "text"
      }
    ],
    "interpret": null
  }
}
