1MB max chunk size

It seems that the maximum block size is set to 1MB:
// BlockSizeLimit specifies the maximum size an imported block can have.
var BlockSizeLimit = 1048576 // 1 MB

(1) why 1MB? It seems that this value was once 2MB

(2) the limit is part of unixfs. What happens if a larger chunk is added with a lower level interface (e.g. ipfs dag add)?

We limit network messages to 2MiB. The maximum block size of 1MiB allows for message/framing overhead.

the limit is part of unixfs. What happens if a larger chunk is added with a lower level interface (e.g. ipfs dag add)?

Anything up to 2MiB - epsilon should work. However, if the block gets too large, bitswap will refuse to accept this block.