{
  "suite": "EDNA-1 Open Verification",
  "version": "1.0.0",
  "engine": {
    "name": "EDNA-1",
    "version": "1.0.0",
    "file": "src/edna.js",
    "repository": "https://github.com/sebklaey/EDNA"
  },
  "methodology": "Synthetic event vectors are replayed against the unmodified engine under a virtual clock with a seeded RNG (mulberry32), making every run deterministic and reproducible on any machine. No network access is required.",
  "reproduce": "node verification/run-tests.mjs",
  "latestResults": "verification/test-results.json",
  "browserSelfTest": "https://sebklaey.github.io/EDNA/verify/",
  "vectors": [
    {
      "id": "human_desktop_90s",
      "description": "90 s of organic desktop interaction — log-normal inter-event timing (median 220 ms), curved pointer paths with angular wobble, ~6% keystroke corrections, irregular scroll velocities with direction changes.",
      "seed": 42,
      "pattern": "human",
      "device": "desktop",
      "durationSec": 90,
      "meanIntervalMs": 220,
      "expect": {
        "classificationOneOf": ["likely_human", "human_verified"],
        "confidenceAtLeast": 0.8
      }
    },
    {
      "id": "human_mobile_60s",
      "description": "60 s of organic mobile interaction — touch contact-area variance, swipe character, live gyroscope micro-motion around 9.78 m/s².",
      "seed": 1337,
      "pattern": "human",
      "device": "mobile",
      "durationSec": 60,
      "meanIntervalMs": 260,
      "expect": {
        "classificationOneOf": ["likely_human", "human_verified"],
        "confidenceAtLeast": 0.75
      }
    },
    {
      "id": "bot_uniform_120s",
      "description": "120 s of canonical scripted-bot input — perfectly uniform 100 ms cadence, deterministic round-robin event types, constant-velocity straight-line movement, constant scroll speed, fixed tap coordinates, zero corrections.",
      "seed": 7,
      "pattern": "bot",
      "device": "desktop",
      "durationSec": 120,
      "meanIntervalMs": 100,
      "expect": {
        "classificationOneOf": ["bot", "likely_bot", "uncertain"],
        "confidenceBelow": 0.6
      }
    }
  ],
  "notes": [
    "The bot vector encodes the documented bot signatures: uniform timing, straight-line movement, constant velocity, fixed coordinates, no corrections.",
    "More sophisticated bots that deliberately inject human-like noise require longer observation windows; the Natural Drift and Autocorrelation channels target exactly that behavior.",
    "License: EPCAL-1.0 — evaluation and verification use permitted. Copyright (c) 2026 Sebastian Kläy (@sebklaey)."
  ]
}
