personal memory agent

feat(activity_sm): K=2 hysteresis on facet-gone and type-change ends + change reason in events master

Apply K=2 hysteresis to facet-gone and type-change activity ends while leaving idle and gap endings immediate. Motivated by the 4/16 backfill investigation: about 50-60% of ends came from ended_facet_gone and about 30% from ended_type_change, mostly single-segment wobbles. Persist pending counters through the existing awareness snapshot and add change to activity.detected/activity.persisted JSONL events for end-reason observability.