A birthday height by definition is the height of a block that has already been mined when the account was created. Therefore a wallet would have the reasonable expectation that the birthday block itself need not be scanned for notes. But the optimized and rebirth heights returned by the library currently refer to the first block with a note. These should be -1 of that height.
It turns out this is inconsistent with the policy elected by the zcash community to resolve the oddity. Birthday height is allowed to point to the first block to contain a transaction.
A birthday height by definition is the height of a block that has already been mined when the account was created. Therefore a wallet would have the reasonable expectation that the birthday block itself need not be scanned for notes. But the optimized and rebirth heights returned by the library currently refer to the first block with a note. These should be -1 of that height.