Test code coverage
Overall, the coverage of unit tests is good, but integration tests could be improved. There are a few components of the protocol that are not well-tested, and adding more unit/integration tests could be helpful. Specifically,
testing the oracle mutation puzzle;
testing the end-to-end flows of BYC/CRT with collateral vaults, recharge auctions, and surplus auctions; and
testing end-to-end flows for statutes along with other coin spends.
Preferably, the test coverage for unit tests and integration tests should be evaluated independently. This helps not only testing individual coin-spend calls but also the complex integration that returns conditions that interact with other puzzles.