- Replace fmt.Sprintf with sess.ID+nanotime that generated non-UUID strings
- ticket creation and audit logging now use github.com/google/uuid
- Fixes 500 error when webhook processes messages with PG store
- All 23/23 tests pass, verified Gate B end-to-end