You may pick the headers as an array of strings from the keys of the first element in the list, then extract all elements' values as separate arrays. Applying the @csv output operator to each element of the resulting list will CSV-quote the data (jq quotes all strings, but not booleans or numbers):
$ jq -r '[first|keys_unsorted] + map([.[]]) | .[] | @csv' file
"bytes","checked"
276697,false
276697,false
Or,
$ jq -r '(first|keys_unsorted), (.[]|[.[]]) | @csv' file
"bytes","checked"
276697,false
276697,false
Or,
$ jq -r '(first|keys_unsorted), map(map(.))[] | @csv' file
"bytes","checked"
276697,false
276697,false
Or any other way to extract the values into separate arrays.
Note that this relies on the keys to occur in the same order all throughout the input data.
However, it's even easier with Miller (mlr):
$ mlr --j2c cat file
bytes,checked
276697,false
276697,false
This simply passes the data through Miller's cat command (which, when used like this, does not modify the data), while converting from JSON to CSV using the --j2c option (short for --ijson --ocsv). Note that since Miller is properly CSV-aware, it only quotes the fields that actually need quoting.
You may also get a nicely formatted table by choosing the pretty-printed output format together with --barred:
$ mlr --j2p --barred cat file
+--------+---------+
| bytes | checked |
+--------+---------+
| 276697 | false |
| 276697 | false |
+--------+---------+
(--j2p is short for --ijson --opprint.)
Or without --barred:
$ mlr --j2p cat file
bytes checked
276697 false
276697 false