С ней есть сложность. Активность крепится к одному объекту.
Если её прикрепить к комментарию, она потеряет быстро находимую инфу к какой задаче принадлежит комментарий и мы не сможем её вывести в списке активности задачи/документа.
Если же её прикрепить к задаче, она не будет знать какой именно комментарий её вызвал. И мы не сможем ни дать ссылку на него, ни процитировать.
Можно завести вторую пару subject_id/type, но это еще сильнее усложнит и раздует сущность, кроме того сделает активность сильно специфичной, вдруг в будущем понадобиться еще уровень, это будет трясина.
Можно сделать некое универсальное поле adition_info и там хранить какой комментарий имеется ввиду, для типа comment.add, для task.ChangeStage хранить с какое на какое состояние, для task.edit в будущем можно будет хранить ссылки на версии документа, когда мы добавим версии.
С этим полем возникают свои веселости. Делать get/set json’а, делать функции специфичные для конкретного типа активности, делать https://www.doctrine-project.org/projects/doctrine-orm/en/2.17/reference/inheritance-mapping.html#single-table-inheritance маппинг в несколько классов сущностей? Но активность commentAdd все равно крепится к задачам, документам и другим комментируемым сущностям, мы при select списка все равно не вынем объекты коммнтариев, максимум их id.