If there is no negative operation amount, the rosetta-cli does not attempt to deduct a balance from any account (which would trigger a negative account balance error). It considers this a “value creation transaction”.
There is NO requirement that the balance changes on any particular block must sum to zero. If this was the case, it would be impossible to represent block rewards (like this). We considered this early in the design process but dropped the idea for reasons like this.
The rosetta-cli would, in fact, not mark these sort of transfers as a negative balance error. There is no requirement that balance changes on any particular block must net to zero.
It is not feasible to exempt these accounts in a json file as there are thousands of miners and we do not have a full list of them.
If there is a “system-owned” sending address that “distributes” block rewards (that never has a “balance”), I’d recommend including this address in the Transaction with no Amount or populating the Operation.Metadata of the reward operation from the earlier example:
I guess along the way we were misled by the requirement of signed balances together with historical lookups and thought that block balances must sum to zero. Coupled with the fact that a payment transaction in rosetta is split into sender and recipient further lead us to believe it is incorrect to specify a single sided operation in a Transaction.