Sub-issue of #565 (master: HydraNPS end of experience rating). Full design on #565. This issue is Phase 2: hydracluster.
Scope:
- nps: config block (url, submit token) in hydracluster config
- nps_url + nps_token on headConfigResponse (precedent: ExperienceLibraryURL)
- closeSession backstop: submit a score:null record to hydranps for sessions the head cannot report (watchdog, body driven), with the matching end_reason; experience left empty until SessionRecord.ExperienceName is populated (out of scope)
- No head behaviour change
Verify: GET /api/v1/heads/{id} shows nps_url and nps_token; force a watchdog close on a bxl1-test body and confirm one watchdog record on hydranps /admin, excluded from the NPS numbers.
Depends on: the hydranps Phase 1 sub-issue.