add goals — phi's anchors, mutated via the same like-as-approval gate as follows
phi now has a small set of stated goals on PDS (io.zzstoatzz.phi.goal),
visible in every tick as [GOALS]. without anchors, phi was riffing on
whatever was loudest in the feed; with them, it has a compass.
mutation flows through propose_goal_change — same _is_owner mechanic as
follow_user. phi posts an authorization request, owner likes it, next
batch the gate opens and the goal lands on pds.
self_state reworked: haiku is now a stranger's *audit* (verbs matter:
"audit" surfaces friction; "characterize" produces identity to maintain).
audit reads goals + recent posts together, flags drift, jargon, and
patterns to push against — not a brand to reinforce.
cached at the audit level (1h, invalidated on new post or goal change)
and block level (5min) so notification polls don't hammer pds.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>