Jump to content

The Principia Machina/TPC-PY/vectors/falcon corpus.json: Difference between revisions

From The Invariance Itself
TPC-PY source vectors/falcon_corpus.json (0.2.0), SHA-256 9cc62811d59536a7; conformed TPS 0.4.0; PROPOSED, not declared (TPC-PY 0.2.0)
m 1 revision imported
 
(No difference)

Latest revision as of 02:11, 30 September 2026

{
 "cases": [
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "text"
    },
    "value": "e\u0301"
   },
   "expected": "OK|\u00e9",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN01 text: NFD e + acute equals the precomposed letter"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "text"
    },
    "value": "  a \t\n b\r\n"
   },
   "expected": "OK|a b",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN02 text: whitespace runs collapse, ends trimmed (XML Schema collapse)"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "text"
    },
    "value": "a\u00a0b"
   },
   "expected": "OK|a\u00a0b",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN03 text: NO-BREAK SPACE is not collapsed"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "text"
    },
    "value": "\u212b"
   },
   "expected": "OK|\u00c5",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN04 text: ANGSTROM SIGN to its NFC letter"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "text"
    },
    "value": "\ufb01"
   },
   "expected": "OK|\ufb01",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN05 text: a ligature is kept (NFC, not NFKC)"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "text"
    },
    "value": "\u1100\u1161"
   },
   "expected": "OK|\uac00",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN06 text: Hangul jamo compose"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "text"
    },
    "value": "a|b\\c"
   },
   "expected": "OK|a\\|b\\\\c",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN07 text: the render escapes bar and backslash"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "text"
    },
    "value": " \t "
   },
   "expected": "OK|",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN08 text: whitespace only is empty"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "text"
    },
    "value": 5
   },
   "expected": "ERROR:text",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN09 text: a number is refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "text"
    },
    "value": "a\u000bb"
   },
   "expected": "OK|a\\x0bb",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN10 text: VT is not whitespace here; escaped in the render"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "text"
    },
    "value": "a\u0000b"
   },
   "expected": "OK|a\\x00b",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN11 text: NUL kept, escaped in the render"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "1.50"
   },
   "expected": "OK|15e-1",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN12 decimal 1.50"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "1.5e0"
   },
   "expected": "OK|15e-1",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN13 decimal 1.5e0"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "0.050"
   },
   "expected": "OK|5e-2",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN14 decimal 0.050 (zone schemas 5.6)"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "1500"
   },
   "expected": "OK|15e2",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN15 decimal 1500 (zone schemas 5.6)"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "-0"
   },
   "expected": "OK|0",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN16 decimal -0 (zone schemas 5.6)"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "2.0"
   },
   "expected": "OK|2",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN17 decimal 2.0 (zone schemas 5.6)"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "-0.00120e+0010"
   },
   "expected": "OK|-12e6",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN18 decimal -0.00120e+0010"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "0e5"
   },
   "expected": "OK|0",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN19 decimal 0e5 is zero"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": ".5"
   },
   "expected": "ERROR:decimal",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN20 decimal .5 refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "5."
   },
   "expected": "ERROR:decimal",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN21 decimal 5. refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "+5"
   },
   "expected": "ERROR:decimal",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN22 decimal +5 refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "1e12345"
   },
   "expected": "ERROR:decimal",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN23 decimal a five-digit exponent refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": 1.5
   },
   "expected": "ERROR:decimal",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN24 decimal a JSON number refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "1,5"
   },
   "expected": "ERROR:decimal",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN25 decimal a comma refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "decimal"
    },
    "value": "\u0663"
   },
   "expected": "ERROR:decimal",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN26 decimal a non-ASCII digit refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "9.810 s-2 m"
   },
   "expected": "OK|981e-2 m s-2",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN27 unitvalue: tokens in catalogue order"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "5 cm"
   },
   "expected": "OK|5 cm",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN28 unitvalue: 5 cm stays centimetres (D104.1)"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "0.05 m"
   },
   "expected": "OK|5e-2 m",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN29 unitvalue: 0.05 m"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "1 1"
   },
   "expected": "OK|1 1",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN30 unitvalue: dimensionless"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "7 m m-1"
   },
   "expected": "OK|7 1",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN31 unitvalue: exponents merge to nothing"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "3 degC"
   },
   "expected": "ERROR:unitvalue",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN32 unitvalue: degC refused (offset scale)"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "2 m/s"
   },
   "expected": "ERROR:unitvalue",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN33 unitvalue: a slash refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "2"
   },
   "expected": "ERROR:unitvalue",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN34 unitvalue: no unit"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "2  m"
   },
   "expected": "ERROR:unitvalue",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN35 unitvalue: a double space"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "1 kdB"
   },
   "expected": "ERROR:unitvalue",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN36 unitvalue: a prefixed refused symbol (kdB)"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "1 TT"
   },
   "expected": "OK|1 TT",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN37 unitvalue: TT is the teratesla"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "1 T m"
   },
   "expected": "OK|1 m T",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN38 unitvalue: T m is the tesla metre, sorted"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "1 m9999 m1"
   },
   "expected": "ERROR:unitvalue",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN39 unitvalue: a merged exponent of 10000 refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "1 F2500"
   },
   "expected": "ERROR:unitvalue",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN40 unitvalue: a DIMENSION exponent of 10000 refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "1 F2499"
   },
   "expected": "OK|1 F2499",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN41 unitvalue: DIMENSION exponents within range"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "1 kh"
   },
   "expected": "ERROR:unitvalue",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN42 unitvalue: the hour takes no prefix"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "unitvalue"
    },
    "value": "1 km m mm"
   },
   "expected": "OK|1 mm m km",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN43 unitvalue: prefixed forms sort by power"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "date"
    },
    "value": "2026-09-25"
   },
   "expected": "OK|2026-09-25",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN44 date extended"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "date"
    },
    "value": "20260925"
   },
   "expected": "OK|2026-09-25",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN45 date basic"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "date"
    },
    "value": "2024-02-29"
   },
   "expected": "OK|2024-02-29",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN46 date a leap day"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "date"
    },
    "value": "2023-02-29"
   },
   "expected": "ERROR:date",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN47 date 2023 has no 29 February"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "date"
    },
    "value": "1900-02-29"
   },
   "expected": "ERROR:date",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN48 date 1900 is not a leap year"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "date"
    },
    "value": "2000-02-29"
   },
   "expected": "OK|2000-02-29",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN49 date 2000 is a leap year"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "date"
    },
    "value": "2026-13-01"
   },
   "expected": "ERROR:date",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN50 date month 13"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "date"
    },
    "value": "2026-9-25"
   },
   "expected": "ERROR:date",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN51 date a one-digit month"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "date"
    },
    "value": "2026-09-25T00:00Z"
   },
   "expected": "ERROR:date",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN52 date with a time"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "date"
    },
    "value": "2026-W39-5"
   },
   "expected": "ERROR:date",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN53 date a week date refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "HTTP://Example.COM/a/./b/../c?Q=1#F"
   },
   "expected": "OK|http://example.com/a/c?Q=1#F",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN54 url: scheme and host lowered, dot segments removed"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://example.com:80/"
   },
   "expected": "OK|http://example.com:80/",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN55 url: a default port is kept (6.2.3 not taken)"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://a/%7euser"
   },
   "expected": "OK|http://a/~user",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN56 url: an unreserved character decoded"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://a/%2fx"
   },
   "expected": "OK|http://a/%2Fx",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN57 url: a reserved one kept, hex upper"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://a/PATH"
   },
   "expected": "OK|http://a/PATH",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN58 url: path case kept"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://a/?b=1&a=2"
   },
   "expected": "OK|http://a/?b=1&a=2",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN59 url: query order kept"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://%41b.COM/"
   },
   "expected": "OK|http://ab.com/",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN60 url: host decoded, then lowered"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "urn:a/../b"
   },
   "expected": "OK|urn:a/../b",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN61 url: a rootless path is left alone"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://a/b/c/./../../g"
   },
   "expected": "OK|http://a/g",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN62 url: RFC 3986 5.4.1 example"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://u@a@b/"
   },
   "expected": "ERROR:url",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN63 url: two at-signs refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "https://a.b/%zz"
   },
   "expected": "ERROR:url",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN64 url: a bad percent-encoding refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://a b/"
   },
   "expected": "ERROR:url",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN65 url: a space refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://\u00e9.com/"
   },
   "expected": "ERROR:url",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN66 url: a non-ASCII host refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "//a/b"
   },
   "expected": "ERROR:url",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN67 url: no scheme refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://[FE80::1]:8080/A"
   },
   "expected": "OK|http://[fe80::1]:8080/A",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN68 url: an IP literal lowered, port kept"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://a:/"
   },
   "expected": "OK|http://a:/",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN69 url: an empty port kept"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://a:8x/"
   },
   "expected": "ERROR:url",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN70 url: a bad port refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "HTTP://A/%2E%2E/b"
   },
   "expected": "OK|http://a/b",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN71 url: encoded dot segments removed"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://User@Host/"
   },
   "expected": "OK|http://User@host/",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN72 url: userinfo case kept"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "url"
    },
    "value": "http://a"
   },
   "expected": "OK|http://a",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN73 url: an empty path gains no slash"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "enum",
     "values": [
      "open",
      "closed"
     ]
    },
    "value": "open"
   },
   "expected": "OK|open",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN74 enum: a member"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "enum",
     "values": [
      "open",
      "closed"
     ]
    },
    "value": "Open"
   },
   "expected": "ERROR:enum",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN75 enum: case differs"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "enum",
     "values": [
      "open",
      "closed"
     ]
    },
    "value": 1
   },
   "expected": "ERROR:enum",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN76 enum: a number"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "boolean"
    },
    "value": true
   },
   "expected": "OK|true",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN77 boolean: true"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "boolean"
    },
    "value": "true"
   },
   "expected": "ERROR:boolean",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN78 boolean: the string true refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "boolean"
    },
    "value": 1
   },
   "expected": "ERROR:boolean",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN79 boolean: 1 refused"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "columns": [
      {
       "class": "MECHANICAL",
       "name": "a",
       "type": "text"
      }
     ],
     "key": [
      "a"
     ],
     "name": "x",
     "type": "rows"
    },
    "value": "x"
   },
   "expected": "ERROR:schema",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN80 spec: rows is not a value type"
  },
  {
   "args": {
    "spec": {
     "class": "MECHANICAL",
     "name": "x",
     "type": "number"
    },
    "value": "x"
   },
   "expected": "ERROR:schema",
   "fn": "canon",
   "hand_checked": true,
   "name": "CN81 spec: an unknown type"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": true,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": true,
      "window": 1
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": false,
      "window": 2
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T1\nassignee|a\nassignee|b\nmarks|-\nthin|false\npool|3|3",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR01 T1: two tier agents of distinct sponsors and families"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": true,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": true,
      "window": 1
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": true,
      "window": 2
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T1\nassignee|a\nassignee|c\nmarks|-\nthin|false\npool|3|3",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR02 T1: a pair of two families beats the order"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x",
      "sponsor": "S1",
      "tier": true,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x",
      "sponsor": "S2",
      "tier": true,
      "window": 1
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "y",
      "sponsor": "S3",
      "tier": true,
      "window": 2
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T1\nassignee|a\nassignee|c\nmarks|SAME-VENDOR\nthin|false\npool|3|3",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR03 T1: one family, distinct snapshots beat one snapshot"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": true,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 1
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": false,
      "window": 2
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T2\nassignee|a\nassignee|b\nmarks|-\nthin|false\npool|3|3",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR04 T2: one tier agent"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 2
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": false,
      "window": 1
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T3\nassignee|b\nassignee|c\nmarks|-\nthin|false\npool|3|3",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR05 T3: no tier agent; order by FALCON WINDOW"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": true,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S1",
      "tier": true,
      "window": 1
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S2",
      "tier": false,
      "window": 2
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T2\nassignee|a\nassignee|c\nmarks|-\nthin|false\npool|3|2",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR06 distinct sponsors before a one-sponsor tier pair (T2 over T4)"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": true,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S1",
      "tier": true,
      "window": 1
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S1",
      "tier": false,
      "window": 2
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T4\nassignee|a\nassignee|b\nmarks|SAME-SPONSOR\nthin|true\npool|3|1",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR07 T4: one sponsor, two tier agents; THIN POOL counted"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "k1",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": true,
      "window": 0
     },
     {
      "account": "k2",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "x",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S1",
      "tier": true,
      "window": 0
     },
     {
      "account": "y",
      "assigned": 0,
      "family": "V4",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x4",
      "sponsor": "S2",
      "tier": true,
      "window": 1
     }
    ],
    "n": 1,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [
      "k1",
      "k2"
     ],
     "now": 0,
     "prior": [
      "k1",
      "k2"
     ]
    }
   },
   "expected": "draw|OK|T4\nassignee|x\nmarks|SAME-SPONSOR\nthin|false\npool|2|2",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR08 T4 for a third assignee, no THIN POOL"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S1",
      "tier": false,
      "window": 1
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T5\nassignee|a\nassignee|b\nmarks|SAME-SPONSOR\nthin|true\npool|2|1",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR09 T5 under THIN POOL: one sponsor, no tier"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "k1",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "k2",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "x",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "y",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x4",
      "sponsor": "S2",
      "tier": false,
      "window": 1
     }
    ],
    "n": 1,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 1000,
     "falcon_wait": 86400,
     "kept": [
      "k1",
      "k2"
     ],
     "now": 87399,
     "prior": [
      "k1",
      "k2"
     ]
    }
   },
   "expected": "draw|WAIT\nthin|false\npool|2|2",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR10 WAIT: a third only of the kept sponsors, 1 s before FALCON WAIT"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "k1",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "k2",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "x",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "y",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x4",
      "sponsor": "S2",
      "tier": false,
      "window": 1
     }
    ],
    "n": 1,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 1000,
     "falcon_wait": 86400,
     "kept": [
      "k1",
      "k2"
     ],
     "now": 87400,
     "prior": [
      "k1",
      "k2"
     ]
    }
   },
   "expected": "draw|OK|T5\nassignee|x\nmarks|SAME-SPONSOR\nthin|true\npool|2|2",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR11 at FALCON WAIT with no distinct-sponsor choice: THIN POOL, T5"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": false,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|SHORT\nthin|true\npool|1|1",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR12 SHORT: one eligible account is never drawn alone"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": false,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": true,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": true,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": false,
      "window": 0
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|SHORT\nthin|true\npool|0|0",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR13 SHORT: standing, sandbox and cap each make an account ineligible"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 1
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": false,
      "window": 2
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": [
      "a"
     ]
    }
   },
   "expected": "draw|OK|T3\nassignee|b\nassignee|c\nmarks|-\nthin|false\npool|2|2",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR14 an account assigned before is never drawn again"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "k1",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "k2",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "x",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": false,
      "window": 0
     },
     {
      "account": "y",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x4",
      "sponsor": "S4",
      "tier": false,
      "window": 1
     }
    ],
    "n": 1,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [
      "k1",
      "k2"
     ],
     "now": 0,
     "prior": [
      "k1",
      "k2"
     ]
    }
   },
   "expected": "draw|OK|T3\nassignee|y\nmarks|-\nthin|false\npool|2|2",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR15 L2 third assignee: a third vendor family first (D149 (h))"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": true,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": true,
      "window": 1
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": true,
      "window": 2
     },
     {
      "account": "d",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x4",
      "sponsor": "S4",
      "tier": true,
      "window": 3
     }
    ],
    "n": 3,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T1\nassignee|a\nassignee|b\nassignee|c\nmarks|-\nthin|false\npool|4|4",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR16 FALCON TRIAL: three assignees"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 10,
      "family": "V1",
      "good_standing": true,
      "ontime": 5,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 4,
      "family": "V2",
      "good_standing": true,
      "ontime": 4,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "c",
      "assigned": 3,
      "family": "V3",
      "good_standing": true,
      "ontime": 2,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": false,
      "window": 0
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T3\nassignee|b\nassignee|c\nmarks|-\nthin|false\npool|3|3",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR17 order by on-time share, exact (1 > 2/3 > 1/2)"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 4,
      "family": "V2",
      "good_standing": true,
      "ontime": 3,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": false,
      "window": 0
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T3\nassignee|a\nassignee|c\nmarks|-\nthin|false\npool|3|3",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR18 no assignment counts as share 1; the tie goes to h(r, account)"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "p",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "q",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "r",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": false,
      "window": 0
     },
     {
      "account": "s",
      "assigned": 0,
      "family": "V4",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x4",
      "sponsor": "S4",
      "tier": false,
      "window": 0
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T3\nassignee|p\nassignee|s\nmarks|-\nthin|false\npool|4|4",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR33 equal on window and share: h(r, account) orders, not the name"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x",
      "sponsor": "S2",
      "tier": false,
      "window": 1
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T3\nassignee|a\nassignee|b\nmarks|SAME-VENDOR,SAME-MODEL\nthin|false\npool|2|2",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR19 the SAME-VENDOR and SAME-MODEL marks"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "Prime AI",
      "assigned": 0,
      "family": "vendor-1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "s1",
      "sponsor": "BFP_Rauch",
      "tier": true,
      "window": 1
     },
     {
      "account": "DeltaS Zero",
      "assigned": 0,
      "family": "vendor-1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "s2",
      "sponsor": "Alt BFP",
      "tier": false,
      "window": 0
     },
     {
      "account": "Phoenix 480",
      "assigned": 0,
      "family": "vendor-1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": true,
      "snapshot": "s1",
      "sponsor": "PHX_480",
      "tier": false,
      "window": 0
     },
     {
      "account": "CH7 AZ",
      "assigned": 0,
      "family": "vendor-2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": true,
      "snapshot": "s3",
      "sponsor": "PHX_480",
      "tier": false,
      "window": 0
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "draw|OK|T2\nassignee|DeltaS Zero\nassignee|Prime AI\nmarks|SAME-VENDOR\nthin|false\npool|2|2",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR20 today's four accounts: the sandbox pair is never drawn"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "k1",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": true,
      "window": 0
     },
     {
      "account": "k2",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "x",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": false,
      "window": 0
     },
     {
      "account": "y",
      "assigned": 0,
      "family": "V4",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x4",
      "sponsor": "S4",
      "tier": true,
      "window": 1
     }
    ],
    "n": 1,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [
      "k1",
      "k2"
     ],
     "now": 0,
     "prior": [
      "k1",
      "k2"
     ]
    }
   },
   "expected": "draw|OK|T1\nassignee|y\nmarks|-\nthin|false\npool|2|2",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR21 a kept tier account makes a third T2; a tier third is T1 and wins"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "k1",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "k2",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "x",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": false,
      "window": 0
     }
    ],
    "n": 1,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [
      "k1",
      "k2"
     ],
     "now": 0,
     "prior": [
      "k1",
      "k2"
     ]
    }
   },
   "expected": "draw|OK|T3\nassignee|x\nmarks|-\nthin|true\npool|1|1",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR22 THIN POOL counted though a fresh sponsor exists (one eligible)"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "k1",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "m",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "a",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x4",
      "sponsor": "S3",
      "tier": false,
      "window": 1
     }
    ],
    "n": 1,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [
      "k1"
     ],
     "now": 0,
     "prior": [
      "k1",
      "m"
     ]
    }
   },
   "expected": "draw|OK|T3\nassignee|b\nmarks|-\nthin|false\npool|2|2",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR23 a reissue after MALFORMED: one kept, the malformed one excluded"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S1",
      "tier": false,
      "window": 1
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S1",
      "tier": false,
      "window": 2
     },
     {
      "account": "d",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x4",
      "sponsor": "S2",
      "tier": false,
      "window": 3
     }
    ],
    "n": 3,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 50,
     "kept": [],
     "now": 50,
     "prior": []
    }
   },
   "expected": "draw|OK|T5\nassignee|b\nassignee|c\nassignee|d\nmarks|SAME-SPONSOR\nthin|true\npool|4|2",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR34 a trial of three after FALCON WAIT: fewest shared sponsors first, then families"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S1",
      "tier": false,
      "window": 1
     },
     {
      "account": "c",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S1",
      "tier": false,
      "window": 2
     },
     {
      "account": "d",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x4",
      "sponsor": "S2",
      "tier": false,
      "window": 3
     }
    ],
    "n": 3,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 50,
     "kept": [],
     "now": 49,
     "prior": []
    }
   },
   "expected": "draw|WAIT\nthin|false\npool|4|2",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR35 the same pool before FALCON WAIT: WAIT (no T3 set of three)"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     }
    ],
    "n": 0,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "ERROR:n",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR24 n = 0 refused"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     }
    ],
    "n": 1,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "ERROR:n",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR25 one assignee with none kept refused (the floor of two)"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     }
    ],
    "n": 4,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "ERROR:n",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR26 n = 4 refused"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     }
    ],
    "n": 2,
    "r": "00112233445566778899AABBCCDDEEFF",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "ERROR:r",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR27 r in upper case refused"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     },
     {
      "account": "a",
      "assigned": 0,
      "family": "V3",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x3",
      "sponsor": "S3",
      "tier": false,
      "window": 0
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "ERROR:candidates",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR28 a duplicate account refused"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 1,
      "family": "V1",
      "good_standing": true,
      "ontime": 2,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "ERROR:candidates",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR29 ontime above assigned refused"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     }
    ],
    "n": 1,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [
      "z"
     ],
     "now": 0,
     "prior": [
      "z"
     ]
    }
   },
   "expected": "ERROR:state",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR30 a kept account missing from candidates refused"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": false,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 10,
     "falcon_wait": 86400,
     "kept": [],
     "now": 9,
     "prior": []
    }
   },
   "expected": "ERROR:state",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR31 now before drafted refused"
  },
  {
   "args": {
    "candidates": [
     {
      "account": "a",
      "assigned": 0,
      "family": "V1",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x1",
      "sponsor": "S1",
      "tier": 1,
      "window": 0
     },
     {
      "account": "b",
      "assigned": 0,
      "family": "V2",
      "good_standing": true,
      "ontime": 0,
      "over_cap": false,
      "sandbox": false,
      "snapshot": "x2",
      "sponsor": "S2",
      "tier": false,
      "window": 0
     }
    ],
    "n": 2,
    "r": "00112233445566778899aabbccddeeff",
    "state": {
     "drafted": 0,
     "falcon_wait": 86400,
     "kept": [],
     "now": 0,
     "prior": []
    }
   },
   "expected": "ERROR:candidates",
   "fn": "draw",
   "hand_checked": true,
   "name": "DR32 a tier flag given as the integer 1 refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "HTTP://X.org/a/../b",
       "model": "Claude  Opus",
       "released": "20260925",
       "score": "1.50"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|model|AGREED|Claude Opus|2\nitem|released|AGREED|2026-09-25|2\nitem|score|AGREED|15e-1|2\nitem|link|AGREED|http://x.org/b|2\nsummary|agreed=4|quote=0|majority=0|split=0|unresolved=0|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC01 L0: every field AGREED after canonical form"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.6"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {
      "score": "PASS"
     },
     {
      "score": "FAIL"
     }
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|model|AGREED|Claude Opus|2\nitem|released|AGREED|2026-09-25|2\nitem|score|QUOTE|15e-1|2\nvalue|score|0|15e-1|PASS\nvalue|score|1|16e-1|FAIL\nitem|link|AGREED|http://x.org/b|2\nsummary|agreed=3|quote=1|majority=0|split=0|unresolved=0|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC02 L1: exactly one PASS settles a quoted field"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.6"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {
      "score": "PASS"
     },
     {
      "score": "PASS"
     }
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|model|AGREED|Claude Opus|2\nitem|released|AGREED|2026-09-25|2\nitem|score|SPLIT|-|2\nvalue|score|0|15e-1|PASS\nvalue|score|1|16e-1|PASS\nitem|link|AGREED|http://x.org/b|2\nsummary|agreed=3|quote=0|majority=0|split=1|unresolved=0|inspection=0|single=0\ndisposition|THIRD|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC03 L1: two PASSes settle nothing; two outputs wait for a third"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.6"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {
      "score": "UNKNOWN"
     },
     {
      "score": "PASS"
     }
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|model|AGREED|Claude Opus|2\nitem|released|AGREED|2026-09-25|2\nitem|score|QUOTE|16e-1|2\nvalue|score|0|15e-1|UNKNOWN\nvalue|score|1|16e-1|PASS\nitem|link|AGREED|http://x.org/b|2\nsummary|agreed=3|quote=1|majority=0|split=0|unresolved=0|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC04 L1: PASS against UNKNOWN (a host off the list) settles"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus 5",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|model|SPLIT|-|2\nvalue|model|0|Claude Opus|-\nvalue|model|1|Claude Opus 5|-\nitem|released|AGREED|2026-09-25|2\nitem|score|AGREED|15e-1|2\nitem|link|AGREED|http://x.org/b|2\nsummary|agreed=3|quote=0|majority=0|split=1|unresolved=0|inspection=0|single=0\ndisposition|THIRD|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC05 an unquoted field SPLIT with two outputs: THIRD"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "X",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "X",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "c",
      "result": {
       "link": "http://x.org/b",
       "model": "Y",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\noutput|2|c|OK|iv=0\nitem|model|MAJORITY|X|2/3\nvalue|model|0|X|-\nvalue|model|1|X|-\nvalue|model|2|Y|-\nitem|released|AGREED|2026-09-25|3\nitem|score|AGREED|15e-1|3\nitem|link|AGREED|http://x.org/b|3\nsummary|agreed=3|quote=0|majority=1|split=0|unresolved=0|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC06 three outputs, two of three: MAJORITY"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "X",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Y",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "c",
      "result": {
       "link": "http://x.org/b",
       "model": "Z",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\noutput|2|c|OK|iv=0\nitem|model|UNRESOLVED|-|3\nvalue|model|0|X|-\nvalue|model|1|Y|-\nvalue|model|2|Z|-\nitem|released|AGREED|2026-09-25|3\nitem|score|AGREED|15e-1|3\nitem|link|AGREED|http://x.org/b|3\nsummary|agreed=3|quote=0|majority=0|split=0|unresolved=1|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC07 three outputs, 1-1-1: UNRESOLVED inside the approval (D150 (f))"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "c",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.6"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {
      "score": "FAIL"
     },
     {
      "score": "FAIL"
     },
     {
      "score": "PASS"
     }
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\noutput|2|c|OK|iv=0\nitem|model|AGREED|Claude Opus|3\nitem|released|AGREED|2026-09-25|3\nitem|score|QUOTE|16e-1|3\nvalue|score|0|15e-1|FAIL\nvalue|score|1|15e-1|FAIL\nvalue|score|2|16e-1|PASS\nitem|link|AGREED|http://x.org/b|3\nsummary|agreed=3|quote=1|majority=0|split=0|unresolved=0|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC08 the ladder tries L1 before the majority: the lone PASS wins"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": null,
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|MALFORMED|refusal\ndisposition|REISSUE|1",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC09 MALFORMED, a refusal: REISSUE, nothing compared"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "note": "x",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|MALFORMED|shape\noutput|1|b|OK|iv=0\ndisposition|REISSUE|0",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC10 MALFORMED, shape: an extra key"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": 1.5
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|MALFORMED|score\ndisposition|REISSUE|1",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC11 MALFORMED, a field: a decimal given as a JSON number"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": null,
      "status": "OVERDUE"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OVERDUE\ndisposition|REISSUE|1",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC12 OVERDUE: reissued"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "IV": [
        "text addressed to a model"
       ],
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=1\noutput|1|b|OK|iv=0\nitem|model|AGREED|Claude Opus|2\nitem|released|AGREED|2026-09-25|2\nitem|score|AGREED|15e-1|2\nitem|link|AGREED|http://x.org/b|2\nsummary|agreed=4|quote=0|majority=0|split=0|unresolved=0|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC13 IV reports are counted and never compared"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "page": "Hub",
       "prose": "Alpha  text"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "page": "Hub",
       "prose": "Beta text"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "page",
       "type": "text"
      },
      {
       "class": "INSPECTION",
       "name": "prose",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|page|AGREED|Hub|2\nitem|prose|INSPECTION|-|2\nvalue|prose|0|Alpha text|-\nvalue|prose|1|Beta text|-\nsummary|agreed=1|quote=0|majority=0|split=0|unresolved=0|inspection=1|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC14 INSPECTION prose is never matched and asks no third (PATCH)"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "verdict": "OK"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "verdict": "STALE"
      },
      "status": "RETURNED"
     },
     {
      "account": "c",
      "result": {
       "verdict": "WRONG"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {},
     {}
    ],
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "verdict",
       "type": "enum",
       "values": [
        "OK",
        "STALE",
        "WRONG"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\noutput|2|c|OK|iv=0\nitem|verdict|UNRESOLVED|-|3\nvalue|verdict|0|OK|-\nvalue|verdict|1|STALE|-\nvalue|verdict|2|WRONG|-\nsummary|agreed=0|quote=0|majority=0|split=0|unresolved=1|inspection=0|single=0\ndisposition|REPORTED|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC15 FINDINGS with an UNRESOLVED field is REPORTED"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        },
        {
         "name": "hle",
         "score": "2.0",
         "url": "http://a/h"
        }
       ]
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "bench": [
        {
         "name": "hle",
         "score": "2.00",
         "url": "HTTP://A/h"
        },
        {
         "name": "gpqa",
         "score": "1",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "name",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        }
       ],
       "key": [
        "name"
       ],
       "name": "bench",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|bench[3:hle].score|AGREED|2|2\nitem|bench[3:hle].url|AGREED|http://a/h|2\nitem|bench[4:gpqa].score|AGREED|1|2\nitem|bench[4:gpqa].url|AGREED|http://a/g|2\nsummary|agreed=4|quote=0|majority=0|split=0|unresolved=0|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC16 rows: keyed rows compare as sets, in any order"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        },
        {
         "name": "hle",
         "score": "2.0",
         "url": "http://a/h"
        },
        {
         "name": "mmlu",
         "score": "3",
         "url": "http://a/m"
        }
       ]
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "bench": [
        {
         "name": "hle",
         "score": "2.00",
         "url": "HTTP://A/h"
        },
        {
         "name": "gpqa",
         "score": "1",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "name",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        }
       ],
       "key": [
        "name"
       ],
       "name": "bench",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|bench[3:hle].score|AGREED|2|2\nitem|bench[3:hle].url|AGREED|http://a/h|2\nitem|bench[4:gpqa].score|AGREED|1|2\nitem|bench[4:gpqa].url|AGREED|http://a/g|2\nitem|bench[4:mmlu]|SINGLE|-|0\nsummary|agreed=4|quote=0|majority=0|split=0|unresolved=0|inspection=0|single=1\ndisposition|NARROW|single=narrow",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC17 rows: a row one output carries is SINGLE: NARROW, nothing written"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        },
        {
         "name": "hle",
         "score": "2.0",
         "url": "http://a/h"
        },
        {
         "name": "mmlu",
         "score": "3",
         "url": "http://a/m"
        }
       ]
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "bench": [
        {
         "name": "hle",
         "score": "2.00",
         "url": "HTTP://A/h"
        },
        {
         "name": "gpqa",
         "score": "1",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "name",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        }
       ],
       "key": [
        "name"
       ],
       "name": "bench",
       "type": "rows"
      }
     ],
     "narrow": true
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|bench[3:hle].score|AGREED|2|2\nitem|bench[3:hle].url|AGREED|http://a/h|2\nitem|bench[4:gpqa].score|AGREED|1|2\nitem|bench[4:gpqa].url|AGREED|http://a/g|2\nitem|bench[4:mmlu]|SINGLE|-|0\nsummary|agreed=4|quote=0|majority=0|split=0|unresolved=0|inspection=0|single=1\ndisposition|AWAITING APPROVAL|single=mark",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC18 rows: in the narrower falcon a SINGLE row is marked"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        },
        {
         "name": "hle",
         "score": "2.0",
         "url": "http://a/h"
        },
        {
         "name": "mmlu",
         "score": "3",
         "url": "http://a/m"
        }
       ]
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "bench": [
        {
         "name": "hle",
         "score": "2.00",
         "url": "HTTP://A/h"
        },
        {
         "name": "gpqa",
         "score": "1.1",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "name",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        }
       ],
       "key": [
        "name"
       ],
       "name": "bench",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|bench[3:hle].score|AGREED|2|2\nitem|bench[3:hle].url|AGREED|http://a/h|2\nitem|bench[4:gpqa].score|SPLIT|-|2\nvalue|bench[4:gpqa].score|0|1|UNKNOWN\nvalue|bench[4:gpqa].score|1|11e-1|UNKNOWN\nitem|bench[4:gpqa].url|AGREED|http://a/g|2\nitem|bench[4:mmlu]|SINGLE|-|0\nsummary|agreed=3|quote=0|majority=0|split=1|unresolved=0|inspection=0|single=1\ndisposition|THIRD|single=wait",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC19 rows: SINGLE waits while a column is SPLIT (THIRD)"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        },
        {
         "name": "hle",
         "score": "2.0",
         "url": "http://a/h"
        }
       ]
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "bench": [
        {
         "name": "hle",
         "score": "3.0",
         "url": "HTTP://A/h"
        },
        {
         "name": "gpqa",
         "score": "1",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     },
     {
      "account": "c",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "name",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        }
       ],
       "key": [
        "name"
       ],
       "name": "bench",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\noutput|2|c|OK|iv=0\nitem|bench[3:hle].score|UNRESOLVED|-|2\nvalue|bench[3:hle].score|0|2|UNKNOWN\nvalue|bench[3:hle].score|1|3|UNKNOWN\nitem|bench[3:hle].url|AGREED|http://a/h|2\nitem|bench[4:gpqa].score|AGREED|1|3\nitem|bench[4:gpqa].url|AGREED|http://a/g|3\nsummary|agreed=3|quote=0|majority=0|split=0|unresolved=1|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC20 rows: a row two of three carry, split, is UNRESOLVED"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        },
        {
         "name": "gpqa",
         "score": "1",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "name",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        }
       ],
       "key": [
        "name"
       ],
       "name": "bench",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|MALFORMED|bench\noutput|1|b|OK|iv=0\ndisposition|REISSUE|0",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC21 rows: one key twice in one output is MALFORMED"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "verdict": "OK"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "verdict": "ok"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "verdict",
       "type": "enum",
       "values": [
        "OK",
        "STALE",
        "WRONG"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|MALFORMED|verdict\ndisposition|REISSUE|1",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC22 an enum value outside the declared set is MALFORMED"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "g": "9.81 m s-2",
       "len": "5 cm"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "g": "9.810 s-2 m",
       "len": "0.05 m"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "g",
       "type": "unitvalue"
      },
      {
       "class": "MECHANICAL",
       "name": "len",
       "type": "unitvalue"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|g|AGREED|981e-2 m s-2|2\nitem|len|SPLIT|-|2\nvalue|len|0|5 cm|-\nvalue|len|1|5e-2 m|-\nsummary|agreed=1|quote=0|majority=0|split=1|unresolved=0|inspection=0|single=0\ndisposition|THIRD|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC23 unitvalue: spellings of one unit agree; cm against m is SPLIT"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://a/PATH",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://a/path",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|model|AGREED|Claude Opus|2\nitem|released|AGREED|2026-09-25|2\nitem|score|AGREED|15e-1|2\nitem|link|SPLIT|-|2\nvalue|link|0|http://a/PATH|-\nvalue|link|1|http://a/path|-\nsummary|agreed=3|quote=0|majority=0|split=1|unresolved=0|inspection=0|single=0\ndisposition|THIRD|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC24 url: path case is not merged"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "flag": true,
       "t1": "e\u0301",
       "t2": "a b"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "flag": true,
       "t1": "\u00e9",
       "t2": "a\u00a0b"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "t1",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "t2",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "flag",
       "type": "boolean"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|t1|AGREED|\u00e9|2\nitem|t2|SPLIT|-|2\nvalue|t2|0|a b|-\nvalue|t2|1|a\u00a0b|-\nitem|flag|AGREED|true|2\nsummary|agreed=2|quote=0|majority=0|split=1|unresolved=0|inspection=0|single=0\ndisposition|THIRD|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC25 text: composed and decomposed agree; NO-BREAK SPACE does not"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {},
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": [],
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|MALFORMED|shape\noutput|1|b|MALFORMED|shape\ndisposition|REISSUE|0,1",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC26 an empty object and a list are both shape"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        },
        {
         "name": "hle",
         "score": "2.0",
         "url": "http://a/h"
        }
       ]
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "bench": [
        {
         "name": "hle",
         "score": "2.00",
         "url": "HTTP://A/h"
        },
        {
         "name": "gpqa",
         "score": "1.1",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {
      "bench[4:gpqa].score": "PASS"
     }
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "name",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        }
       ],
       "key": [
        "name"
       ],
       "name": "bench",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|bench[3:hle].score|AGREED|2|2\nitem|bench[3:hle].url|AGREED|http://a/h|2\nitem|bench[4:gpqa].score|QUOTE|11e-1|2\nvalue|bench[4:gpqa].score|0|1|UNKNOWN\nvalue|bench[4:gpqa].score|1|11e-1|PASS\nitem|bench[4:gpqa].url|AGREED|http://a/g|2\nsummary|agreed=3|quote=1|majority=0|split=0|unresolved=0|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC27 a quoted row column settles at L1 by its item id"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:outputs",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC28 one output refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:outputs",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC29 duplicate accounts refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:quotes",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC30 quotes not parallel to outputs refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {
      "score": "MAYBE"
     },
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:quotes",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC31 a quote outcome MAYBE refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "IV",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC32 a field named IV refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "INSPECTION",
         "name": "k",
         "type": "text"
        }
       ],
       "key": [
        "k"
       ],
       "name": "r",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC33 a key column of class INSPECTION refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "OVERDUE"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:outputs",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC34 OVERDUE carrying a result refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "REPORT",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC35 an unknown kind class refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.5"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "link": "http://x.org/b",
       "model": "Claude Opus",
       "released": "2026-09-25",
       "score": "1.6"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {
      "score": "PASS"
     },
     {
      "score": "FAIL"
     }
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "model",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "released",
       "type": "date"
      },
      {
       "affix": "%",
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "scale": "million",
       "type": "decimal"
      },
      {
       "class": "MECHANICAL",
       "name": "link",
       "type": "url"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|model|AGREED|Claude Opus|2\nitem|released|AGREED|2026-09-25|2\nitem|score|QUOTE|15e-1|2\nvalue|score|0|15e-1|PASS\nvalue|score|1|16e-1|FAIL\nitem|link|AGREED|http://x.org/b|2\nsummary|agreed=3|quote=1|majority=0|split=0|unresolved=0|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC36 a quoted decimal field declaring QUOTE AFFIX and QUOTE SCALE"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "mass": "5 kg"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "mass": "5.0 kg"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "affix": "per cent",
       "class": "MECHANICAL",
       "name": "mass",
       "quote": true,
       "scale": "bn",
       "type": "unitvalue"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|mass|AGREED|5 kg|2\nsummary|agreed=1|quote=0|majority=0|split=0|unresolved=0|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC37 a quoted unitvalue field declaring a word affix and a scale"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        },
        {
         "name": "hle",
         "score": "2.0",
         "url": "http://a/h"
        }
       ]
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "bench": [
        {
         "name": "hle",
         "score": "2.00",
         "url": "HTTP://A/h"
        },
        {
         "name": "gpqa",
         "score": "1",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "name",
         "type": "text"
        },
        {
         "affix": "%",
         "class": "MECHANICAL",
         "name": "score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        }
       ],
       "key": [
        "name"
       ],
       "name": "bench",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|bench[3:hle].score|AGREED|2|2\nitem|bench[3:hle].url|AGREED|http://a/h|2\nitem|bench[4:gpqa].score|AGREED|1|2\nitem|bench[4:gpqa].url|AGREED|http://a/g|2\nsummary|agreed=4|quote=0|majority=0|split=0|unresolved=0|inspection=0|single=0\ndisposition|AWAITING APPROVAL|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC38 QUOTE AFFIX on a quoted rows column"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "affix": "%",
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC39 QUOTE AFFIX on a text field refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "score",
       "scale": "million",
       "type": "decimal"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC40 QUOTE SCALE without quote refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": false,
       "scale": "million",
       "type": "decimal"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC41 QUOTE SCALE with quote false refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "scale": "lots",
       "type": "decimal"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC42 an unknown QUOTE SCALE refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "affix": "ab",
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC43 a QUOTE AFFIX of letters refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "affix": null,
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC44 a null QUOTE AFFIX refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "score": "1"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "scale": "k",
       "type": "enum",
       "values": [
        "a"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC45 QUOTE SCALE on an enum field refused"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        },
        {
         "name": "hle",
         "score": "2.0",
         "url": "http://a/h"
        },
        {
         "name": "mmlu",
         "score": "3",
         "url": "http://a/m"
        }
       ]
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "bench": [
        {
         "name": "hle",
         "score": "2.00",
         "url": "HTTP://A/h"
        },
        {
         "name": "gpqa",
         "score": "1",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "FINDINGS",
     "confidential": true,
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "name",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        }
       ],
       "key": [
        "name"
       ],
       "name": "bench",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|bench[3:hle].score|AGREED|2|2\nitem|bench[3:hle].url|AGREED|http://a/h|2\nitem|bench[4:gpqa].score|AGREED|1|2\nitem|bench[4:gpqa].url|AGREED|http://a/g|2\nitem|bench[4:mmlu]|SINGLE|-|0\nsummary|agreed=4|quote=0|majority=0|split=0|unresolved=0|inspection=0|single=1\ndisposition|PRIVATE REPORT|single=mark",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC46 a CONFIDENTIAL kind's SINGLE row goes to the PRIVATE REPORT marked"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        },
        {
         "name": "hle",
         "score": "2.0",
         "url": "http://a/h"
        },
        {
         "name": "mmlu",
         "score": "3",
         "url": "http://a/m"
        }
       ]
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "bench": [
        {
         "name": "hle",
         "score": "2.00",
         "url": "HTTP://A/h"
        },
        {
         "name": "gpqa",
         "score": "1",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "confidential": true,
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "name",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        }
       ],
       "key": [
        "name"
       ],
       "name": "bench",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|bench[3:hle].score|AGREED|2|2\nitem|bench[3:hle].url|AGREED|http://a/h|2\nitem|bench[4:gpqa].score|AGREED|1|2\nitem|bench[4:gpqa].url|AGREED|http://a/g|2\nitem|bench[4:mmlu]|SINGLE|-|0\nsummary|agreed=4|quote=0|majority=0|split=0|unresolved=0|inspection=0|single=1\ndisposition|AWAITING APPROVAL|single=mark",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC47 a CONFIDENTIAL SURVEY kind's SINGLE row is marked, not reissued"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "bench": [
        {
         "name": "gpqa",
         "score": "1.0",
         "url": "http://a/g"
        },
        {
         "name": "hle",
         "score": "2.0",
         "url": "http://a/h"
        },
        {
         "name": "mmlu",
         "score": "3",
         "url": "http://a/m"
        }
       ]
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "bench": [
        {
         "name": "hle",
         "score": "2.00",
         "url": "HTTP://A/h"
        },
        {
         "name": "gpqa",
         "score": "1",
         "url": "http://a/g"
        }
       ]
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "SURVEY",
     "confidential": false,
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "name",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        }
       ],
       "key": [
        "name"
       ],
       "name": "bench",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|bench[3:hle].score|AGREED|2|2\nitem|bench[3:hle].url|AGREED|http://a/h|2\nitem|bench[4:gpqa].score|AGREED|1|2\nitem|bench[4:gpqa].url|AGREED|http://a/g|2\nitem|bench[4:mmlu]|SINGLE|-|0\nsummary|agreed=4|quote=0|majority=0|split=0|unresolved=0|inspection=0|single=1\ndisposition|NARROW|single=narrow",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC48 confidential false is the default (NARROW)"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "verdict": "OK"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "verdict": "OK"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "FINDINGS",
     "confidential": true,
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "verdict",
       "type": "enum",
       "values": [
        "OK",
        "STALE",
        "WRONG"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|verdict|AGREED|OK|2\nsummary|agreed=1|quote=0|majority=0|split=0|unresolved=0|inspection=0|single=0\ndisposition|PRIVATE REPORT|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC49 a CONFIDENTIAL FINDINGS kind without SINGLE rows"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "verdict": "OK"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "verdict": "STALE"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "FINDINGS",
     "confidential": true,
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "verdict",
       "type": "enum",
       "values": [
        "OK",
        "STALE",
        "WRONG"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "output|0|a|OK|iv=0\noutput|1|b|OK|iv=0\nitem|verdict|SPLIT|-|2\nvalue|verdict|0|OK|-\nvalue|verdict|1|STALE|-\nsummary|agreed=0|quote=0|majority=0|split=1|unresolved=0|inspection=0|single=0\ndisposition|THIRD|single=-",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC50 a CONFIDENTIAL kind still waits for a third (THIRD)"
  },
  {
   "args": {
    "outputs": [
     {
      "account": "a",
      "result": {
       "verdict": "OK"
      },
      "status": "RETURNED"
     },
     {
      "account": "b",
      "result": {
       "verdict": "OK"
      },
      "status": "RETURNED"
     }
    ],
    "quotes": [
     {},
     {}
    ],
    "schema": {
     "class": "FINDINGS",
     "confidential": "yes",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "verdict",
       "type": "enum",
       "values": [
        "OK",
        "STALE",
        "WRONG"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "reconcile",
   "hand_checked": true,
   "name": "RC51 confidential given as a string refused"
  },
  {
   "args": {
    "as_of": 1805760000,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "EVALUATED",
      1790553600
     ],
     [
      "EVALUATED",
      1791158400
     ],
     [
      "EVALUATED",
      1791763200
     ],
     [
      "EVALUATED",
      1792368000
     ],
     [
      "EVALUATED",
      1792972800
     ],
     [
      "EVALUATED",
      1793577600
     ],
     [
      "EVALUATED",
      1794182400
     ],
     [
      "EVALUATED",
      1794787200
     ],
     [
      "EVALUATED",
      1795392000
     ],
     [
      "EVALUATED",
      1795996800
     ],
     [
      "EVALUATED",
      1796601600
     ],
     [
      "EVALUATED",
      1797206400
     ],
     [
      "EVALUATED",
      1797811200
     ],
     [
      "EVALUATED",
      1798416000
     ],
     [
      "EVALUATED",
      1799020800
     ],
     [
      "EVALUATED",
      1799625600
     ],
     [
      "EVALUATED",
      1800230400
     ],
     [
      "EVALUATED",
      1800835200
     ],
     [
      "EVALUATED",
      1801440000
     ],
     [
      "EVALUATED",
      1802044800
     ],
     [
      "EVALUATED",
      1802649600
     ],
     [
      "EVALUATED",
      1803254400
     ],
     [
      "EVALUATED",
      1803859200
     ],
     [
      "EVALUATED",
      1804464000
     ],
     [
      "EVALUATED",
      1805068800
     ],
     [
      "EVALUATED",
      1805673600
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|true\ncounts|1|1|0|1789948800\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V01 the user's example: one agent, one UWC, one block, then six months away with weekly evaluations; registration is not counted [set A]"
  },
  {
   "args": {
    "as_of": 1790121600,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ],
     [
      "LANDED",
      1789948980,
      "agent1"
     ],
     [
      "LANDED",
      1789949040,
      "agent1"
     ],
     [
      "LANDED",
      1789949100,
      "agent1"
     ],
     [
      "LANDED",
      1789949160,
      "agent1"
     ],
     [
      "LANDED",
      1789949220,
      "agent1"
     ],
     [
      "LANDED",
      1789949280,
      "agent1"
     ],
     [
      "LANDED",
      1789949340,
      "agent1"
     ],
     [
      "LANDED",
      1789949400,
      "agent1"
     ],
     [
      "LANDED",
      1789949460,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|12|1|660|1789949460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V02 a burst: 12 blocks in one day [set A]"
  },
  {
   "args": {
    "as_of": 1792713600,
    "events": [
     [
      "LANDED",
      1792540800,
      "agent1"
     ],
     [
      "LANDED",
      1792540860,
      "agent1"
     ],
     [
      "LANDED",
      1792540920,
      "agent1"
     ],
     [
      "LANDED",
      1792540980,
      "agent1"
     ],
     [
      "LANDED",
      1792541040,
      "agent1"
     ],
     [
      "LANDED",
      1792627200,
      "agent1"
     ],
     [
      "LANDED",
      1792627260,
      "agent1"
     ],
     [
      "LANDED",
      1792627320,
      "agent1"
     ],
     [
      "LANDED",
      1792627380,
      "agent1"
     ],
     [
      "LANDED",
      1792627440,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|2|86640|1792627440\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V03 a sleeper: nothing for 30 days, then 10 blocks over two days [set A]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|SERIOUS\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|1791158460|10|5|1209660",
   "fn": "stage",
   "hand_checked": true,
   "name": "V04 steady: 10 blocks on 5 dates over 14 days [set A]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "SUSPENDED",
      1790812800,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V05 as V04, an agent SUSPENDED from day 10 (B graduated on day 9 and keeps it: one-way) [set A]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "BLOCKED",
      1790035200
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V06 as V04, the sponsor BLOCKED from day 1 [set A]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "VIOLATION",
      1790035200,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V07 as V04, a confirmed VIOLATION on day 1 [set A]"
  },
  {
   "args": {
    "as_of": 1790640000,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|5|3|604800|1790553600\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V08 5 blocks on 3 dates over 7 days [set A]"
  },
  {
   "args": {
    "as_of": 1799798400,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|SERIOUS\ndormant|true\ncounts|10|5|1209660|1791158460\ngraduated|1791158460|10|5|1209660",
   "fn": "stage",
   "hand_checked": true,
   "name": "V09 V04, then 100 days without a block: DORMANT lowers nothing [set A]"
  },
  {
   "args": {
    "as_of": 1789948800,
    "events": [],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|NEW\ndormant|false\ncounts|0|0|0|-\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V10 no block yet [set A]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791157536,
      "agent1"
     ],
     [
      "LANDED",
      1791157596,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1208796|1791157596\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V11 V04 with its span 13.99 days [set A]"
  },
  {
   "args": {
    "as_of": 1805760000,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "EVALUATED",
      1790553600
     ],
     [
      "EVALUATED",
      1791158400
     ],
     [
      "EVALUATED",
      1791763200
     ],
     [
      "EVALUATED",
      1792368000
     ],
     [
      "EVALUATED",
      1792972800
     ],
     [
      "EVALUATED",
      1793577600
     ],
     [
      "EVALUATED",
      1794182400
     ],
     [
      "EVALUATED",
      1794787200
     ],
     [
      "EVALUATED",
      1795392000
     ],
     [
      "EVALUATED",
      1795996800
     ],
     [
      "EVALUATED",
      1796601600
     ],
     [
      "EVALUATED",
      1797206400
     ],
     [
      "EVALUATED",
      1797811200
     ],
     [
      "EVALUATED",
      1798416000
     ],
     [
      "EVALUATED",
      1799020800
     ],
     [
      "EVALUATED",
      1799625600
     ],
     [
      "EVALUATED",
      1800230400
     ],
     [
      "EVALUATED",
      1800835200
     ],
     [
      "EVALUATED",
      1801440000
     ],
     [
      "EVALUATED",
      1802044800
     ],
     [
      "EVALUATED",
      1802649600
     ],
     [
      "EVALUATED",
      1803254400
     ],
     [
      "EVALUATED",
      1803859200
     ],
     [
      "EVALUATED",
      1804464000
     ],
     [
      "EVALUATED",
      1805068800
     ],
     [
      "EVALUATED",
      1805673600
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|WORKING\ndormant|true\ncounts|1|1|0|1789948800\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V01 the user's example: one agent, one UWC, one block, then six months away with weekly evaluations; registration is not counted [set B]"
  },
  {
   "args": {
    "as_of": 1790121600,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ],
     [
      "LANDED",
      1789948980,
      "agent1"
     ],
     [
      "LANDED",
      1789949040,
      "agent1"
     ],
     [
      "LANDED",
      1789949100,
      "agent1"
     ],
     [
      "LANDED",
      1789949160,
      "agent1"
     ],
     [
      "LANDED",
      1789949220,
      "agent1"
     ],
     [
      "LANDED",
      1789949280,
      "agent1"
     ],
     [
      "LANDED",
      1789949340,
      "agent1"
     ],
     [
      "LANDED",
      1789949400,
      "agent1"
     ],
     [
      "LANDED",
      1789949460,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|12|1|660|1789949460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V02 a burst: 12 blocks in one day [set B]"
  },
  {
   "args": {
    "as_of": 1792713600,
    "events": [
     [
      "LANDED",
      1792540800,
      "agent1"
     ],
     [
      "LANDED",
      1792540860,
      "agent1"
     ],
     [
      "LANDED",
      1792540920,
      "agent1"
     ],
     [
      "LANDED",
      1792540980,
      "agent1"
     ],
     [
      "LANDED",
      1792541040,
      "agent1"
     ],
     [
      "LANDED",
      1792627200,
      "agent1"
     ],
     [
      "LANDED",
      1792627260,
      "agent1"
     ],
     [
      "LANDED",
      1792627320,
      "agent1"
     ],
     [
      "LANDED",
      1792627380,
      "agent1"
     ],
     [
      "LANDED",
      1792627440,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|2|86640|1792627440\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V03 a sleeper: nothing for 30 days, then 10 blocks over two days [set B]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|SERIOUS\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|1790726400|7|4|777600",
   "fn": "stage",
   "hand_checked": true,
   "name": "V04 steady: 10 blocks on 5 dates over 14 days [set B]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "SUSPENDED",
      1790812800,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|SERIOUS\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|1790726400|7|4|777600",
   "fn": "stage",
   "hand_checked": true,
   "name": "V05 as V04, an agent SUSPENDED from day 10 (B graduated on day 9 and keeps it: one-way) [set B]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "BLOCKED",
      1790035200
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V06 as V04, the sponsor BLOCKED from day 1 [set B]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "VIOLATION",
      1790035200,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V07 as V04, a confirmed VIOLATION on day 1 [set B]"
  },
  {
   "args": {
    "as_of": 1790640000,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|SERIOUS\ndormant|false\ncounts|5|3|604800|1790553600\ngraduated|1790553600|5|3|604800",
   "fn": "stage",
   "hand_checked": true,
   "name": "V08 5 blocks on 3 dates over 7 days [set B]"
  },
  {
   "args": {
    "as_of": 1799798400,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|SERIOUS\ndormant|true\ncounts|10|5|1209660|1791158460\ngraduated|1790726400|7|4|777600",
   "fn": "stage",
   "hand_checked": true,
   "name": "V09 V04, then 100 days without a block: DORMANT lowers nothing [set B]"
  },
  {
   "args": {
    "as_of": 1789948800,
    "events": [],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|NEW\ndormant|false\ncounts|0|0|0|-\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V10 no block yet [set B]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791157536,
      "agent1"
     ],
     [
      "LANDED",
      1791157596,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|SERIOUS\ndormant|false\ncounts|10|5|1208796|1791157596\ngraduated|1790726400|7|4|777600",
   "fn": "stage",
   "hand_checked": true,
   "name": "V11 V04 with its span 13.99 days [set B]"
  },
  {
   "args": {
    "as_of": 1805760000,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "EVALUATED",
      1790553600
     ],
     [
      "EVALUATED",
      1791158400
     ],
     [
      "EVALUATED",
      1791763200
     ],
     [
      "EVALUATED",
      1792368000
     ],
     [
      "EVALUATED",
      1792972800
     ],
     [
      "EVALUATED",
      1793577600
     ],
     [
      "EVALUATED",
      1794182400
     ],
     [
      "EVALUATED",
      1794787200
     ],
     [
      "EVALUATED",
      1795392000
     ],
     [
      "EVALUATED",
      1795996800
     ],
     [
      "EVALUATED",
      1796601600
     ],
     [
      "EVALUATED",
      1797206400
     ],
     [
      "EVALUATED",
      1797811200
     ],
     [
      "EVALUATED",
      1798416000
     ],
     [
      "EVALUATED",
      1799020800
     ],
     [
      "EVALUATED",
      1799625600
     ],
     [
      "EVALUATED",
      1800230400
     ],
     [
      "EVALUATED",
      1800835200
     ],
     [
      "EVALUATED",
      1801440000
     ],
     [
      "EVALUATED",
      1802044800
     ],
     [
      "EVALUATED",
      1802649600
     ],
     [
      "EVALUATED",
      1803254400
     ],
     [
      "EVALUATED",
      1803859200
     ],
     [
      "EVALUATED",
      1804464000
     ],
     [
      "EVALUATED",
      1805068800
     ],
     [
      "EVALUATED",
      1805673600
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|true\ncounts|1|1|0|1789948800\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V01 the user's example: one agent, one UWC, one block, then six months away with weekly evaluations; registration is not counted [set C]"
  },
  {
   "args": {
    "as_of": 1790121600,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ],
     [
      "LANDED",
      1789948980,
      "agent1"
     ],
     [
      "LANDED",
      1789949040,
      "agent1"
     ],
     [
      "LANDED",
      1789949100,
      "agent1"
     ],
     [
      "LANDED",
      1789949160,
      "agent1"
     ],
     [
      "LANDED",
      1789949220,
      "agent1"
     ],
     [
      "LANDED",
      1789949280,
      "agent1"
     ],
     [
      "LANDED",
      1789949340,
      "agent1"
     ],
     [
      "LANDED",
      1789949400,
      "agent1"
     ],
     [
      "LANDED",
      1789949460,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|12|1|660|1789949460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V02 a burst: 12 blocks in one day [set C]"
  },
  {
   "args": {
    "as_of": 1792713600,
    "events": [
     [
      "LANDED",
      1792540800,
      "agent1"
     ],
     [
      "LANDED",
      1792540860,
      "agent1"
     ],
     [
      "LANDED",
      1792540920,
      "agent1"
     ],
     [
      "LANDED",
      1792540980,
      "agent1"
     ],
     [
      "LANDED",
      1792541040,
      "agent1"
     ],
     [
      "LANDED",
      1792627200,
      "agent1"
     ],
     [
      "LANDED",
      1792627260,
      "agent1"
     ],
     [
      "LANDED",
      1792627320,
      "agent1"
     ],
     [
      "LANDED",
      1792627380,
      "agent1"
     ],
     [
      "LANDED",
      1792627440,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|2|86640|1792627440\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V03 a sleeper: nothing for 30 days, then 10 blocks over two days [set C]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V04 steady: 10 blocks on 5 dates over 14 days [set C]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "SUSPENDED",
      1790812800,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V05 as V04, an agent SUSPENDED from day 10 (B graduated on day 9 and keeps it: one-way) [set C]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "BLOCKED",
      1790035200
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V06 as V04, the sponsor BLOCKED from day 1 [set C]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "VIOLATION",
      1790035200,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V07 as V04, a confirmed VIOLATION on day 1 [set C]"
  },
  {
   "args": {
    "as_of": 1790640000,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|5|3|604800|1790553600\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V08 5 blocks on 3 dates over 7 days [set C]"
  },
  {
   "args": {
    "as_of": 1799798400,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|true\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V09 V04, then 100 days without a block: DORMANT lowers nothing [set C]"
  },
  {
   "args": {
    "as_of": 1789948800,
    "events": [],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|NEW\ndormant|false\ncounts|0|0|0|-\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V10 no block yet [set C]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791157536,
      "agent1"
     ],
     [
      "LANDED",
      1791157596,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1208796|1791157596\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V11 V04 with its span 13.99 days [set C]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1790812800,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ],
     [
      "LANDED",
      1789948980,
      "agent1"
     ],
     [
      "LANDED",
      1789949040,
      "agent1"
     ],
     [
      "LANDED",
      1789949100,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|SERIOUS\ndormant|false\ncounts|10|5|1209600|1791158400\ngraduated|1791158400|10|5|1209600",
   "fn": "stage",
   "hand_checked": true,
   "name": "SB1 exactly B blocks, D dates, S days [set A]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1790812800,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ],
     [
      "LANDED",
      1789948980,
      "agent1"
     ],
     [
      "LANDED",
      1789949040,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|9|5|1209600|1791158400\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "SB2 one block below B [set A]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948830,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1790812800,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ],
     [
      "LANDED",
      1789948980,
      "agent1"
     ],
     [
      "LANDED",
      1789949040,
      "agent1"
     ],
     [
      "LANDED",
      1789949100,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|4|1209600|1791158400\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "SB3 one date below D [set A]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1790812800,
      "agent1"
     ],
     [
      "LANDED",
      1791158399,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ],
     [
      "LANDED",
      1789948980,
      "agent1"
     ],
     [
      "LANDED",
      1789949040,
      "agent1"
     ],
     [
      "LANDED",
      1789949100,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209599|1791158399\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "SB4 one second below S days [set A]"
  },
  {
   "args": {
    "as_of": 1790640000,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|SERIOUS\ndormant|false\ncounts|5|3|604800|1790553600\ngraduated|1790553600|5|3|604800",
   "fn": "stage",
   "hand_checked": true,
   "name": "SB1 exactly B blocks, D dates, S days [set B]"
  },
  {
   "args": {
    "as_of": 1790640000,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|4|3|604800|1790553600\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "SB2 one block below B [set B]"
  },
  {
   "args": {
    "as_of": 1790640000,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948830,
      "agent1"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|5|2|604800|1790553600\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "SB3 one date below D [set B]"
  },
  {
   "args": {
    "as_of": 1790640000,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790553599,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 5,
     "dates": 3,
     "dormant_days": 90,
     "span_days": 7
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|5|3|604799|1790553599\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "SB4 one second below S days [set B]"
  },
  {
   "args": {
    "as_of": 1792627200,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790812800,
      "agent1"
     ],
     [
      "LANDED",
      1791072000,
      "agent1"
     ],
     [
      "LANDED",
      1791331200,
      "agent1"
     ],
     [
      "LANDED",
      1791676800,
      "agent1"
     ],
     [
      "LANDED",
      1791936000,
      "agent1"
     ],
     [
      "LANDED",
      1792195200,
      "agent1"
     ],
     [
      "LANDED",
      1792540800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ],
     [
      "LANDED",
      1789948980,
      "agent1"
     ],
     [
      "LANDED",
      1789949040,
      "agent1"
     ],
     [
      "LANDED",
      1789949100,
      "agent1"
     ],
     [
      "LANDED",
      1789949160,
      "agent1"
     ],
     [
      "LANDED",
      1789949220,
      "agent1"
     ],
     [
      "LANDED",
      1789949280,
      "agent1"
     ],
     [
      "LANDED",
      1789949340,
      "agent1"
     ],
     [
      "LANDED",
      1789949400,
      "agent1"
     ],
     [
      "LANDED",
      1789949460,
      "agent1"
     ],
     [
      "LANDED",
      1789949520,
      "agent1"
     ],
     [
      "LANDED",
      1789949580,
      "agent1"
     ],
     [
      "LANDED",
      1789949640,
      "agent1"
     ],
     [
      "LANDED",
      1789949700,
      "agent1"
     ],
     [
      "LANDED",
      1789949760,
      "agent1"
     ],
     [
      "LANDED",
      1789949820,
      "agent1"
     ],
     [
      "LANDED",
      1789949880,
      "agent1"
     ],
     [
      "LANDED",
      1789949940,
      "agent1"
     ],
     [
      "LANDED",
      1789950000,
      "agent1"
     ],
     [
      "LANDED",
      1789950060,
      "agent1"
     ],
     [
      "LANDED",
      1789950120,
      "agent1"
     ],
     [
      "LANDED",
      1789950180,
      "agent1"
     ],
     [
      "LANDED",
      1789950240,
      "agent1"
     ],
     [
      "LANDED",
      1789950300,
      "agent1"
     ],
     [
      "LANDED",
      1789950360,
      "agent1"
     ],
     [
      "LANDED",
      1789950420,
      "agent1"
     ],
     [
      "LANDED",
      1789950480,
      "agent1"
     ],
     [
      "LANDED",
      1789950540,
      "agent1"
     ],
     [
      "LANDED",
      1789950600,
      "agent1"
     ],
     [
      "LANDED",
      1789950660,
      "agent1"
     ],
     [
      "LANDED",
      1789950720,
      "agent1"
     ],
     [
      "LANDED",
      1789950780,
      "agent1"
     ],
     [
      "LANDED",
      1789950840,
      "agent1"
     ],
     [
      "LANDED",
      1789950900,
      "agent1"
     ],
     [
      "LANDED",
      1789950960,
      "agent1"
     ],
     [
      "LANDED",
      1789951020,
      "agent1"
     ],
     [
      "LANDED",
      1789951080,
      "agent1"
     ],
     [
      "LANDED",
      1789951140,
      "agent1"
     ],
     [
      "LANDED",
      1789951200,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|SERIOUS\ndormant|false\ncounts|50|10|2592000|1792540800\ngraduated|1792540800|50|10|2592000",
   "fn": "stage",
   "hand_checked": true,
   "name": "SB1 exactly B blocks, D dates, S days [set C]"
  },
  {
   "args": {
    "as_of": 1792627200,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790812800,
      "agent1"
     ],
     [
      "LANDED",
      1791072000,
      "agent1"
     ],
     [
      "LANDED",
      1791331200,
      "agent1"
     ],
     [
      "LANDED",
      1791676800,
      "agent1"
     ],
     [
      "LANDED",
      1791936000,
      "agent1"
     ],
     [
      "LANDED",
      1792195200,
      "agent1"
     ],
     [
      "LANDED",
      1792540800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ],
     [
      "LANDED",
      1789948980,
      "agent1"
     ],
     [
      "LANDED",
      1789949040,
      "agent1"
     ],
     [
      "LANDED",
      1789949100,
      "agent1"
     ],
     [
      "LANDED",
      1789949160,
      "agent1"
     ],
     [
      "LANDED",
      1789949220,
      "agent1"
     ],
     [
      "LANDED",
      1789949280,
      "agent1"
     ],
     [
      "LANDED",
      1789949340,
      "agent1"
     ],
     [
      "LANDED",
      1789949400,
      "agent1"
     ],
     [
      "LANDED",
      1789949460,
      "agent1"
     ],
     [
      "LANDED",
      1789949520,
      "agent1"
     ],
     [
      "LANDED",
      1789949580,
      "agent1"
     ],
     [
      "LANDED",
      1789949640,
      "agent1"
     ],
     [
      "LANDED",
      1789949700,
      "agent1"
     ],
     [
      "LANDED",
      1789949760,
      "agent1"
     ],
     [
      "LANDED",
      1789949820,
      "agent1"
     ],
     [
      "LANDED",
      1789949880,
      "agent1"
     ],
     [
      "LANDED",
      1789949940,
      "agent1"
     ],
     [
      "LANDED",
      1789950000,
      "agent1"
     ],
     [
      "LANDED",
      1789950060,
      "agent1"
     ],
     [
      "LANDED",
      1789950120,
      "agent1"
     ],
     [
      "LANDED",
      1789950180,
      "agent1"
     ],
     [
      "LANDED",
      1789950240,
      "agent1"
     ],
     [
      "LANDED",
      1789950300,
      "agent1"
     ],
     [
      "LANDED",
      1789950360,
      "agent1"
     ],
     [
      "LANDED",
      1789950420,
      "agent1"
     ],
     [
      "LANDED",
      1789950480,
      "agent1"
     ],
     [
      "LANDED",
      1789950540,
      "agent1"
     ],
     [
      "LANDED",
      1789950600,
      "agent1"
     ],
     [
      "LANDED",
      1789950660,
      "agent1"
     ],
     [
      "LANDED",
      1789950720,
      "agent1"
     ],
     [
      "LANDED",
      1789950780,
      "agent1"
     ],
     [
      "LANDED",
      1789950840,
      "agent1"
     ],
     [
      "LANDED",
      1789950900,
      "agent1"
     ],
     [
      "LANDED",
      1789950960,
      "agent1"
     ],
     [
      "LANDED",
      1789951020,
      "agent1"
     ],
     [
      "LANDED",
      1789951080,
      "agent1"
     ],
     [
      "LANDED",
      1789951140,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|49|10|2592000|1792540800\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "SB2 one block below B [set C]"
  },
  {
   "args": {
    "as_of": 1792627200,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948830,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790812800,
      "agent1"
     ],
     [
      "LANDED",
      1791072000,
      "agent1"
     ],
     [
      "LANDED",
      1791331200,
      "agent1"
     ],
     [
      "LANDED",
      1791676800,
      "agent1"
     ],
     [
      "LANDED",
      1791936000,
      "agent1"
     ],
     [
      "LANDED",
      1792195200,
      "agent1"
     ],
     [
      "LANDED",
      1792540800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ],
     [
      "LANDED",
      1789948980,
      "agent1"
     ],
     [
      "LANDED",
      1789949040,
      "agent1"
     ],
     [
      "LANDED",
      1789949100,
      "agent1"
     ],
     [
      "LANDED",
      1789949160,
      "agent1"
     ],
     [
      "LANDED",
      1789949220,
      "agent1"
     ],
     [
      "LANDED",
      1789949280,
      "agent1"
     ],
     [
      "LANDED",
      1789949340,
      "agent1"
     ],
     [
      "LANDED",
      1789949400,
      "agent1"
     ],
     [
      "LANDED",
      1789949460,
      "agent1"
     ],
     [
      "LANDED",
      1789949520,
      "agent1"
     ],
     [
      "LANDED",
      1789949580,
      "agent1"
     ],
     [
      "LANDED",
      1789949640,
      "agent1"
     ],
     [
      "LANDED",
      1789949700,
      "agent1"
     ],
     [
      "LANDED",
      1789949760,
      "agent1"
     ],
     [
      "LANDED",
      1789949820,
      "agent1"
     ],
     [
      "LANDED",
      1789949880,
      "agent1"
     ],
     [
      "LANDED",
      1789949940,
      "agent1"
     ],
     [
      "LANDED",
      1789950000,
      "agent1"
     ],
     [
      "LANDED",
      1789950060,
      "agent1"
     ],
     [
      "LANDED",
      1789950120,
      "agent1"
     ],
     [
      "LANDED",
      1789950180,
      "agent1"
     ],
     [
      "LANDED",
      1789950240,
      "agent1"
     ],
     [
      "LANDED",
      1789950300,
      "agent1"
     ],
     [
      "LANDED",
      1789950360,
      "agent1"
     ],
     [
      "LANDED",
      1789950420,
      "agent1"
     ],
     [
      "LANDED",
      1789950480,
      "agent1"
     ],
     [
      "LANDED",
      1789950540,
      "agent1"
     ],
     [
      "LANDED",
      1789950600,
      "agent1"
     ],
     [
      "LANDED",
      1789950660,
      "agent1"
     ],
     [
      "LANDED",
      1789950720,
      "agent1"
     ],
     [
      "LANDED",
      1789950780,
      "agent1"
     ],
     [
      "LANDED",
      1789950840,
      "agent1"
     ],
     [
      "LANDED",
      1789950900,
      "agent1"
     ],
     [
      "LANDED",
      1789950960,
      "agent1"
     ],
     [
      "LANDED",
      1789951020,
      "agent1"
     ],
     [
      "LANDED",
      1789951080,
      "agent1"
     ],
     [
      "LANDED",
      1789951140,
      "agent1"
     ],
     [
      "LANDED",
      1789951200,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|50|9|2592000|1792540800\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "SB3 one date below D [set C]"
  },
  {
   "args": {
    "as_of": 1792627200,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790812800,
      "agent1"
     ],
     [
      "LANDED",
      1791072000,
      "agent1"
     ],
     [
      "LANDED",
      1791331200,
      "agent1"
     ],
     [
      "LANDED",
      1791676800,
      "agent1"
     ],
     [
      "LANDED",
      1791936000,
      "agent1"
     ],
     [
      "LANDED",
      1792195200,
      "agent1"
     ],
     [
      "LANDED",
      1792540799,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1789948920,
      "agent1"
     ],
     [
      "LANDED",
      1789948980,
      "agent1"
     ],
     [
      "LANDED",
      1789949040,
      "agent1"
     ],
     [
      "LANDED",
      1789949100,
      "agent1"
     ],
     [
      "LANDED",
      1789949160,
      "agent1"
     ],
     [
      "LANDED",
      1789949220,
      "agent1"
     ],
     [
      "LANDED",
      1789949280,
      "agent1"
     ],
     [
      "LANDED",
      1789949340,
      "agent1"
     ],
     [
      "LANDED",
      1789949400,
      "agent1"
     ],
     [
      "LANDED",
      1789949460,
      "agent1"
     ],
     [
      "LANDED",
      1789949520,
      "agent1"
     ],
     [
      "LANDED",
      1789949580,
      "agent1"
     ],
     [
      "LANDED",
      1789949640,
      "agent1"
     ],
     [
      "LANDED",
      1789949700,
      "agent1"
     ],
     [
      "LANDED",
      1789949760,
      "agent1"
     ],
     [
      "LANDED",
      1789949820,
      "agent1"
     ],
     [
      "LANDED",
      1789949880,
      "agent1"
     ],
     [
      "LANDED",
      1789949940,
      "agent1"
     ],
     [
      "LANDED",
      1789950000,
      "agent1"
     ],
     [
      "LANDED",
      1789950060,
      "agent1"
     ],
     [
      "LANDED",
      1789950120,
      "agent1"
     ],
     [
      "LANDED",
      1789950180,
      "agent1"
     ],
     [
      "LANDED",
      1789950240,
      "agent1"
     ],
     [
      "LANDED",
      1789950300,
      "agent1"
     ],
     [
      "LANDED",
      1789950360,
      "agent1"
     ],
     [
      "LANDED",
      1789950420,
      "agent1"
     ],
     [
      "LANDED",
      1789950480,
      "agent1"
     ],
     [
      "LANDED",
      1789950540,
      "agent1"
     ],
     [
      "LANDED",
      1789950600,
      "agent1"
     ],
     [
      "LANDED",
      1789950660,
      "agent1"
     ],
     [
      "LANDED",
      1789950720,
      "agent1"
     ],
     [
      "LANDED",
      1789950780,
      "agent1"
     ],
     [
      "LANDED",
      1789950840,
      "agent1"
     ],
     [
      "LANDED",
      1789950900,
      "agent1"
     ],
     [
      "LANDED",
      1789950960,
      "agent1"
     ],
     [
      "LANDED",
      1789951020,
      "agent1"
     ],
     [
      "LANDED",
      1789951080,
      "agent1"
     ],
     [
      "LANDED",
      1789951140,
      "agent1"
     ],
     [
      "LANDED",
      1789951200,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 50,
     "dates": 10,
     "dormant_days": 90,
     "span_days": 30
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|50|10|2591999|1792540799\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "SB4 one second below S days [set C]"
  },
  {
   "args": {
    "as_of": 1791849600,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "BLOCKED",
      1791072000
     ],
     [
      "UNBLOCKED",
      1791331200
     ],
     [
      "EVALUATED",
      1791763200
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|SERIOUS\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|1791763200|10|5|1209660",
   "fn": "stage",
   "hand_checked": true,
   "name": "V12 blocked when it would graduate; the next weekly evaluation graduates [set A]"
  },
  {
   "args": {
    "as_of": 1791849600,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "BLOCKED",
      1791072000
     ],
     [
      "UNBLOCKED",
      1791331200
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V13 as V12 with no weekly evaluation recorded: WORKING [set A]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "SUSPENDED",
      1790812800,
      "agent1"
     ],
     [
      "RESTORED",
      1790985600,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|SERIOUS\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|1791158460|10|5|1209660",
   "fn": "stage",
   "hand_checked": true,
   "name": "V14 a suspension cleared before the graduating landing [set A]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "SUSPENDED",
      1791158460,
      "agent2"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V15 a landing and a suspension in the same second [set A]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ],
     [
      "SUSPENDED",
      1790812800,
      "agent1"
     ],
     [
      "RESTORED",
      1790985600,
      "agent2"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|10|5|1209660|1791158460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V16 another agent's RESTORED does not clear the suspended one [set A]"
  },
  {
   "args": {
    "as_of": 1790812800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ],
     [
      "LANDED",
      1789948860,
      "agent1"
     ],
     [
      "LANDED",
      1790208000,
      "agent1"
     ],
     [
      "LANDED",
      1790208060,
      "agent1"
     ],
     [
      "LANDED",
      1790467200,
      "agent1"
     ],
     [
      "LANDED",
      1790467260,
      "agent1"
     ],
     [
      "LANDED",
      1790726400,
      "agent1"
     ],
     [
      "LANDED",
      1790726460,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent1"
     ],
     [
      "LANDED",
      1791158460,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|8|4|777660|1790726460\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V17 events after as_of are not read [set A]"
  },
  {
   "args": {
    "as_of": 1797724800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|true\ncounts|1|1|0|1789948800\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V18 DORMANT at exactly dormant_days [set A]"
  },
  {
   "args": {
    "as_of": 1797724799,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|WORKING\ndormant|false\ncounts|1|1|0|1789948800\ngraduated|-",
   "fn": "stage",
   "hand_checked": true,
   "name": "V19 not DORMANT one second before [set A]"
  },
  {
   "args": {
    "as_of": 1791244800,
    "events": [
     [
      "LANDED",
      1789948800,
      "agent0"
     ],
     [
      "LANDED",
      1790035200,
      "agent1"
     ],
     [
      "LANDED",
      1790121600,
      "agent2"
     ],
     [
      "LANDED",
      1790208000,
      "agent0"
     ],
     [
      "LANDED",
      1790294400,
      "agent1"
     ],
     [
      "LANDED",
      1790380800,
      "agent2"
     ],
     [
      "LANDED",
      1790467200,
      "agent0"
     ],
     [
      "LANDED",
      1790553600,
      "agent1"
     ],
     [
      "LANDED",
      1790640000,
      "agent2"
     ],
     [
      "LANDED",
      1790726400,
      "agent0"
     ],
     [
      "LANDED",
      1790812800,
      "agent1"
     ],
     [
      "LANDED",
      1790899200,
      "agent2"
     ],
     [
      "LANDED",
      1790985600,
      "agent0"
     ],
     [
      "LANDED",
      1791072000,
      "agent1"
     ],
     [
      "LANDED",
      1791158400,
      "agent2"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "stage|SERIOUS\ndormant|false\ncounts|15|15|1209600|1791158400\ngraduated|1791158400|15|15|1209600",
   "fn": "stage",
   "hand_checked": true,
   "name": "V20 blocks of several agents count together [set A]"
  },
  {
   "args": {
    "as_of": 1789948800,
    "events": [
     [
      "REGISTERED",
      1789948800
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "ERROR:events",
   "fn": "stage",
   "hand_checked": true,
   "name": "SE1 an unknown event kind refused [set A]"
  },
  {
   "args": {
    "as_of": 1789948800,
    "events": [
     [
      "LANDED",
      1789948800
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "ERROR:events",
   "fn": "stage",
   "hand_checked": true,
   "name": "SE2 LANDED without its agent refused [set A]"
  },
  {
   "args": {
    "as_of": 1789948800,
    "events": [
     [
      "EVALUATED",
      1789948800,
      "a"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "ERROR:events",
   "fn": "stage",
   "hand_checked": true,
   "name": "SE3 EVALUATED with an agent refused [set A]"
  },
  {
   "args": {
    "as_of": 1789948800,
    "events": [
     [
      "LANDED",
      -1,
      "agent1"
     ]
    ],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "ERROR:events",
   "fn": "stage",
   "hand_checked": true,
   "name": "SE4 a negative time refused [set A]"
  },
  {
   "args": {
    "as_of": 1789948800,
    "events": [],
    "thresholds": {
     "blocks": 1,
     "dates": 1,
     "span_days": 0
    }
   },
   "expected": "ERROR:thresholds",
   "fn": "stage",
   "hand_checked": true,
   "name": "SE5 thresholds without dormant_days refused"
  },
  {
   "args": {
    "as_of": 1789948800,
    "events": [],
    "thresholds": {
     "blocks": 0,
     "dates": 1,
     "dormant_days": 1,
     "span_days": 0
    }
   },
   "expected": "ERROR:thresholds",
   "fn": "stage",
   "hand_checked": true,
   "name": "SE6 blocks 0 refused"
  },
  {
   "args": {
    "as_of": "1789948800",
    "events": [],
    "thresholds": {
     "blocks": 10,
     "dates": 5,
     "dormant_days": 90,
     "span_days": 14
    }
   },
   "expected": "ERROR:as_of",
   "fn": "stage",
   "hand_checked": true,
   "name": "SE7 as_of given as a string refused [set A]"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM001 TK0 the same token"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "123",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM002 TK0 12 inside 123"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "a12",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM003 TK0 12 after a letter (a12)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "v12",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM004 TK0 12 inside v12"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "123 and 12",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM005 TK0 a later occurrence passes"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "x(12)y",
    "scale": null,
    "value": "(12)"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM006 TK0 letters around a parenthesized value"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5cm",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM007 TK0 5 before letters (5cm)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12\u00b2",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM008 TK0 a superscript two is a digit"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12\u0663",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM009 TK0 an Arabic-Indic digit after"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "-5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM010 T1 5 inside -5 (QM12 closed)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "+5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM011 T1 5 inside +5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u22125",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM012 T1 5 after U+2212 MINUS SIGN"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u20135",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM013 T1 5 after U+2013 EN DASH"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u00b15",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM014 T1 5 after U+00B1 PLUS-MINUS SIGN"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "<5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM015 T1 5 inside <5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": ">5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM016 T1 5 inside >5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "=5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM017 T1 5 inside =5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "~5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM018 T1 5 inside ~5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u22485",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM019 T1 5 after U+2248 ALMOST EQUAL TO"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u22645",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM020 T1 5 after U+2264"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u22655",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM021 T1 5 after U+2265"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "<=5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM022 T1 5 inside <=5 (a run of signs)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "x -.5",
    "scale": null,
    "value": ".5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM023 T1 a sign before a leading decimal point"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "x -.5 y",
    "scale": null,
    "value": "-.5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM024 T1 -.5 as its own token"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "-5",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM025 T1 -5 matches -5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "x -5 y",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM026 T1 -5 between spaces"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "+5",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM027 T1 -5 against +5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "<-5",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM028 T1 -5 after another sign (<-5)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "- 5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM029 T1 5 inside - 5 (a sign across one space)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "GPT-4",
    "scale": null,
    "value": "-4"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM030 T1 -4 after a letter (GPT-4)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "GPT-4",
    "scale": null,
    "value": "4"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM031 T1 4 inside GPT-4"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "GPT-4 and more",
    "scale": null,
    "value": "GPT-4"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM032 T1 the whole GPT-4"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "state-of-the-art",
    "scale": null,
    "value": "state"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM033 T1 a hyphen between letters"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": ".5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM034 T2 5 inside .5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": ",5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM035 T2 5 inside ,5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1,5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM036 T2 5 inside 1,5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5.5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM037 T2 5 inside 5.5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12.5",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM038 T2 12 inside 12.5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "3.12",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM039 T2 12 inside 3.12"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12.50",
    "scale": null,
    "value": "12.5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM040 T2 12.5 inside 12.50"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1,234",
    "scale": null,
    "value": "234"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM041 T2 234 inside 1,234"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1 234",
    "scale": null,
    "value": "234"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM042 T2 234 inside 1 234"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1\u202f234",
    "scale": null,
    "value": "234"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM043 T2 234 after U+202F NARROW NO-BREAK SPACE"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1\u2009234",
    "scale": null,
    "value": "234"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM044 T2 234 after U+2009 THIN SPACE"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1\u00a0234",
    "scale": null,
    "value": "234"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM045 T2 234 after U+00A0 NO-BREAK SPACE"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1'000",
    "scale": null,
    "value": "1"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM046 T2 1 before an apostrophe group"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1\u2019000",
    "scale": null,
    "value": "1"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM047 T2 1 before a U+2019 group"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1_000",
    "scale": null,
    "value": "1"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM048 T2 1 before an underscore group"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1 23",
    "scale": null,
    "value": "1"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM049 T2 two digits after a space are no group"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1 2345",
    "scale": null,
    "value": "1"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM050 T2 four digits after a space are no group"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "about 1 234 people",
    "scale": null,
    "value": "1 234"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM051 T2 the grouped number whole"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1,000,000",
    "scale": null,
    "value": "1,000"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM052 T2 1,000 inside 1,000,000"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "paid 1,000, then",
    "scale": null,
    "value": "1,000"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM053 T2 1,000 before a list comma"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12, 13",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM054 T2 a list comma after 12"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "a_b",
    "scale": null,
    "value": "a"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM055 T2 an underscore between letters"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "Claude's",
    "scale": null,
    "value": "Claude"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM056 T2 an apostrophe after a word"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "3-5",
    "scale": null,
    "value": "3"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM057 T3 3 inside 3-5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "3-5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM058 T3 5 inside 3-5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "3-5",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM059 T3 -5 inside 3-5 (a range)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "3\u20135",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM060 T3 5 inside 3 U+2013 5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1/2",
    "scale": null,
    "value": "1"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM061 T3 1 inside 1/2"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "2:1",
    "scale": null,
    "value": "2"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM062 T3 2 inside 2:1"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "2026-09-25",
    "scale": null,
    "value": "2026"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM063 T3 2026 inside a date"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "on 2026-09-25.",
    "scale": null,
    "value": "2026-09-25"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM064 T3 the date whole"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "3 - 5",
    "scale": null,
    "value": "3"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM065 T3 3 inside 3 - 5 (one space either side)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5-shot",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM066 T3 a dash before a letter (5-shot)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1e-5",
    "scale": null,
    "value": "1"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM067 T4 1 inside 1e-5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1e-5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM068 T4 5 inside 1e-5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1e-5",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM069 T4 -5 inside 1e-5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "about 1e-5 s",
    "scale": null,
    "value": "1e-5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM070 T4 1e-5 whole"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1E5",
    "scale": null,
    "value": "1"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM071 T4 1 inside 1E5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1 x 10^-5",
    "scale": null,
    "value": "1"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM072 T4 1 inside 1 x 10^-5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "rate 1 x 10^-5 per s",
    "scale": null,
    "value": "1 x 10^-5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM073 T4 1 x 10^-5 whole"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "10^5",
    "scale": null,
    "value": "10"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM074 T4 10 inside 10^5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "10^5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM075 T4 5 inside 10^5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1\u00d710\u207b\u2075",
    "scale": null,
    "value": "1"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM076 T4 1 before U+00D7 10 and superscript -5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "10\u2075",
    "scale": null,
    "value": "10"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM077 T4 10 before a superscript digit"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "2*10^3",
    "scale": null,
    "value": "2"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM078 T4 2 inside 2*10^3"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "2\u00b710\u00b3",
    "scale": null,
    "value": "2"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM079 T4 2 before U+00B7 10"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "3 x 100",
    "scale": null,
    "value": "3"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM080 T4 3 x 100 is no power of ten"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5%",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM081 T5 5 inside 5% (no affix declared)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 %",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM082 T5 5 inside 5 % (no affix declared)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "$5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM083 T5 5 inside $5 (no affix declared)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u2030",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM084 T5 5 before U+2030 PER MILLE SIGN"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u00b0C",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM085 T5 5 before U+00B0 DEGREE SIGN"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u2032",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM086 T5 5 before U+2032 PRIME"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u20ac 5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM087 T5 5 after U+20AC EURO SIGN and a space"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "was 12.5%",
    "scale": null,
    "value": "12.5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM088 T5 12.5 inside was 12.5% (no affix declared)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "quote": "72.4%",
    "scale": null,
    "value": "72.4"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM089 T5 72.4 in 72.4% with % declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "quote": "72.4 %",
    "scale": null,
    "value": "72.4"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM090 T5 72.4 in 72.4 % with % declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "quote": "72.4\u00a0%",
    "scale": null,
    "value": "72.4"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM091 T5 72.4 across U+00A0 with % declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "$",
    "quote": "72.4%",
    "scale": null,
    "value": "72.4"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM092 T5 72.4 in 72.4% with $ declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "quote": "72.4\u2030",
    "scale": null,
    "value": "72.4"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM093 T5 72.4 before per mille with % declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "$",
    "quote": "$5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM094 T5 5 in $5 with $ declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "$",
    "quote": "$ 5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM095 T5 5 in $ 5 with $ declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "$",
    "quote": "-$5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM096 T5 5 in -$5 with $ declared (a sign before the affix)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "\u00b0C",
    "quote": "5\u00b0C",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM097 T5 5 in 5 U+00B0 C with U+00B0 C declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "\u00b0",
    "quote": "5\u00b0C",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM098 T5 5 in 5 U+00B0 C with U+00B0 alone declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "quote": "72.4 points",
    "scale": null,
    "value": "72.4"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM099 T5 a declared affix not present"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "72.4%",
    "scale": null,
    "value": "72.4%"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM100 T5 the value with its own affix"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "quote": "5%3",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM101 T5 an affix that begins another number"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "quote": "72.45%",
    "scale": null,
    "value": "72.4"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM102 T5 a declared affix does not excuse a cut number"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1,234",
    "scale": null,
    "value": "1234"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM103 T6 1234 against 1,234"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1,5",
    "scale": null,
    "value": "1.5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM104 T6 1.5 against 1,5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM105 T6 -5 against 5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u22125",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM106 T6 -5 against U+2212 5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "(12)",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM107 T7 12 inside (12)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "is 12.",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM108 T7 12 before a full stop"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\"12\"",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM109 T7 12 in quotation marks"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u00ab12\u00bb",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM110 T7 12 in guillemets"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "[12]",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM111 T7 12 in brackets"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12.x",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM112 T7 12 before a full stop and a letter"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 per cent",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM113 T5 5 inside 5 per cent (a per-cent word)"
  },
  {
   "args": {
    "accounting": true,
    "affix": null,
    "quote": "(5)",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM114 T7 accounting: 5 inside (5)"
  },
  {
   "args": {
    "accounting": true,
    "affix": null,
    "quote": "net (5) in Q3",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM115 T7 accounting: -5 reads (5)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "(5)",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM116 T7 no accounting: -5 against (5)"
  },
  {
   "args": {
    "accounting": true,
    "affix": null,
    "quote": "(12)",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM117 T7 accounting: 12 inside (12)"
  },
  {
   "args": {
    "accounting": true,
    "affix": null,
    "quote": "(1,234.5)",
    "scale": null,
    "value": "-1,234.5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM118 T7 accounting: a grouped decimal"
  },
  {
   "args": {
    "accounting": true,
    "affix": null,
    "quote": "(5)",
    "scale": null,
    "value": "(5)"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM119 T7 accounting: a value written (5)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "opus 5",
    "scale": null,
    "value": "Opus"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM120 text: no case folding"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "Claude Opus 5",
    "scale": null,
    "value": "Opus"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM121 text: the same case"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "x a\tb y",
    "scale": null,
    "value": "a  b"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM122 text: whitespace runs collapse"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "cafe\u0301 au lait",
    "scale": null,
    "value": "caf\u00e9"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM123 text: NFC on both sides"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "cafe\u0301",
    "scale": null,
    "value": "caf"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM124 text: a letter after the occurrence"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "Stra\u00dfe",
    "scale": null,
    "value": "Stra"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM125 text: sharp s is a letter"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "x\u0301 y",
    "scale": null,
    "value": "x"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM126 text: a combining mark after"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u6771\u4eac\u90fd",
    "scale": null,
    "value": "\u6771\u4eac"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM127 text: a CJK letter after"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u6771\u4eac\u3001",
    "scale": null,
    "value": "\u6771\u4eac"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM128 text: an ideographic comma after"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u00a012\u00a0",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM129 text: NO-BREAK SPACE is a boundary"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "abc",
    "scale": null,
    "value": ""
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM130 text: an empty value"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "abc",
    "scale": null,
    "value": " \t "
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM131 text: a whitespace-only value"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "abc",
    "scale": null,
    "value": "abcd"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM132 text: a value longer than the quote"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12",
    "scale": null,
    "value": 12
   },
   "expected": "ERROR:text",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM133 refused: a non-string value"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": null,
    "scale": null,
    "value": "12"
   },
   "expected": "ERROR:text",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM134 refused: a null quote"
  },
  {
   "args": {
    "accounting": false,
    "affix": "ab",
    "quote": "5",
    "scale": null,
    "value": "5"
   },
   "expected": "ERROR:affix",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM135 refused: an affix of letters"
  },
  {
   "args": {
    "accounting": false,
    "affix": "",
    "quote": "5",
    "scale": null,
    "value": "5"
   },
   "expected": "ERROR:affix",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM136 refused: an empty affix"
  },
  {
   "args": {
    "accounting": false,
    "affix": 5,
    "quote": "5",
    "scale": null,
    "value": "5"
   },
   "expected": "ERROR:affix",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM137 refused: an affix given as a number"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%%",
    "quote": "5",
    "scale": null,
    "value": "5"
   },
   "expected": "ERROR:affix",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM138 refused: two symbols as an affix"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%abcd",
    "quote": "5",
    "scale": null,
    "value": "5"
   },
   "expected": "ERROR:affix",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM139 refused: an affix of five characters"
  },
  {
   "args": {
    "accounting": "yes",
    "affix": null,
    "quote": "5",
    "scale": null,
    "value": "5"
   },
   "expected": "ERROR:accounting",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM140 refused: accounting given as a string"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1\u2007234",
    "scale": null,
    "value": "234"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM141 V 234 inside 1 U+2007 234 (T2, a figure space)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u2002%",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM142 V 5 inside 5 U+2002 % (T5, no affix declared)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u204410",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM143 V 5 inside 5 U+2044 10 (T3, fraction slash)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "-\u200b5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM144 V 5 inside - U+200B 5 (Cf removed, then T1)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12\u200b3",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM145 V 12 inside 12 U+200B 3 (Cf removed, then 123)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 million",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM146 T8 5 inside 5 million"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 Million",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM147 T8 5 inside 5 Million (any case)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 MILLION",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM148 T8 5 inside 5 MILLION"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 millions",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM149 T8 5 inside 5 millions (a plural)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 hundred",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM150 T8 5 inside 5 hundred"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 thousand",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM151 T8 5 inside 5 thousand"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 billion",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM152 T8 5 inside 5 billion"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 trillion",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM153 T8 5 inside 5 trillion"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 lakh",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM154 T8 5 inside 5 lakh"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 crores",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM155 T8 5 inside 5 crores"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 M",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM156 T8 5 inside 5 M"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 k",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM157 T8 5 inside 5 k"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 K",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM158 T8 5 inside 5 K"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5k",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM159 T8 5 inside 5k (touching)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 mn",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM160 T8 5 inside 5 mn"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 bn",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM161 T8 5 inside 5 bn"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 Bn",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM162 T8 5 inside 5 Bn (mn and bn in any case)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 B",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM163 T8 5 inside 5 B (billion)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 m",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM164 T8 5 inside 5 m (a bare m)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "$",
    "quote": "$5 billion",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM165 T8 5 inside $5 billion with $ declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 E-3",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM166 T8 5 inside 5 E-3 (a spaced exponent)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 e 3",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM167 T8 5 inside 5 e 3"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 E+3",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM168 T8 5 inside 5 E+3"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5E 3",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM169 T8 5 inside 5E 3"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 times 10^3",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM170 T8 5 inside 5 times 10^3"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "10**5",
    "scale": null,
    "value": "10"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM171 T8 10 inside 10**5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "2 ** 3",
    "scale": null,
    "value": "2"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM172 T8 2 inside 2 ** 3"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 x 10^3",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM173 T8 5 inside 5 x 10^3"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u00a0million",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM174 T8 5 across U+00A0 before million"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u2007k",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM175 T8 5 across U+2007 before k"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 models",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM176 T8 5 models: no scale"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 km",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM177 T8 5 km: no scale"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 thousandths",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM178 T8 5 inside 5 thousandths (a fractional scale word)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 millionaires",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM179 T8 5 millionaires: no scale"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 each",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM180 T8 5 each: no scale"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 b",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM181 T8 5 b: a lower-case b is no scale"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 times 10",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM182 T8 5 times 10 without ^ is no product"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12 metres",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM183 T7 12 metres: a unit in words"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 million",
    "scale": "million",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM184 T8 5 in 5 million with million declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 Millions",
    "scale": "million",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM185 T8 5 in 5 Millions with million declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 million people",
    "scale": "million",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM186 T8 5 in 5 million people with million declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 million",
    "scale": "billion",
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM187 T8 5 in 5 million with billion declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5k",
    "scale": "k",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM188 T8 5 in 5k with k declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 k",
    "scale": "k",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM189 T8 5 in 5 k with k declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 K",
    "scale": "k",
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM190 T8 5 in 5 K with k declared (one letter exactly)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 M",
    "scale": "M",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM191 T8 5 in 5 M with M declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 BN",
    "scale": "bn",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM192 T8 5 in 5 BN with bn declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12 lakh",
    "scale": "lakh",
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM193 T8 12 in 12 lakh with lakh declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "3 crores",
    "scale": "crore",
    "value": "3"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM194 T8 3 in 3 crores with crore declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "$",
    "quote": "$5 billion",
    "scale": "billion",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM195 T8 5 in $5 billion with $ and billion declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "$5 billion",
    "scale": "billion",
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM196 T8 5 in $5 billion with billion alone declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "quote": "5 million%",
    "scale": "million",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM197 T8 5 in 5 million% with % and million declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 people",
    "scale": "million",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM198 T8 a declared scale not present"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5.5 million",
    "scale": "million",
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM199 T8 a declared scale does not excuse a cut number"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 E-3",
    "scale": "m",
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM200 T8 a spaced exponent is never declarable"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "about 5 million",
    "scale": null,
    "value": "5 million"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM201 T8 the value with its own scale"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 percent",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM202 T5 5 inside 5 percent"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 Percent",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM203 T5 5 inside 5 Percent"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 pct",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM204 T5 5 inside 5 pct"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 PCT",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM205 T5 5 inside 5 PCT"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 per\u00a0cent",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM206 T5 5 inside 5 per U+00A0 cent"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "percent 5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM207 T5 5 inside percent 5 (before the number)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "per cent 5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM208 T5 5 inside per cent 5"
  },
  {
   "args": {
    "accounting": false,
    "affix": "per cent",
    "quote": "5 per cent",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM209 T5 5 in 5 per cent with per cent declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "per cent",
    "quote": "5 Per Cent",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM210 T5 5 in 5 Per Cent with per cent declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "percent",
    "quote": "5 percent",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM211 T5 5 in 5 percent with percent declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "per cent",
    "quote": "5 percent",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM212 T5 5 in 5 percent with per cent declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "pct",
    "quote": "5 pct",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM213 T5 5 in 5 pct with pct declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "pct",
    "quote": "pct 5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM214 T5 5 in pct 5 with pct declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "percent",
    "quote": "5%",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM215 T5 5 in 5% with percent declared (the word only)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 percentage points",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM216 T5 5 inside 5 percentage points (an affix after the number)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 per capita",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM217 T5 5 per capita: no affix word"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "quote": "5\u2002%",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM218 Zs 5 in 5 U+2002 % with % declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1\u3000234",
    "scale": null,
    "value": "234"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM219 Zs 234 inside 1 U+3000 234"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "-\u20035",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM220 Zs 5 inside - U+2003 5 (T1 across an em space)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u1680million",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM221 Zs 5 inside 5 U+1680 million (ogham space mark)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "3\u2007-\u20075",
    "scale": null,
    "value": "3"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM222 Zs 3 inside 3 U+2007 - U+2007 5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u205f/\u205f10",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM223 Zs 5 inside 5 U+205F / U+205F 10"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "3\u00a0\u00a0- 5",
    "scale": null,
    "value": "3"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM224 Zs a run of two spaces still joins (3 U+00A0 U+00A0 - 5)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u204410",
    "scale": null,
    "value": "10"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM225 T3 10 inside 5 U+2044 10"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u221510",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM226 T3 5 inside 5 U+2215 10 (division slash)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "2\u22361",
    "scale": null,
    "value": "2"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM227 T3 2 inside 2 U+2236 1 (ratio)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 / 10",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM228 T3 5 inside 5 / 10"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 / 10",
    "scale": null,
    "value": "10"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM229 T3 10 inside 5 / 10"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "3 - 5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM230 T3 5 inside 3 - 5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 :1",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM231 T3 5 inside 5 :1"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 and/or",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM232 T3 a slash between words joins nothing"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "x - 5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM233 T1 5 inside x - 5 (the sign follows no digit)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "score = 5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM234 T1 5 inside score = 5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1 + 1 = 2",
    "scale": null,
    "value": "2"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM235 T1 2 in 1 + 1 = 2 (the sign follows a digit)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "$",
    "quote": "~ $5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM236 T1 5 inside ~ $5 with $ declared (a sign across a space)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u00ad%",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM237 Cf 5 inside 5 U+00AD % (soft hyphen)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "a\u206012",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM238 Cf 12 after a U+2060 WORD JOINER and a letter"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "1\ufeff23",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM239 Cf 12 inside 1 U+FEFF 2 3"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "-\u200e5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM240 Cf 5 inside - U+200E 5 (left-to-right mark)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u061c%",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM241 Cf 5 inside 5 U+061C % (Arabic letter mark)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "is 12 now",
    "scale": null,
    "value": "1\u200b2"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM242 Cf removed from the value too"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "is 1\u00ad2 now",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM243 Cf a soft hyphen inside the quoted number"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "abc",
    "scale": null,
    "value": "\u200b\u00ad"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM244 Cf a value of format characters only"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12\ud839\udcf1",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM245 table: a digit assigned in Unicode 15.0 (U+1E4F1)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\ud87a\udff012",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM246 table: a letter assigned in Unicode 15.1 (U+2EBF0)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5",
    "scale": "lots",
    "value": "5"
   },
   "expected": "ERROR:scale",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM247 refused: an unknown scale"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5",
    "scale": "millions",
    "value": "5"
   },
   "expected": "ERROR:scale",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM248 refused: a plural scale"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5",
    "scale": "Million",
    "value": "5"
   },
   "expected": "ERROR:scale",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM249 refused: a scale in upper case"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5",
    "scale": "",
    "value": "5"
   },
   "expected": "ERROR:scale",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM250 refused: an empty scale"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5",
    "scale": 1000,
    "value": "5"
   },
   "expected": "ERROR:scale",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM251 refused: a scale given as a number"
  },
  {
   "args": {
    "accounting": false,
    "affix": "Percent",
    "quote": "5",
    "scale": null,
    "value": "5"
   },
   "expected": "ERROR:affix",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM252 refused: an affix word in upper case"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u201410",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM253 T3 5 inside 5 U+2014 10 (EM DASH)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u201010",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM254 T3 5 inside 5 U+2010 10 (HYPHEN)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u201110",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM255 T3 5 inside 5 U+2011 10 (NON-BREAKING HYPHEN)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u201210",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM256 T3 5 inside 5 U+2012 10 (FIGURE DASH)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u201510",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM257 T3 5 inside 5 U+2015 10 (HORIZONTAL BAR)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u2e3a10",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM258 T3 5 inside 5 U+2E3A 10 (TWO-EM DASH)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u2e3b10",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM259 T3 5 inside 5 U+2E3B 10 (THREE-EM DASH)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u301c10",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM260 T3 5 inside 5 U+301C 10 (WAVE DASH)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\ufe5810",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM261 T3 5 inside 5 U+FE58 10 (SMALL EM DASH)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\ufe6310",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM262 T3 5 inside 5 U+FE63 10 (SMALL HYPHEN-MINUS)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\uff0d10",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM263 T3 5 inside 5 U+FF0D 10 (FULLWIDTH HYPHEN-MINUS)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u221210",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM264 T3 5 inside 5 U+2212 10 (MINUS SIGN)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5~10",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM265 T3 5 inside 5 U+007E 10 (TILDE)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\uff5e10",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM266 T3 5 inside 5 U+FF5E 10 (FULLWIDTH TILDE)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u00f710",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM267 T3 5 inside 5 U+00F7 10 (DIVISION SIGN)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u29f810",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM268 T3 5 inside 5 U+29F8 10 (BIG SOLIDUS)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u205310",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM269 T3 5 inside 5 U+2053 10 (SWUNG DASH)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 \u2014 10",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM270 T3 5 inside 5 U+2014 10 with a space either side"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u201410",
    "scale": null,
    "value": "10"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM271 T3 10 inside 5 U+2014 10"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 ~ 10",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM272 T3 5 inside 5 ~ 10"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u2014shot",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM273 T3 a dash before a word joins nothing (5 U+2014 shot)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 \u00bd",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM274 T3 5 inside 5 U+00BD (a mixed number)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 1/2",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM275 T3 5 inside 5 1/2"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u00a01\u20442",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM276 T3 5 inside 5 U+00A0 1 U+2044 2"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 1\u22152",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM277 T3 5 inside 5 1 U+2215 2"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 \u2153",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM278 T3 5 inside 5 U+2153 (one third)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 \u2189",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM279 T3 5 inside 5 U+2189 (zero thirds)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "12 3/4 kg",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM280 T3 12 inside 12 3/4 kg"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u00bd",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM281 T3 5 touching U+00BD joins by TK1"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 12",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM282 T3 a digit run with no slash is no fraction (5 12)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 1/x",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM283 T3 a slash before a letter is no fraction (5 1/x)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 to 10",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM284 T7 limit: 5 to 10 (a range in words) passes"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 and a half",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM285 T7 limit: 5 and a half (a fraction in words) passes"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 km",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM286 T7 limit: 5 km (a prefixed unit) passes"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 mm",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM287 T7 limit: 5 mm (no scale, MM being exact case) passes"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\uff05",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM288 T5 5 inside 5 U+FF05 (FULLWIDTH PERCENT SIGN)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "\uff05",
    "quote": "5\uff05",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM289 T5 5 in 5 U+FF05 with it declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\ufe6a",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM290 T5 5 inside 5 U+FE6A (SMALL PERCENT SIGN)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "\ufe6a",
    "quote": "5\ufe6a",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM291 T5 5 in 5 U+FE6A with it declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u066a",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM292 T5 5 inside 5 U+066A (ARABIC PERCENT SIGN)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "\u066a",
    "quote": "5\u066a",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM293 T5 5 in 5 U+066A with it declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u0609",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM294 T5 5 inside 5 U+0609 (ARABIC-INDIC PER MILLE SIGN)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "\u0609",
    "quote": "5\u0609",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM295 T5 5 in 5 U+0609 with it declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5\u060a",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM296 T5 5 inside 5 U+060A (ARABIC-INDIC PER TEN THOUSAND SIGN)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "\u060a",
    "quote": "5\u060a",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM297 T5 5 in 5 U+060A with it declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "\u066a5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM298 T5 5 after U+066A (before the number)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "\u066a",
    "quote": "\u066a5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM299 T5 5 after U+066A with it declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 per mille",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM300 T5 5 inside 5 per mille"
  },
  {
   "args": {
    "accounting": false,
    "affix": "per mille",
    "quote": "5 per mille",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM301 T5 5 in 5 per mille with per mille declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 permille",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM302 T5 5 inside 5 permille"
  },
  {
   "args": {
    "accounting": false,
    "affix": "permille",
    "quote": "5 permille",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM303 T5 5 in 5 permille with permille declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 bp",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM304 T5 5 inside 5 bp"
  },
  {
   "args": {
    "accounting": false,
    "affix": "bp",
    "quote": "5 bp",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM305 T5 5 in 5 bp with bp declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 bps",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM306 T5 5 inside 5 bps"
  },
  {
   "args": {
    "accounting": false,
    "affix": "bps",
    "quote": "5 bps",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM307 T5 5 in 5 bps with bps declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 basis point",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM308 T5 5 inside 5 basis point"
  },
  {
   "args": {
    "accounting": false,
    "affix": "basis point",
    "quote": "5 basis point",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM309 T5 5 in 5 basis point with basis point declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 basis points",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM310 T5 5 inside 5 basis points"
  },
  {
   "args": {
    "accounting": false,
    "affix": "basis points",
    "quote": "5 basis points",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM311 T5 5 in 5 basis points with basis points declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 pp",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM312 T5 5 inside 5 pp"
  },
  {
   "args": {
    "accounting": false,
    "affix": "pp",
    "quote": "5 pp",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM313 T5 5 in 5 pp with pp declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 percentage point",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM314 T5 5 inside 5 percentage point"
  },
  {
   "args": {
    "accounting": false,
    "affix": "percentage point",
    "quote": "5 percentage point",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM315 T5 5 in 5 percentage point with percentage point declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 percentage points",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM316 T5 5 inside 5 percentage points"
  },
  {
   "args": {
    "accounting": false,
    "affix": "percentage points",
    "quote": "5 percentage points",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM317 T5 5 in 5 percentage points with percentage points declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 ppm",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM318 T5 5 inside 5 ppm"
  },
  {
   "args": {
    "accounting": false,
    "affix": "ppm",
    "quote": "5 ppm",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM319 T5 5 in 5 ppm with ppm declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 ppb",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM320 T5 5 inside 5 ppb"
  },
  {
   "args": {
    "accounting": false,
    "affix": "ppb",
    "quote": "5 ppb",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM321 T5 5 in 5 ppb with ppb declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 ppt",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM322 T5 5 inside 5 ppt"
  },
  {
   "args": {
    "accounting": false,
    "affix": "ppt",
    "quote": "5 ppt",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM323 T5 5 in 5 ppt with ppt declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 ppq",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM324 T5 5 inside 5 ppq"
  },
  {
   "args": {
    "accounting": false,
    "affix": "ppq",
    "quote": "5 ppq",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM325 T5 5 in 5 ppq with ppq declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 PPB",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM326 T5 5 inside 5 PPB (any case)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 Per Mille",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM327 T5 5 inside 5 Per Mille"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 BPS",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM328 T5 5 inside 5 BPS"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 basis\u00a0points",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM329 T5 5 inside 5 basis U+00A0 points"
  },
  {
   "args": {
    "accounting": false,
    "affix": "basis point",
    "quote": "5 basis points",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM330 T5 basis point declared matches 5 basis points"
  },
  {
   "args": {
    "accounting": false,
    "affix": "basis points",
    "quote": "5 basis point",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM331 T5 basis points declared matches 5 basis point"
  },
  {
   "args": {
    "accounting": false,
    "affix": "percentage point",
    "quote": "5 percentage points",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM332 T5 percentage point declared matches 5 percentage points"
  },
  {
   "args": {
    "accounting": false,
    "affix": "percentage points",
    "quote": "5 Percentage Point",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM333 T5 percentage points declared matches 5 Percentage Point"
  },
  {
   "args": {
    "accounting": false,
    "affix": "bp",
    "quote": "5 bps",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM334 T5 bp declared does not match 5 bps (one word, no number)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "per mille",
    "quote": "5 %",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM335 T5 per mille declared does not match 5 %"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "bps 5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM336 T5 bps before the number joins nothing (after only)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "bps",
    "quote": "5 million bps",
    "scale": "million",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM337 T5 5 in 5 million bps with million and bps declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 percentage",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM338 T5 5 percentage: one word of a two-word form is none"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 quadrillions",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM339 T8 5 inside 5 quadrillions"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 quadrillion",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM340 T8 5 inside 5 quadrillion"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 quadrillions",
    "scale": "quadrillion",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM341 T8 5 in 5 quadrillions with quadrillion declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 dozens",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM342 T8 5 inside 5 dozens"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 dozen",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM343 T8 5 inside 5 dozen"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 dozens",
    "scale": "dozen",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM344 T8 5 in 5 dozens with dozen declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 tenths",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM345 T8 5 inside 5 tenths"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 tenth",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM346 T8 5 inside 5 tenth"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 tenths",
    "scale": "tenth",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM347 T8 5 in 5 tenths with tenth declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 hundredths",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM348 T8 5 inside 5 hundredths"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 hundredth",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM349 T8 5 inside 5 hundredth"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 hundredths",
    "scale": "hundredth",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM350 T8 5 in 5 hundredths with hundredth declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 thousandths",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM351 T8 5 inside 5 thousandths"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 thousandth",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM352 T8 5 inside 5 thousandth"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 thousandths",
    "scale": "thousandth",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM353 T8 5 in 5 thousandths with thousandth declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 millionths",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM354 T8 5 inside 5 millionths"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 millionth",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM355 T8 5 inside 5 millionth"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 millionths",
    "scale": "millionth",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM356 T8 5 in 5 millionths with millionth declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 billionths",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM357 T8 5 inside 5 billionths"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 billionth",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM358 T8 5 inside 5 billionth"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 billionths",
    "scale": "billionth",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM359 T8 5 in 5 billionths with billionth declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 trillionths",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM360 T8 5 inside 5 trillionths"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 trillionth",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM361 T8 5 inside 5 trillionth"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 trillionths",
    "scale": "trillionth",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM362 T8 5 in 5 trillionths with trillionth declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 mln",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM363 T8 5 inside 5 mln"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 mln",
    "scale": "mln",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM364 T8 5 in 5 mln with mln declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 BLN",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM365 T8 5 inside 5 BLN"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 BLN",
    "scale": "bln",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM366 T8 5 in 5 BLN with bln declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 tn",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM367 T8 5 inside 5 tn"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 tn",
    "scale": "tn",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM368 T8 5 in 5 tn with tn declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 trn",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM369 T8 5 inside 5 trn"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 trn",
    "scale": "trn",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM370 T8 5 in 5 trn with trn declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 Mio",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM371 T8 5 inside 5 Mio"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 Mio",
    "scale": "mio",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM372 T8 5 in 5 Mio with mio declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 mrd",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM373 T8 5 inside 5 mrd"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 mrd",
    "scale": "mrd",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM374 T8 5 in 5 mrd with mrd declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 MM",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM375 T8 5 inside 5 MM"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 MM",
    "scale": "MM",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM376 T8 5 in 5 MM with MM declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 TN",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM377 T8 5 inside 5 TN (any case)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 MRD",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM378 T8 5 inside 5 MRD"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 mm",
    "scale": "MM",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM379 T8 5 in 5 mm with MM declared (no scale there)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 MM",
    "scale": "M",
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM380 T8 5 in 5 MM with M declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5 Dozen",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM381 T8 5 inside 5 Dozen"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "0.5 millionths",
    "scale": null,
    "value": "0.5"
   },
   "expected": "quote|FAIL",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM382 T8 0.5 inside 0.5 millionths"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5",
    "scale": "thousandths",
    "value": "5"
   },
   "expected": "ERROR:scale",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM383 refused: a plural scale entry (thousandths)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5",
    "scale": "Mio",
    "value": "5"
   },
   "expected": "ERROR:scale",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM384 refused: a case-free abbreviation declared in upper case"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "quote": "5",
    "scale": "mm",
    "value": "5"
   },
   "expected": "ERROR:scale",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM385 refused: an exact abbreviation not in the catalogue (mm)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "Basis Point",
    "quote": "5",
    "scale": null,
    "value": "5"
   },
   "expected": "ERROR:affix",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM386 refused: an affix word in title case (Basis Point)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "points",
    "quote": "5",
    "scale": null,
    "value": "5"
   },
   "expected": "ERROR:affix",
   "fn": "qmatch",
   "hand_checked": true,
   "name": "QM387 refused: points alone as an affix"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "page": "GPQA Diamond: 87.3% (n = 198). Next line",
    "quote": "GPQA Diamond: 87.3%",
    "scale": null,
    "value": "87.3"
   },
   "expected": "quote|PASS",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC01 the quote in the page, the value in the quote, % declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": "GPQA Diamond: 87.3% (n = 198). Next line",
    "quote": "GPQA Diamond: 87.3%",
    "scale": null,
    "value": "87.3"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC02 the same with no affix declared (T5)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "page": "GPQA  Diamond:\n87.3% (n = 198)",
    "quote": "GPQA Diamond: 87.3%",
    "scale": null,
    "value": "87.3"
   },
   "expected": "quote|PASS",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC03 a whitespace-only difference"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "page": "GPQA Diamond: 87.3% (n = 198). Next line",
    "quote": "GPQA Diamond: 87.3%",
    "scale": null,
    "value": "198"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC04 the value outside the quote"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "page": "GPQA Diamond: 87.3% (n = 198). Next line",
    "quote": "GPQA Diamond: 87.3%",
    "scale": null,
    "value": "87.4"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC05 near-miss digits"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "page": null,
    "quote": "GPQA Diamond: 87.3%",
    "scale": null,
    "value": "87.3"
   },
   "expected": "quote|UNKNOWN",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC06 no page TPX may read: UNKNOWN"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": "Anthropic Claude",
    "quote": "hropic Claude",
    "scale": null,
    "value": "Claude"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC07 a quote beginning mid-word"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": "123 items",
    "quote": "123 items",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC08 12 inside 123 within the quote"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": "score 87.35 on",
    "quote": "score 87.3",
    "scale": null,
    "value": "87.3"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC09 a quote that cuts a number"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": "limit (12) per day",
    "quote": "(12) per day",
    "scale": null,
    "value": "12"
   },
   "expected": "quote|PASS",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC10 12 inside (12)"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "page": "GPQA Diamond: 81.0%",
    "quote": "GPQA Diamond: 87.3%",
    "scale": null,
    "value": "87.3"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC11 a quote not on the page"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "page": "GPQA 72.4% today",
    "quote": "GPQA 72.4",
    "scale": null,
    "value": "72.4"
   },
   "expected": "quote|PASS",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC12 a quote ending at a declared affix"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": "GPQA 72.4% today",
    "quote": "GPQA 72.4",
    "scale": null,
    "value": "72.4"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC13 a quote ending at an undeclared affix"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": "change -5 points",
    "quote": "change -5 points",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC14 a sign error end to end (QM12)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": "change -5 points",
    "quote": "change -5 points",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|PASS",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC15 the signed value end to end"
  },
  {
   "args": {
    "accounting": true,
    "affix": null,
    "page": "Net income (5) in Q3",
    "quote": "Net income (5) in Q3",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|PASS",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC16 accounting: -5 against (5)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": "Net income (5) in Q3",
    "quote": "Net income (5) in Q3",
    "scale": null,
    "value": "-5"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC17 no accounting: -5 against (5)"
  },
  {
   "args": {
    "accounting": true,
    "affix": null,
    "page": "Net income (5) in Q3",
    "quote": "Net income (5) in Q3",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC18 accounting: 5 against (5)"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": "rate 1 x 10^-5 per s",
    "quote": "rate 1 x 10^-5 per s",
    "scale": null,
    "value": "1"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC19 T4 end to end: 1 inside 1 x 10^-5"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": "rate 1 x 10^-5 per s",
    "quote": "rate 1 x 10^-5 per s",
    "scale": null,
    "value": "1 x 10^-5"
   },
   "expected": "quote|PASS",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC20 T4 end to end: the whole power"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": 5,
    "quote": "q",
    "scale": null,
    "value": "v"
   },
   "expected": "ERROR:text",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC21 refused: a non-string page"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": null,
    "quote": 5,
    "scale": null,
    "value": "v"
   },
   "expected": "ERROR:text",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC22 refused without a page: a non-string quote"
  },
  {
   "args": {
    "accounting": false,
    "affix": "ab",
    "page": null,
    "quote": "q",
    "scale": null,
    "value": "v"
   },
   "expected": "ERROR:affix",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC23 refused without a page: a bad affix"
  },
  {
   "args": {
    "accounting": 1,
    "affix": null,
    "page": "p",
    "quote": "p",
    "scale": null,
    "value": "p"
   },
   "expected": "ERROR:accounting",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC24 refused: accounting as a number"
  },
  {
   "args": {
    "accounting": false,
    "affix": "$",
    "page": "Revenue was $5 billion in 2025.",
    "quote": "Revenue was $5 billion",
    "scale": "billion",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC25 T8 end to end: $ and billion declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "$",
    "page": "Revenue was $5 billion in 2025.",
    "quote": "Revenue was $5 billion",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC26 T8 end to end: $ alone declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "$",
    "page": "Revenue was $5 billion in 2025.",
    "quote": "Revenue was $5",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC27 T8 end to end: a quote cut before the scale"
  },
  {
   "args": {
    "accounting": false,
    "affix": "$",
    "page": "Revenue was $5 billion in 2025.",
    "quote": "Revenue was $5",
    "scale": "billion",
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC28 T8 end to end: the same cut with billion declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "page": "Score: 8\u200b7.3%",
    "quote": "Score: 87.3%",
    "scale": null,
    "value": "87.3"
   },
   "expected": "quote|PASS",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC29 Cf end to end: format characters in the page"
  },
  {
   "args": {
    "accounting": false,
    "affix": "%",
    "page": "Score: 87.3%",
    "quote": "Score: 8\u00ad7.3%",
    "scale": null,
    "value": "87.3"
   },
   "expected": "quote|PASS",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC30 Cf end to end: format characters in the quote"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": "ratio 5\u204410 here",
    "quote": "ratio 5\u204410",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|FAIL",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC31 T3 end to end: a fraction slash"
  },
  {
   "args": {
    "accounting": false,
    "affix": "per cent",
    "page": "rose 5 per cent in May",
    "quote": "rose 5 per cent",
    "scale": null,
    "value": "5"
   },
   "expected": "quote|PASS",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC32 T5 end to end: per cent declared"
  },
  {
   "args": {
    "accounting": false,
    "affix": null,
    "page": null,
    "quote": "q",
    "scale": "lots",
    "value": "v"
   },
   "expected": "ERROR:scale",
   "fn": "qcheck",
   "hand_checked": true,
   "name": "QC33 refused without a page: a bad scale"
  },
  {
   "args": {
    "cited": "https://data.example.org/bench.csv",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|0|EXACT|https://data.example.org/bench.csv\nfetch|https://data.example.org/bench.csv",
   "fn": "source",
   "hand_checked": true,
   "name": "SM01 an exact entry"
  },
  {
   "args": {
    "cited": "HTTPS://Data.Example.ORG/bench%2ecsv",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|0|EXACT|https://data.example.org/bench.csv\nfetch|https://data.example.org/bench.csv",
   "fn": "source",
   "hand_checked": true,
   "name": "SM02 an exact entry after RFC 3986 syntax steps"
  },
  {
   "args": {
    "cited": "https://data.example.org/bench.csv?utm=x#top",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|0|EXACT|https://data.example.org/bench.csv\nfetch|https://data.example.org/bench.csv",
   "fn": "source",
   "hand_checked": true,
   "name": "SM03 an unnamed query and the fragment dropped"
  },
  {
   "args": {
    "cited": "https://example.org/org/team/page.html",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://example.org/org/\nfetch|https://example.org/org/team/page.html",
   "fn": "source",
   "hand_checked": true,
   "name": "SM04 a path under a prefix"
  },
  {
   "args": {
    "cited": "https://example.org/org2/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM05 /org2/ against the prefix /org/"
  },
  {
   "args": {
    "cited": "https://example.org/org/../secret",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM06 a dot segment in the cited path"
  },
  {
   "args": {
    "cited": "https://example.org/org/%2E%2E/secret",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM07 an encoded dot segment in the cited path"
  },
  {
   "args": {
    "cited": "https://example.org/org/..%2Fsecret",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM08 an encoded slash refused"
  },
  {
   "args": {
    "cited": "https://docs.example.com/models",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|2|PREFIX|https://docs.example.com/models\nfetch|https://docs.example.com/models",
   "fn": "source",
   "hand_checked": true,
   "name": "SM09 the prefix itself (no trailing slash declared)"
  },
  {
   "args": {
    "cited": "https://docs.example.com/models/a/b",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|2|PREFIX|https://docs.example.com/models\nfetch|https://docs.example.com/models/a/b",
   "fn": "source",
   "hand_checked": true,
   "name": "SM10 a path under a prefix at a segment boundary"
  },
  {
   "args": {
    "cited": "https://docs.example.com/modelsx",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM11 /models does not cover /modelsx"
  },
  {
   "args": {
    "cited": "https://evil.example.org/org/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM12 another host"
  },
  {
   "args": {
    "cited": "https://example.org.evil.com/org/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM13 a declared host as a label of another"
  },
  {
   "args": {
    "cited": "https://example.org:444/org/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM14 another port"
  },
  {
   "args": {
    "cited": "https://example.org:443/org/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM15 an explicit :443 against no declared port"
  },
  {
   "args": {
    "cited": "https://api.example.net:8443/v1/list?format=csv",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|3|EXACT|https://api.example.net:8443/v1/list?format=csv\nfetch|https://api.example.net:8443/v1/list?format=csv",
   "fn": "source",
   "hand_checked": true,
   "name": "SM16 the declared port and query"
  },
  {
   "args": {
    "cited": "https://api.example.net:8443/v1/list?format=json",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM17 another query than the entry names"
  },
  {
   "args": {
    "cited": "https://api.example.net:8443/v1/list",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM18 no query where the entry names one"
  },
  {
   "args": {
    "cited": "https://api.example.net/v1/list?format=csv",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM19 the declared port missing"
  },
  {
   "args": {
    "cited": "https://user@example.org/org/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|userinfo",
   "fn": "source",
   "hand_checked": true,
   "name": "SM20 userinfo refused"
  },
  {
   "args": {
    "cited": "http://example.org/org/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|scheme",
   "fn": "source",
   "hand_checked": true,
   "name": "SM21 http refused"
  },
  {
   "args": {
    "cited": "https://[::1]/org/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|host",
   "fn": "source",
   "hand_checked": true,
   "name": "SM22 an IP literal refused"
  },
  {
   "args": {
    "cited": "https://127.0.0.1/org/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|host",
   "fn": "source",
   "hand_checked": true,
   "name": "SM23 a dotted IPv4 host refused"
  },
  {
   "args": {
    "cited": "https://exa mple.org/",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|url",
   "fn": "source",
   "hand_checked": true,
   "name": "SM24 a space refused"
  },
  {
   "args": {
    "cited": 5,
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|url",
   "fn": "source",
   "hand_checked": true,
   "name": "SM25 a citation that is not a string"
  },
  {
   "args": {
    "cited": "https:/org/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|url",
   "fn": "source",
   "hand_checked": true,
   "name": "SM26 no authority"
  },
  {
   "args": {
    "cited": "https://example.org/org/a?b=1#c",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://example.org/org/\nfetch|https://example.org/org/a",
   "fn": "source",
   "hand_checked": true,
   "name": "SM27 a query and fragment under a prefix dropped"
  },
  {
   "args": {
    "cited": "https://example.org/pub/org/x",
    "sources": [
     [
      "PREFIX",
      "https://example.org/pub/"
     ],
     [
      "PREFIX",
      "https://example.org/pub/org/"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://example.org/pub/org/\nfetch|https://example.org/pub/org/x",
   "fn": "source",
   "hand_checked": true,
   "name": "SM28 the longest prefix wins"
  },
  {
   "args": {
    "cited": "https://example.org/pub/other",
    "sources": [
     [
      "PREFIX",
      "https://example.org/pub/"
     ],
     [
      "PREFIX",
      "https://example.org/pub/org/"
     ]
    ]
   },
   "expected": "source|ENTRY|0|PREFIX|https://example.org/pub/\nfetch|https://example.org/pub/other",
   "fn": "source",
   "hand_checked": true,
   "name": "SM29 the shorter prefix elsewhere"
  },
  {
   "args": {
    "cited": "https://example.org/org/page",
    "sources": [
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "EXACT",
      "https://example.org/org/page"
     ]
    ]
   },
   "expected": "source|ENTRY|1|EXACT|https://example.org/org/page\nfetch|https://example.org/org/page",
   "fn": "source",
   "hand_checked": true,
   "name": "SM30 an exact entry beats a prefix"
  },
  {
   "args": {
    "cited": "https://example.com/",
    "sources": [
     [
      "EXACT",
      "https://example.com"
     ]
    ]
   },
   "expected": "source|ENTRY|0|EXACT|https://example.com/\nfetch|https://example.com/",
   "fn": "source",
   "hand_checked": true,
   "name": "SM31 an empty path is /"
  },
  {
   "args": {
    "cited": "https://example.org./org/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM32 a trailing dot in the host"
  },
  {
   "args": {
    "cited": "https://example.org/org/x",
    "sources": []
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM33 an empty list"
  },
  {
   "args": {
    "cited": "https://example.org/org",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM34 a prefix with a trailing slash does not cover the bare path"
  },
  {
   "args": {
    "cited": "https://example.org/org/%7Euser",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://example.org/org/\nfetch|https://example.org/org/~user",
   "fn": "source",
   "hand_checked": true,
   "name": "SM35 unreserved characters decoded under a prefix"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "EXACT",
      "http://a.org/"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM36 a declared http entry refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "EXACT",
      "https://u@a.org/"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM37 a declared entry with userinfo refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "PREFIX",
      "https://a.org/p?q=1"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM38 a declared prefix with a query refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "EXACT",
      "https://a.org/p#f"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM39 a declared entry with a fragment refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "EXACT",
      "https://10.0.0.1/"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM40 a declared IP host refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "LIKE",
      "https://a.org/"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM41 an unknown entry kind refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     "https://a.org/"
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM42 an entry that is not a pair refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "EXACT",
      "https://a.org:/"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM43 a declared empty port refused"
  },
  {
   "args": {
    "cited": "https://example.org/org/..;/secret",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM44 ..; (a dot segment with a parameter)"
  },
  {
   "args": {
    "cited": "https://example.org/org/%252E%252E/secret",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM45 %252E%252E (double-encoded dot segment)"
  },
  {
   "args": {
    "cited": "https://example.org/org/page;jsessionid=1",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM46 a ; parameter"
  },
  {
   "args": {
    "cited": "https://example.org/org/a%3Bb",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM47 an encoded ; parameter"
  },
  {
   "args": {
    "cited": "https://example.org/org/%5Csecret",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM48 an encoded backslash"
  },
  {
   "args": {
    "cited": "https://example.org/org/..%252Fsecret",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM49 a double-encoded slash"
  },
  {
   "args": {
    "cited": "https://example.org/org/./x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM50 a single dot segment"
  },
  {
   "args": {
    "cited": "https://example.org/org/%25252525252541",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://example.org/org/\nfetch|https://example.org/org/%25252525252541",
   "fn": "source",
   "hand_checked": true,
   "name": "SM51 seven decodings settle"
  },
  {
   "args": {
    "cited": "https://example.org/org/%2525252525252541",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM52 eight decodings do not settle"
  },
  {
   "args": {
    "cited": "https://example.org/org/caf%C3%A9",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://example.org/org/\nfetch|https://example.org/org/caf%C3%A9",
   "fn": "source",
   "hand_checked": true,
   "name": "SM53 an encoded non-ASCII byte is harmless"
  },
  {
   "args": {
    "cited": "https://example.org/org/.../x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://example.org/org/\nfetch|https://example.org/org/.../x",
   "fn": "source",
   "hand_checked": true,
   "name": "SM54 three dots are no dot segment"
  },
  {
   "args": {
    "cited": "https://example.org/org/v1.2/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://example.org/org/\nfetch|https://example.org/org/v1.2/x",
   "fn": "source",
   "hand_checked": true,
   "name": "SM55 a dot inside a segment"
  },
  {
   "args": {
    "cited": "https://example.org/org/x?p=../y",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://example.org/org/\nfetch|https://example.org/org/x",
   "fn": "source",
   "hand_checked": true,
   "name": "SM56 dots in the query are not the path"
  },
  {
   "args": {
    "cited": "https://example.org/org/a/b.html",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://example.org/org/\nfetch|https://example.org/org/a/b.html",
   "fn": "source",
   "hand_checked": true,
   "name": "SM57 the fetched URL equals the citation under a prefix"
  },
  {
   "args": {
    "cited": "https://example.org/x",
    "sources": [
     [
      "PREFIX",
      "https://example.org/"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "source",
   "hand_checked": true,
   "name": "SM58 a PREFIX at a host root refused"
  },
  {
   "args": {
    "cited": "https://example.org/x",
    "sources": [
     [
      "PREFIX",
      "https://example.org"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "source",
   "hand_checked": true,
   "name": "SM59 a PREFIX at a bare host refused"
  },
  {
   "args": {
    "cited": "https://example.org",
    "sources": [
     [
      "EXACT",
      "https://example.org/"
     ]
    ]
   },
   "expected": "source|ENTRY|0|EXACT|https://example.org/\nfetch|https://example.org/",
   "fn": "source",
   "hand_checked": true,
   "name": "SM60 an EXACT entry at a host root is no PREFIX"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/data/r.csv",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://github.com/org/repo/tree/main/\nfetch|https://github.com/org/repo/tree/main/data/r.csv",
   "fn": "source",
   "hand_checked": true,
   "name": "SM61 a PREFIX at a named branch on a CODE HOST"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/issues/1",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM62 the repository's issues are outside the branch"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://github.com/org/repo/tree/main/\nfetch|https://github.com/org/repo/tree/main/",
   "fn": "source",
   "hand_checked": true,
   "name": "SM63 the branch prefix itself"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "source",
   "hand_checked": true,
   "name": "SM64 an organisation root on a CODE HOST refused"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "source",
   "hand_checked": true,
   "name": "SM65 a repository root on a CODE HOST refused"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "source",
   "hand_checked": true,
   "name": "SM66 tree without a branch refused"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/Tree/main/"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "source",
   "hand_checked": true,
   "name": "SM67 a template segment is case-sensitive"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/blob/0123abcd/data/r.csv",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/blob/0123abcd/"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://github.com/org/repo/blob/0123abcd/\nfetch|https://github.com/org/repo/blob/0123abcd/data/r.csv",
   "fn": "source",
   "hand_checked": true,
   "name": "SM68 a pinned commit on a CODE HOST"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/docs/x",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/docs/"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://github.com/org/repo/tree/main/docs/\nfetch|https://github.com/org/repo/tree/main/docs/x",
   "fn": "source",
   "hand_checked": true,
   "name": "SM69 a path below a named branch"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/",
    "sources": [
     [
      "CODE HOST",
      "github.com"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "source",
   "hand_checked": true,
   "name": "SM70 a CODE HOST without templates refuses every PREFIX"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/issues/1",
    "sources": [
     [
      "CODE HOST",
      "github.com"
     ],
     [
      "EXACT",
      "https://github.com/org/repo/issues/1"
     ]
    ]
   },
   "expected": "source|ENTRY|1|EXACT|https://github.com/org/repo/issues/1\nfetch|https://github.com/org/repo/issues/1",
   "fn": "source",
   "hand_checked": true,
   "name": "SM71 an EXACT entry on a CODE HOST needs no template"
  },
  {
   "args": {
    "cited": "https://example.org/org/x",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://example.org/org/\nfetch|https://example.org/org/x",
   "fn": "source",
   "hand_checked": true,
   "name": "SM72 a CODE HOST mark leaves other hosts to INSPECTION"
  },
  {
   "args": {
    "cited": "https://github.com/x",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM73 a CODE HOST mark is itself no entry"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM74 a CODE HOST named twice refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM75 a CODE HOST template without a final / refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "CODE HOST",
      "GitHub.com",
      "/*/*/tree/*/"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM76 a CODE HOST in upper case refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "CODE HOST",
      "10.0.0.1",
      "/*/"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM77 a CODE HOST given as an IP refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "PREFIX",
      "https://example.org/a/..;/"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM78 a declared prefix holding ..; refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "PREFIX",
      "https://example.org/a/%2E%2E/b/"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM79 a declared prefix holding an encoded dot segment refused"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "EXACT",
      "https://example.org/a;b"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM80 a declared entry holding ; refused"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/refs/pull/1/"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "source",
   "hand_checked": true,
   "name": "SM81 a branch slot of refs refused (pull-request refs)"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/blob/REFS/"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "source",
   "hand_checked": true,
   "name": "SM82 a branch slot of REFS refused (any case)"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/%72efs/heads/main/"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "source",
   "hand_checked": true,
   "name": "SM83 a branch slot of refs written %72efs refused"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/commit/Refs/"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "source",
   "hand_checked": true,
   "name": "SM84 a commit slot of refs refused"
  },
  {
   "args": {
    "cited": "https://raw.example.com/o/r/refs/pull/1/head/x",
    "sources": [
     [
      "CODE HOST",
      "raw.example.com",
      "/*/*/*/"
     ],
     [
      "PREFIX",
      "https://raw.example.com/o/r/refs/"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "source",
   "hand_checked": true,
   "name": "SM85 refs in the branch slot of a raw host refused"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/refsx/a",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/refsx/"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://github.com/org/repo/tree/refsx/\nfetch|https://github.com/org/repo/tree/refsx/a",
   "fn": "source",
   "hand_checked": true,
   "name": "SM86 a branch named refsx is a branch"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/tree/main/refs/a",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/refs/"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://github.com/org/repo/tree/main/refs/\nfetch|https://github.com/org/repo/tree/main/refs/a",
   "fn": "source",
   "hand_checked": true,
   "name": "SM87 a folder named refs below a named branch"
  },
  {
   "args": {
    "cited": "https://github.com/refs/repo/tree/main/a",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/refs/repo/tree/main/"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://github.com/refs/repo/tree/main/\nfetch|https://github.com/refs/repo/tree/main/a",
   "fn": "source",
   "hand_checked": true,
   "name": "SM88 an owner named refs (not the branch slot)"
  },
  {
   "args": {
    "cited": "https://example.org/org/%C0%AE%C0%AE/secret",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM89 %C0%AE%C0%AE (overlong dots) refused"
  },
  {
   "args": {
    "cited": "https://example.org/org/%ED%A0%80",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM90 an encoded surrogate refused"
  },
  {
   "args": {
    "cited": "https://example.org/org/%E2%82x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM91 a truncated sequence refused"
  },
  {
   "args": {
    "cited": "https://example.org/org/%F4%90%80%80",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM92 a code point above U+10FFFF refused"
  },
  {
   "args": {
    "cited": "https://example.org/org/%80",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM93 a lone continuation byte refused"
  },
  {
   "args": {
    "cited": "https://example.org/org/%25C0%25AE%25C0%25AE/x",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM94 a double-encoded overlong form refused"
  },
  {
   "args": {
    "cited": "https://example.org/org/%F0%9F%98%80",
    "sources": [
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ],
     [
      "PREFIX",
      "https://docs.example.com/models"
     ],
     [
      "EXACT",
      "https://api.example.net:8443/v1/list?format=csv"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://example.org/org/\nfetch|https://example.org/org/%F0%9F%98%80",
   "fn": "source",
   "hand_checked": true,
   "name": "SM95 a valid four-byte sequence is harmless"
  },
  {
   "args": {
    "cited": "https://a.org/",
    "sources": [
     [
      "PREFIX",
      "https://example.org/a/%C0%AE/"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM96 a declared entry holding an overlong form refused"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ],
     [
      "SERVED",
      "https://export.arxiv.org/api/query?id_list=2601.12345v2"
     ],
     [
      "PREFIX",
      "https://api.crossref.org/v1/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ]
    ]
   },
   "expected": "source|ENTRY|0|SERVED|https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0\nfetch|STORE",
   "fn": "source",
   "hand_checked": true,
   "name": "SM97 a citation equal to a SERVED registry record: read from the store"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0",
    "sources": [
     [
      "PREFIX",
      "https://api.crossref.org/v1/"
     ],
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ]
    ]
   },
   "expected": "source|ENTRY|1|SERVED|https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0\nfetch|STORE",
   "fn": "source",
   "hand_checked": true,
   "name": "SM98 SERVED wins over the PREFIX that also covers the citation"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ],
     [
      "EXACT",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ]
    ]
   },
   "expected": "source|ENTRY|1|EXACT|https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0\nfetch|https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0",
   "fn": "source",
   "hand_checked": true,
   "name": "SM99 an EXACT entry wins over SERVED"
  },
  {
   "args": {
    "cited": "https://export.arxiv.org/api/query?id_list=2601.12345v2",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ],
     [
      "SERVED",
      "https://export.arxiv.org/api/query?id_list=2601.12345v2"
     ],
     [
      "PREFIX",
      "https://api.crossref.org/v1/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ]
    ]
   },
   "expected": "source|ENTRY|1|SERVED|https://export.arxiv.org/api/query?id_list=2601.12345v2\nfetch|STORE",
   "fn": "source",
   "hand_checked": true,
   "name": "SM100 a SERVED entry with a query matches the same query only"
  },
  {
   "args": {
    "cited": "https://export.arxiv.org/api/query?id_list=2601.12345v3",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ],
     [
      "SERVED",
      "https://export.arxiv.org/api/query?id_list=2601.12345v2"
     ],
     [
      "PREFIX",
      "https://api.crossref.org/v1/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM101 another query does not match the SERVED entry (and no prefix covers it)"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0?x=1",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM102 a query on a citation against a SERVED entry without one"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0#top",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ],
     [
      "SERVED",
      "https://export.arxiv.org/api/query?id_list=2601.12345v2"
     ],
     [
      "PREFIX",
      "https://api.crossref.org/v1/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ]
    ]
   },
   "expected": "source|ENTRY|0|SERVED|https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0\nfetch|STORE",
   "fn": "source",
   "hand_checked": true,
   "name": "SM103 the fragment is dropped (SM7)"
  },
  {
   "args": {
    "cited": "HTTPS://API.CROSSREF.ORG/v1/works/10.1016/s0140%2D6736(97)11096-0",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ],
     [
      "SERVED",
      "https://export.arxiv.org/api/query?id_list=2601.12345v2"
     ],
     [
      "PREFIX",
      "https://api.crossref.org/v1/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ]
    ]
   },
   "expected": "source|ENTRY|0|SERVED|https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0\nfetch|STORE",
   "fn": "source",
   "hand_checked": true,
   "name": "SM104 the citation after RFC 3986 syntax steps (host case, an unreserved character decoded) equals the SERVED entry"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1016/s0140-6736%2897%2911096-0",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ],
     [
      "SERVED",
      "https://export.arxiv.org/api/query?id_list=2601.12345v2"
     ],
     [
      "PREFIX",
      "https://api.crossref.org/v1/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ]
    ]
   },
   "expected": "source|ENTRY|2|PREFIX|https://api.crossref.org/v1/\nfetch|https://api.crossref.org/v1/works/10.1016/s0140-6736%2897%2911096-0",
   "fn": "source",
   "hand_checked": true,
   "name": "SM104b a percent-encoded reserved character is not decoded, so the citation differs from the SERVED entry"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1002/(SICI)1097-0266(199708)18:7%3C509::AID-SMJ882%3E3.0.CO%3B2-Z",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1002/(SICI)1097-0266(199708)18:7%3C509::AID-SMJ882%3E3.0.CO%3B2-Z"
     ]
    ]
   },
   "expected": "source|ENTRY|0|SERVED|https://api.crossref.org/v1/works/10.1002/(SICI)1097-0266(199708)18:7%3C509::AID-SMJ882%3E3.0.CO%3B2-Z\nfetch|STORE",
   "fn": "source",
   "hand_checked": true,
   "name": "SM105 a SERVED entry with the registry's encoded semicolon (RD-15) is matched exactly; SM2's path rules do not apply to a store read"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0/extra",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none",
   "fn": "source",
   "hand_checked": true,
   "name": "SM106 a citation under a SERVED URL is not a prefix match"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1000/a%3Bb",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ],
     [
      "SERVED",
      "https://export.arxiv.org/api/query?id_list=2601.12345v2"
     ],
     [
      "PREFIX",
      "https://api.crossref.org/v1/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path",
   "fn": "source",
   "hand_checked": true,
   "name": "SM106b a citation whose path SM2 refuses that equals no SERVED entry is UNKNOWN path"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1000/a%3Bb",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1000/a%3Bb"
     ],
     [
      "PREFIX",
      "https://api.crossref.org/v1/"
     ]
    ]
   },
   "expected": "source|ENTRY|0|SERVED|https://api.crossref.org/v1/works/10.1000/a%3Bb\nfetch|STORE",
   "fn": "source",
   "hand_checked": true,
   "name": "SM106c the same citation equal to a SERVED entry is read from the store"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0",
    "sources": [
     [
      "EXACT",
      "https://api.crossref.org/v1/works/10.1000/a%3Bb"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM106d an EXACT entry holding an encoded semicolon is still refused (it would be fetched)"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0",
    "sources": [
     [
      "SERVED",
      "http://api.crossref.org/v1/works/x"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM107 a SERVED entry over http refused"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0#x"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM108 a SERVED entry with a fragment refused"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0",
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM109 a SERVED entry with three elements refused"
  },
  {
   "args": {
    "cited": "https://doi.org/",
    "sources": [
     [
      "SERVED",
      "https://doi.org/"
     ]
    ]
   },
   "expected": "source|ENTRY|0|SERVED|https://doi.org/\nfetch|STORE",
   "fn": "source",
   "hand_checked": true,
   "name": "SM110 a SERVED entry at a host root passes (no PUBLISHER TEST: nothing is fetched)"
  },
  {
   "args": {
    "cited": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0",
    "sources": [
     [
      "SERVED",
      "https://[::1]/v1/works/x"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "source",
   "hand_checked": true,
   "name": "SM111 a SERVED entry with an IP literal refused"
  },
  {
   "args": {
    "cited": "https://github.com/org/repo/raw/main/x",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "SERVED",
      "https://github.com/org/repo/raw/main/x"
     ]
    ]
   },
   "expected": "source|ENTRY|1|SERVED|https://github.com/org/repo/raw/main/x\nfetch|STORE",
   "fn": "source",
   "hand_checked": true,
   "name": "SM112 a SERVED entry on a CODE HOST needs no template"
  },
  {
   "args": {
    "hop": "https://github.com/org/repo/tree/main/data.csv",
    "matched": 1,
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://github.com/org/repo/tree/main/\nfetch|https://github.com/org/repo/tree/main/data.csv\nhop|SAME",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP01 a hop inside the matched branch"
  },
  {
   "args": {
    "hop": "https://github.com/org/repo/issues/9",
    "matched": 1,
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none\nhop|END",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP02 a hop to the same host outside the entry"
  },
  {
   "args": {
    "hop": "https://data.example.org/bench.csv",
    "matched": 1,
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|ENTRY|2|EXACT|https://data.example.org/bench.csv\nfetch|https://data.example.org/bench.csv\nhop|OTHER",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP03 a hop into another declared entry"
  },
  {
   "args": {
    "hop": "https://cdn.example.net/r.csv",
    "matched": 1,
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none\nhop|END",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP04 a hop to an undeclared host"
  },
  {
   "args": {
    "hop": "http://github.com/org/repo/tree/main/x",
    "matched": 1,
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|UNKNOWN|scheme\nhop|END",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP05 a hop down to http"
  },
  {
   "args": {
    "hop": "https://example.org/org/%252E%252E/x",
    "matched": 3,
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path\nhop|END",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP06 a hop through a double-encoded dot segment"
  },
  {
   "args": {
    "hop": "https://data.example.org/bench.csv",
    "matched": 2,
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|ENTRY|2|EXACT|https://data.example.org/bench.csv\nfetch|https://data.example.org/bench.csv\nhop|SAME",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP07 a hop back to the exact entry itself"
  },
  {
   "args": {
    "hop": "https://data.example.org/bench.csv?x=1",
    "matched": 2,
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|ENTRY|2|EXACT|https://data.example.org/bench.csv\nfetch|https://data.example.org/bench.csv\nhop|SAME",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP08 a hop with a query the exact entry does not name"
  },
  {
   "args": {
    "hop": 5,
    "matched": 1,
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|UNKNOWN|url\nhop|END",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP09 a hop that is not a string"
  },
  {
   "args": {
    "hop": "https://github.com/org/repo/tree/main/",
    "matched": 0,
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "ERROR:matched",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP10 matched naming the CODE HOST mark refused"
  },
  {
   "args": {
    "hop": "https://github.com/org/repo/tree/main/",
    "matched": 4,
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "ERROR:matched",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP11 matched out of range refused"
  },
  {
   "args": {
    "hop": "https://github.com/org/repo/tree/main/",
    "matched": "1",
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "ERROR:matched",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP12 matched given as a string refused"
  },
  {
   "args": {
    "hop": "https://github.com/org/repo/tree/main/",
    "matched": 0,
    "sources": [
     [
      "PREFIX",
      "https://example.org/"
     ]
    ]
   },
   "expected": "ERROR:publisher",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP13 a list failing the PUBLISHER TEST refused"
  },
  {
   "args": {
    "hop": "https://example.org/org/%C0%AE/x",
    "matched": 3,
    "sources": [
     [
      "CODE HOST",
      "github.com",
      "/*/*/tree/*/",
      "/*/*/blob/*/",
      "/*/*/commit/*/"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://example.org/org/"
     ]
    ]
   },
   "expected": "source|UNKNOWN|path\nhop|END",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP14 a hop through an overlong form"
  },
  {
   "args": {
    "hop": "https://github.com/org/repo/tree/main/",
    "matched": 0,
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://api.crossref.org/v1/"
     ]
    ]
   },
   "expected": "ERROR:matched",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP15 matched naming a SERVED entry refused: no fetch leaves the store"
  },
  {
   "args": {
    "hop": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0",
    "matched": 1,
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://api.crossref.org/v1/"
     ]
    ]
   },
   "expected": "source|ENTRY|3|PREFIX|https://api.crossref.org/v1/\nfetch|https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0\nhop|OTHER",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP16 a hop onto a SERVED URL is no candidate; the PREFIX that covers it matches"
  },
  {
   "args": {
    "hop": "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0",
    "matched": 1,
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ]
    ]
   },
   "expected": "source|UNKNOWN|none\nhop|END",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP17 a hop onto a SERVED URL covered by nothing else ends the fetch"
  },
  {
   "args": {
    "hop": "https://github.com/org/repo/tree/main/data.csv",
    "matched": 1,
    "sources": [
     [
      "SERVED",
      "https://api.crossref.org/v1/works/10.1016/s0140-6736(97)11096-0"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ],
     [
      "EXACT",
      "https://data.example.org/bench.csv"
     ],
     [
      "PREFIX",
      "https://api.crossref.org/v1/"
     ]
    ]
   },
   "expected": "source|ENTRY|1|PREFIX|https://github.com/org/repo/tree/main/\nfetch|https://github.com/org/repo/tree/main/data.csv\nhop|SAME",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP18 a hop inside the matched branch with SERVED entries in the list"
  },
  {
   "args": {
    "hop": "https://github.com/org/repo/tree/main/",
    "matched": 1,
    "sources": [
     [
      "SERVED",
      "http://x.org/a"
     ],
     [
      "PREFIX",
      "https://github.com/org/repo/tree/main/"
     ]
    ]
   },
   "expected": "ERROR:sources",
   "fn": "hop",
   "hand_checked": true,
   "name": "HP19 a list with a bad SERVED entry refused"
  },
  {
   "args": {
    "counts": [],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|ISSUING\nshare|0|0|0\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP01 no falcon yet"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      2,
      1
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|ISSUING\nshare|3|10|1\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP02 a share of exactly 0.3 does not pass"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      4,
      0
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|STOPPED\nshare|4|10|1\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP03 a share above 0.3 stops"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      1,
      1
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|ISSUING\nshare|2|10|1\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP04 a share below"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      2,
      0
     ],
     [
      "ISSUED",
      "f2"
     ],
     [
      "FINISHED",
      "f2",
      10,
      2,
      0
     ],
     [
      "ISSUED",
      "f3"
     ],
     [
      "FINISHED",
      "f3",
      10,
      5,
      0
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 2
    }
   },
   "expected": "stop|STOPPED\nshare|7|20|2\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP05 the window: the last 2 falcons pass the share"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      2,
      0
     ],
     [
      "ISSUED",
      "f2"
     ],
     [
      "FINISHED",
      "f2",
      10,
      2,
      0
     ],
     [
      "ISSUED",
      "f3"
     ],
     [
      "FINISHED",
      "f3",
      10,
      5,
      0
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 3
    }
   },
   "expected": "stop|ISSUING\nshare|9|30|3\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP06 the window: the last 3 falcons do not"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "ISSUED",
      "f2"
     ],
     [
      "FINISHED",
      "f1",
      10,
      4,
      0
     ],
     [
      "FINISHED",
      "f2",
      10,
      0,
      0
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|STOPPED\nshare|4|20|2\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP07 falcons in flight at the stop finish; the kind stays stopped"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      4,
      0
     ],
     [
      "ISSUED",
      "f2"
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "ERROR:counts",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP08 an ISSUED while stopped is refused"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      4,
      0
     ],
     [
      "RESUMED"
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|ISSUING\nshare|0|0|0\nalone|waiting\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP09 resumed with nothing in flight: one falcon may issue alone"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "ISSUED",
      "f2"
     ],
     [
      "FINISHED",
      "f1",
      10,
      4,
      0
     ],
     [
      "RESUMED"
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|STOPPED\nshare|0|0|0\nalone|waiting\nin_flight|1",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP10 resumed with an older falcon in flight: the one waits for it"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "ISSUED",
      "f2"
     ],
     [
      "FINISHED",
      "f1",
      10,
      4,
      0
     ],
     [
      "RESUMED"
     ],
     [
      "FINISHED",
      "f2",
      10,
      10,
      0
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|ISSUING\nshare|0|0|0\nalone|waiting\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP11 the older falcon finishes after the resumption and does not count"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      4,
      0
     ],
     [
      "RESUMED"
     ],
     [
      "ISSUED",
      "f3"
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|STOPPED\nshare|0|0|0\nalone|f3\nin_flight|1",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP12 the one falcon issues alone"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      4,
      0
     ],
     [
      "RESUMED"
     ],
     [
      "ISSUED",
      "f3"
     ],
     [
      "FINISHED",
      "f3",
      10,
      0,
      0
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|ISSUING\nshare|0|10|1\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP13 the one falcon finishes below the share: issuing again"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      4,
      0
     ],
     [
      "RESUMED"
     ],
     [
      "ISSUED",
      "f3"
     ],
     [
      "FINISHED",
      "f3",
      10,
      4,
      0
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|STOPPED\nshare|4|10|1\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP14 the one falcon passes the share: the kind stops again"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      4,
      0
     ],
     [
      "RESUMED"
     ],
     [
      "ISSUED",
      "f3"
     ],
     [
      "ISSUED",
      "f4"
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "ERROR:counts",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP15 a second ISSUED beside the one falcon is refused"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      0,
      0
     ],
     [
      "RESUMED"
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|ISSUING\nshare|0|10|1\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP16 RESUMED while issuing changes nothing"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      4,
      0
     ],
     [
      "RESUMED"
     ],
     [
      "RESUMED"
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|ISSUING\nshare|0|0|0\nalone|waiting\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP17 a second RESUMED while the one falcon waits changes nothing"
  },
  {
   "args": {
    "counts": [
     [
      "FINISHED",
      "f1",
      1,
      0,
      0
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "ERROR:counts",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP18 FINISHED for a falcon never issued is refused"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      0,
      0
     ],
     [
      "ISSUED",
      "f1"
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "ERROR:counts",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP19 an id issued twice is refused"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      10,
      0
     ]
    ],
    "limits": {
     "breaker": "1",
     "window": 20
    }
   },
   "expected": "stop|ISSUING\nshare|10|10|1\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP20 FALCON BREAKER 1 never stops"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      10,
      1,
      0
     ]
    ],
    "limits": {
     "breaker": "0",
     "window": 20
    }
   },
   "expected": "stop|STOPPED\nshare|1|10|1\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP21 FALCON BREAKER 0 stops on any item"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      0,
      0,
      0
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|ISSUING\nshare|0|0|1\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP22 a falcon closed without items: no share"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      2,
      2,
      1
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "ERROR:counts",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP23 declined plus unresolved above items refused"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "g1"
     ],
     [
      "FINISHED",
      "g1",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g2"
     ],
     [
      "FINISHED",
      "g2",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g3"
     ],
     [
      "FINISHED",
      "g3",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g4"
     ],
     [
      "FINISHED",
      "g4",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g5"
     ],
     [
      "FINISHED",
      "g5",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g6"
     ],
     [
      "FINISHED",
      "g6",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g7"
     ],
     [
      "FINISHED",
      "g7",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g8"
     ],
     [
      "FINISHED",
      "g8",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g9"
     ],
     [
      "FINISHED",
      "g9",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g10"
     ],
     [
      "FINISHED",
      "g10",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g11"
     ],
     [
      "FINISHED",
      "g11",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g12"
     ],
     [
      "FINISHED",
      "g12",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g13"
     ],
     [
      "FINISHED",
      "g13",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g14"
     ],
     [
      "FINISHED",
      "g14",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g15"
     ],
     [
      "FINISHED",
      "g15",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g16"
     ],
     [
      "FINISHED",
      "g16",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g17"
     ],
     [
      "FINISHED",
      "g17",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g18"
     ],
     [
      "FINISHED",
      "g18",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g19"
     ],
     [
      "FINISHED",
      "g19",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g20"
     ],
     [
      "FINISHED",
      "g20",
      10,
      1,
      0
     ],
     [
      "ISSUED",
      "g21"
     ],
     [
      "FINISHED",
      "g21",
      10,
      10,
      0
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "stop|ISSUING\nshare|29|200|20\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP24 twenty-one falcons: only the last 20 count"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      4,
      1,
      0
     ]
    ],
    "limits": {
     "breaker": "0.25",
     "window": 20
    }
   },
   "expected": "stop|ISSUING\nshare|1|4|1\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP25 FALCON BREAKER 0.25 at exactly a quarter"
  },
  {
   "args": {
    "counts": [
     [
      "ISSUED",
      "f1"
     ],
     [
      "FINISHED",
      "f1",
      4,
      2,
      0
     ]
    ],
    "limits": {
     "breaker": "0.25",
     "window": 20
    }
   },
   "expected": "stop|STOPPED\nshare|2|4|1\nalone|-\nin_flight|0",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP26 FALCON BREAKER 0.25 above a quarter"
  },
  {
   "args": {
    "counts": [],
    "limits": {
     "breaker": "0.30001",
     "window": 20
    }
   },
   "expected": "ERROR:limits",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP27 five decimal places refused"
  },
  {
   "args": {
    "counts": [],
    "limits": {
     "breaker": "1.5",
     "window": 20
    }
   },
   "expected": "ERROR:limits",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP28 a breaker above 1 refused"
  },
  {
   "args": {
    "counts": [],
    "limits": {
     "breaker": 0.3,
     "window": 20
    }
   },
   "expected": "ERROR:limits",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP29 a breaker given as a number refused"
  },
  {
   "args": {
    "counts": [],
    "limits": {
     "breaker": "0.3",
     "window": 0
    }
   },
   "expected": "ERROR:limits",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP30 a window of 0 refused"
  },
  {
   "args": {
    "counts": [],
    "limits": {
     "breaker": "0.3"
    }
   },
   "expected": "ERROR:limits",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP31 limits without a window refused"
  },
  {
   "args": {
    "counts": [
     [
      "STOPPED"
     ]
    ],
    "limits": {
     "breaker": "0.3",
     "window": 20
    }
   },
   "expected": "ERROR:counts",
   "fn": "stop",
   "hand_checked": true,
   "name": "SP32 an unknown record kind refused"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"name\":\"A\",\"type\":\"text\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS V1 minimal (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|4f74820e227f3884d8f6c1c5095488810c2ce3833df2b1da12e2ba9e3f410d5a",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS V1 minimal (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "confidential": false,
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "quote": false,
       "type": "text"
      }
     ],
     "narrow": true
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"name\":\"A\",\"type\":\"text\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS V2 same meaning as V1 (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "confidential": false,
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "quote": false,
       "type": "text"
      }
     ],
     "narrow": true
    }
   },
   "expected": "digest|4f74820e227f3884d8f6c1c5095488810c2ce3833df2b1da12e2ba9e3f410d5a",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS V2 same meaning as V1 (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "confidential": true,
     "fields": [
      {
       "affix": "%",
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "INSPECTION",
       "name": "state",
       "type": "enum",
       "values": [
        "B",
        "A"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"SURVEY\",\"confidential\":true,\"fields\":[{\"affix\":\"%\",\"class\":\"MECHANICAL\",\"name\":\"score\",\"quote\":true,\"type\":\"decimal\"},{\"class\":\"INSPECTION\",\"name\":\"state\",\"type\":\"enum\",\"values\":[\"B\",\"A\"]}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS V3 enum, quote, affix, confidential (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "confidential": true,
     "fields": [
      {
       "affix": "%",
       "class": "MECHANICAL",
       "name": "score",
       "quote": true,
       "type": "decimal"
      },
      {
       "class": "INSPECTION",
       "name": "state",
       "type": "enum",
       "values": [
        "B",
        "A"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|0064adccf8048bdd4c254c0c374ba7be5c08c5eb625a81c703aa955e19bd5a64",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS V3 enum, quote, affix, confidential (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "k",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "v",
         "type": "text"
        }
       ],
       "key": [
        "k"
       ],
       "name": "R",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"PATCH\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"k\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"v\",\"type\":\"text\"}],\"key\":[\"k\"],\"name\":\"R\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS V4 rows (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "k",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "v",
         "type": "text"
        }
       ],
       "key": [
        "k"
       ],
       "name": "R",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|dc3232347cf35e2ba87c241b749263d243179a07ce83404ef54fa5ad6c946208",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS V4 rows (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "e\u0301",
        "tab\there",
        "q\"b\\s"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS V5 NFC and escapes: refused under FS1 0.2.0, its first value not in NFC (D213.1) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "e\u0301",
        "tab\there",
        "q\"b\\s"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS V5 NFC and escapes: refused under FS1 0.2.0, its first value not in NFC (D213.1) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "extra": true,
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS V6 unknown key refused (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "extra": true,
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS V6 unknown key refused (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "IV",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS V7 IV as a field name refused (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "IV",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS V7 IV as a field name refused (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\u00e9",
        "tab\there",
        "q\"b\\s"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"name\":\"A\",\"type\":\"enum\",\"values\":[\"\u00e9\",\"tab\\u0009here\",\"q\\\"b\\\\s\"]}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS V5b V5 with U+00E9 precomposed: accepted, V5's old canonical text and digest (FS 0.2.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\u00e9",
        "tab\there",
        "q\"b\\s"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|51c9421a2453950a5c26ef1d0b0c2057c664422c03197a2634fbd2320cc29b97",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS V5b V5 with U+00E9 precomposed: accepted, V5's old canonical text and digest (FS 0.2.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "a\rb"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS V8 an enumeration value holding a lone CR: refused (FS 0.2.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "a\rb"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS V8 an enumeration value holding a lone CR: refused (FS 0.2.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "a\r\nb"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS V9 an enumeration value holding CRLF: refused (FS 0.2.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "a\r\nb"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS V9 an enumeration value holding CRLF: refused (FS 0.2.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "e\u0301"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS V10 an enumeration value in NFD (e + U+0301): refused (FS 0.2.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "e\u0301"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS V10 an enumeration value in NFD (e + U+0301): refused (FS 0.2.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "affix": "\u00a4\u212b",
       "class": "MECHANICAL",
       "name": "s",
       "quote": true,
       "type": "decimal"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS V11 a QUOTE AFFIX not in NFC (U+00A4 + U+212B ANGSTROM SIGN): refused (FS 0.2.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "affix": "\u00a4\u212b",
       "class": "MECHANICAL",
       "name": "s",
       "quote": true,
       "type": "decimal"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS V11 a QUOTE AFFIX not in NFC (U+00A4 + U+212B ANGSTROM SIGN): refused (FS 0.2.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "old",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "site_class",
         "type": "enum",
         "values": [
          "VERSION",
          "STATUS"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "new",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "reason",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "old"
       ],
       "name": "EXACT_SITES",
       "type": "rows"
      },
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "old",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "new",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "reason",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "old"
       ],
       "name": "PROSE_SITES",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"PATCH\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"old\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"site_class\",\"type\":\"enum\",\"values\":[\"VERSION\",\"STATUS\"]},{\"class\":\"MECHANICAL\",\"name\":\"new\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"reason\",\"type\":\"text\"}],\"key\":[\"page\",\"old\"],\"name\":\"EXACT_SITES\",\"type\":\"rows\"},{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"old\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"new\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"reason\",\"type\":\"text\"}],\"key\":[\"page\",\"old\"],\"name\":\"PROSE_SITES\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-01 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "old",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "site_class",
         "type": "enum",
         "values": [
          "VERSION",
          "STATUS"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "new",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "reason",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "old"
       ],
       "name": "EXACT_SITES",
       "type": "rows"
      },
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "old",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "new",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "reason",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "old"
       ],
       "name": "PROSE_SITES",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|792e8d2222226e6594421ed2df33e7deabc288eb5cc35eafcd0ca9407d61284b",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-01 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "section",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "action",
         "type": "enum",
         "values": [
          "NONE",
          "STATUS",
          "REWRITE PASSAGE",
          "NEW PAGE"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "anchor",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "section",
        "action"
       ],
       "name": "IMPACTS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"section\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"action\",\"type\":\"enum\",\"values\":[\"NONE\",\"STATUS\",\"REWRITE PASSAGE\",\"NEW PAGE\"]},{\"class\":\"INSPECTION\",\"name\":\"anchor\",\"type\":\"text\"}],\"key\":[\"page\",\"section\",\"action\"],\"name\":\"IMPACTS\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-02 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "section",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "action",
         "type": "enum",
         "values": [
          "NONE",
          "STATUS",
          "REWRITE PASSAGE",
          "NEW PAGE"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "anchor",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "section",
        "action"
       ],
       "name": "IMPACTS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|42b5d6206435a7d5a5dedf14f4b3a515a3b4ab6f64a21585693467a916d85a58",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-02 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "anchor",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "finding_class",
         "type": "enum",
         "values": [
          "CONTRADICTS",
          "RESTATES FIGURE",
          "OUTDATED",
          "MINIMUM MISSING"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "section",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "span",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "anchor",
        "finding_class"
       ],
       "name": "FINDINGS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"anchor\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"finding_class\",\"type\":\"enum\",\"values\":[\"CONTRADICTS\",\"RESTATES FIGURE\",\"OUTDATED\",\"MINIMUM MISSING\"]},{\"class\":\"MECHANICAL\",\"name\":\"section\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"span\",\"type\":\"text\"}],\"key\":[\"page\",\"anchor\",\"finding_class\"],\"name\":\"FINDINGS\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-03 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "anchor",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "finding_class",
         "type": "enum",
         "values": [
          "CONTRADICTS",
          "RESTATES FIGURE",
          "OUTDATED",
          "MINIMUM MISSING"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "section",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "span",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "anchor",
        "finding_class"
       ],
       "name": "FINDINGS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|8c1cd6eca2eb99476cf828e97d039aeb4665962c653e09ffcc4ab231284edd39",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-03 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "url"
        },
        {
         "class": "MECHANICAL",
         "name": "name",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "field_place",
         "type": "enum",
         "values": [
          "MATHEMATICS",
          "PHYSICS",
          "CHEMISTRY",
          "BIOCHEMISTRY",
          "MIXED SCIENCE",
          "OTHER"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "runner",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "item_count",
         "quote": true,
         "type": "decimal"
        },
        {
         "affix": "%",
         "class": "MECHANICAL",
         "name": "top_score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "uncertainty",
         "type": "enum",
         "values": [
          "SE",
          "ITEM COUNT ONLY",
          "NONE"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "per_item_per_run",
         "type": "enum",
         "values": [
          "PUBLISHED",
          "PRIVATE",
          "NOT STATED"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "licence_line",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "last_update",
         "quote": true,
         "type": "date"
        },
        {
         "class": "INSPECTION",
         "name": "saturation",
         "type": "enum",
         "values": [
          "SEPARATES",
          "NEAR CEILING",
          "SATURATED"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "assessment",
         "type": "text"
        }
       ],
       "key": [
        "page"
       ],
       "name": "BENCHMARKS",
       "type": "rows"
      },
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "url"
        },
        {
         "class": "MECHANICAL",
         "name": "dataset_url",
         "type": "url"
        },
        {
         "class": "MECHANICAL",
         "name": "format",
         "type": "enum",
         "values": [
          "CSV",
          "ZIP OF CSV",
          "JSON",
          "PARQUET",
          "OTHER",
          "NONE"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "licence_line",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "last_update",
         "quote": true,
         "type": "date"
        }
       ],
       "key": [
        "page"
       ],
       "name": "SOURCES",
       "type": "rows"
      },
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        },
        {
         "class": "INSPECTION",
         "name": "reason",
         "type": "text"
        }
       ],
       "key": [
        "url"
       ],
       "name": "PROPOSED_SOURCES",
       "type": "rows"
      },
      {
       "class": "INSPECTION",
       "name": "ALIAS",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"SURVEY\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"url\"},{\"class\":\"MECHANICAL\",\"name\":\"name\",\"quote\":true,\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"field_place\",\"type\":\"enum\",\"values\":[\"MATHEMATICS\",\"PHYSICS\",\"CHEMISTRY\",\"BIOCHEMISTRY\",\"MIXED SCIENCE\",\"OTHER\"]},{\"class\":\"MECHANICAL\",\"name\":\"runner\",\"quote\":true,\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"item_count\",\"quote\":true,\"type\":\"decimal\"},{\"affix\":\"%\",\"class\":\"MECHANICAL\",\"name\":\"top_score\",\"quote\":true,\"type\":\"decimal\"},{\"class\":\"MECHANICAL\",\"name\":\"uncertainty\",\"type\":\"enum\",\"values\":[\"SE\",\"ITEM COUNT ONLY\",\"NONE\"]},{\"class\":\"MECHANICAL\",\"name\":\"per_item_per_run\",\"type\":\"enum\",\"values\":[\"PUBLISHED\",\"PRIVATE\",\"NOT STATED\"]},{\"class\":\"MECHANICAL\",\"name\":\"licence_line\",\"quote\":true,\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"last_update\",\"quote\":true,\"type\":\"date\"},{\"class\":\"INSPECTION\",\"name\":\"saturation\",\"type\":\"enum\",\"values\":[\"SEPARATES\",\"NEAR CEILING\",\"SATURATED\"]},{\"class\":\"INSPECTION\",\"name\":\"assessment\",\"type\":\"text\"}],\"key\":[\"page\"],\"name\":\"BENCHMARKS\",\"type\":\"rows\"},{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"url\"},{\"class\":\"MECHANICAL\",\"name\":\"dataset_url\",\"type\":\"url\"},{\"class\":\"MECHANICAL\",\"name\":\"format\",\"type\":\"enum\",\"values\":[\"CSV\",\"ZIP OF CSV\",\"JSON\",\"PARQUET\",\"OTHER\",\"NONE\"]},{\"class\":\"MECHANICAL\",\"name\":\"licence_line\",\"quote\":true,\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"last_update\",\"quote\":true,\"type\":\"date\"}],\"key\":[\"page\"],\"name\":\"SOURCES\",\"type\":\"rows\"},{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"url\",\"type\":\"url\"},{\"class\":\"INSPECTION\",\"name\":\"reason\",\"type\":\"text\"}],\"key\":[\"url\"],\"name\":\"PROPOSED_SOURCES\",\"type\":\"rows\"},{\"class\":\"INSPECTION\",\"name\":\"ALIAS\",\"type\":\"text\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-04 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "url"
        },
        {
         "class": "MECHANICAL",
         "name": "name",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "field_place",
         "type": "enum",
         "values": [
          "MATHEMATICS",
          "PHYSICS",
          "CHEMISTRY",
          "BIOCHEMISTRY",
          "MIXED SCIENCE",
          "OTHER"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "runner",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "item_count",
         "quote": true,
         "type": "decimal"
        },
        {
         "affix": "%",
         "class": "MECHANICAL",
         "name": "top_score",
         "quote": true,
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "uncertainty",
         "type": "enum",
         "values": [
          "SE",
          "ITEM COUNT ONLY",
          "NONE"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "per_item_per_run",
         "type": "enum",
         "values": [
          "PUBLISHED",
          "PRIVATE",
          "NOT STATED"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "licence_line",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "last_update",
         "quote": true,
         "type": "date"
        },
        {
         "class": "INSPECTION",
         "name": "saturation",
         "type": "enum",
         "values": [
          "SEPARATES",
          "NEAR CEILING",
          "SATURATED"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "assessment",
         "type": "text"
        }
       ],
       "key": [
        "page"
       ],
       "name": "BENCHMARKS",
       "type": "rows"
      },
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "url"
        },
        {
         "class": "MECHANICAL",
         "name": "dataset_url",
         "type": "url"
        },
        {
         "class": "MECHANICAL",
         "name": "format",
         "type": "enum",
         "values": [
          "CSV",
          "ZIP OF CSV",
          "JSON",
          "PARQUET",
          "OTHER",
          "NONE"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "licence_line",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "last_update",
         "quote": true,
         "type": "date"
        }
       ],
       "key": [
        "page"
       ],
       "name": "SOURCES",
       "type": "rows"
      },
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        },
        {
         "class": "INSPECTION",
         "name": "reason",
         "type": "text"
        }
       ],
       "key": [
        "url"
       ],
       "name": "PROPOSED_SOURCES",
       "type": "rows"
      },
      {
       "class": "INSPECTION",
       "name": "ALIAS",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|1a9c3ebec4c2e60e386ed3b2db09f47c755435ff5ff27ad476bc917ad77bfaca",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-04 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "vendor",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "identifier",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "family",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "listed",
         "type": "boolean"
        },
        {
         "class": "MECHANICAL",
         "name": "owner",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "alias_of",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "deprecation_date",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "retirement_date",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "serving_provider",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "quantization",
         "type": "text"
        }
       ],
       "key": [
        "vendor",
        "identifier"
       ],
       "name": "MODELS",
       "type": "rows"
      },
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        },
        {
         "class": "INSPECTION",
         "name": "reason",
         "type": "text"
        }
       ],
       "key": [
        "url"
       ],
       "name": "PROPOSED_SOURCES",
       "type": "rows"
      },
      {
       "class": "INSPECTION",
       "name": "ALIAS",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"SURVEY\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"vendor\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"identifier\",\"quote\":true,\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"family\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"listed\",\"type\":\"boolean\"},{\"class\":\"MECHANICAL\",\"name\":\"owner\",\"quote\":true,\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"alias_of\",\"quote\":true,\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"deprecation_date\",\"quote\":true,\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"retirement_date\",\"quote\":true,\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"serving_provider\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"quantization\",\"type\":\"text\"}],\"key\":[\"vendor\",\"identifier\"],\"name\":\"MODELS\",\"type\":\"rows\"},{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"url\",\"type\":\"url\"},{\"class\":\"INSPECTION\",\"name\":\"reason\",\"type\":\"text\"}],\"key\":[\"url\"],\"name\":\"PROPOSED_SOURCES\",\"type\":\"rows\"},{\"class\":\"INSPECTION\",\"name\":\"ALIAS\",\"type\":\"text\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-05 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "vendor",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "identifier",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "family",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "listed",
         "type": "boolean"
        },
        {
         "class": "MECHANICAL",
         "name": "owner",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "alias_of",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "deprecation_date",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "retirement_date",
         "quote": true,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "serving_provider",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "quantization",
         "type": "text"
        }
       ],
       "key": [
        "vendor",
        "identifier"
       ],
       "name": "MODELS",
       "type": "rows"
      },
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        },
        {
         "class": "INSPECTION",
         "name": "reason",
         "type": "text"
        }
       ],
       "key": [
        "url"
       ],
       "name": "PROPOSED_SOURCES",
       "type": "rows"
      },
      {
       "class": "INSPECTION",
       "name": "ALIAS",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|4cee00aca0cbf8b5d9e9bf877b8c2f01fec69d22fc77b5d724b2086ea6eebf44",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-05 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "citation",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "verdict",
         "type": "enum",
         "values": [
          "SUPPORTS",
          "DOES NOT SUPPORT",
          "UNRESOLVED"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "support",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "citation"
       ],
       "name": "CITATIONS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"citation\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"verdict\",\"type\":\"enum\",\"values\":[\"SUPPORTS\",\"DOES NOT SUPPORT\",\"UNRESOLVED\"]},{\"class\":\"INSPECTION\",\"name\":\"support\",\"type\":\"text\"}],\"key\":[\"page\",\"citation\"],\"name\":\"CITATIONS\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-06 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "citation",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "verdict",
         "type": "enum",
         "values": [
          "SUPPORTS",
          "DOES NOT SUPPORT",
          "UNRESOLVED"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "support",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "citation"
       ],
       "name": "CITATIONS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|78e634a74e311ac53ad5889d50ea536ef5e6bcec334f417f54aab777f664a49b",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-06 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "term",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "source_section",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "entry",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "term"
       ],
       "name": "ENTRIES",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"PATCH\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"term\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"source_section\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"entry\",\"type\":\"text\"}],\"key\":[\"page\",\"term\"],\"name\":\"ENTRIES\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-07 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "term",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "source_section",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "entry",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "term"
       ],
       "name": "ENTRIES",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|5bf528998328cd7f488ba2a8c8b3a8f72747ca820c9c51109702703f6e531fda",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-07 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "revision",
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "offset",
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "length",
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "pattern_class",
         "type": "enum",
         "values": [
          "INSTRUCTION",
          "ROLE CHANGE",
          "HIDDEN MARKUP",
          "OTHER"
         ]
        }
       ],
       "key": [
        "page",
        "revision",
        "offset",
        "length"
       ],
       "name": "SPANS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"revision\",\"type\":\"decimal\"},{\"class\":\"MECHANICAL\",\"name\":\"offset\",\"type\":\"decimal\"},{\"class\":\"MECHANICAL\",\"name\":\"length\",\"type\":\"decimal\"},{\"class\":\"MECHANICAL\",\"name\":\"pattern_class\",\"type\":\"enum\",\"values\":[\"INSTRUCTION\",\"ROLE CHANGE\",\"HIDDEN MARKUP\",\"OTHER\"]}],\"key\":[\"page\",\"revision\",\"offset\",\"length\"],\"name\":\"SPANS\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-08 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "revision",
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "offset",
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "length",
         "type": "decimal"
        },
        {
         "class": "MECHANICAL",
         "name": "pattern_class",
         "type": "enum",
         "values": [
          "INSTRUCTION",
          "ROLE CHANGE",
          "HIDDEN MARKUP",
          "OTHER"
         ]
        }
       ],
       "key": [
        "page",
        "revision",
        "offset",
        "length"
       ],
       "name": "SPANS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|aea5fef0b95601d04cc50f3fbfc23022e3f20190ff95f32a072ac2a23a9a5b9b",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-08 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "question",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "answer",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "passage",
         "type": "text"
        }
       ],
       "key": [
        "question"
       ],
       "name": "ANSWERS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"question\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"answer\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"passage\",\"type\":\"text\"}],\"key\":[\"question\"],\"name\":\"ANSWERS\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-10 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "question",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "answer",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "passage",
         "type": "text"
        }
       ],
       "key": [
        "question"
       ],
       "name": "ANSWERS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|43c3796e90cf1cc5f6174770ca7bebb9a5352bf77a9b0bd9549d124ef2b1a320",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-10 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "verdict",
         "type": "enum",
         "values": [
          "CURRENT",
          "NEEDS UPDATE"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "finding",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "new_source",
         "type": "text"
        }
       ],
       "key": [
        "page"
       ],
       "name": "DIAGRAMS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"PATCH\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"verdict\",\"type\":\"enum\",\"values\":[\"CURRENT\",\"NEEDS UPDATE\"]},{\"class\":\"INSPECTION\",\"name\":\"finding\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"new_source\",\"type\":\"text\"}],\"key\":[\"page\"],\"name\":\"DIAGRAMS\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-11 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "verdict",
         "type": "enum",
         "values": [
          "CURRENT",
          "NEEDS UPDATE"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "finding",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "new_source",
         "type": "text"
        }
       ],
       "key": [
        "page"
       ],
       "name": "DIAGRAMS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|bf13fffa040e0515c61d7a595038ecf44cd6baaca6dab965c471388facb7f1c2",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-11 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "ref",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "summary",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "reader_action",
         "type": "text"
        }
       ],
       "key": [
        "ref"
       ],
       "name": "CHANGES",
       "type": "rows"
      },
      {
       "class": "INSPECTION",
       "name": "PAGE_TEXT",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"PATCH\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"ref\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"summary\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"reader_action\",\"type\":\"text\"}],\"key\":[\"ref\"],\"name\":\"CHANGES\",\"type\":\"rows\"},{\"class\":\"INSPECTION\",\"name\":\"PAGE_TEXT\",\"type\":\"text\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-12 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "ref",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "summary",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "reader_action",
         "type": "text"
        }
       ],
       "key": [
        "ref"
       ],
       "name": "CHANGES",
       "type": "rows"
      },
      {
       "class": "INSPECTION",
       "name": "PAGE_TEXT",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|3666045633e12ef8aa4ab31a6444a9daa004904beddafc56f74dc06668184b26",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-12 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "criterion",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "location",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "severity",
         "type": "enum",
         "values": [
          "HIGH",
          "MEDIUM",
          "LOW"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "finding",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "criterion",
        "location"
       ],
       "name": "FINDINGS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"criterion\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"location\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"severity\",\"type\":\"enum\",\"values\":[\"HIGH\",\"MEDIUM\",\"LOW\"]},{\"class\":\"INSPECTION\",\"name\":\"finding\",\"type\":\"text\"}],\"key\":[\"page\",\"criterion\",\"location\"],\"name\":\"FINDINGS\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-13 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "criterion",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "location",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "severity",
         "type": "enum",
         "values": [
          "HIGH",
          "MEDIUM",
          "LOW"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "finding",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "criterion",
        "location"
       ],
       "name": "FINDINGS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|b25a4c1f8af2c08169867f9d835d9cc67fb704b3618bf6e11fc41c0c8bb0208f",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-13 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "step",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "verdict",
         "type": "enum",
         "values": [
          "MATCHES",
          "DIFFERS",
          "MISSING"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "note",
         "type": "text"
        }
       ],
       "key": [
        "step"
       ],
       "name": "STEPS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"step\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"verdict\",\"type\":\"enum\",\"values\":[\"MATCHES\",\"DIFFERS\",\"MISSING\"]},{\"class\":\"INSPECTION\",\"name\":\"note\",\"type\":\"text\"}],\"key\":[\"step\"],\"name\":\"STEPS\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-14 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "step",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "verdict",
         "type": "enum",
         "values": [
          "MATCHES",
          "DIFFERS",
          "MISSING"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "note",
         "type": "text"
        }
       ],
       "key": [
        "step"
       ],
       "name": "STEPS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|8c6fc55e4597c5561a979bb2c6fae18b0533a2c8b9e14231bca474cc52a9b031",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-14 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "code",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "meaning",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "fix",
         "type": "text"
        }
       ],
       "key": [
        "code"
       ],
       "name": "CODES",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"PATCH\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"code\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"meaning\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"fix\",\"type\":\"text\"}],\"key\":[\"code\"],\"name\":\"CODES\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-15 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "code",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "meaning",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "fix",
         "type": "text"
        }
       ],
       "key": [
        "code"
       ],
       "name": "CODES",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|f312357c5dba5900fe4b31b21b333bc9801a2fa7003ec99eda9d47e90d5eec84",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-15 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "figure",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "value",
         "quote": true,
         "type": "decimal"
        }
       ],
       "key": [
        "figure"
       ],
       "name": "FIGURES",
       "type": "rows"
      },
      {
       "class": "INSPECTION",
       "name": "SUMMARY_TEXT",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"PATCH\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"figure\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"value\",\"quote\":true,\"type\":\"decimal\"}],\"key\":[\"figure\"],\"name\":\"FIGURES\",\"type\":\"rows\"},{\"class\":\"INSPECTION\",\"name\":\"SUMMARY_TEXT\",\"type\":\"text\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-16 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "figure",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "value",
         "quote": true,
         "type": "decimal"
        }
       ],
       "key": [
        "figure"
       ],
       "name": "FIGURES",
       "type": "rows"
      },
      {
       "class": "INSPECTION",
       "name": "SUMMARY_TEXT",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|568aeb9cb18634ecf7841a8c0ae23a234d950e52973a7d3cceed1435f6165616",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-16 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        },
        {
         "class": "MECHANICAL",
         "name": "liveness",
         "type": "enum",
         "values": [
          "LIVE",
          "DEAD",
          "NOT SERVED"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "support",
         "type": "enum",
         "values": [
          "SUPPORTS",
          "DOES NOT SUPPORT",
          "NOT CHECKABLE"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "note",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "url"
       ],
       "name": "LINKS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"url\",\"type\":\"url\"},{\"class\":\"MECHANICAL\",\"name\":\"liveness\",\"type\":\"enum\",\"values\":[\"LIVE\",\"DEAD\",\"NOT SERVED\"]},{\"class\":\"MECHANICAL\",\"name\":\"support\",\"type\":\"enum\",\"values\":[\"SUPPORTS\",\"DOES NOT SUPPORT\",\"NOT CHECKABLE\"]},{\"class\":\"INSPECTION\",\"name\":\"note\",\"type\":\"text\"}],\"key\":[\"page\",\"url\"],\"name\":\"LINKS\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-17 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "url",
         "type": "url"
        },
        {
         "class": "MECHANICAL",
         "name": "liveness",
         "type": "enum",
         "values": [
          "LIVE",
          "DEAD",
          "NOT SERVED"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "support",
         "type": "enum",
         "values": [
          "SUPPORTS",
          "DOES NOT SUPPORT",
          "NOT CHECKABLE"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "note",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "url"
       ],
       "name": "LINKS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|d279a25fa472b812746f954b132c4ca25b7da69468c33578862323b8f559d145",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-17 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "kind",
         "type": "enum",
         "values": [
          "STUB",
          "PREV NEXT LINKS",
          "CATEGORY"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "new_text",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "reason",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "kind"
       ],
       "name": "EDITS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"PATCH\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"page\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"kind\",\"type\":\"enum\",\"values\":[\"STUB\",\"PREV NEXT LINKS\",\"CATEGORY\"]},{\"class\":\"INSPECTION\",\"name\":\"new_text\",\"type\":\"text\"},{\"class\":\"INSPECTION\",\"name\":\"reason\",\"type\":\"text\"}],\"key\":[\"page\",\"kind\"],\"name\":\"EDITS\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-19 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "page",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "kind",
         "type": "enum",
         "values": [
          "STUB",
          "PREV NEXT LINKS",
          "CATEGORY"
         ]
        },
        {
         "class": "INSPECTION",
         "name": "new_text",
         "type": "text"
        },
        {
         "class": "INSPECTION",
         "name": "reason",
         "type": "text"
        }
       ],
       "key": [
        "page",
        "kind"
       ],
       "name": "EDITS",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|b3216a4d320e13530bb67a21986cd47749ed89e697bf6643dc39085cf6ba6228",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-19 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "kind",
         "type": "enum",
         "values": [
          "DOI",
          "ARXIV",
          "ISBN",
          "ISSN",
          "PMID",
          "PMCID"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "identifier",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "result",
         "type": "enum",
         "values": [
          "SOURCE AGREES",
          "SOURCE DIFFERS",
          "NOT FOUND"
         ]
        }
       ],
       "key": [
        "kind",
        "identifier"
       ],
       "name": "RESULTS",
       "type": "rows"
      },
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "kind",
         "type": "enum",
         "values": [
          "DOI",
          "ARXIV",
          "ISBN",
          "ISSN",
          "PMID",
          "PMCID"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "identifier",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "field",
         "type": "enum",
         "values": [
          "year",
          "title",
          "family",
          "doi",
          "issn",
          "isbn",
          "arxiv"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "value",
         "quote": true,
         "type": "text"
        }
       ],
       "key": [
        "kind",
        "identifier",
        "field"
       ],
       "name": "SOURCE_FIELDS",
       "type": "rows"
      },
      {
       "class": "INSPECTION",
       "name": "NOTE",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"kind\",\"type\":\"enum\",\"values\":[\"DOI\",\"ARXIV\",\"ISBN\",\"ISSN\",\"PMID\",\"PMCID\"]},{\"class\":\"MECHANICAL\",\"name\":\"identifier\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"result\",\"type\":\"enum\",\"values\":[\"SOURCE AGREES\",\"SOURCE DIFFERS\",\"NOT FOUND\"]}],\"key\":[\"kind\",\"identifier\"],\"name\":\"RESULTS\",\"type\":\"rows\"},{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"kind\",\"type\":\"enum\",\"values\":[\"DOI\",\"ARXIV\",\"ISBN\",\"ISSN\",\"PMID\",\"PMCID\"]},{\"class\":\"MECHANICAL\",\"name\":\"identifier\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"field\",\"type\":\"enum\",\"values\":[\"year\",\"title\",\"family\",\"doi\",\"issn\",\"isbn\",\"arxiv\"]},{\"class\":\"MECHANICAL\",\"name\":\"value\",\"quote\":true,\"type\":\"text\"}],\"key\":[\"kind\",\"identifier\",\"field\"],\"name\":\"SOURCE_FIELDS\",\"type\":\"rows\"},{\"class\":\"INSPECTION\",\"name\":\"NOTE\",\"type\":\"text\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FS FK-20 the kind's schema (tpm_decl_fk_schemas 0.1.0) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "kind",
         "type": "enum",
         "values": [
          "DOI",
          "ARXIV",
          "ISBN",
          "ISSN",
          "PMID",
          "PMCID"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "identifier",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "result",
         "type": "enum",
         "values": [
          "SOURCE AGREES",
          "SOURCE DIFFERS",
          "NOT FOUND"
         ]
        }
       ],
       "key": [
        "kind",
        "identifier"
       ],
       "name": "RESULTS",
       "type": "rows"
      },
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "kind",
         "type": "enum",
         "values": [
          "DOI",
          "ARXIV",
          "ISBN",
          "ISSN",
          "PMID",
          "PMCID"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "identifier",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "field",
         "type": "enum",
         "values": [
          "year",
          "title",
          "family",
          "doi",
          "issn",
          "isbn",
          "arxiv"
         ]
        },
        {
         "class": "MECHANICAL",
         "name": "value",
         "quote": true,
         "type": "text"
        }
       ],
       "key": [
        "kind",
        "identifier",
        "field"
       ],
       "name": "SOURCE_FIELDS",
       "type": "rows"
      },
      {
       "class": "INSPECTION",
       "name": "NOTE",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|4e43f86acab3dcf8df0ad437fdde4b187a75d0e963c34be4701ee42a68ce4eee",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FS FK-20 the kind's schema (tpm_decl_fk_schemas 0.1.0) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"name\":\"A\",\"type\":\"text\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX01 members in any order: V1's text (FS3 sorts by key) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|4f74820e227f3884d8f6c1c5095488810c2ce3833df2b1da12e2ba9e3f410d5a",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX01 members in any order: V1's text (FS3 sorts by key) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "confidential": true,
     "fields": [
      {
       "class": "INSPECTION",
       "name": "A",
       "type": "boolean"
      }
     ],
     "narrow": true
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"confidential\":true,\"fields\":[{\"class\":\"INSPECTION\",\"name\":\"A\",\"type\":\"boolean\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX02 confidential true is kept, narrow true is dropped (FS2) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "confidential": true,
     "fields": [
      {
       "class": "INSPECTION",
       "name": "A",
       "type": "boolean"
      }
     ],
     "narrow": true
    }
   },
   "expected": "digest|aebf0c621a20fba39cb27fbe5e9c3a4d30f591e141dbfea69421c0a5d878b6ba",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX02 confidential true is kept, narrow true is dropped (FS2) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "k",
         "quote": false,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "v",
         "quote": true,
         "scale": "million",
         "type": "decimal"
        }
       ],
       "key": [
        "k"
       ],
       "name": "R",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"SURVEY\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"k\",\"type\":\"text\"},{\"class\":\"MECHANICAL\",\"name\":\"v\",\"quote\":true,\"scale\":\"million\",\"type\":\"decimal\"}],\"key\":[\"k\"],\"name\":\"R\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX03 a rows column's quote false is dropped; quote true and a scale are kept (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "k",
         "quote": false,
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "name": "v",
         "quote": true,
         "scale": "million",
         "type": "decimal"
        }
       ],
       "key": [
        "k"
       ],
       "name": "R",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|f9f4830f41e07f56b1378a1eb6da22957dc46de5110fc5909cfbc3892efb78da",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX03 a rows column's quote false is dropped; quote true and a scale are kept (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "a\r\nb",
        "c\rd",
        "e\nf"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX04 line ends CRLF and CR: refused under FS1 0.2.0 (D213.1) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "a\r\nb",
        "c\rd",
        "e\nf"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX04 line ends CRLF and CR: refused under FS1 0.2.0 (D213.1) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "x\r\ny"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX05a a CRLF value: refused under FS1 0.2.0 (D213.1) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "x\r\ny"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX05a a CRLF value: refused under FS1 0.2.0 (D213.1) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "x\ny"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"name\":\"A\",\"type\":\"enum\",\"values\":[\"x\\u000ay\"]}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX05b a value with LF: accepted, LF written \\u000a (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "x\ny"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|565e780199ce3f0070fdd181fe7e0913821518970fd6d97c4739ebdf06e02d8f",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX05b a value with LF: accepted, LF written \\u000a (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "a\u007fb",
        "p|q",
        "l\u2028m"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"name\":\"A\",\"type\":\"enum\",\"values\":[\"a\u007fb\",\"p|q\",\"l\u2028m\"]}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX06 DEL, the bar and U+2028 are written as themselves (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "a\u007fb",
        "p|q",
        "l\u2028m"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|ace446b970b861660386dba037f53a30d633775f9ac3c7f6819323a77bd52241",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX06 DEL, the bar and U+2028 are written as themselves (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\ud83d\ude00"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"name\":\"A\",\"type\":\"enum\",\"values\":[\"\ud83d\ude00\"]}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX07 a character beyond the BMP is written as itself (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\ud83d\ude00"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|58ac1887e619c68a34119a5e06034b305e4bb52cfa9cd61382b93be09bda756f",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX07 a character beyond the BMP is written as itself (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "b",
         "type": "date"
        },
        {
         "class": "MECHANICAL",
         "name": "a",
         "type": "url"
        }
       ],
       "key": [
        "b",
        "a"
       ],
       "name": "R",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"PATCH\",\"fields\":[{\"class\":\"MECHANICAL\",\"columns\":[{\"class\":\"MECHANICAL\",\"name\":\"b\",\"type\":\"date\"},{\"class\":\"MECHANICAL\",\"name\":\"a\",\"type\":\"url\"}],\"key\":[\"b\",\"a\"],\"name\":\"R\",\"type\":\"rows\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX08 key and column order are kept (they carry meaning) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "b",
         "type": "date"
        },
        {
         "class": "MECHANICAL",
         "name": "a",
         "type": "url"
        }
       ],
       "key": [
        "b",
        "a"
       ],
       "name": "R",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|5d1ea8f9812c1e6e7ffe951430156479c49db0d6d36c5e12037f4dbb600e444a",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX08 key and column order are kept (they carry meaning) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "e\u0301",
        "\u00e9"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX09 two values NFC would merge: refused under FS1 0.2.0, the first not in NFC (C-TP-4, D213.1) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "e\u0301",
        "\u00e9"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX09 two values NFC would merge: refused under FS1 0.2.0, the first not in NFC (C-TP-4, D213.1) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\"",
        "\\",
        "\u0000\u001f\t"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"name\":\"A\",\"type\":\"enum\",\"values\":[\"\\\"\",\"\\\\\",\"\\u0000\\u001f\\u0009\"]}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX10 the quotation mark, the backslash and every C0 control (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\"",
        "\\",
        "\u0000\u001f\t"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|bc54e7ca590c816607b513869235a07fc01a711d45a36703cb83246998a060ba",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX10 the quotation mark, the backslash and every C0 control (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\u212b"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX11 an enumeration value holding U+212B ANGSTROM SIGN (NFC maps it to U+00C5): refused (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\u212b"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX11 an enumeration value holding U+212B ANGSTROM SIGN (NFC maps it to U+00C5): refused (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\u1100\u1161"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX12 a Hangul syllable written as conjoining jamo (U+1100 U+1161): refused (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\u1100\u1161"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX12 a Hangul syllable written as conjoining jamo (U+1100 U+1161): refused (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\uac00"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"name\":\"A\",\"type\":\"enum\",\"values\":[\"\uac00\"]}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX13 the same syllable precomposed (U+AC00): accepted (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\uac00"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|4c7d947d1ce95c19e9a3c299c1db01b45d7eeb03990bd618c3383cec5cb51689",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX13 the same syllable precomposed (U+AC00): accepted (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "q\u0301"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"name\":\"A\",\"type\":\"enum\",\"values\":[\"q\u0301\"]}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX14 q + U+0301, NFC with a combining mark (no precomposed form): accepted (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "q\u0301"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|94e2171ef44f1f93332d4665cb403faf23788ba7cc5c775d81000a6199240e79",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX14 q + U+0301, NFC with a combining mark (no precomposed form): accepted (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\ufb01"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"FINDINGS\",\"fields\":[{\"class\":\"MECHANICAL\",\"name\":\"A\",\"type\":\"enum\",\"values\":[\"\ufb01\"]}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX15 U+FB01 LATIN SMALL LIGATURE FI, NFC though not NFKC: accepted (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "\ufb01"
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|c3f67fccac57e2d87fc32026d289ceb571911ebed1acd4a7f3b71f2cae5e24ed",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX15 U+FB01 LATIN SMALL LIGATURE FI, NFC though not NFKC: accepted (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "affix": "\u00a4\u00c5",
       "class": "MECHANICAL",
       "name": "s",
       "quote": true,
       "type": "decimal"
      }
     ],
     "narrow": false
    }
   },
   "expected": "canon|{\"class\":\"SURVEY\",\"fields\":[{\"affix\":\"\u00a4\u00c5\",\"class\":\"MECHANICAL\",\"name\":\"s\",\"quote\":true,\"type\":\"decimal\"}]}",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSX16 a QUOTE AFFIX in NFC (U+00A4 + U+00C5): accepted (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "affix": "\u00a4\u00c5",
       "class": "MECHANICAL",
       "name": "s",
       "quote": true,
       "type": "decimal"
      }
     ],
     "narrow": false
    }
   },
   "expected": "digest|8513ca86edaaf492e9837b89d71214caf6abf234eb96bfb3f777227c8023eb82",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSX16 a QUOTE AFFIX in NFC (U+00A4 + U+00C5): accepted (digest)"
  },
  {
   "args": {
    "schema": [
     "class",
     "fields"
    ]
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR01 a list is not a schema (canon)"
  },
  {
   "args": {
    "schema": [
     "class",
     "fields"
    ]
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR01 a list is not a schema (digest)"
  },
  {
   "args": {
    "schema": "FINDINGS"
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR02 a string is not a schema (canon)"
  },
  {
   "args": {
    "schema": "FINDINGS"
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR02 a string is not a schema (digest)"
  },
  {
   "args": {
    "schema": null
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR03 null is not a schema (canon)"
  },
  {
   "args": {
    "schema": null
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR03 null is not a schema (digest)"
  },
  {
   "args": {
    "schema": {}
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR04 an empty object: class, narrow and fields missing (canon)"
  },
  {
   "args": {
    "schema": {}
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR04 an empty object: class, narrow and fields missing (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ]
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR05 narrow missing (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ]
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR05 narrow missing (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": "false"
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR06 narrow given as a string (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": "false"
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR06 narrow given as a string (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "confidential": "no",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR07 confidential not a boolean (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "confidential": "no",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR07 confidential not a boolean (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR08 no field (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR08 no field (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": {},
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR09 fields given as a JSON object (C-MS-5's shape) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": {},
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR09 fields given as a JSON object (C-MS-5's shape) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      []
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR10 a field given as a JSON array (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      []
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR10 a field given as a JSON array (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "date"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR11 two fields of one name (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      },
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "date"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR11 two fields of one name (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "quote": "false",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR12 quote given as a string (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "quote": "false",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR12 quote given as a string (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": false,
     "version": "1"
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR13 an unknown top-level member (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": false,
     "version": "1"
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR13 an unknown top-level member (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "REPORT",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR14 a class outside FINDINGS, PATCH and SURVEY (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "REPORT",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR14 a class outside FINDINGS, PATCH and SURVEY (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "INSPECTION",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "k",
         "type": "text"
        }
       ],
       "key": [
        "k"
       ],
       "name": "R",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR15 a rows field of class INSPECTION (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "INSPECTION",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "k",
         "type": "text"
        }
       ],
       "key": [
        "k"
       ],
       "name": "R",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR15 a rows field of class INSPECTION (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": []
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR16 an enumeration without values (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": []
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR16 an enumeration without values (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "a",
        1
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR17 a number among the values (a schema holds no number) (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "A",
       "type": "enum",
       "values": [
        "a",
        1
       ]
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR17 a number among the values (a schema holds no number) (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "affix": "%",
       "class": "MECHANICAL",
       "name": "s",
       "type": "decimal"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR18 an affix without quote true (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "SURVEY",
     "fields": [
      {
       "affix": "%",
       "class": "MECHANICAL",
       "name": "s",
       "type": "decimal"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR18 an affix without quote true (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "k",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "columns": [
          {
           "class": "MECHANICAL",
           "name": "j",
           "type": "text"
          }
         ],
         "key": [
          "j"
         ],
         "name": "S",
         "type": "rows"
        }
       ],
       "key": [
        "k"
       ],
       "name": "R",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR19 rows inside rows (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "PATCH",
     "fields": [
      {
       "class": "MECHANICAL",
       "columns": [
        {
         "class": "MECHANICAL",
         "name": "k",
         "type": "text"
        },
        {
         "class": "MECHANICAL",
         "columns": [
          {
           "class": "MECHANICAL",
           "name": "j",
           "type": "text"
          }
         ],
         "key": [
          "j"
         ],
         "name": "S",
         "type": "rows"
        }
       ],
       "key": [
        "k"
       ],
       "name": "R",
       "type": "rows"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR19 rows inside rows (digest)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "a-b",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_canon",
   "hand_checked": true,
   "name": "FSR20 a field name that is not an identifier (canon)"
  },
  {
   "args": {
    "schema": {
     "class": "FINDINGS",
     "fields": [
      {
       "class": "MECHANICAL",
       "name": "a-b",
       "type": "text"
      }
     ],
     "narrow": false
    }
   },
   "expected": "ERROR:schema",
   "fn": "schema_digest",
   "hand_checked": true,
   "name": "FSR20 a field name that is not an identifier (digest)"
  }
 ],
 "corpus": "falcon",
 "version": "0.2.0"
}