- Simplify toSafeString signature from redundant union to plain `unknown`
- Add explicit Array.isArray guard before the object branch so arrays are
joined with ', ' instead of producing '0: val, 1: val' via Object.entries
- Verified all existing .map() render sites: what_worked, what_failed,
recommendations, and discoveries.recommendations already use toSafeString;
subtasks_completed and changed_files are typed as string[] so no change needed
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>