{
 "language": "QBasic",
 "brand": "qbasic",
 "kind": "curated",
 "self_selected": false,
 "corpus": {
  "label": "tests/corpus/manifest.tsv — QB64-PE hakemliğinde kürasyonlu defter",
  "authority": "languages/QBasic/tests/corpus/manifest.tsv",
  "oracle": "QB64 Phoenix Edition (satır satır, `oracle` kolonunda yazılı)",
  "unit": "defter satırı",
  "total": 498,
  "note": "QBasic'in resmi bir derleyici test süiti yok, o yüzden ölçüm kürasyonlu bir DEFTER: her satır bir testi, beklentisinin nereden geldiğini ve neyi sabitlediğini söylüyor. Defteri dürüst tutan şey `make test`: `xfail` bir satır geçmeye başlarsa XPASS olarak koşuyu KIRAR, yani \"aslında düzelmişti\" diye sessizce eskimez."
 },
 "buckets": {
  "pass": 476,
  "not_yet": 11,
  "wrong": 6,
  "oos": 5
 },
 "in_scope": 493,
 "statuses": [
  {
   "name": "pass",
   "n": 476,
   "bucket": "pass",
   "meaning": "derleniyor, koşuyor ve çıktısı kayıtlı `.out` ile bayt bayt aynı"
  },
  {
   "name": "xfail",
   "n": 11,
   "bucket": "not_yet",
   "meaning": "henüz yok; ama TEMİZ başarısız olmalı (derleme hatası ya da trap) — asla yanlış çıktı. Geçmeye başlarsa XPASS olur ve koşuyu KIRAR, yani defter kayamaz"
  },
  {
   "name": "wrong",
   "n": 6,
   "bucket": "wrong",
   "meaning": "uygulanmış ama çıktısı oracle ile uyuşmuyor: BİLİNEN uyumluluk hatası, her koşuda yüksek sesle raporlanır"
  },
  {
   "name": "skip",
   "n": 5,
   "bucket": "oos",
   "meaning": "oracle'ın yargılayamadığı, insan kararıyla kapsam dışı bırakılmış satır"
  }
 ],
 "oracle_rows": [
  {
   "name": "qb64",
   "n": 433,
   "meaning": "harici uygulama `qb64` — bizim yazmadığımız gerçek doğruluk kaynağı"
  },
  {
   "name": "self",
   "n": 53,
   "meaning": "kendi derleyicimizden mühürlendi — SADECE regresyon kilidi: değişimi yakalar, yanlışlığı yakalamaz"
  },
  {
   "name": "manual",
   "n": 9,
   "meaning": "dil referansına karşı elle doğrulandı"
  },
  {
   "name": "auto",
   "n": 3,
   "meaning": "üretilmiş beklenti"
  }
 ],
 "funnel": [],
 "groups": [
  {
   "axis": "corpus alanı",
   "note": "Corpus'un kendi dizin düzeni — her klasör bir dil bölgesi.",
   "rows": [
    {
     "name": "strings",
     "n": 60,
     "pass": 60,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "types",
     "n": 58,
     "pass": 57,
     "not_yet": 1,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "files",
     "n": 57,
     "pass": 54,
     "not_yet": 0,
     "wrong": 3,
     "oos": 0
    },
    {
     "name": "control",
     "n": 49,
     "pass": 49,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "numeric",
     "n": 41,
     "pass": 40,
     "not_yet": 0,
     "wrong": 0,
     "oos": 1
    },
    {
     "name": "convert",
     "n": 36,
     "pass": 36,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "procs",
     "n": 34,
     "pass": 34,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "console",
     "n": 32,
     "pass": 32,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "dos",
     "n": 25,
     "pass": 20,
     "not_yet": 0,
     "wrong": 1,
     "oos": 4
    },
    {
     "name": "errors",
     "n": 18,
     "pass": 11,
     "not_yet": 5,
     "wrong": 2,
     "oos": 0
    },
    {
     "name": "io",
     "n": 14,
     "pass": 14,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "records",
     "n": 14,
     "pass": 14,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "gfx",
     "n": 14,
     "pass": 14,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "data",
     "n": 13,
     "pass": 12,
     "not_yet": 1,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "basics",
     "n": 10,
     "pass": 10,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "audio",
     "n": 6,
     "pass": 6,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "ops",
     "n": 5,
     "pass": 5,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "arrays",
     "n": 4,
     "pass": 4,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "misc",
     "n": 3,
     "pass": 3,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "(kök)",
     "n": 3,
     "pass": 0,
     "not_yet": 3,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "clock",
     "n": 1,
     "pass": 1,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "shell",
     "n": 1,
     "pass": 0,
     "not_yet": 1,
     "wrong": 0,
     "oos": 0
    }
   ]
  },
  {
   "axis": "hakem (oracle)",
   "note": "Her satır beklentisini KİMDEN aldığını söylüyor. `self` = kendi çıktımızdan mühürlendi, yani yalnızca regresyon kilidi; harici bir uygulama adı (qb64, lua…) = bizim yazmadığımız gerçek doğruluk kaynağı. Bu ayrımın görünür olması, bir corpus'un kendi kendini onaylamasını önler.",
   "rows": [
    {
     "name": "qb64",
     "n": 433,
     "pass": 420,
     "not_yet": 5,
     "wrong": 6,
     "oos": 2
    },
    {
     "name": "self",
     "n": 53,
     "pass": 50,
     "not_yet": 3,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "manual",
     "n": 9,
     "pass": 6,
     "not_yet": 0,
     "wrong": 0,
     "oos": 3
    },
    {
     "name": "auto",
     "n": 3,
     "pass": 0,
     "not_yet": 3,
     "wrong": 0,
     "oos": 0
    }
   ]
  }
 ],
 "reasons": [
  {
   "stage": "xfail",
   "reason": "BYVAL",
   "count": 1,
   "blamed": [
    "types/BYVAL_01_reject"
   ]
  },
  {
   "stage": "xfail",
   "reason": "ERL",
   "count": 1,
   "blamed": [
    "errors/ERL_01_line_number"
   ]
  },
  {
   "stage": "xfail",
   "reason": "ERL",
   "count": 1,
   "blamed": [
    "errors/ERL_02_unnumbered"
   ]
  },
  {
   "stage": "xfail",
   "reason": "ERL",
   "count": 1,
   "blamed": [
    "errors/ERL_03_no_lines"
   ]
  },
  {
   "stage": "xfail",
   "reason": "ON",
   "count": 1,
   "blamed": [
    "errors/ON_ERROR_03_sub_propagates"
   ]
  },
  {
   "stage": "xfail",
   "reason": "RESUME",
   "count": 1,
   "blamed": [
    "errors/RESUME_01_retry"
   ]
  },
  {
   "stage": "xfail",
   "reason": "DATA",
   "count": 1,
   "blamed": [
    "data/DATA_05_out_of_bounds"
   ]
  },
  {
   "stage": "xfail",
   "reason": "SHELL",
   "count": 1,
   "blamed": [
    "shell/shell"
   ]
  },
  {
   "stage": "xfail",
   "reason": "Hardware/memory features are explicitly rejected",
   "count": 1,
   "blamed": [
    "oos_01_hardware_reject"
   ]
  },
  {
   "stage": "xfail",
   "reason": "OS clock setters are explicitly rejected",
   "count": 1,
   "blamed": [
    "oos_02_os_clock_reject"
   ]
  },
  {
   "stage": "xfail",
   "reason": "Device/debug features are explicitly rejected",
   "count": 1,
   "blamed": [
    "oos_03_device_reject"
   ]
  },
  {
   "stage": "wrong",
   "reason": "KILL",
   "count": 1,
   "blamed": [
    "dos/KILL_03_wildcard"
   ]
  },
  {
   "stage": "wrong",
   "reason": "ERR",
   "count": 1,
   "blamed": [
    "errors/ERR_01_codes"
   ]
  },
  {
   "stage": "wrong",
   "reason": "RESUME",
   "count": 1,
   "blamed": [
    "errors/RESUME_NEXT_02_in_loop"
   ]
  },
  {
   "stage": "wrong",
   "reason": "EOF",
   "count": 1,
   "blamed": [
    "files/EOF_03_binary"
   ]
  },
  {
   "stage": "wrong",
   "reason": "LOC",
   "count": 1,
   "blamed": [
    "files/LOC_01_random"
   ]
  },
  {
   "stage": "wrong",
   "reason": "SEEK",
   "count": 1,
   "blamed": [
    "files/SEEK_03_random_record"
   ]
  },
  {
   "stage": "skip",
   "reason": "RND exact sequence — Kavak keeps its deterministic 24-bit wasm-local PRNG as a v0 policy; matching QuickBASIC/QB64 byte-for-byte is a separate compatibility decision",
   "count": 1,
   "blamed": [
    "numeric/RND_01_seeded"
   ]
  },
  {
   "stage": "skip",
   "reason": "COMMAND",
   "count": 1,
   "blamed": [
    "dos/COMMAND_S_01_empty"
   ]
  },
  {
   "stage": "skip",
   "reason": "COMMAND",
   "count": 1,
   "blamed": [
    "dos/COMMAND_S_02_expr"
   ]
  },
  {
   "stage": "skip",
   "reason": "FILES — the oracle capture embeds the QB64 build directory as an absolute path and a \"Bytes free\" figure that changes every run; no implementation can match it deterministically",
   "count": 1,
   "blamed": [
    "dos/FILES_01_pattern"
   ]
  },
  {
   "stage": "skip",
   "reason": "FILES — same: absolute host path plus a live free-space number in the recorded expectation",
   "count": 1,
   "blamed": [
    "dos/FILES_02_single"
   ]
  }
 ],
 "reasons_note": "Defterdeki her `pass` olmayan satır, neyi beklediğini kendi sözleriyle taşıyor. Sessizce düşen satır yok: `xfail` temiz başarısız olmak ZORUNDA, geçmeye başlarsa koşuyu kırar.",
 "features": [
  {
   "name": "PRINT",
   "kw": false,
   "n": 20,
   "pass": 20
  },
  {
   "name": "INPUT",
   "kw": false,
   "n": 12,
   "pass": 12
  },
  {
   "name": "Strings",
   "kw": false,
   "n": 9,
   "pass": 9
  },
  {
   "name": "WRITE",
   "kw": false,
   "n": 8,
   "pass": 8
  },
  {
   "name": "EXIT",
   "kw": false,
   "n": 8,
   "pass": 8
  },
  {
   "name": "OPEN",
   "kw": false,
   "n": 8,
   "pass": 8
  },
  {
   "name": "SUB",
   "kw": false,
   "n": 7,
   "pass": 7
  },
  {
   "name": "DIM",
   "kw": false,
   "n": 6,
   "pass": 6
  },
  {
   "name": "VAL",
   "kw": false,
   "n": 6,
   "pass": 6
  },
  {
   "name": "RESUME",
   "kw": false,
   "n": 6,
   "pass": 4
  },
  {
   "name": "DO",
   "kw": false,
   "n": 5,
   "pass": 5
  },
  {
   "name": "DATA",
   "kw": false,
   "n": 5,
   "pass": 4
  },
  {
   "name": "GETPUT",
   "kw": false,
   "n": 5,
   "pass": 5
  },
  {
   "name": "LINEINPUT",
   "kw": false,
   "n": 5,
   "pass": 5
  },
  {
   "name": "FUNCTION",
   "kw": false,
   "n": 5,
   "pass": 5
  },
  {
   "name": "INSTR",
   "kw": false,
   "n": 5,
   "pass": 5
  },
  {
   "name": "REDIM",
   "kw": false,
   "n": 5,
   "pass": 5
  },
  {
   "name": "TYPE",
   "kw": false,
   "n": 5,
   "pass": 5
  },
  {
   "name": "FOR",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "GOTO",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "IF",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "SELECT",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "CINT",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "HEX",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "STR",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "RESTORE",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "CLOSE",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "FIELD",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "LEN",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "MID",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "CONST",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "ERASE",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "SHARED",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "STATIC",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "SWAP",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "ENVIRON",
   "kw": false,
   "n": 4,
   "pass": 4
  },
  {
   "name": "ERR",
   "kw": false,
   "n": 4,
   "pass": 3
  },
  {
   "name": "GOSUB",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "ASC",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "CDBL",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "CHR",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "CLNG",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "CSNG",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "OCT",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "READ",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "SYSTEM",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "EOF",
   "kw": false,
   "n": 3,
   "pass": 2
  },
  {
   "name": "LOCK",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "LOF",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "ABS",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "FIX",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "INT",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "LOG",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "RND",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "SGN",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "SIN",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "SQR",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "DECLARE",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "FORWARD",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "RECURSION",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "CONCAT",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "MIDSTMT",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "STRCMP",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "STRING",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "DEFINT",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "LET",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "OPTION",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "UBOUND",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "SOUND",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "TAB",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "CHDIR",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "KILL",
   "kw": false,
   "n": 3,
   "pass": 2
  },
  {
   "name": "MKDIR",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "NAME",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "ERL",
   "kw": false,
   "n": 3,
   "pass": 0
  },
  {
   "name": "ERROR",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "ON",
   "kw": false,
   "n": 3,
   "pass": 2
  },
  {
   "name": "SEEK",
   "kw": false,
   "n": 3,
   "pass": 2
  },
  {
   "name": "MKI CVI",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "MKL CVL",
   "kw": false,
   "n": 3,
   "pass": 3
  },
  {
   "name": "SPC",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "VIEW",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "WIDTH",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "END",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "ONGOSUB",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "ONGOTO",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "STOP",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "WHILE",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "FREEFILE",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "ATN",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "COS",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "EXP",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "TAN",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "CALL",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "MUTUAL",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "LCASE",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "LEFT",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "LTRIM",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "RIGHT",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "RTRIM",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "SPACE",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "UCASE",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "COMMON",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "DEFDBL",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "DEFSTR",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "LBOUND",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "PLAY",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "Colon",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "CSRLIN",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "POS",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "PAINT",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "PALETTE",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "REM",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "DEF FN",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "COMMAND",
   "kw": false,
   "n": 2,
   "pass": 0
  },
  {
   "name": "RMDIR",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "LOC",
   "kw": false,
   "n": 2,
   "pass": 1
  },
  {
   "name": "MKD CVD",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "MKS CVS",
   "kw": false,
   "n": 2,
   "pass": 2
  },
  {
   "name": "DIM TO",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "LBOUND UBOUND",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "ERASE SWAP",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "string array",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "LET %",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "PRINT ;",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "PRINT USING",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "TAB SPC",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "DO LOOP UNTIL",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "EXIT FOR",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "FOR NEXT STEP",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "GOSUB RETURN",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "IF block",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "IF THEN ELSE",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "ON GOTO",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "SELECT CASE",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "SELECT CASE IS",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "WHILE WEND",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "DATA READ RESTORE",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "RESET",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "OPEN PRINT# INPUT# CLOSE EOF",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "INPUT numeric",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "INPUT string",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "COERCE",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "OPS",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "POW",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "RANDOMIZE",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "ABS SGN INT FIX",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "CINT CLNG",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "+ - * \\\\ MOD ^",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "float",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "NOT AND OR XOR",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "precedence",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "= <> < > <= >=",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "CALL Strings",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "recursion",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "SUB CALL",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "TYPE field",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "Strings INPUT",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "Strings LINEINPUT",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "MID$",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "UCASE$ LCASE$",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "CHR$ ASC",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "SPACE$ STRING$",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "MID$ stmt",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "HEX$ OCT$",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "STR$ VAL",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "LEFT$ MID$ RIGHT$",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "LTRIM$ RTRIM$",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "DEFLNG",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "DEFSNG",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "BYVAL",
   "kw": false,
   "n": 1,
   "pass": 0
  },
  {
   "name": "BEEP",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "Colon edges",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "Sigils",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "DATE$ TIME$ TIMER",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "CLS",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "COLOR",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "LOCATE",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "SLEEP",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "FILEATTR",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "UNLOCK",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "LINE",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "PRESET",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "PSET",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "CIRCLE aspect ratio + PAINT span fill",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "read back with POINT — QB64-arbitrated",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "DRAW turtle",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "GET PUT sprite",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "LINE BF",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "SCREEN PSET POINT",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "INKEY$",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "REM (bare line)",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "& +",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "CVSMBF CVDMBF",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "MKSMBF MKDMBF",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "MK CVI CVL CVS CVD",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "SHELL",
   "kw": false,
   "n": 1,
   "pass": 0
  },
  {
   "name": "GFX",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "Hardware",
   "kw": false,
   "n": 1,
   "pass": 0
  },
  {
   "name": "memory features are explicitly rejected",
   "kw": false,
   "n": 1,
   "pass": 0
  },
  {
   "name": "OS clock setters are explicitly rejected",
   "kw": false,
   "n": 1,
   "pass": 0
  },
  {
   "name": "Device",
   "kw": false,
   "n": 1,
   "pass": 0
  },
  {
   "name": "debug features are explicitly rejected",
   "kw": false,
   "n": 1,
   "pass": 0
  },
  {
   "name": "ON ERROR",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "QBasic is case-insensitive: keywords",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "identifiers",
   "kw": false,
   "n": 1,
   "pass": 1
  },
  {
   "name": "and a reserved word as a record field",
   "kw": false,
   "n": 1,
   "pass": 1
  }
 ],
 "features_note": "Eksen manifest'in kendi `özellik` kolonundan jetonlanarak çıkarıldı — elle yazılmış bir liste değil. Bir satır birden çok özelliğe sayılabilir.",
 "commands": [
  "make test-corpus",
  "node tests/run_corpus.mjs",
  "python3 tools/coverage/coverage.py --lang QBasic"
 ],
 "verify": {
  "cmd": "node tests/run_corpus.mjs",
  "ok": true,
  "summary": "476 passed · 11 xfail · 6 KNOWN-WRONG · 5 skipped  (493 run)",
  "failures": {},
  "at": "2026-08-01 22:22",
  "cached_at": "2026-08-01 22:22"
 },
 "meta": {
  "commit": "73b4afe",
  "generated": "2026-08-02 02:33"
 }
}