[
  {
    "category": "add",
    "name": "can add class ref on a single div",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can add class ref w/ double dash on a single div",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can add class ref on a single form",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can target another div for class ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can add to query in me",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can add to children",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can add non-class attributes",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can add css properties",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can add templated css properties",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can add multiple class refs",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can add class refs w/ colons and dashes",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can filter class addition via the when clause",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can filter property addition via the when clause",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "supports async expressions in when clause",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can add to an HTMLCollection",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "when clause sets result to matched elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "when clause result is empty when nothing matches",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can add a value to an array",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "add",
    "name": "can add a value to a set",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/add.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "can append a string to another string",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "can append a value into an array",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "can append a value to 'it'",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "can append a value to a DOM node",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "can append a value to a DOM element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "can append a value to I",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "can append a value to an object property",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "multiple appends work",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "append to undefined ignores the undefined",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "append preserves existing content rather than overwriting it",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "new content added by append will be live",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "new DOM content added by append will be live",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "append",
    "name": "can append a value to a set",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/append.js",
    "in_our_json": true
  },
  {
    "category": "askAnswer",
    "name": "prompts and puts result in it",
    "complexity": "dialog",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/askAnswer.js",
    "in_our_json": true
  },
  {
    "category": "askAnswer",
    "name": "returns null on cancel",
    "complexity": "dialog",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/askAnswer.js",
    "in_our_json": true
  },
  {
    "category": "askAnswer",
    "name": "shows an alert",
    "complexity": "dialog",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/askAnswer.js",
    "in_our_json": true
  },
  {
    "category": "askAnswer",
    "name": "confirm returns first choice on OK",
    "complexity": "dialog",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/askAnswer.js",
    "in_our_json": true
  },
  {
    "category": "askAnswer",
    "name": "confirm returns second choice on cancel",
    "complexity": "dialog",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/askAnswer.js",
    "in_our_json": true
  },
  {
    "category": "breakpoint",
    "name": "parses as a top-level command",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/breakpoint.js",
    "in_our_json": false
  },
  {
    "category": "breakpoint",
    "name": "parses inside an event handler",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/breakpoint.js",
    "in_our_json": false
  },
  {
    "category": "call",
    "name": "can call javascript instance functions",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/call.js",
    "in_our_json": true
  },
  {
    "category": "call",
    "name": "can call global javascript functions",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/call.js",
    "in_our_json": true
  },
  {
    "category": "call",
    "name": "can call no argument functions",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/call.js",
    "in_our_json": true
  },
  {
    "category": "call",
    "name": "can call functions w/ underscores",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/call.js",
    "in_our_json": true
  },
  {
    "category": "call",
    "name": "can call functions w/ dollar signs",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/call.js",
    "in_our_json": true
  },
  {
    "category": "call",
    "name": "call functions that return promises are waited on",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/call.js",
    "in_our_json": true
  },
  {
    "category": "default",
    "name": "can default variables",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/default.js",
    "in_our_json": false
  },
  {
    "category": "default",
    "name": "can default attributes",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/default.js",
    "in_our_json": false
  },
  {
    "category": "default",
    "name": "can default properties",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/default.js",
    "in_our_json": false
  },
  {
    "category": "default",
    "name": "default variables respect existing values",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/default.js",
    "in_our_json": false
  },
  {
    "category": "default",
    "name": "default attributes respect existing values",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/default.js",
    "in_our_json": false
  },
  {
    "category": "default",
    "name": "default properties respect existing values",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/default.js",
    "in_our_json": false
  },
  {
    "category": "default",
    "name": "can default possessive properties",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/default.js",
    "in_our_json": true
  },
  {
    "category": "default",
    "name": "can default of-expression properties",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/default.js",
    "in_our_json": true
  },
  {
    "category": "default",
    "name": "can default array elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/default.js",
    "in_our_json": true
  },
  {
    "category": "default",
    "name": "default array element respects existing value",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/default.js",
    "in_our_json": true
  },
  {
    "category": "default",
    "name": "default preserves zero",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/default.js",
    "in_our_json": true
  },
  {
    "category": "default",
    "name": "default overwrites empty string",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/default.js",
    "in_our_json": true
  },
  {
    "category": "default",
    "name": "default preserves false",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/default.js",
    "in_our_json": true
  },
  {
    "category": "default",
    "name": "can default style ref when unset",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/default.js",
    "in_our_json": true
  },
  {
    "category": "default",
    "name": "default style ref preserves existing value",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/default.js",
    "in_our_json": true
  },
  {
    "category": "dialog",
    "name": "show opens a dialog (non-modal)",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-dialog-api",
    "upstream_file": "test/commands/dialog.js",
    "in_our_json": false
  },
  {
    "category": "dialog",
    "name": "hide closes a dialog",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/dialog.js",
    "in_our_json": true
  },
  {
    "category": "dialog",
    "name": "show opens a non-modal dialog (no ::backdrop)",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-dialog-api",
    "upstream_file": "test/commands/dialog.js",
    "in_our_json": false
  },
  {
    "category": "dialog",
    "name": "open opens a modal dialog (matches :modal)",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-dialog-api",
    "upstream_file": "test/commands/dialog.js",
    "in_our_json": false
  },
  {
    "category": "dialog",
    "name": "show on already-open dialog is a no-op",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/dialog.js",
    "in_our_json": true
  },
  {
    "category": "dialog",
    "name": "open opens a dialog",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/dialog.js",
    "in_our_json": true
  },
  {
    "category": "dialog",
    "name": "close closes a dialog",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/dialog.js",
    "in_our_json": true
  },
  {
    "category": "dialog",
    "name": "open opens a details element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/dialog.js",
    "in_our_json": true
  },
  {
    "category": "dialog",
    "name": "close closes a details element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/dialog.js",
    "in_our_json": true
  },
  {
    "category": "dialog",
    "name": "open shows a popover",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/dialog.js",
    "in_our_json": true
  },
  {
    "category": "dialog",
    "name": "close hides a popover",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/dialog.js",
    "in_our_json": true
  },
  {
    "category": "dialog",
    "name": "open on implicit me",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/dialog.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "can empty an element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "empty with no target empties me",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "can empty multiple elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "can empty an array",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "can empty a set",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "can empty a map",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "can empty a text input",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "can empty a textarea",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "can empty a checkbox",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "can empty a select",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "can empty a form (clears all inputs)",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "clear is an alias for empty",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "empty",
    "name": "clear works on elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/empty.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can do a simple fetch",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can do a simple fetch w/ a naked URL",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can do a simple fetch w/ html",
    "complexity": "sinon",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can do a simple fetch w/ json",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can do a simple fetch w/ json using JSON syntax",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can do a simple fetch w/ json using Object syntax",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can do a simple fetch w/ json using Object syntax and an 'an' prefix",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can do a simple fetch with a response object",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can do a simple fetch w/ a custom conversion",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can do a simple post",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can do a simple post alt syntax without curlies",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can do a simple post alt syntax w/ curlies",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can put response conversion after with",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can put response conversion before with",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "triggers an event just before fetching",
    "complexity": "sinon",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "submits the fetch parameters to the event handler",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "allows the event handler to change the fetch parameters",
    "complexity": "sinon",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "can catch an error that occurs when using fetch",
    "complexity": "sinon",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "throws on non-2xx response by default",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "do not throw passes through 404 response",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "don't throw passes through 404 response",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "as response does not throw on 404",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "fetch",
    "name": "Response can be converted to JSON via as JSON",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/commands/fetch.js",
    "in_our_json": true
  },
  {
    "category": "focus",
    "name": "can focus an element",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/focus.js",
    "in_our_json": true
  },
  {
    "category": "focus",
    "name": "focus with no target focuses me",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/focus.js",
    "in_our_json": true
  },
  {
    "category": "focus",
    "name": "can blur an element",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/focus.js",
    "in_our_json": true
  },
  {
    "category": "go",
    "name": "can parse go to with string URL",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/go.js",
    "in_our_json": true
  },
  {
    "category": "go",
    "name": "deprecated url keyword still parses",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/go.js",
    "in_our_json": true
  },
  {
    "category": "go",
    "name": "go to naked URL starting with / parses",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/go.js",
    "in_our_json": true
  },
  {
    "category": "go",
    "name": "go to element scrolls",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/go.js",
    "in_our_json": true
  },
  {
    "category": "go",
    "name": "deprecated scroll form still works",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/go.js",
    "in_our_json": true
  },
  {
    "category": "halt",
    "name": "halts event propagation and default",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/halt.js",
    "in_our_json": true
  },
  {
    "category": "halt",
    "name": "halt stops execution after the halt",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/halt.js",
    "in_our_json": true
  },
  {
    "category": "halt",
    "name": "halt the event stops propagation but continues execution",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/halt.js",
    "in_our_json": true
  },
  {
    "category": "halt",
    "name": "halt the event's stops propagation but continues execution",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/halt.js",
    "in_our_json": true
  },
  {
    "category": "halt",
    "name": "halt bubbling only stops propagation, not default",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/halt.js",
    "in_our_json": true
  },
  {
    "category": "halt",
    "name": "halt works outside of event context",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/halt.js",
    "in_our_json": true
  },
  {
    "category": "halt",
    "name": "halt default only prevents default, not propagation",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/halt.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can hide element with no target",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "hide element then show element retains original display",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can hide element with no target followed by command",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can hide element with no target followed by then",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can hide element with no target with a with",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can hide element, with display:none by default",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can hide element with display:none explicitly",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can hide element with opacity:0",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can hide element with opacity style literal",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can hide element, with visibility:hidden",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can hide other elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can hide with custom strategy",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can hide via the hidden attribute strategy",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/hide.js",
    "in_our_json": false
  },
  {
    "category": "hide",
    "name": "can configure hidden as the default hide strategy",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/hide.js",
    "in_our_json": false
  },
  {
    "category": "hide",
    "name": "can filter hide via the when clause",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "hide",
    "name": "can set default to custom strategy",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/hide.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "basic true branch works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "basic true branch works with multiple commands",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "basic true branch works with end",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "basic true branch works with naked else",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "basic true branch works with naked else end",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "basic else branch works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "basic else branch works with end",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "basic else if branch works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "basic else if branch works with end",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "otherwise alias works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "triple else if branch works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "triple else if branch works with end",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "basic else branch works with multiple commands",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "true branch with a wait works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "false branch with a wait works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "if properly passes execution along if child is not executed",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "if properly supports nested if statements and end block",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "if on new line does not join w/ else",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "if",
    "name": "passes the sieve test",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/if.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can increment an empty variable",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can increment a variable",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can increment refer to result",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can increment an attribute",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can increment an floating point numbers",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can increment a property",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can increment by zero",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can increment a value multiple times",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can decrement an empty variable",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can decrement a variable",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can decrement an attribute",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can decrement an floating point numbers",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can decrement a property",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can decrement a value multiple times",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can decrement by zero",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can increment an array element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can decrement an array element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can increment a possessive property",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can increment a property of expression",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "increment",
    "name": "can increment a style ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/increment.js",
    "in_our_json": true
  },
  {
    "category": "js",
    "name": "can run js",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/js.js",
    "in_our_json": false
  },
  {
    "category": "js",
    "name": "can deal with empty input list",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/js.js",
    "in_our_json": false
  },
  {
    "category": "js",
    "name": "can access values from _hyperscript",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/js.js",
    "in_our_json": false
  },
  {
    "category": "js",
    "name": "can return values to _hyperscript",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/js.js",
    "in_our_json": false
  },
  {
    "category": "js",
    "name": "can do both of the above",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/js.js",
    "in_our_json": false
  },
  {
    "category": "js",
    "name": "handles rejected promises without hanging",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/js.js",
    "in_our_json": true
  },
  {
    "category": "log",
    "name": "can log single item",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/log.js",
    "in_our_json": true
  },
  {
    "category": "log",
    "name": "can log multiple items",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/log.js",
    "in_our_json": true
  },
  {
    "category": "log",
    "name": "can log multiple items with debug",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/log.js",
    "in_our_json": true
  },
  {
    "category": "log",
    "name": "can log multiple items with error",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/log.js",
    "in_our_json": true
  },
  {
    "category": "make",
    "name": "can make objects",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/make.js",
    "in_our_json": false
  },
  {
    "category": "make",
    "name": "can make named objects",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/make.js",
    "in_our_json": false
  },
  {
    "category": "make",
    "name": "can make named objects w/ global scope",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/make.js",
    "in_our_json": false
  },
  {
    "category": "make",
    "name": "can make objects with arguments",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/make.js",
    "in_our_json": false
  },
  {
    "category": "make",
    "name": "can make named objects with arguments",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/make.js",
    "in_our_json": false
  },
  {
    "category": "make",
    "name": "can make elements",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/make.js",
    "in_our_json": false
  },
  {
    "category": "make",
    "name": "can make elements with id and classes",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/make.js",
    "in_our_json": false
  },
  {
    "category": "make",
    "name": "creates a div by default",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/make.js",
    "in_our_json": false
  },
  {
    "category": "measure",
    "name": "can measure me",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/measure.js",
    "in_our_json": false
  },
  {
    "category": "measure",
    "name": "can measure another element",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/measure.js",
    "in_our_json": false
  },
  {
    "category": "measure",
    "name": "can assign measurements to locals",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/measure.js",
    "in_our_json": false
  },
  {
    "category": "measure",
    "name": "can measure with possessive syntax",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/measure.js",
    "in_our_json": true
  },
  {
    "category": "measure",
    "name": "can measure with of syntax",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/measure.js",
    "in_our_json": true
  },
  {
    "category": "measure",
    "name": "can measure all the supported properties",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/measure.js",
    "in_our_json": false
  },
  {
    "category": "morph",
    "name": "basic morph updates content",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/morph.js",
    "in_our_json": true
  },
  {
    "category": "morph",
    "name": "morph preserves element identity",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/morph.js",
    "in_our_json": true
  },
  {
    "category": "morph",
    "name": "morph updates attributes",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/morph.js",
    "in_our_json": true
  },
  {
    "category": "morph",
    "name": "morph adds new children",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/morph.js",
    "in_our_json": true
  },
  {
    "category": "morph",
    "name": "morph removes old children",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/morph.js",
    "in_our_json": true
  },
  {
    "category": "morph",
    "name": "morph initializes hyperscript on new elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/morph.js",
    "in_our_json": true
  },
  {
    "category": "morph",
    "name": "morph cleans up removed hyperscript elements",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/morph.js",
    "in_our_json": true
  },
  {
    "category": "morph",
    "name": "morph reorders children by id",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/morph.js",
    "in_our_json": true
  },
  {
    "category": "morph",
    "name": "morph preserves matched child identity",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/morph.js",
    "in_our_json": true
  },
  {
    "category": "morph",
    "name": "morph with variable content",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/morph.js",
    "in_our_json": true
  },
  {
    "category": "pick",
    "name": "can pick items from an array",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "can pick a single item from an array",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "can use 'end' when picking items from an array",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "can use 'start' when picking items from an array",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "can use negative indices when picking items from an array",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "can pick items from a string",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "can pick a single item from a string",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "can use 'end' when picking items from a string",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "can use 'start' when picking items from a string",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "can use negative indices when picking items from a string",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "can pick a single regex match",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "can pick all regex matches",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "can pick a single regex match w/ a flag",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "does not hang on zero-length regex matches",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/pick.js",
    "in_our_json": true
  },
  {
    "category": "pick",
    "name": "can pick first n items",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/pick.js",
    "in_our_json": true
  },
  {
    "category": "pick",
    "name": "can pick last n items",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/pick.js",
    "in_our_json": true
  },
  {
    "category": "pick",
    "name": "can pick random item",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/pick.js",
    "in_our_json": true
  },
  {
    "category": "pick",
    "name": "can pick random n items",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/pick.js",
    "in_our_json": true
  },
  {
    "category": "pick",
    "name": "can pick items using 'of' syntax",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/pick.js",
    "in_our_json": true
  },
  {
    "category": "pick",
    "name": "can pick match using 'of' syntax",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/pick.js",
    "in_our_json": true
  },
  {
    "category": "pick",
    "name": "pick first from null returns null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "pick last from null returns null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "pick random from null returns null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pick",
    "name": "pick match from null returns null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/pick.js",
    "in_our_json": false
  },
  {
    "category": "pseudoCommand",
    "name": "Basic instance function with expression",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/pseudoCommand.js",
    "in_our_json": false
  },
  {
    "category": "pseudoCommand",
    "name": "Basic instance function with expression and with",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/pseudoCommand.js",
    "in_our_json": false
  },
  {
    "category": "pseudoCommand",
    "name": "Basic instance function with expression and on",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/pseudoCommand.js",
    "in_our_json": false
  },
  {
    "category": "pseudoCommand",
    "name": "Basic instance function with me target",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/pseudoCommand.js",
    "in_our_json": false
  },
  {
    "category": "pseudoCommand",
    "name": "Can use functions defined outside of the current element",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/pseudoCommand.js",
    "in_our_json": false
  },
  {
    "category": "pseudoCommand",
    "name": "Basic instance function with me target no preposition",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/pseudoCommand.js",
    "in_our_json": false
  },
  {
    "category": "pseudoCommand",
    "name": "functions defined alongside can be invoked",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/pseudoCommand.js",
    "in_our_json": false
  },
  {
    "category": "pseudoCommand",
    "name": "Can use indirect functions with a symbol root",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/pseudoCommand.js",
    "in_our_json": false
  },
  {
    "category": "pseudoCommand",
    "name": "Can use indirect functions with a function root",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/pseudoCommand.js",
    "in_our_json": false
  },
  {
    "category": "pseudoCommand",
    "name": "Can use nested indirect functions with a symbol root",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/pseudoCommand.js",
    "in_our_json": false
  },
  {
    "category": "pseudoCommand",
    "name": "non-function pseudo-command is an error",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/pseudoCommand.js",
    "in_our_json": false
  },
  {
    "category": "put",
    "name": "can set properties",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can put directly into nodes",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can put nodes into nodes",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can put directly into symbols",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "me symbol doesn't get stomped on direct write",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set styles",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set javascript globals",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set into class ref w/ flatmapped property",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set into class ref w/ flatmapped property using of",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set local variables",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set into id ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can insert before",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can insert after",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can insert after beginning",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can insert before end",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set into attribute ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set into indirect attribute ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set into indirect attribute ref 2",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set into indirect attribute ref 3",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set into style ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set into indirect style ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set into indirect style ref 2",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can set into indirect style ref 3",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "waits on promises",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can put properties w/ array access syntax",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can put properties w/ array access syntax and var",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can put array vals w/ array access syntax",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can put array vals w/ array access syntax and var",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "properly processes hyperscript in new content in a symbol write",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "properly processes hyperscript in new content in a element target",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "properly processes hyperscript in before",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "properly processes hyperscript at start of",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "properly processes hyperscript at end of",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "properly processes hyperscript after",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "is null tolerant",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "put null into attribute removes it",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can put at start of an array",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "put",
    "name": "can put at end of an array",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/put.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can remove class ref on a single div",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can remove class ref on a single form",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can target another div for class ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can remove non-class attributes",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can remove elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can remove other elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can remove parent element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can remove multiple class refs",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can filter class removal via the when clause",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can remove CSS properties",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can remove multiple CSS properties",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can remove query refs from specific things",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can remove a value from an array",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can remove a value from a set",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/remove.js",
    "in_our_json": true
  },
  {
    "category": "remove",
    "name": "can splice an array element by index",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/remove.js",
    "in_our_json": false
  },
  {
    "category": "remove",
    "name": "can splice an array with a negative index",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/remove.js",
    "in_our_json": false
  },
  {
    "category": "remove",
    "name": "can delete a property via dot notation",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/remove.js",
    "in_our_json": false
  },
  {
    "category": "remove",
    "name": "can delete a property via 'of' form",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/remove.js",
    "in_our_json": false
  },
  {
    "category": "remove",
    "name": "remove on a property whose value is a DOM node still detaches the node",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/remove.js",
    "in_our_json": false
  },
  {
    "category": "repeat",
    "name": "basic for loop works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "basic for loop with null works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "waiting in for loop works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "basic raw for loop works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "basic raw for loop with null works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "waiting in raw for loop works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "repeat forever works",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "repeat forever works w/o keyword",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "basic in loop works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "index syntax works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "indexed by syntax works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "while keyword works",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "until keyword works",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "until event keyword works",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "only executes the init expression once",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "can nest loops",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "basic times loop works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "times loop with expression works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "loop continue works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "loop break works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "basic property for loop works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "bottom-tested repeat until",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "bottom-tested repeat while",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "bottom-tested loop always runs at least once",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "break exits a simple repeat loop",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "continue skips rest of iteration in simple repeat loop",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "break exits a for-in loop",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "break exits a while loop",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "for loop over undefined skips without error",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": true
  },
  {
    "category": "repeat",
    "name": "where clause can use the for loop variable name",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/repeat.js",
    "in_our_json": false
  },
  {
    "category": "reset",
    "name": "can reset a form",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/reset.js",
    "in_our_json": true
  },
  {
    "category": "reset",
    "name": "reset with no target resets me (form)",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/reset.js",
    "in_our_json": true
  },
  {
    "category": "reset",
    "name": "can reset a text input to defaultValue",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/reset.js",
    "in_our_json": true
  },
  {
    "category": "reset",
    "name": "can reset a checkbox",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/reset.js",
    "in_our_json": true
  },
  {
    "category": "reset",
    "name": "can reset an unchecked checkbox",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/reset.js",
    "in_our_json": true
  },
  {
    "category": "reset",
    "name": "can reset a textarea",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/reset.js",
    "in_our_json": true
  },
  {
    "category": "reset",
    "name": "can reset a select",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/reset.js",
    "in_our_json": true
  },
  {
    "category": "reset",
    "name": "can reset multiple inputs",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/reset.js",
    "in_our_json": true
  },
  {
    "category": "scroll",
    "name": "can scroll to an element",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/scroll.js",
    "in_our_json": true
  },
  {
    "category": "scroll",
    "name": "can scroll to top of element",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/scroll.js",
    "in_our_json": true
  },
  {
    "category": "scroll",
    "name": "can scroll down by amount",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/scroll.js",
    "in_our_json": true
  },
  {
    "category": "scroll",
    "name": "can scroll up by amount",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/scroll.js",
    "in_our_json": true
  },
  {
    "category": "scroll",
    "name": "can scroll by without direction (defaults to down)",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/scroll.js",
    "in_our_json": true
  },
  {
    "category": "scroll",
    "name": "can scroll container by amount",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/scroll.js",
    "in_our_json": true
  },
  {
    "category": "scroll",
    "name": "can scroll to element in container",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/scroll.js",
    "in_our_json": true
  },
  {
    "category": "scroll",
    "name": "can scroll left by amount",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/scroll.js",
    "in_our_json": true
  },
  {
    "category": "select",
    "name": "selects text in an input",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/select.js",
    "in_our_json": true
  },
  {
    "category": "select",
    "name": "selects text in a textarea",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/select.js",
    "in_our_json": true
  },
  {
    "category": "select",
    "name": "selects implicit me",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/select.js",
    "in_our_json": true
  },
  {
    "category": "select",
    "name": "returns selected text",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/select.js",
    "in_our_json": true
  },
  {
    "category": "send",
    "name": "can send events",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/send.js",
    "in_our_json": true
  },
  {
    "category": "send",
    "name": "can reference sender in events",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/send.js",
    "in_our_json": true
  },
  {
    "category": "send",
    "name": "can send events with args",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/send.js",
    "in_our_json": true
  },
  {
    "category": "send",
    "name": "can send events with dots",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/send.js",
    "in_our_json": true
  },
  {
    "category": "send",
    "name": "can send events with dots with args",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/send.js",
    "in_our_json": true
  },
  {
    "category": "send",
    "name": "can send events with colons",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/send.js",
    "in_our_json": true
  },
  {
    "category": "send",
    "name": "can send events with colons with args",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/send.js",
    "in_our_json": true
  },
  {
    "category": "send",
    "name": "can send events to any expression",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/send.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set properties",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set indirect properties",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set complex indirect properties lhs",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set complex indirect properties rhs",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set chained indirect properties",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set styles",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set javascript globals",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set local variables",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set into id ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set into class ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set into attribute ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set into indirect attribute ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set into indirect attribute ref 2",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set into indirect attribute ref 3",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set into style ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set into indirect style ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set into indirect style ref 2",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set into indirect style ref 3",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "set waits on promises",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set many properties at once with object literal",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set props w/ array access syntax",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set props w/ array access syntax and var",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set arrays w/ array access syntax",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can set arrays w/ array access syntax and var",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "handles set url regression properly",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/set.js",
    "in_our_json": true
  },
  {
    "category": "settle",
    "name": "can settle me no transition",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/settle.js",
    "in_our_json": false
  },
  {
    "category": "settle",
    "name": "can settle target no transition",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/commands/settle.js",
    "in_our_json": false
  },
  {
    "category": "settle",
    "name": "can settle a collection of elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/settle.js",
    "in_our_json": true
  },
  {
    "category": "show",
    "name": "can show element, with display:block by default",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can show form, with display:block by default",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can show element with display:block explicitly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can show element with custom display value",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can show element with inline-block display value",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can show element with opacity:1",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can show element with opacity style literal",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can show element, with visibility:visible",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can show element via the hidden attribute strategy",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can show other elements",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can show multiple elements with inline-block display value",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can show multiple elements as class with inline-block display value",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can use a when clause to show or hide an element",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can use a when clause and a with clause to show or hide an element",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "can filter over a set of elements using the its symbol",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "show",
    "name": "the result in a when clause refers to previous command result, not element being tested",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/show.js",
    "in_our_json": true
  },
  {
    "category": "show",
    "name": "the result after show...when is the matched elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/show.js",
    "in_our_json": true
  },
  {
    "category": "show",
    "name": "starting off with display none does not stick",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/show.js",
    "in_our_json": false
  },
  {
    "category": "swap",
    "name": "can swap two variables",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/swap.js",
    "in_our_json": true
  },
  {
    "category": "swap",
    "name": "can swap two properties",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/swap.js",
    "in_our_json": true
  },
  {
    "category": "swap",
    "name": "can swap array elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/swap.js",
    "in_our_json": true
  },
  {
    "category": "swap",
    "name": "can swap a variable with a property",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/swap.js",
    "in_our_json": true
  },
  {
    "category": "take",
    "name": "can take a class from other elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/take.js",
    "in_our_json": true
  },
  {
    "category": "take",
    "name": "can take a class from other forms",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/take.js",
    "in_our_json": true
  },
  {
    "category": "take",
    "name": "can take a class for other elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/take.js",
    "in_our_json": true
  },
  {
    "category": "take",
    "name": "a parent can take a class for other elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/take.js",
    "in_our_json": true
  },
  {
    "category": "take",
    "name": "can take an attribute from other elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/take.js",
    "in_our_json": true
  },
  {
    "category": "take",
    "name": "can take an attribute with specific value from other elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/take.js",
    "in_our_json": true
  },
  {
    "category": "take",
    "name": "can take an attribute value from other elements and set specific values instead",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/take.js",
    "in_our_json": true
  },
  {
    "category": "take",
    "name": "can take an attribute value from other elements and set value from an expression instead",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/take.js",
    "in_our_json": true
  },
  {
    "category": "take",
    "name": "can take a class and swap it with another via with",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/take.js",
    "in_our_json": false
  },
  {
    "category": "take",
    "name": "can take a class and swap it with another via giving",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/take.js",
    "in_our_json": false
  },
  {
    "category": "take",
    "name": "giving may follow the from clause as an alternative to with",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/commands/take.js",
    "in_our_json": false
  },
  {
    "category": "take",
    "name": "can take an attribute for other elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/take.js",
    "in_our_json": true
  },
  {
    "category": "take",
    "name": "a parent can take an attribute for other elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/take.js",
    "in_our_json": true
  },
  {
    "category": "take",
    "name": "can take multiple classes from other elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/take.js",
    "in_our_json": true
  },
  {
    "category": "take",
    "name": "can take multiple classes from specific element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/take.js",
    "in_our_json": true
  },
  {
    "category": "tell",
    "name": "establishes a proper beingTold symbol",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/tell.js",
    "in_our_json": true
  },
  {
    "category": "tell",
    "name": "does not overwrite the me symbol",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/tell.js",
    "in_our_json": true
  },
  {
    "category": "tell",
    "name": "works with an array",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/tell.js",
    "in_our_json": true
  },
  {
    "category": "tell",
    "name": "restores a proper implicit me symbol",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/tell.js",
    "in_our_json": true
  },
  {
    "category": "tell",
    "name": "ignores null",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/tell.js",
    "in_our_json": true
  },
  {
    "category": "tell",
    "name": "you symbol represents the thing being told",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/tell.js",
    "in_our_json": true
  },
  {
    "category": "tell",
    "name": "your symbol represents the thing being told",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/tell.js",
    "in_our_json": true
  },
  {
    "category": "tell",
    "name": "attributes refer to the thing being told",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/tell.js",
    "in_our_json": true
  },
  {
    "category": "tell",
    "name": "yourself attribute also works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/tell.js",
    "in_our_json": true
  },
  {
    "category": "tell",
    "name": "tell terminates with a feature",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/tell.js",
    "in_our_json": true
  },
  {
    "category": "throw",
    "name": "can throw a basic exception",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/commands/throw.js",
    "in_our_json": false
  },
  {
    "category": "throw",
    "name": "can throw an async exception",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/commands/throw.js",
    "in_our_json": false
  },
  {
    "category": "throw",
    "name": "async exceptions propagate properly",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/commands/throw.js",
    "in_our_json": false
  },
  {
    "category": "throw",
    "name": "async exceptions as throws propagate properly",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/commands/throw.js",
    "in_our_json": false
  },
  {
    "category": "throw",
    "name": "can throw inside an event handler",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/throw.js",
    "in_our_json": false
  },
  {
    "category": "throw",
    "name": "can respond to exceptions in an event handler with an event handler",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/throw.js",
    "in_our_json": false
  },
  {
    "category": "throw",
    "name": "can respond to async exceptions in an event handler with an event handler",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/throw.js",
    "in_our_json": false
  },
  {
    "category": "toggle",
    "name": "can toggle class ref on a single div",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle class ref on a single form",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can target another div for class ref toggle",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle non-class attributes",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle non-class attributes on selects",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle for a fixed amount of time",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle until an event on another element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle between two classes",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle between two attribute values",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle between different attributes",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle multiple class refs",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle display",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle opacity",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle visibility",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle display w/ my",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle opacity w/ my",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle visibility w/ my",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle display on other elt",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle opacity on other elt",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle visibility on other elt",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle crazy tailwinds class ref on a single form",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle *display between two values",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle *opacity between three values",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle a global variable between two values",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "toggle",
    "name": "can toggle a global variable between three values",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/toggle.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition a single property on current element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition with parameterized values",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition a single property on form",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition a single property on current element with the my prefix",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition two properties on current element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition on another element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition on another element with of syntax",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition on another element with possessive",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition on another element with it",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition with a custom transition string",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition with a custom transition time via the over syntax",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition a single property on current element using style ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition a single property on form using style ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition a single property on current element with the my prefix using style ref",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition on query ref with possessive",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can transition on query ref with of syntax",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "transition",
    "name": "can use initial to transition to original value",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/transition.js",
    "in_our_json": true
  },
  {
    "category": "trigger",
    "name": "can trigger events",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/trigger.js",
    "in_our_json": false
  },
  {
    "category": "trigger",
    "name": "can trigger events with args",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/trigger.js",
    "in_our_json": false
  },
  {
    "category": "trigger",
    "name": "can trigger events with dots",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/trigger.js",
    "in_our_json": false
  },
  {
    "category": "trigger",
    "name": "can trigger events with dots with args",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/trigger.js",
    "in_our_json": false
  },
  {
    "category": "trigger",
    "name": "can trigger events with colons",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/trigger.js",
    "in_our_json": false
  },
  {
    "category": "trigger",
    "name": "can trigger events with dots with colons",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/trigger.js",
    "in_our_json": false
  },
  {
    "category": "unlessModifier",
    "name": "unless modifier can conditionally execute a command",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/commands/unlessModifier.js",
    "in_our_json": false
  },
  {
    "category": "viewTransition",
    "name": "runs the body when view transitions API is unavailable",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-css-transitions",
    "upstream_file": "test/commands/viewTransition.js",
    "in_our_json": false
  },
  {
    "category": "viewTransition",
    "name": "runs the body when view transitions API is available",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-css-transitions",
    "upstream_file": "test/commands/viewTransition.js",
    "in_our_json": false
  },
  {
    "category": "viewTransition",
    "name": "accepts an optional 'using' type string",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-css-transitions",
    "upstream_file": "test/commands/viewTransition.js",
    "in_our_json": false
  },
  {
    "category": "viewTransition",
    "name": "throws if a view transition is already in progress",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-css-transitions",
    "upstream_file": "test/commands/viewTransition.js",
    "in_our_json": false
  },
  {
    "category": "viewTransition",
    "name": "exit inside a view transition skips the animation",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-css-transitions",
    "upstream_file": "test/commands/viewTransition.js",
    "in_our_json": false
  },
  {
    "category": "viewTransition",
    "name": "halt the event inside a view transition skips the animation",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-css-transitions",
    "upstream_file": "test/commands/viewTransition.js",
    "in_our_json": false
  },
  {
    "category": "viewTransition",
    "name": "return inside a def called from a view transition skips the animation",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/commands/viewTransition.js",
    "in_our_json": false
  },
  {
    "category": "viewTransition",
    "name": "break inside a loop inside a view transition is NOT replaced",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-css-transitions",
    "upstream_file": "test/commands/viewTransition.js",
    "in_our_json": false
  },
  {
    "category": "viewTransition",
    "name": "return inside an if branch inside a view transition skips the animation",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-css-transitions",
    "upstream_file": "test/commands/viewTransition.js",
    "in_our_json": false
  },
  {
    "category": "wait",
    "name": "can wait on time",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/wait.js",
    "in_our_json": true
  },
  {
    "category": "wait",
    "name": "can wait on event",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/wait.js",
    "in_our_json": true
  },
  {
    "category": "wait",
    "name": "waiting on an event sets 'it' to the event",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/wait.js",
    "in_our_json": true
  },
  {
    "category": "wait",
    "name": "can destructure properties in a wait",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/wait.js",
    "in_our_json": true
  },
  {
    "category": "wait",
    "name": "can wait on event on another element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/wait.js",
    "in_our_json": true
  },
  {
    "category": "wait",
    "name": "can wait on event or timeout 1",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/wait.js",
    "in_our_json": true
  },
  {
    "category": "wait",
    "name": "can wait on event or timeout 2",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/commands/wait.js",
    "in_our_json": true
  },
  {
    "category": "api",
    "name": "processNodes does not reinitialize a node already processed",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/api.js",
    "in_our_json": false
  },
  {
    "category": "asyncError",
    "name": "rejected promise stops execution",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/asyncError.js",
    "in_our_json": true
  },
  {
    "category": "asyncError",
    "name": "rejected promise triggers catch block",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/asyncError.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "on a single div",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": false
  },
  {
    "category": "bootstrap",
    "name": "toggles",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": false
  },
  {
    "category": "bootstrap",
    "name": "can target another div",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": false
  },
  {
    "category": "bootstrap",
    "name": "hyperscript can have more than one action",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "can wait",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": false
  },
  {
    "category": "bootstrap",
    "name": "can change non-class properties",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": false
  },
  {
    "category": "bootstrap",
    "name": "can send events",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": false
  },
  {
    "category": "bootstrap",
    "name": "can respond to events on other elements",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": false
  },
  {
    "category": "bootstrap",
    "name": "can take a class from other elements",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": false
  },
  {
    "category": "bootstrap",
    "name": "can set properties",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": false
  },
  {
    "category": "bootstrap",
    "name": "can set styles",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": false
  },
  {
    "category": "bootstrap",
    "name": "can send events with args",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": false
  },
  {
    "category": "bootstrap",
    "name": "can call functions",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": false
  },
  {
    "category": "bootstrap",
    "name": "stores state on elt._hyperscript",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "skips reinitialization if script unchanged",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "reinitializes if script attribute changes",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "cleanup removes event listeners on the element",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "cleanup removes cross-element event listeners",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "cleanup tracks listeners in elt._hyperscript",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "cleanup clears elt._hyperscript",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "sets data-hyperscript-powered on initialized elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "cleanup removes data-hyperscript-powered",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "fires hyperscript:before:init and hyperscript:after:init",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "hyperscript:before:init can cancel initialization",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "fires hyperscript:before:cleanup and hyperscript:after:cleanup",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "bootstrap",
    "name": "logAll config logs events to console",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/bootstrap.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "isolated stops ^var resolution",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "closest jumps to matching ancestor",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "closest with no match stops resolution",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "parent of jumps past matching ancestor to its parent",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "isolated allows setting ^var on the isolated element itself",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "evalStatically",
    "name": "works on number literals",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/evalStatically.js",
    "in_our_json": true
  },
  {
    "category": "evalStatically",
    "name": "works on boolean literals",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/evalStatically.js",
    "in_our_json": true
  },
  {
    "category": "evalStatically",
    "name": "works on null literal",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/evalStatically.js",
    "in_our_json": true
  },
  {
    "category": "evalStatically",
    "name": "works on plain string literals",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/evalStatically.js",
    "in_our_json": true
  },
  {
    "category": "evalStatically",
    "name": "works on time expressions",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/evalStatically.js",
    "in_our_json": true
  },
  {
    "category": "evalStatically",
    "name": "throws on template strings",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/evalStatically.js",
    "in_our_json": true
  },
  {
    "category": "evalStatically",
    "name": "throws on symbol references",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/evalStatically.js",
    "in_our_json": true
  },
  {
    "category": "evalStatically",
    "name": "throws on math expressions",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/evalStatically.js",
    "in_our_json": true
  },
  {
    "category": "liveTemplate",
    "name": "renders static content after the template",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": true
  },
  {
    "category": "liveTemplate",
    "name": "renders template expressions",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": true
  },
  {
    "category": "liveTemplate",
    "name": "applies init script from _ attribute",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": true
  },
  {
    "category": "liveTemplate",
    "name": "reactively updates when dependencies change",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": true
  },
  {
    "category": "liveTemplate",
    "name": "processes hyperscript on inner elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": true
  },
  {
    "category": "liveTemplate",
    "name": "supports #for loops",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": true
  },
  {
    "category": "liveTemplate",
    "name": "supports #if conditionals",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": true
  },
  {
    "category": "liveTemplate",
    "name": "reacts to global state without init script",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": true
  },
  {
    "category": "liveTemplate",
    "name": "wrapper has display:contents",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": true
  },
  {
    "category": "liveTemplate",
    "name": "multiple live templates are independent",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": true
  },
  {
    "category": "liveTemplate",
    "name": "script type=\"text/hyperscript-template\" works as a live template source",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": false
  },
  {
    "category": "liveTemplate",
    "name": "loop variables are captured and available in _= handlers",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": false
  },
  {
    "category": "liveTemplate",
    "name": "loop index variable is captured alongside loop variable",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": false
  },
  {
    "category": "liveTemplate",
    "name": "loop variable capture works with remove for live list",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": false
  },
  {
    "category": "liveTemplate",
    "name": "scope is refreshed after morph so surviving elements get updated indices",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": false
  },
  {
    "category": "liveTemplate",
    "name": "script-based live template preserves ${} in bare attribute position",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/core/liveTemplate.js",
    "in_our_json": false
  },
  {
    "category": "parser",
    "name": "basic parse error messages work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/parser.js",
    "in_our_json": false
  },
  {
    "category": "parser",
    "name": "continues initializing elements in the presence of a parse error",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/parser.js",
    "in_our_json": false
  },
  {
    "category": "parser",
    "name": "can have comments in scripts",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/core/parser.js",
    "in_our_json": false
  },
  {
    "category": "parser",
    "name": "can have comments in attributes",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/parser.js",
    "in_our_json": false
  },
  {
    "category": "parser",
    "name": "can have comments in attributes (triple dash)",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/parser.js",
    "in_our_json": true
  },
  {
    "category": "parser",
    "name": "can have alternate comments in scripts",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/core/parser.js",
    "in_our_json": false
  },
  {
    "category": "parser",
    "name": "can have alternate comments in attributes",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/parser.js",
    "in_our_json": false
  },
  {
    "category": "parser",
    "name": "can support parenthesized commands and features",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/parser.js",
    "in_our_json": false
  },
  {
    "category": "parser",
    "name": "recovers across feature boundaries and reports all errors",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/parser.js",
    "in_our_json": true
  },
  {
    "category": "parser",
    "name": "recovers across multiple feature errors",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/parser.js",
    "in_our_json": true
  },
  {
    "category": "parser",
    "name": "fires hyperscript:parse-error event with all errors",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/parser.js",
    "in_our_json": true
  },
  {
    "category": "parser",
    "name": "element-level isolation still works with error recovery",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/parser.js",
    "in_our_json": true
  },
  {
    "category": "parser",
    "name": "_hyperscript() evaluate API still throws on first error",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/parser.js",
    "in_our_json": true
  },
  {
    "category": "parser",
    "name": "parse error at EOF on trailing newline does not crash",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/parser.js",
    "in_our_json": true
  },
  {
    "category": "reactivity",
    "name": "multiple effects on the same global fire once per write",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/reactivity.js",
    "in_our_json": false
  },
  {
    "category": "reactivity",
    "name": "effects fire in source registration order",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/reactivity.js",
    "in_our_json": false
  },
  {
    "category": "reactivity",
    "name": "NaN → NaN does not retrigger handlers (Object.is semantics)",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/reactivity.js",
    "in_our_json": false
  },
  {
    "category": "reactivity",
    "name": "setting same value does not retrigger handler",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/reactivity.js",
    "in_our_json": false
  },
  {
    "category": "reactivity",
    "name": "effect switches its dependencies based on control flow",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/reactivity.js",
    "in_our_json": false
  },
  {
    "category": "reactivity",
    "name": "effects on disconnected elements stop automatically",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/reactivity.js",
    "in_our_json": false
  },
  {
    "category": "reactivity",
    "name": "reactive loops are detected and stopped after 100 consecutive triggers",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/reactivity.js",
    "in_our_json": false
  },
  {
    "category": "reactivity",
    "name": "element-scoped writes only trigger effects on the same element",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/reactivity.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "can pick detail fields out by name",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "can trigger htmx events",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "can remove class by id",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "can remove by clicks elsewhere",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "me and it is properly set when responding to events",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "me symbol works in from expressions",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "can refer to function in init blocks",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "can create a paragraph tag",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "async exception",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "extra chars cause error when evaling",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "string literals can dot-invoked against",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "button query in form",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "can invoke functions w/ numbers in name",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "properly interpolates values",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "properly interpolates values 2",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "regressions",
    "name": "listen for event on form",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/regressions.js",
    "in_our_json": false
  },
  {
    "category": "runtime",
    "name": "has proper stack",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/core/runtime.js",
    "in_our_json": false
  },
  {
    "category": "runtime",
    "name": "has proper stack from event handler",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/core/runtime.js",
    "in_our_json": false
  },
  {
    "category": "runtime",
    "name": "hypertrace is reasonable",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/core/runtime.js",
    "in_our_json": false
  },
  {
    "category": "runtime",
    "name": "hypertrace from javascript is reasonable",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/core/runtime.js",
    "in_our_json": false
  },
  {
    "category": "runtime",
    "name": "async hypertrace is reasonable",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/core/runtime.js",
    "in_our_json": false
  },
  {
    "category": "runtime",
    "name": "arrays args are handled properly wrt Promises",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/core/runtime.js",
    "in_our_json": false
  },
  {
    "category": "runtime",
    "name": "scalar args are handled properly wrt Promises",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/core/runtime.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports basic function invocation null errors properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports basic function invocation null errors properly w/ possessives",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports basic function invocation null errors properly w/ of",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on sets properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on settle command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on add command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on remove command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on toggle command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on show command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on hide command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on put command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on transition command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on send command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on trigger command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on increment command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on decrement command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on default command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "runtimeErrors",
    "name": "reports null errors on measure command properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/runtimeErrors.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "locally scoped variables work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "locally scoped variables don't clash with built-in variables",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "locally scoped variables do not span features",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "element scoped variables work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "element scoped variables work w/short syntax",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "element scoped variables support pseudo-possessive syntax",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "element scoped variables span features",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "element scoped variables span features w/short syntax",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/core/scoping.js",
    "in_our_json": true
  },
  {
    "category": "scoping",
    "name": "element scoped variables are local only to element",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "global scoped variables work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "global scoped variables work w/ short syntax",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "setting an element scoped variable spans features",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "setting a global scoped variable spans features",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "basic behavior scoping works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "behavior scoping is at the element level",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "behavior scoping is isolated from the core element scope",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "behavior scoping is isolated from other behaviors",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "variables are hoisted",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "global scoped variables span features",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "scoping",
    "name": "set favors local variables over global variables",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/core/scoping.js",
    "in_our_json": false
  },
  {
    "category": "security",
    "name": "on a single div",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/security.js",
    "in_our_json": false
  },
  {
    "category": "sourceInfo",
    "name": "debug",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/sourceInfo.js",
    "in_our_json": false
  },
  {
    "category": "sourceInfo",
    "name": "get source works for expressions",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/sourceInfo.js",
    "in_our_json": false
  },
  {
    "category": "sourceInfo",
    "name": "get source works for statements",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/sourceInfo.js",
    "in_our_json": false
  },
  {
    "category": "sourceInfo",
    "name": "get line works for statements",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/sourceInfo.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles basic token types",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles whitespace properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles comments properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles class identifiers properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles id references properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles identifiers properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles identifiers with numbers properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles numbers properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles strings properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles all special escapes properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles hex escapes properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles strings properly 2",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles operators properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles look ahead property",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles template bootstrap properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "handles $ in template properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "tokenizer",
    "name": "string interpolation isnt surprising",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/core/tokenizer.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "can create an array literal",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "can index an array value at the beginning of the array",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "can index an array value in the middle of the array",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "can index an array value at the end of the array",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "can index an array value",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "can index an array value with an expression",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "can get the range of first values in an array",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "can get the range of middle values in an array",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "can get the range of middle values in an array WITHOUT EXTRA SPACES",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "can get the range of middle values in an array using an expression",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "can get the range of last values in an array",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "can get the range of last values in an array WITHOUT EXTRA SPACES",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "errors when index exceeds array length",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayIndex",
    "name": "errors when indexed value is not an array",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayIndex.js",
    "in_our_json": false
  },
  {
    "category": "arrayLiteral",
    "name": "empty array literals work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayLiteral.js",
    "in_our_json": false
  },
  {
    "category": "arrayLiteral",
    "name": "one element array literal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayLiteral.js",
    "in_our_json": false
  },
  {
    "category": "arrayLiteral",
    "name": "multi element array literal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayLiteral.js",
    "in_our_json": false
  },
  {
    "category": "arrayLiteral",
    "name": "mixed-type array literal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayLiteral.js",
    "in_our_json": false
  },
  {
    "category": "arrayLiteral",
    "name": "nested array literals work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayLiteral.js",
    "in_our_json": false
  },
  {
    "category": "arrayLiteral",
    "name": "deeply nested array literals work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayLiteral.js",
    "in_our_json": false
  },
  {
    "category": "arrayLiteral",
    "name": "arrays containing objects work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayLiteral.js",
    "in_our_json": false
  },
  {
    "category": "arrayLiteral",
    "name": "arrays can contain expressions",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/arrayLiteral.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts null as null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts value as String",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts value as Int",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts value as Float",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts value as Fixed",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts value as Number",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts value as Boolean",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts value as Date",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "can use the a modifier if you like",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "parses string as JSON to object",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts value as JSONString",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "pipe operator chains conversions",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts string as Object",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "can use the an modifier if you'd like",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts value as Object",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts an input element into Values",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "collects duplicate text inputs into an array",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts a form element into Values",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts a query selector into Values",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts radio buttons into a Value correctly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts checkboxes into a Value correctly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts multiple selects into a Value correctly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts multiple selects with programmatically changed selections",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts a complete form into Values",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts an element into HTML",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts a NodeList into HTML",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts an array into HTML",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts numbers things 'HTML'",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts strings into fragments",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts elements into fragments",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts arrays into fragments",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "can accept custom conversions",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "can accept custom dynamic conversions",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": false
  },
  {
    "category": "asExpression",
    "name": "converts a form element into Values | JSONString",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts a form element into Values | FormEncoded",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts array as Set",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts object as Map",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts object as Keys",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts object as Entries",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts array as Reversed",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts array as Unique",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "asExpression",
    "name": "converts nested array as Flat",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/asExpression.js",
    "in_our_json": true
  },
  {
    "category": "assignableElements",
    "name": "set #id replaces element with HTML string",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/assignableElements.js",
    "in_our_json": true
  },
  {
    "category": "assignableElements",
    "name": "set #id replaces element with another element",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/assignableElements.js",
    "in_our_json": true
  },
  {
    "category": "assignableElements",
    "name": "set .class replaces all matching elements",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/assignableElements.js",
    "in_our_json": true
  },
  {
    "category": "assignableElements",
    "name": "set <query/> replaces all matching elements",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/assignableElements.js",
    "in_our_json": true
  },
  {
    "category": "assignableElements",
    "name": "set closest replaces ancestor",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/assignableElements.js",
    "in_our_json": true
  },
  {
    "category": "assignableElements",
    "name": "hyperscript in replacement content is initialized",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/assignableElements.js",
    "in_our_json": true
  },
  {
    "category": "assignableElements",
    "name": "swap #a with #b swaps DOM positions",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/assignableElements.js",
    "in_our_json": true
  },
  {
    "category": "assignableElements",
    "name": "put into still works as innerHTML",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/assignableElements.js",
    "in_our_json": true
  },
  {
    "category": "attributeRef",
    "name": "attributeRef with no value works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:[@attr]",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef with dashes name works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:[@attr]",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can be set as symbol",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can have value used in add commands",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can have value in quotes used in add commands",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can have value in quotes with spaces used in add commands",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can be set as prop",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:[@attr]",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can be set through possessive",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can be set indirectly",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:[@attr]",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can be put indirectly",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:[@attr]",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can be put as symbol",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef with no value works w/ short syntax",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef with dashes name works w/ short syntax",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can be set as symbol w/ short syntax",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can be set as prop w/ short syntax",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can be set through possessive w/ short syntax",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": true
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can be set indirectly w/ short syntax",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can be put indirectly w/ short syntax",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can be put as symbol w/ short syntax",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can have value used in add commands w/ short syntax",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can have value in quotes used in add commands w/ short syntax",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "attributeRef",
    "name": "attributeRef can have value in quotes with spaces used in add commands w/ short syntax",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/attributeRef.js",
    "in_our_json": false
  },
  {
    "category": "beep!",
    "name": "beeps a basic value",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/beep!.js",
    "in_our_json": false
  },
  {
    "category": "beep!",
    "name": "beeps a null value",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/beep!.js",
    "in_our_json": false
  },
  {
    "category": "beep!",
    "name": "beeps a formatted string value",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/beep!.js",
    "in_our_json": false
  },
  {
    "category": "beep!",
    "name": "beeps the result of an ElementCollection",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/beep!.js",
    "in_our_json": false
  },
  {
    "category": "beep!",
    "name": "can be cancelled",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/beep!.js",
    "in_our_json": false
  },
  {
    "category": "beep!",
    "name": "can capture information from event",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/beep!.js",
    "in_our_json": false
  },
  {
    "category": "blockLiteral",
    "name": "basic block literals work",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/blockLiteral.js",
    "in_our_json": false
  },
  {
    "category": "blockLiteral",
    "name": "basic identity works",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/blockLiteral.js",
    "in_our_json": false
  },
  {
    "category": "blockLiteral",
    "name": "basic two arg identity works",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/blockLiteral.js",
    "in_our_json": false
  },
  {
    "category": "blockLiteral",
    "name": "can map an array",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/blockLiteral.js",
    "in_our_json": false
  },
  {
    "category": "boolean",
    "name": "true boolean literals work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/boolean.js",
    "in_our_json": false
  },
  {
    "category": "boolean",
    "name": "false boolean literals work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/boolean.js",
    "in_our_json": false
  },
  {
    "category": "classRef",
    "name": "basic classRef works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/classRef.js",
    "in_our_json": false
  },
  {
    "category": "classRef",
    "name": "basic classRef works w no match",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/classRef.js",
    "in_our_json": false
  },
  {
    "category": "classRef",
    "name": "dashed class ref works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/classRef.js",
    "in_our_json": false
  },
  {
    "category": "classRef",
    "name": "colon class ref works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/classRef.js",
    "in_our_json": false
  },
  {
    "category": "classRef",
    "name": "multiple colon class ref works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/classRef.js",
    "in_our_json": false
  },
  {
    "category": "classRef",
    "name": "template classRef works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/classRef.js",
    "in_our_json": false
  },
  {
    "category": "classRef",
    "name": "leading minus class ref works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/classRef.js",
    "in_our_json": false
  },
  {
    "category": "classRef",
    "name": "slashes in class references work",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/classRef.js",
    "in_our_json": false
  },
  {
    "category": "classRef",
    "name": "tailwind insanity in class references work",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/classRef.js",
    "in_our_json": false
  },
  {
    "category": "closest",
    "name": "basic query return values",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/closest.js",
    "in_our_json": false
  },
  {
    "category": "closest",
    "name": "parent modifier works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/closest.js",
    "in_our_json": false
  },
  {
    "category": "closest",
    "name": "attributes resolve as attributes",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/closest.js",
    "in_our_json": false
  },
  {
    "category": "closest",
    "name": "attributes can be looked up and referred to in same expression",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/closest.js",
    "in_our_json": false
  },
  {
    "category": "closest",
    "name": "attributes can be set via the closest expression",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/closest.js",
    "in_our_json": false
  },
  {
    "category": "closest",
    "name": "parenthesizing allows you to nest to modifiers properly",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/closest.js",
    "in_our_json": false
  },
  {
    "category": "closest",
    "name": "attributes can be set via the closest expression 2",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/closest.js",
    "in_our_json": true
  },
  {
    "category": "closest",
    "name": "closest does not consume a following where clause",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/closest.js",
    "in_our_json": true
  },
  {
    "category": "closest",
    "name": "closest with to modifier still works after parse change",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/closest.js",
    "in_our_json": true
  },
  {
    "category": "closest",
    "name": "returns an array where appropriate",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/closest.js",
    "in_our_json": false
  },
  {
    "category": "collectionExpressions",
    "name": "filters an array by condition",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "filters with comparison",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "works with DOM elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "sorts by a property",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "sorts descending",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "sorts numbers by a computed key",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "maps to a property",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "maps with an expression",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "where on null returns null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": false
  },
  {
    "category": "collectionExpressions",
    "name": "sorted by on null returns null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": false
  },
  {
    "category": "collectionExpressions",
    "name": "mapped to on null returns null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": false
  },
  {
    "category": "collectionExpressions",
    "name": "split by on null returns null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": false
  },
  {
    "category": "collectionExpressions",
    "name": "joined by on null returns null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": false
  },
  {
    "category": "collectionExpressions",
    "name": "where on undefined returns undefined",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": false
  },
  {
    "category": "collectionExpressions",
    "name": "where then mapped to",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "sorted by then mapped to",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "where then sorted by then mapped to",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "the result inside where refers to previous command result, not current element",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "where binds after in without parens",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "sorted by binds after in without parens",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "where binds after property access",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "where after in with mapped to",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "where binds after in on closest",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "where in init followed by on feature",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "where in component init followed by on feature",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "where with is not me in component template",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "where with is not me followed by on feature",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "collectionExpressions",
    "name": "full select-all pattern with multiple on features",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/collectionExpressions.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "less than works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "less than or equal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "greater than works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "greater than or equal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "equal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "triple equal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "not equal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "triple not equal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "equals works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is equal to works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is really equal to works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "really equals works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is not works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is not equal to works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is not really equal to works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is in works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is not in works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "I am in works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "I am not in works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "match works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "does not match works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "match works w/ strings",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "does not match works w/ strings",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "contains works with elts",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "contains works with arrays",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "contains works with css literals",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "include works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "includes works with arrays",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "includes works with css literals",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "does not contain works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is empty works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is not empty works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is a works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is not a works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is an works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is not an works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is a works with instanceof fallback",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is a Node works via instanceof",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is not a works with instanceof fallback",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "english less than works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "english less than or equal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "english greater than works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "english greater than or equal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "exists works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-pattern:<sel/>",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "does not exist works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-pattern:<sel/>",
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": false
  },
  {
    "category": "comparisonOperator",
    "name": "is ignoring case works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is not ignoring case works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "contains ignoring case works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "matches ignoring case works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "starts with works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "ends with works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "does not start with works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "does not end with works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "starts with null is false",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "ends with null is false",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "starts with ignoring case works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "ends with ignoring case works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "starts with coerces to string",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "ends with coerces to string",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is between works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is not between works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "between works with strings",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "I am between works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "I am not between works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "precedes works",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "follows works",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "does not precede works",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "does not follow works",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "precedes with null is false",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "I precede works",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is really works without equal to",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is not really works without equal to",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is equal works without to",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is not equal works without to",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "am works as alias for is",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is not undefined still works as equality",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is not null still works as equality",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is falls back to boolean property when rhs is undefined",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is not falls back to boolean property when rhs is undefined",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is boolean property works with disabled",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is still does equality when rhs variable exists",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "comparisonOperator",
    "name": "is boolean property works in where clause",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/comparisonOperator.js",
    "in_our_json": true
  },
  {
    "category": "cookies",
    "name": "basic set cookie values work",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/cookies.js",
    "in_our_json": false
  },
  {
    "category": "cookies",
    "name": "update cookie values work",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/cookies.js",
    "in_our_json": false
  },
  {
    "category": "cookies",
    "name": "basic clear cookie values work",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/cookies.js",
    "in_our_json": false
  },
  {
    "category": "cookies",
    "name": "iterate cookies values work",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/cookies.js",
    "in_our_json": false
  },
  {
    "category": "cookies",
    "name": "length is 0 when no cookies are set",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/cookies.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "child reads ^var set by parent",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "child writes ^var and parent sees it",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "deeply nested child reads ^var from grandparent",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "closest ancestor wins (shadowing)",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "sibling subtrees have independent ^vars",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "write to ^var not found anywhere creates on current element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "child write updates the ancestor, not a local copy",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "increment works on inherited var",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "dom keyword works as scope modifier",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "set ^var on explicit element",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "on clause targets a specific ancestor",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "on clause with id reference",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "when reacts to ^var changes",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "always reacts to ^var changes",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "multiple children react to same ^var",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "sibling subtrees react independently with ^var",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "bind works with ^var",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "derived ^var chains reactively",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "effect stops when element is removed",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "dom-scope",
    "name": "dedup prevents re-fire on same ^var value",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/dom-scope.js",
    "in_our_json": true
  },
  {
    "category": "functionCalls",
    "name": "can invoke global function",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/functionCalls.js",
    "in_our_json": false
  },
  {
    "category": "functionCalls",
    "name": "can invoke function on object",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/functionCalls.js",
    "in_our_json": false
  },
  {
    "category": "functionCalls",
    "name": "can invoke global function w/ async arg",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/functionCalls.js",
    "in_our_json": false
  },
  {
    "category": "functionCalls",
    "name": "can invoke function on object w/ async arg",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/functionCalls.js",
    "in_our_json": false
  },
  {
    "category": "functionCalls",
    "name": "can invoke function on object w/ async root & arg",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/functionCalls.js",
    "in_our_json": false
  },
  {
    "category": "functionCalls",
    "name": "can pass multiple arguments",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/functionCalls.js",
    "in_our_json": false
  },
  {
    "category": "functionCalls",
    "name": "can pass no arguments",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/functionCalls.js",
    "in_our_json": false
  },
  {
    "category": "functionCalls",
    "name": "can chain calls on the result of a call",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/functionCalls.js",
    "in_our_json": false
  },
  {
    "category": "functionCalls",
    "name": "can access a property of a call's result",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/functionCalls.js",
    "in_our_json": false
  },
  {
    "category": "functionCalls",
    "name": "can pass an expression as an argument",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/functionCalls.js",
    "in_our_json": false
  },
  {
    "category": "functionCalls",
    "name": "can pass an object literal as an argument",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/functionCalls.js",
    "in_our_json": false
  },
  {
    "category": "functionCalls",
    "name": "can pass an array literal as an argument",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/functionCalls.js",
    "in_our_json": false
  },
  {
    "category": "idRef",
    "name": "basic id ref works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/idRef.js",
    "in_our_json": false
  },
  {
    "category": "idRef",
    "name": "basic id ref works w no match",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/idRef.js",
    "in_our_json": false
  },
  {
    "category": "idRef",
    "name": "template id ref works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/idRef.js",
    "in_our_json": false
  },
  {
    "category": "idRef",
    "name": "id ref works from a disconnected element",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/idRef.js",
    "in_our_json": false
  },
  {
    "category": "in",
    "name": "basic no query return values",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/in.js",
    "in_our_json": false
  },
  {
    "category": "in",
    "name": "basic query return values",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/in.js",
    "in_our_json": false
  },
  {
    "category": "in",
    "name": "id returns values",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/in.js",
    "in_our_json": false
  },
  {
    "category": "in",
    "name": "id template returns values",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/in.js",
    "in_our_json": false
  },
  {
    "category": "in",
    "name": "class returns values",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/in.js",
    "in_our_json": false
  },
  {
    "category": "in",
    "name": "class template returns values",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/in.js",
    "in_our_json": false
  },
  {
    "category": "in",
    "name": "query returns values",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/in.js",
    "in_our_json": false
  },
  {
    "category": "in",
    "name": "query template returns values",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/in.js",
    "in_our_json": false
  },
  {
    "category": "in",
    "name": "in expression binds to unaryOperators",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/in.js",
    "in_our_json": false
  },
  {
    "category": "in",
    "name": "null value in array returns empty",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/in.js",
    "in_our_json": true
  },
  {
    "category": "logicalOperator",
    "name": "and works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/logicalOperator.js",
    "in_our_json": false
  },
  {
    "category": "logicalOperator",
    "name": "or works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/logicalOperator.js",
    "in_our_json": false
  },
  {
    "category": "logicalOperator",
    "name": "and works w/ more than one value",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/logicalOperator.js",
    "in_our_json": false
  },
  {
    "category": "logicalOperator",
    "name": "unparenthesized expressions with multiple operators cause an error",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/logicalOperator.js",
    "in_our_json": false
  },
  {
    "category": "logicalOperator",
    "name": "parenthesized expressions with multiple operators work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/logicalOperator.js",
    "in_our_json": false
  },
  {
    "category": "logicalOperator",
    "name": "should short circuit with and expression",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/logicalOperator.js",
    "in_our_json": false
  },
  {
    "category": "logicalOperator",
    "name": "should short circuit with or expression",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/logicalOperator.js",
    "in_our_json": false
  },
  {
    "category": "logicalOperator",
    "name": "and short-circuits when lhs promise resolves to false",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/logicalOperator.js",
    "in_our_json": true
  },
  {
    "category": "logicalOperator",
    "name": "or short-circuits when lhs promise resolves to true",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/logicalOperator.js",
    "in_our_json": true
  },
  {
    "category": "logicalOperator",
    "name": "or evaluates rhs when lhs promise resolves to false",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/logicalOperator.js",
    "in_our_json": true
  },
  {
    "category": "mathOperator",
    "name": "addition works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": false
  },
  {
    "category": "mathOperator",
    "name": "string concat works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": false
  },
  {
    "category": "mathOperator",
    "name": "subtraction works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": false
  },
  {
    "category": "mathOperator",
    "name": "multiplication works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": false
  },
  {
    "category": "mathOperator",
    "name": "division works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": false
  },
  {
    "category": "mathOperator",
    "name": "mod works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": false
  },
  {
    "category": "mathOperator",
    "name": "addition works w/ more than one value",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": false
  },
  {
    "category": "mathOperator",
    "name": "unparenthesized expressions with multiple operators cause an error",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": false
  },
  {
    "category": "mathOperator",
    "name": "parenthesized expressions with multiple operators work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": false
  },
  {
    "category": "mathOperator",
    "name": "can use mixed expressions",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": false
  },
  {
    "category": "mathOperator",
    "name": "array + array concats",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": true
  },
  {
    "category": "mathOperator",
    "name": "array + single value appends",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": true
  },
  {
    "category": "mathOperator",
    "name": "array + array does not mutate original",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": true
  },
  {
    "category": "mathOperator",
    "name": "array concat chains",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": true
  },
  {
    "category": "mathOperator",
    "name": "empty array + array works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/mathOperator.js",
    "in_our_json": true
  },
  {
    "category": "no",
    "name": "no returns true for null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/no.js",
    "in_our_json": false
  },
  {
    "category": "no",
    "name": "no returns false for non-null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/no.js",
    "in_our_json": false
  },
  {
    "category": "no",
    "name": "no returns true for empty array",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/no.js",
    "in_our_json": false
  },
  {
    "category": "no",
    "name": "no returns true for empty selector",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/no.js",
    "in_our_json": false
  },
  {
    "category": "no",
    "name": "no returns false for non-empty array",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/no.js",
    "in_our_json": true
  },
  {
    "category": "no",
    "name": "no with where filters then checks emptiness",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/no.js",
    "in_our_json": true
  },
  {
    "category": "no",
    "name": "no with where returns false when matches exist",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/no.js",
    "in_our_json": true
  },
  {
    "category": "no",
    "name": "no with where and is not",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/no.js",
    "in_our_json": true
  },
  {
    "category": "no",
    "name": "no with where on DOM elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/no.js",
    "in_our_json": true
  },
  {
    "category": "not",
    "name": "not inverts true",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/not.js",
    "in_our_json": false
  },
  {
    "category": "not",
    "name": "not inverts false",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/not.js",
    "in_our_json": false
  },
  {
    "category": "not",
    "name": "two nots make a true",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/not.js",
    "in_our_json": false
  },
  {
    "category": "not",
    "name": "not with numeric truthy/falsy values",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/not.js",
    "in_our_json": false
  },
  {
    "category": "not",
    "name": "not with string truthy/falsy values",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/not.js",
    "in_our_json": false
  },
  {
    "category": "not",
    "name": "not null and not undefined",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/not.js",
    "in_our_json": false
  },
  {
    "category": "not",
    "name": "not has higher precedence than and",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/not.js",
    "in_our_json": false
  },
  {
    "category": "not",
    "name": "not has higher precedence than or",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/not.js",
    "in_our_json": false
  },
  {
    "category": "not",
    "name": "not inverts equality comparisons",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/not.js",
    "in_our_json": false
  },
  {
    "category": "null",
    "name": "null literal work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/null.js",
    "in_our_json": false
  },
  {
    "category": "numbers",
    "name": "handles numbers properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/numbers.js",
    "in_our_json": false
  },
  {
    "category": "objectLiteral",
    "name": "empty object literals work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/objectLiteral.js",
    "in_our_json": false
  },
  {
    "category": "objectLiteral",
    "name": "one field object literal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/objectLiteral.js",
    "in_our_json": false
  },
  {
    "category": "objectLiteral",
    "name": "multi-field object literal works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/objectLiteral.js",
    "in_our_json": false
  },
  {
    "category": "objectLiteral",
    "name": "strings work in object literal field names",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/objectLiteral.js",
    "in_our_json": false
  },
  {
    "category": "objectLiteral",
    "name": "hyphens work in object literal field names",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/objectLiteral.js",
    "in_our_json": false
  },
  {
    "category": "objectLiteral",
    "name": "allows trailing commas",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/objectLiteral.js",
    "in_our_json": true
  },
  {
    "category": "objectLiteral",
    "name": "expressions work in object literal field names",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/objectLiteral.js",
    "in_our_json": false
  },
  {
    "category": "objectLiteral",
    "name": "nested object literals work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/objectLiteral.js",
    "in_our_json": false
  },
  {
    "category": "objectLiteral",
    "name": "deeply nested object literals work",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/objectLiteral.js",
    "in_our_json": false
  },
  {
    "category": "objectLiteral",
    "name": "object literals can contain arrays",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/objectLiteral.js",
    "in_our_json": false
  },
  {
    "category": "objectLiteral",
    "name": "object literal values can be expressions",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/objectLiteral.js",
    "in_our_json": false
  },
  {
    "category": "objectLiteral",
    "name": "mixed field name styles in one literal",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/expressions/objectLiteral.js",
    "in_our_json": false
  },
  {
    "category": "positionalExpression",
    "name": "first works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/positionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "positionalExpression",
    "name": "last works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/positionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "positionalExpression",
    "name": "first works w/ array-like",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/positionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "positionalExpression",
    "name": "last works w/ array-like",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/positionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "positionalExpression",
    "name": "first works w/ node",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/positionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "positionalExpression",
    "name": "last works w/ node",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/positionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "positionalExpression",
    "name": "is null safe",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/positionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access basic properties",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "is null safe",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access my properties",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "my property is null safe",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access its properties",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "its property is null safe",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access properties on idrefs",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access properties on idrefs 2",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access properties on classrefs",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access properties on classrefs 2",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access properties on queryrefs",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access properties on queryrefs 2",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access basic attribute",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access my attribute",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access multiple basic attributes",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can set basic attributes",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can set multiple basic attributes",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access basic style",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access my style",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can access multiple basic styles",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can set root styles",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can set basic styles",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "possessiveExpression",
    "name": "can set multiple basic styles",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/possessiveExpression.js",
    "in_our_json": false
  },
  {
    "category": "propertyAccess",
    "name": "can access basic properties",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/propertyAccess.js",
    "in_our_json": false
  },
  {
    "category": "propertyAccess",
    "name": "is null safe",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/propertyAccess.js",
    "in_our_json": false
  },
  {
    "category": "propertyAccess",
    "name": "of form works",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/propertyAccess.js",
    "in_our_json": false
  },
  {
    "category": "propertyAccess",
    "name": "of form works w/ complex left side",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/propertyAccess.js",
    "in_our_json": false
  },
  {
    "category": "propertyAccess",
    "name": "of form works w/ complex right side",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/propertyAccess.js",
    "in_our_json": false
  },
  {
    "category": "propertyAccess",
    "name": "works properly w/ boolean properties",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/propertyAccess.js",
    "in_our_json": false
  },
  {
    "category": "propertyAccess",
    "name": "chained property access (three levels)",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/propertyAccess.js",
    "in_our_json": false
  },
  {
    "category": "propertyAccess",
    "name": "chained property access (four levels)",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/propertyAccess.js",
    "in_our_json": false
  },
  {
    "category": "propertyAccess",
    "name": "null-safe access through an undefined intermediate",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/propertyAccess.js",
    "in_our_json": false
  },
  {
    "category": "propertyAccess",
    "name": "property access on function result",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/propertyAccess.js",
    "in_our_json": false
  },
  {
    "category": "propertyAccess",
    "name": "of form chains through multiple levels",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/propertyAccess.js",
    "in_our_json": false
  },
  {
    "category": "propertyAccess",
    "name": "mixing dot and of forms",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/propertyAccess.js",
    "in_our_json": false
  },
  {
    "category": "queryRef",
    "name": "basic queryRef works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": false
  },
  {
    "category": "queryRef",
    "name": "basic queryRef works w/ multiple matches",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": false
  },
  {
    "category": "queryRef",
    "name": "basic queryRef works w/ properties",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": false
  },
  {
    "category": "queryRef",
    "name": "basic queryRef works w/ funny selector",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": false
  },
  {
    "category": "queryRef",
    "name": "basic queryRef works w/ div selector",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": false
  },
  {
    "category": "queryRef",
    "name": "basic queryRef works w no match",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": false
  },
  {
    "category": "queryRef",
    "name": "basic queryRef works w properties w/ strings",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": false
  },
  {
    "category": "queryRef",
    "name": "queryRef w/ $ works",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": true
  },
  {
    "category": "queryRef",
    "name": "queryRef w/ $ no curlies works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": false
  },
  {
    "category": "queryRef",
    "name": "can interpolate elements into queries",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": false
  },
  {
    "category": "queryRef",
    "name": "queryRefs support colons properly",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": false
  },
  {
    "category": "queryRef",
    "name": "queryRefs support tildes properly",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": false
  },
  {
    "category": "queryRef",
    "name": "queryRefs support dollar properly",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/queryRef.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "next works properly among siblings",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "next works properly among siblings with wrapping",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "relative next works properly among siblings w/ query",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "relative next works properly among siblings w/ class",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "relative next works properly among siblings w/ query & class",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "previous works properly among siblings",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "previous works properly among siblings with wrapping",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "relative previous works properly among siblings w/ query",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "relative previous works properly among siblings w/ class",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "relative previous works properly among siblings w/ query & class",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "properly constrains via the within modifier",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "next works properly with array-like",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "next works properly with array-like and wrap",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "next works properly with array-like no match",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:<sel/>",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "next works properly with array-like no match and wrap",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:<sel/>",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "previous works properly with array-like",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:<sel/>",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "previous works properly with array-like and wrap",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "previous works properly with array-like no match",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:<sel/>",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "previous works properly with array-like no match and wrap",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:<sel/>",
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": false
  },
  {
    "category": "relativePositionalExpression",
    "name": "can access property of next element with possessive",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": true
  },
  {
    "category": "relativePositionalExpression",
    "name": "can access property of previous element with possessive",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": true
  },
  {
    "category": "relativePositionalExpression",
    "name": "can access style of next element with possessive",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": true
  },
  {
    "category": "relativePositionalExpression",
    "name": "can write to next element with put command",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/relativePositionalExpression.js",
    "in_our_json": true
  },
  {
    "category": "some",
    "name": "some returns false for null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/some.js",
    "in_our_json": false
  },
  {
    "category": "some",
    "name": "some returns true for non-null",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/some.js",
    "in_our_json": false
  },
  {
    "category": "some",
    "name": "some returns false for empty array",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/some.js",
    "in_our_json": false
  },
  {
    "category": "some",
    "name": "some returns false for empty selector",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/some.js",
    "in_our_json": false
  },
  {
    "category": "some",
    "name": "some returns true for nonempty selector",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-pattern:<sel/>",
    "upstream_file": "test/expressions/some.js",
    "in_our_json": false
  },
  {
    "category": "some",
    "name": "some returns true for filled array",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/some.js",
    "in_our_json": false
  },
  {
    "category": "splitJoin",
    "name": "splits a string by delimiter",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/splitJoin.js",
    "in_our_json": true
  },
  {
    "category": "splitJoin",
    "name": "splits by whitespace",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/splitJoin.js",
    "in_our_json": true
  },
  {
    "category": "splitJoin",
    "name": "joins an array with delimiter",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/splitJoin.js",
    "in_our_json": true
  },
  {
    "category": "splitJoin",
    "name": "joins with empty string",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/splitJoin.js",
    "in_our_json": true
  },
  {
    "category": "splitJoin",
    "name": "split then where then joined",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/splitJoin.js",
    "in_our_json": true
  },
  {
    "category": "splitJoin",
    "name": "split then sorted then joined",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/splitJoin.js",
    "in_our_json": true
  },
  {
    "category": "splitJoin",
    "name": "split then mapped then joined",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/expressions/splitJoin.js",
    "in_our_json": true
  },
  {
    "category": "stringPostfix",
    "name": "handles basic postfix strings properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/stringPostfix.js",
    "in_our_json": false
  },
  {
    "category": "stringPostfix",
    "name": "handles basic postfix strings with spaces properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/stringPostfix.js",
    "in_our_json": false
  },
  {
    "category": "stringPostfix",
    "name": "handles expression roots properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/stringPostfix.js",
    "in_our_json": false
  },
  {
    "category": "strings",
    "name": "handles strings properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/strings.js",
    "in_our_json": false
  },
  {
    "category": "strings",
    "name": "string templates work properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/strings.js",
    "in_our_json": false
  },
  {
    "category": "strings",
    "name": "string templates work w/ props",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/strings.js",
    "in_our_json": false
  },
  {
    "category": "strings",
    "name": "string templates work w/ props w/ braces",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/expressions/strings.js",
    "in_our_json": false
  },
  {
    "category": "strings",
    "name": "string templates work properly w braces",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/expressions/strings.js",
    "in_our_json": false
  },
  {
    "category": "strings",
    "name": "string templates preserve white space",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/expressions/strings.js",
    "in_our_json": false
  },
  {
    "category": "strings",
    "name": "should handle strings with tags and quotes",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/expressions/strings.js",
    "in_our_json": false
  },
  {
    "category": "strings",
    "name": "should handle back slashes in non-template content",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/expressions/strings.js",
    "in_our_json": false
  },
  {
    "category": "styleRef",
    "name": "basic style ref works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/styleRef.js",
    "in_our_json": false
  },
  {
    "category": "styleRef",
    "name": "calculated style ref works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/styleRef.js",
    "in_our_json": false
  },
  {
    "category": "styleRef",
    "name": "possessive style ref works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/styleRef.js",
    "in_our_json": false
  },
  {
    "category": "styleRef",
    "name": "of style ref works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/styleRef.js",
    "in_our_json": false
  },
  {
    "category": "styleRef",
    "name": "calculated possessive style ref works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/styleRef.js",
    "in_our_json": false
  },
  {
    "category": "styleRef",
    "name": "calculated of style ref works",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/styleRef.js",
    "in_our_json": false
  },
  {
    "category": "symbol",
    "name": "resolves local context properly",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/symbol.js",
    "in_our_json": false
  },
  {
    "category": "symbol",
    "name": "resolves global context properly",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/symbol.js",
    "in_our_json": false
  },
  {
    "category": "typecheck",
    "name": "can do basic string typecheck",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/typecheck.js",
    "in_our_json": false
  },
  {
    "category": "typecheck",
    "name": "can do null as string typecheck",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/typecheck.js",
    "in_our_json": false
  },
  {
    "category": "typecheck",
    "name": "can do basic non-string typecheck failure",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/typecheck.js",
    "in_our_json": false
  },
  {
    "category": "typecheck",
    "name": "can do basic string non-null typecheck",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/typecheck.js",
    "in_our_json": false
  },
  {
    "category": "typecheck",
    "name": "null causes null safe string check to fail",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/expressions/typecheck.js",
    "in_our_json": false
  },
  {
    "category": "component",
    "name": "registers a custom element from a template",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "renders template expressions",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "applies _ hyperscript to component instance",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "processes _ on inner elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "reactively updates template expressions",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "supports multiple independent instances",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "reads attributes via @",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "supports #for loops in template",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "supports #if conditionals in template",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "substitutes slot content into template",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "blocks processing of inner hyperscript until render",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "supports named slots",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "does not process slotted _ attributes prematurely",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "slotted content resolves ^var from outer scope, not component scope",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "component isolation prevents ^var leaking inward",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "bind keeps ^var in sync with attribute changes",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "attrs evaluates attribute as hyperscript in parent scope",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "attrs works with bind for reactive pass-through",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/ext/component.js",
    "in_our_json": true
  },
  {
    "category": "component",
    "name": "attrs bind is bidirectional - inner changes flow outward",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/ext/component.js",
    "in_our_json": false
  },
  {
    "category": "component",
    "name": "extracts <style> blocks and wraps them in @scope",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/ext/component.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "receives unnamed messages",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "receives named events",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "wildcard pattern matches multiple events",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "catch-all * matches every event",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "as json decodes data",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "with method sends POST",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "with headers sends custom headers",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "open and close lifecycle events fire",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "close() stops the connection",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "dynamic open with new URL",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "dispatches named SSE events on the element",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "iterates plain messages with for loop",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "eventsource",
    "name": "fires streamEnd when the stream closes",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/eventsource.js",
    "in_our_json": false
  },
  {
    "category": "hs-include",
    "name": "includes a named element-scoped variable",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/hs-include.js",
    "in_our_json": false
  },
  {
    "category": "hs-include",
    "name": "includes multiple named variables",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/hs-include.js",
    "in_our_json": false
  },
  {
    "category": "hs-include",
    "name": "wildcard includes all element-scoped vars",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/hs-include.js",
    "in_our_json": false
  },
  {
    "category": "hs-include",
    "name": "resolves inherited var via ^",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/hs-include.js",
    "in_our_json": false
  },
  {
    "category": "hs-include",
    "name": "resolves var from another element via #selector",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/hs-include.js",
    "in_our_json": false
  },
  {
    "category": "hs-include",
    "name": "JSON-serializes object values",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/hs-include.js",
    "in_our_json": false
  },
  {
    "category": "hs-include",
    "name": "hs-include:inherited applies to descendant triggers",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/hs-include.js",
    "in_our_json": false
  },
  {
    "category": "hs-include",
    "name": "elements without hs-include are unaffected",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/hs-include.js",
    "in_our_json": false
  },
  {
    "category": "hs-include",
    "name": "missing variables are silently skipped",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/hs-include.js",
    "in_our_json": false
  },
  {
    "category": "hs-include",
    "name": "direct hs-include takes precedence over inherited",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/hs-include.js",
    "in_our_json": false
  },
  {
    "category": "tailwind",
    "name": "can hide element, with tailwindcss hidden class default strategy",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/tailwind.js",
    "in_our_json": false
  },
  {
    "category": "tailwind",
    "name": "can hide element, with tailwindcss invisible class default strategy",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/tailwind.js",
    "in_our_json": false
  },
  {
    "category": "tailwind",
    "name": "can hide element, with tailwindcss opacity-0 class default strategy",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/tailwind.js",
    "in_our_json": false
  },
  {
    "category": "tailwind",
    "name": "can hide element, with tailwindcss hidden class",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/tailwind.js",
    "in_our_json": false
  },
  {
    "category": "tailwind",
    "name": "can hide element, with tailwindcss invisible class",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/tailwind.js",
    "in_our_json": false
  },
  {
    "category": "tailwind",
    "name": "can hide element, with tailwindcss opacity-0 class",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/tailwind.js",
    "in_our_json": false
  },
  {
    "category": "tailwind",
    "name": "can show element, with tailwindcss removing hidden class default strategy",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/tailwind.js",
    "in_our_json": false
  },
  {
    "category": "tailwind",
    "name": "can show element, with tailwindcss removing invisible class default strategy",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/tailwind.js",
    "in_our_json": false
  },
  {
    "category": "tailwind",
    "name": "can show element, with tailwindcss removing opacity-0 class default strategy",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/tailwind.js",
    "in_our_json": false
  },
  {
    "category": "tailwind",
    "name": "can show element, with tailwindcss removing hidden class",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/tailwind.js",
    "in_our_json": false
  },
  {
    "category": "tailwind",
    "name": "can show element, with tailwindcss removing invisible class",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/tailwind.js",
    "in_our_json": false
  },
  {
    "category": "tailwind",
    "name": "can show element, with tailwindcss removing opacity-0 class",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/ext/tailwind.js",
    "in_our_json": false
  },
  {
    "category": "behavior",
    "name": "can define behaviors",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/features/behavior.js",
    "in_our_json": false
  },
  {
    "category": "behavior",
    "name": "can install behaviors",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/features/behavior.js",
    "in_our_json": false
  },
  {
    "category": "behavior",
    "name": "can pass arguments to behaviors",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/features/behavior.js",
    "in_our_json": false
  },
  {
    "category": "behavior",
    "name": "supports init blocks in behaviors",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/features/behavior.js",
    "in_our_json": false
  },
  {
    "category": "behavior",
    "name": "can pass element arguments to listen to in behaviors",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/features/behavior.js",
    "in_our_json": false
  },
  {
    "category": "behavior",
    "name": "can refer to arguments in init blocks",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/features/behavior.js",
    "in_our_json": false
  },
  {
    "category": "behavior",
    "name": "can declare variables in init blocks",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/features/behavior.js",
    "in_our_json": false
  },
  {
    "category": "behavior",
    "name": "install resolves namespaced behavior paths",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/features/behavior.js",
    "in_our_json": false
  },
  {
    "category": "behavior",
    "name": "install throws when the behavior path does not exist",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/features/behavior.js",
    "in_our_json": false
  },
  {
    "category": "behavior",
    "name": "install throws when the path resolves to a non-function",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/features/behavior.js",
    "in_our_json": false
  },
  {
    "category": "bind",
    "name": "syncs variable and input value in both directions",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "syncs variable and attribute in both directions",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "dedup prevents infinite loop in two-way bind",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "\"with\" is a synonym for \"and\"",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "shorthand on text input binds to value",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "shorthand on checkbox binds to checked",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "shorthand on textarea binds to value",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "shorthand on select binds to value",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "unsupported element: bind to plain div errors",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "shorthand on type=number preserves number type",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "boolean bind to attribute uses presence/absence",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "boolean bind to aria-* attribute uses \"true\"/\"false\" strings",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "style bind is one-way: variable drives style, not vice versa",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "same value does not re-set input (prevents cursor jump)",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "external JS property write does not sync (known limitation)",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "form.reset() syncs variable back to default value",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "clicking a radio sets the variable to its value",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "setting variable programmatically checks the matching radio",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "initial value checks the correct radio on load",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "variable drives class: setting variable adds/removes class",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "external class change syncs back to variable",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "right side wins on class init",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "init: right side wins - input value (Y) overwrites variable (X)",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/bind.js",
    "in_our_json": false
  },
  {
    "category": "bind",
    "name": "init: right side wins - variable (Y) overwrites input value (X)",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/bind.js",
    "in_our_json": false
  },
  {
    "category": "bind",
    "name": "init: right side wins - attribute (Y) initializes variable (X)",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/bind.js",
    "in_our_json": false
  },
  {
    "category": "bind",
    "name": "init: right side wins - variable (Y) initializes attribute (X)",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/bind.js",
    "in_our_json": false
  },
  {
    "category": "bind",
    "name": "init: right side wins - variable (Y) drives class (X)",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/bind.js",
    "in_our_json": false
  },
  {
    "category": "bind",
    "name": "init: right side wins - class (Y) drives variable (X)",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/bind.js",
    "in_our_json": false
  },
  {
    "category": "bind",
    "name": "possessive property: bind $var to my value",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "possessive attribute: bind $var and my @data-label",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "of-expression: bind $var to value of #input",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "class bound to another element checkbox",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "attribute bound to another element input value",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "two inputs synced via bind",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "bind variable to element by id auto-detects value",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "bind variable to checkbox by id auto-detects checked",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "bind variable to number input by id auto-detects valueAsNumber",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "bind element to element: both sides auto-detect",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "right side wins on init: variable (Y) initializes input (X)",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "right side wins on init: input (Y) initializes variable (X)",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "bind to contenteditable element auto-detects textContent",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "bind to custom element with value property auto-detects value",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "radio change listener is removed on cleanup",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "bind",
    "name": "form reset listener is removed on cleanup",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/bind.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can define a basic no arg function",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can define a basic one arg function",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "functions can be namespaced",
    "complexity": "script-tag",
    "status": "skip-listed",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "is called synchronously",
    "complexity": "script-tag",
    "status": "skip-listed",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can call asynchronously",
    "complexity": "script-tag",
    "status": "skip-listed",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can return a value synchronously",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can exit",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "exit stops execution mid-function",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can return without a value",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can return a value asynchronously",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can interop with javascript",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can interop with javascript asynchronously",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can catch exceptions",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can rethrow in catch blocks",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can return in catch blocks",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can catch async exceptions",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can catch nested async exceptions",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can rethrow in async catch blocks",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can return in async catch blocks",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can install a function on an element and use in children w/ no leak",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can install a function on an element and use in children w/ return value",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "can install a function on an element and use me symbol correctly",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "finally blocks run normally",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "finally blocks run when an exception occurs",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "finally blocks run when an exception expr occurs",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "async finally blocks run normally",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "def",
    "name": "async finally blocks run when an exception occurs",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/def.js",
    "in_our_json": true
  },
  {
    "category": "init",
    "name": "can define an init block inline",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/init.js",
    "in_our_json": true
  },
  {
    "category": "init",
    "name": "can define an init block in a script",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/init.js",
    "in_our_json": true
  },
  {
    "category": "init",
    "name": "can initialize immediately",
    "complexity": "script-tag",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/init.js",
    "in_our_json": true
  },
  {
    "category": "js",
    "name": "can run js at the top level",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/features/js.js",
    "in_our_json": false
  },
  {
    "category": "js",
    "name": "can expose globals",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/features/js.js",
    "in_our_json": false
  },
  {
    "category": "js",
    "name": "can expose functions",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/features/js.js",
    "in_our_json": false
  },
  {
    "category": "js",
    "name": "can hide functions",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/features/js.js",
    "in_our_json": false
  },
  {
    "category": "js",
    "name": "does not expose variables",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-in-known-category",
    "upstream_file": "test/features/js.js",
    "in_our_json": false
  },
  {
    "category": "live",
    "name": "derives a variable from a computed expression",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "updates DOM text reactively with put",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "sets an attribute reactively",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "sets a style reactively",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "puts a computed dollar amount into the DOM",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "block form re-runs all commands when any dependency changes",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "separate live statements create independent effects",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "block form cascades inter-dependent commands",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "toggles a class based on a boolean variable",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "toggles display style based on a boolean variable",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "effects stop when element is removed from DOM",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "conditional branch only tracks the active dependency",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "multiple live on same element work independently",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "live and when on same element do not interfere",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "bind and live on same element do not interfere",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "reactive effects are stopped on cleanup",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "append triggers live block",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "push via pseudo-command triggers live block",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "push via call triggers live block",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "array + still works with live",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "set property still works with live",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "property change on object in array triggers live re-render",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "live",
    "name": "push object then modify its property both trigger live",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/live.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can respond to events with dots in names",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can respond to events with colons in names",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can respond to events with minus in names",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can respond to events on other elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "listeners on other elements are removed when the registering element is removed",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "listeners on self are not removed when the element is removed",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "supports \"elsewhere\" modifier",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "supports \"from elsewhere\" modifier",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can pick detail fields out by name",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "handles custom events with null detail",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can pick event properties out by name",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can fire an event on load",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can be in a top level script tag",
    "complexity": "script-tag",
    "status": "skip-listed",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can have a simple event filter",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can refer to event properties directly in filter",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can refer to event detail properties directly in filter",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can click after a positive event filter",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "multiple event handlers at a time are allowed to execute with the every keyword",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can have multiple event handlers",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can have multiple event handlers, no end",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can queue events",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can queue first event",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can queue last event",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can queue all events",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "queue none does not allow future queued events",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can invoke on multiple events",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can listen for events in another element (lazy)",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "on first click fires only once",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can filter events based on count",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can filter events based on count range",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can filter events based on unbounded count range",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can mix ranges",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can listen for general mutations",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can listen for attribute mutations",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can listen for specific attribute mutations",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can listen for specific attribute mutations and filter out other attribute mutations",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can listen for childList mutations",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can listen for childList mutation filter out other mutations",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can listen for characterData mutation filter out other mutations",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can listen for multiple mutations",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can listen for multiple mutations 2",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can listen for attribute mutations on other elements",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "each behavior installation has its own event queue",
    "complexity": "script-tag",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can catch exceptions thrown in js functions",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can catch exceptions thrown in hyperscript functions",
    "complexity": "script-tag",
    "status": "skip-listed",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can catch top-level exceptions",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can catch async top-level exceptions",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "async exceptions don't kill the event queue",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "exceptions in catch block don't kill the event queue",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "uncaught exceptions trigger 'exception' event",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "caught exceptions do not trigger 'exception' event",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "rethrown exceptions trigger 'exception' event",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "basic finally blocks work",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "finally blocks work when exception thrown in catch",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "async basic finally blocks work",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "async finally blocks work when exception thrown in catch",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "async exceptions in finally block don't kill the event queue",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "exceptions in finally block don't kill the event queue",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can ignore when target doesn't exist",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "can handle an or after a from clause",
    "complexity": "simple",
    "status": "skip-listed",
    "block_reason": "translation-TBD",
    "upstream_file": "test/features/on.js",
    "in_our_json": true
  },
  {
    "category": "on",
    "name": "debounced at <time> collapses rapid events to the last one",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/on.js",
    "in_our_json": false
  },
  {
    "category": "on",
    "name": "debounced at <time> resets the timer on each event",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/on.js",
    "in_our_json": false
  },
  {
    "category": "on",
    "name": "throttled at <time> drops events within the window",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/on.js",
    "in_our_json": false
  },
  {
    "category": "on",
    "name": "throttled at <time> allows events after the window elapses",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/on.js",
    "in_our_json": false
  },
  {
    "category": "on",
    "name": "on intersection fires when the element is in the viewport",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "needs-intersection-observer",
    "upstream_file": "test/features/on.js",
    "in_our_json": false
  },
  {
    "category": "on",
    "name": "on intersection having threshold parses and fires",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/on.js",
    "in_our_json": false
  },
  {
    "category": "on",
    "name": "on intersection having margin parses and fires",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/on.js",
    "in_our_json": false
  },
  {
    "category": "on",
    "name": "on load from window responds to window load events",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/on.js",
    "in_our_json": false
  },
  {
    "category": "on",
    "name": "halt the event stops propagation to ancestors",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/on.js",
    "in_our_json": false
  },
  {
    "category": "on",
    "name": "halt the event's bubbling stops propagation",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/on.js",
    "in_our_json": false
  },
  {
    "category": "reactive-properties",
    "name": "setting a property on a plain object triggers reactivity",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/reactive-properties.js",
    "in_our_json": true
  },
  {
    "category": "reactive-properties",
    "name": "nested property chain triggers on intermediate reassignment",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/reactive-properties.js",
    "in_our_json": true
  },
  {
    "category": "reactive-properties",
    "name": "property change on DOM element triggers reactivity via setProperty",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/reactive-properties.js",
    "in_our_json": true
  },
  {
    "category": "reactive-properties",
    "name": "live block tracks property reads on plain objects",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/reactive-properties.js",
    "in_our_json": true
  },
  {
    "category": "resize",
    "name": "fires when element is resized",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/resize.js",
    "in_our_json": true
  },
  {
    "category": "resize",
    "name": "provides height in detail",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/resize.js",
    "in_our_json": true
  },
  {
    "category": "resize",
    "name": "works with from clause",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/resize.js",
    "in_our_json": true
  },
  {
    "category": "set",
    "name": "can define variables with let at the element level",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/set.js",
    "in_our_json": false
  },
  {
    "category": "set",
    "name": "supports DOM-scoped (^) variables at the element level",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/set.js",
    "in_our_json": false
  },
  {
    "category": "set",
    "name": "rejects bare (local) variables at the feature level",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/set.js",
    "in_our_json": false
  },
  {
    "category": "set",
    "name": "can set an attribute at the feature level",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/set.js",
    "in_our_json": false
  },
  {
    "category": "set",
    "name": "can set an attribute from inside a behavior",
    "complexity": "script-tag",
    "status": "missing",
    "block_reason": "needs-script-tag",
    "upstream_file": "test/features/set.js",
    "in_our_json": false
  },
  {
    "category": "set",
    "name": "global ($) variables are allowed at the feature level",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "added-post-snapshot",
    "upstream_file": "test/features/set.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "parses socket with absolute ws:// URL",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/socket.js",
    "in_our_json": true
  },
  {
    "category": "socket",
    "name": "converts relative URL to wss:// on https pages",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/socket.js",
    "in_our_json": true
  },
  {
    "category": "socket",
    "name": "converts relative URL to ws:// on http pages",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/socket.js",
    "in_our_json": true
  },
  {
    "category": "socket",
    "name": "with timeout parses and uses the configured timeout",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "needs-websocket",
    "upstream_file": "test/features/socket.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "on message handler fires on incoming text message",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "needs-websocket",
    "upstream_file": "test/features/socket.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "on message as JSON handler decodes JSON payload",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "needs-websocket",
    "upstream_file": "test/features/socket.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "rpc proxy sends a message and resolves the reply",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "needs-websocket",
    "upstream_file": "test/features/socket.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "rpc proxy reply with throw rejects the promise",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "needs-websocket",
    "upstream_file": "test/features/socket.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "rpc proxy noTimeout avoids timeout rejection",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "needs-websocket",
    "upstream_file": "test/features/socket.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "rpc proxy timeout(n) rejects after a custom window",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "needs-websocket",
    "upstream_file": "test/features/socket.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "rpc proxy default timeout rejects the promise",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "needs-websocket",
    "upstream_file": "test/features/socket.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "rpc proxy blacklists then/catch/length/toJSON",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "needs-websocket",
    "upstream_file": "test/features/socket.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "dispatchEvent sends JSON-encoded event over the socket",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "needs-websocket",
    "upstream_file": "test/features/socket.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "rpc reconnects after the underlying socket closes",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "needs-websocket",
    "upstream_file": "test/features/socket.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "on message as JSON throws on non-JSON payload",
    "complexity": "eval-only",
    "status": "missing",
    "block_reason": "needs-websocket",
    "upstream_file": "test/features/socket.js",
    "in_our_json": false
  },
  {
    "category": "socket",
    "name": "namespaced sockets work",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/socket.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "provides access to `it` and syncs initial value",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "detects changes from $global variable",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "detects changes from :element variable",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "triggers multiple elements watching same variable",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "executes multiple commands",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "does not execute when variable is undefined initially",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "only triggers when variable actually changes value",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "auto-tracks compound expressions",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "detects attribute changes",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "detects form input value changes via user interaction",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "detects property change via hyperscript set",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "disposes effect when element is removed from DOM",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "batches multiple synchronous writes into one effect run",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "handles chained reactivity across elements",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "supports multiple when features on the same element",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "works with on handlers that modify the watched variable",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "does not cross-trigger on unrelated variable writes",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "handles rapid successive changes correctly",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "isolates element-scoped variables between elements",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "handles NaN without infinite re-firing",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "fires when either expression changes using or",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "supports three or more expressions with or",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "#element.checked is tracked",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "my @attr is tracked",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "value of #element is tracked",
    "complexity": "simple",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "math on tracked symbols works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "comparison on tracked symbol works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "string template with tracked symbol works",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "function call on tracked value works (Math.round)",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "inline style change via JS is NOT detected",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "reassigning whole array IS detected",
    "complexity": "run-eval",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "mutating array element in place is NOT detected",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "local variable in when expression produces a parse error",
    "complexity": "eval-only",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "attribute observers are persistent (not recreated on re-run)",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "boolean short-circuit does not track unread branch",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "diamond: cascaded derived values produce correct final value",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "error in one effect does not break other effects in the same batch",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "circular guard resets after cascade settles",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "cross-microtask ping-pong is caught by circular guard",
    "complexity": "promise",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "element moved in DOM retains reactivity",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "when",
    "name": "rapid detach/reattach in same sync block does not kill effect",
    "complexity": "evaluate",
    "status": "runnable",
    "block_reason": null,
    "upstream_file": "test/features/when.js",
    "in_our_json": true
  },
  {
    "category": "worker",
    "name": "raises a helpful error when the worker plugin is not installed",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/features/worker.js",
    "in_our_json": false
  },
  {
    "category": "htmx",
    "name": "hyperscript responds to htmx swap events",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/integration/htmx.js",
    "in_our_json": false
  },
  {
    "category": "htmx",
    "name": "hyperscript can trigger htmx requests via send",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/integration/htmx.js",
    "in_our_json": false
  },
  {
    "category": "htmx",
    "name": "hyperscript works on htmx-swapped content",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/integration/htmx.js",
    "in_our_json": false
  },
  {
    "category": "htmx",
    "name": "hyperscript can modify form values before htmx submit",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/integration/htmx.js",
    "in_our_json": false
  },
  {
    "category": "htmx",
    "name": "hyperscript can cancel htmx request via halt",
    "complexity": "promise",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/integration/htmx.js",
    "in_our_json": false
  },
  {
    "category": "htmx",
    "name": "hyperscript responds to htmx:after:settle on target",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/integration/htmx.js",
    "in_our_json": false
  },
  {
    "category": "htmx",
    "name": "hyperscript element-scoped vars persist across htmx swaps",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/integration/htmx.js",
    "in_our_json": false
  },
  {
    "category": "htmx",
    "name": "hyperscript can react to htmx:after:request",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/integration/htmx.js",
    "in_our_json": false
  },
  {
    "category": "htmx",
    "name": "htmx content added by hyperscript is processed and can issue requests",
    "complexity": "simple",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/integration/htmx.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "can render correctly",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "can render",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "escapes html, with opt-out",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports repeat",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports if",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports nested operations",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "handles async expressions",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "async expressions in a loop resolve correctly",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "recovers from bad expression in ${}",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "recovers from unterminated ${}",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "good expressions still render alongside bad ones",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "multiple expressions on one line",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "expression with nested braces",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "null and undefined render as empty",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "empty template renders empty string",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "plain text with no expressions",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "blank lines are consumed as whitespace",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "renders into DOM element",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "expression with math",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "expression with function call",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "if false takes else branch",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "if with expression condition",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "for loop with index",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "for loop over empty array",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "all html entities escaped",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "null values render as empty string, not \"null\"",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports for...else with non-empty collection",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports for...else with empty collection",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports for...else with null collection",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports conditional expressions with if",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports conditional expressions with if (false condition)",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports conditional expressions with if...else",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports conditional expressions with complex expressions",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports conditional expressions in loops",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports continue in template for loops",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "supports break in template for loops",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "render into sets innerHTML of target element",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "render into with args",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "render here sets innerHTML of me",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "unscraped-category",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "render here with args",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "conditional with nested parens in value does not false-trigger on inner if",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "error inside for body is reported",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "content after for...else still renders",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "break prevents else clause from executing",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "error in top-level expression is reported",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "error in conditional expression is reported",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "multiple errors in one template are all reported",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  },
  {
    "category": "templates",
    "name": "good expressions render despite errors in other expressions",
    "complexity": "evaluate",
    "status": "missing",
    "block_reason": "needs-pattern:${}",
    "upstream_file": "test/templates/templates.js",
    "in_our_json": false
  }
]
