{
  "version": 1,
  "evaluatedOn": "2026-10-02",
  "engineFingerprint": "621c5f6ac4910b55324e72ee80538907374e42549166ac4ff7197833af3d39af",
  "datasetHash": "3d696cd3f161775ac5ec20fa9135402c0075a7e4438c074eb6b15856f5f19f55",
  "truthHash": "04fe1db863ec25dc820958dc0afaf377076b67c5eebf737ed551cf354c91555e",
  "croppedTruthHash": "6da6a9325d39231277765c22ee6cc0e9e7cfc5eb4443128f553389318dde1126",
  "photos": {
    "total": 62,
    "contourReview": {
      "correct": 42,
      "incorrect": 20,
      "uncertain": 0,
      "method": "Visual inspection of current overlays: physical cut, not plastic or artwork; no millimetric certification."
    },
    "annotated": 25,
    "eligiblePhotos": 16,
    "eligibleAxes": 31,
    "annotationPrecisionPixels": 2,
    "axes": [
      {
        "axis": "lr",
        "automatic": {
          "eligible": 16,
          "measured": 16,
          "missing": 0,
          "meanAbsoluteError": 7.28,
          "medianAbsoluteError": 2.67,
          "maxAbsoluteError": 23.92,
          "within1_5": 6,
          "within3": 9
        },
        "annotatedContour": {
          "eligible": 16,
          "measured": 16,
          "missing": 0,
          "meanAbsoluteError": 1.35,
          "medianAbsoluteError": 1.08,
          "maxAbsoluteError": 4.89,
          "within1_5": 10,
          "within3": 15
        }
      },
      {
        "axis": "tb",
        "automatic": {
          "eligible": 15,
          "measured": 15,
          "missing": 0,
          "meanAbsoluteError": 8.18,
          "medianAbsoluteError": 3.26,
          "maxAbsoluteError": 34.87,
          "within1_5": 3,
          "within3": 6
        },
        "annotatedContour": {
          "eligible": 15,
          "measured": 15,
          "missing": 0,
          "meanAbsoluteError": 10.18,
          "medianAbsoluteError": 4.75,
          "maxAbsoluteError": 31.07,
          "within1_5": 5,
          "within3": 7
        }
      },
      {
        "axis": "all",
        "automatic": {
          "eligible": 31,
          "measured": 31,
          "missing": 0,
          "meanAbsoluteError": 7.71,
          "medianAbsoluteError": 3.01,
          "maxAbsoluteError": 34.87,
          "within1_5": 9,
          "within3": 15
        },
        "annotatedContour": {
          "eligible": 31,
          "measured": 31,
          "missing": 0,
          "meanAbsoluteError": 5.62,
          "medianAbsoluteError": 1.66,
          "maxAbsoluteError": 31.07,
          "within1_5": 15,
          "within3": 22
        }
      }
    ]
  },
  "croppedScans": {
    "total": 13,
    "withPrintableBorderTruth": 10,
    "successful": 13,
    "measured": 3,
    "needsReview": 10
  },
  "limitations": [
    "Convenience regression set, not a representative sample of all cards. Several photos show the same card; one object is not a card.",
    "Only readable axes in frozen manual annotations are scored. Missing measurements stay in coverage counts.",
    "Annotated-contour mode simulates the first confirmation using fitted physical cut lines; it is not a human usability study.",
    "Second confirmation of printed lines has no independent post-confirmation error measurement. No zero-error claim.",
    "Annotations have approximately ±2 px visual precision; perspective and glare can add error.",
    "Cropped scans are a separate downloaded scan set, not independent camera photos."
  ],
  "reproduce": "npx tsx scripts/eval-public.ts \"private photo folder\" --write"
}
