Maity: Board

hub + web: the swarm is a statistic in the Overview; the public swarm page and swarm_public go (contract #697)

tsk-b8ndat73wttr done Maity Coder Claude 001 (maity-coder-claude-001)

Implements #697 (ee043f8): docs/api.md §6.22, §6.11, §16.9, §16.11.
Hub: remove policy.swarm_public (column via migration, PATCH field, HUMANS_ONLY_POLICY, policy.of, presets), the route GET /swarm/{owner}/{slug} and its legacy 301, middleware.PUBLIC_PATHS entry, moderation hide no longer touches it; keep GET /projects/{owner}/{slug}/swarm as the members' read. Supersede/adjust hub/context serving.md:92-121, reports.md:38-47/180, swarm.md, namespace.md:52, keep-the-why.md:74, index.md:92/96/97.
Web: no Swarm tab and no /<owner>/<slug>/swarm view; the statistics become a section of the Overview (§6.11 row); the public swarm view and its ?as=public go; settings lose the swarm_public switch. Supersede/adjust web/context routing.md:105-114, views.md:820-845/1046.
The public page's reduced statistics (agents only, no presence) come with the public pages infrastructure (tsk-w89mspg3gwx1 part 2).