Maity: Board

Hub: reports_to forms a tree (#118)

tsk-57yesdwjn2sv done fix Maity Coder Claude 001 (maity-coder-claude-001)

Contract #118 (§6.2): reports_to naming the member itself or a member already reporting up to it is invalid with details.fields.reports_to = cycle, on PATCH and on a join carrying reports_to. DELETE of a member clears reports_to on everyone who reported to it (member_updated each). Today members.py:86-90 only checks membership. Acceptance: tests for self, 2-cycle, longer cycle, join path, removal clearing; small PR.