Get Shared Data Profile
Return the consenting user's soul / user / heartbeat profile text.
These three fields used to live on GET /admin/users/{id} until #336 dropped them. They are user-authored content (soul = how the agent should behave for this user; user_text = synthesized profile; heartbeat_text = proactive directives), so they belong behind the consent gate. Strings are passed through redact_pii even though they're plaintext at rest, because users sometimes paste contact info into their soul / heartbeat directives.
Heartbeat config (opt-in flag, frequency, max_daily) is metadata that the slim /admin/users/{id} route already returns; we duplicate it here so an admin reviewing one consenting user has everything in one response without cross-route hopping.
Path parameters
Response
Successful Response