RFC-0007 reduces min fee for smaller transactions to 0.001 PPC while keeping cost of kb same at 0.01. our source code contains several checks of coinbase rewards for miner/minter that look like this:
if (nStakeReward > GetProofOfStakeReward(nCoinAge) - GetMinFee() + MIN_TX_FEE) return state.DoS(100, error("CheckInputs() : %s stake reward exceeded", GetHash().ToString().c_str()));
and since coinstake for POS or POW blocks never exceeded 1000 bytes, that if statement has been effectively reduced to nStakeReward > GetProofOfStakeReward(nCoinAge).
After the changes in RFC-0007 were implemented we now have situations when POW coinstake is greater than 100 bytes and therefore for these cases GetMinFee > MIN_TX_FEE.
for example POW block 0000000000822ddcbc3a3cdd7e71c5fa997e6ab56a595389b42122ebd26eb289 has coinbase transaction dfae79604ac14ce2bded81bff8777a457c9f892d13a0ed586d32d993d78fac2c that is 120 bytes long and GetMinFee returns 1200, which is 200 units greater than MIN_TX_FEE of 0.001 PPC.
my initial understanding and implementation was that miner/minter had a budget of 1000 bytes, so in cases when coinstake is less than 1000 bytes, block producer was allowed extra reward (up to 0.009 PPC). but that was rejected by @sigmike as an error.
what should we do?