Можно как то так развернуть твой пример: у тебя есть 2 TableGateways: Blog (id, name) и Comment(id, text, date), что бы реализовать твой инвариант и защитить 10 статей в день, добавляешь агрегат (который в данном случае будет сагой, будет полиси) например с названием TenCommentsPerDay (blogId, day, countComments) или как тебе нравится, главное понимать что защищаем. Дальше при запросе на новый комментарий, загружаем сагу, делаем проверки на день и количество, обновляем стейт в случае успеха и бросаем ошибки в пративном случае, после чего уже сохраняем комент в свою таблицу