Q:

accumulate an array of key-value pairs into a single object

How can I use jq to transform this:
[
  {
    "k": "a",
    "v": 123
  },
  {
    "k": "b",
    "v": 456
  }
]

into this:
{
  "a": 123,
  "b": 456
}

A:

Reconstruct each object, and add them all to get a big, single one.
map({(.k): .v}) | add

If your input is a large dataset, reduce might be a better choice in terms of performance though.
reduce .[] as {$k,$v} ({}; . + {($k): $v})

A:

Another option, since your objects are similar to how entries are structured, you could map them as those key/value pairs and convert to an object that way.
map({key: .k, value: .v}) | from_entries

