{
  "date": "2026-11-03",
  "source": "MedCam v6.2 archived source test scripts, local Node 22 environment",
  "total": 25,
  "passed": 25,
  "failed": 0,
  "results": [
    {
      "name": "film-presets.test.mjs",
      "passed": true,
      "seconds": 0.07,
      "end": "PASS nine film-specific presets: bilingual guidance and correct fallback\n"
    },
    {
      "name": "quality.test.mjs",
      "passed": true,
      "seconds": 0.29,
      "end": "PASS quality heuristics: dark/bright exposure, initial motion unknown, changed frame detected, score bounded\n"
    },
    {
      "name": "browser-compat.test.mjs",
      "passed": true,
      "seconds": 0.13,
      "end": "PASS 9 browser-capability simulations: full Chrome-like, Opera Mini, camera absent, insecure, no modules, no canvas, no share, no WebCrypto, Firefox-like. Not real browser installations.\n"
    },
    {
      "name": "share.test.mjs",
      "passed": true,
      "seconds": 0.16,
      "end": "PASS native share guard: file creation, browser unsupported, rejection, direct handoff\n"
    },
    {
      "name": "intake.test.mjs",
      "passed": true,
      "seconds": 0.12,
      "end": "PASS image preflight: PNG, JPEG, invalid HTML spoofing, dimensions and valid file\n"
    },
    {
      "name": "capture-stability.test.mjs",
      "passed": true,
      "seconds": 0.27,
      "end": "PASS: stable framing gate, drift/scale/motion guards, 5,000 randomized interruption cases\n"
    },
    {
      "name": "camera-mute-and-readiness.test.mjs",
      "passed": true,
      "seconds": 0.07,
      "end": "PASS muted track prevents stale Auto Capture; unmuted valid track can proceed; NO hardware tested.\n"
    },
    {
      "name": "camera-auto-controls.test.mjs",
      "passed": true,
      "seconds": 1.75,
      "end": "PASS simulated auto-focus/auto-exposure capability selection and verified status; hardware not tested.\n"
    },
    {
      "name": "camera-deadline-v44.test.mjs",
      "passed": true,
      "seconds": 0.2,
      "end": "PASS: camera timeout; late stream safely stopped; normal camera request; stuck and successful video preview. Mocked promises, not physical camera.\n"
    },
    {
      "name": "device-profile-stress.mjs",
      "passed": true,
      "seconds": 0.28,
      "end": "{\"result\":\"PASS\",\"simulated_profiles\":20000,\"distribution\":{\"conservative\":9515,\"balanced\":7469,\"capable\":3016},\"physical_devices_tested\":0}\n"
    },
    {
      "name": "right-device-only-v56.test.mjs",
      "passed": true,
      "seconds": 0.16,
      "end": "PASS 50000 synthetic capability combinations, per-track failure blacklist and visual guidance gate. Physical models not tested.\n"
    },
    {
      "name": "malformed-input-stress.mjs",
      "passed": true,
      "seconds": 0.28,
      "end": "PASS deterministic adversarial input cases: 10560 random signatures classified: 0\n"
    },
    {
      "name": "quality-fuzz-10000.mjs",
      "passed": true,
      "seconds": 5.21,
      "end": "{\n  \"synthetic_frames\": 10000,\n  \"invalid_scores\": 0,\n  \"ready\": 0,\n  \"warnings\": 10000,\n  \"bright_paper_false_overexposure\": 0,\n  \"real_patient_images\": 0,\n  \"physical_camera_devices\": 0\n}\n"
    },
    {
      "name": "v60-validation-batch-race.test.mjs",
      "passed": true,
      "seconds": 0.31,
      "end": "PASS Validation Lab: old batch cannot overwrite replacement, URL is revoked, clear aborts stale decode.\n"
    },
    {
      "name": "capability-visibility-v53.test.mjs",
      "passed": true,
      "seconds": 0.21,
      "end": "PASS: 25000 simulated device/camera capability profiles, no phantom controls, verification checks, reduced motion. No physical devices tested.\n"
    },
    {
      "name": "v57-dark-area-regression.test.mjs",
      "passed": true,
      "seconds": 0.31,
      "end": "PASS v5.7 dark-area Auto gate + paper framing regression (synthetic, non-clinical)\n"
    },
    {
      "name": "site-footer.test.mjs",
      "passed": true,
      "seconds": 0.23,
      "end": "PASS footer live time/year across New Year, offline fallback\n"
    },
    {
      "name": "hardening.test.mjs",
      "passed": true,
      "seconds": 0.22,
      "end": "PASS ZIP safety: 4 malformed header cases, trailing data, traversal, UMF round-trip\n"
    },
    {
      "name": "pdf-test.mjs",
      "passed": true,
      "seconds": 0.2,
      "end": "PDF bytes and xref test PASS: 960\n"
    },
    {
      "name": "umf-test.mjs",
      "passed": true,
      "seconds": 0.1,
      "end": "UMF build / parse / tampering tests PASS; package size 2855\n"
    },
    {
      "name": "capture-review.test.mjs",
      "passed": true,
      "seconds": 0.09,
      "end": "PASS safety-critical review: unknown data, warnings, reduced derivatives and no diagnostic claims.\n"
    },
    {
      "name": "pose-guide.test.mjs",
      "passed": true,
      "seconds": 0.15,
      "end": "PASS: 11 pose conditions, malformed geometry and hysteresis\n"
    },
    {
      "name": "v58-metrics.test.mjs",
      "passed": true,
      "seconds": 0.13,
      "end": "PASS v5.8 confusion-matrix, missing-denominator, static-frame gating, CSV-injection tests\n"
    },
    {
      "name": "v49-timeout-regression.test.mjs",
      "passed": true,
      "seconds": 0.43,
      "end": "PASS: Canvas JPG export timeout is bounded\nPASS: Canvas PNG export timeout is bounded\nPASS: late image encoding callback cannot overwrite settled rejection\nPASS: valid format accepted, mismatched format rejected\nPASS: PDF JPEG encoding timeout is bounded\nPASS: stalled createImageBitmap attempts fallback image element\nPASS: stalled image bitmap + image element decoder return bounded error\nPASS: 7 new v4.9 error-path checks\n"
    },
    {
      "name": "v50-share-policy.test.mjs",
      "passed": true,
      "seconds": 0.1,
      "end": "PASS direct PDF handoff, no silent media conversion, app-neutral regional sharing, explicit JPG retry\n"
    }
  ],
  "disclaimer": "Simulated/algorithmic engineering tests, not real-device or clinical validation"
}