Operate · 40 / 42
Production readiness
An integration is ready when auth is server-side, the recall and write-back lifecycle is observable, and every claim matches behavior you observed.
A production Northsun integration is ready when authentication is server-side, the recall/write-back lifecycle is observable, failure modes preserve the agent experience, and every public claim matches behavior you have actually observed.
Before launch
- [ ] Store
NORTHSUN_API_KEY(or whatever variable your deployment names it) in a managed secret store and confirm it never reaches browser or mobile code. - [ ] Pin the npm package version you tested; do not assume the repository version is the published version.
- [ ] Use E.164 phone numbers and URL-encode path parameters.
- [ ] Set an end-to-end request deadline before the first network call.
- [ ] Treat missing enrichment as a partial response, not a failed conversation.
- [ ] Select context deliberately:
recall_and_enrichreturns stored caller memory newest call first, up to five, not ranked by relevance to the current call. Your application decides what reaches the prompt. - [ ] Handle
400,401,404,422,429, timeouts, and temporary5xxresponses separately. - [ ] Add capped backoff with jitter only for retryable failures.
- [ ] Deduplicate voice-platform webhook retries by the platform call identifier.
- [ ] Confirm
calls/endis called once after hangup, treat204as confirmation that the interaction is committed durably, and verify that it is visible with a later controlled recall. - [ ] Record endpoint, status, trace ID, and safe correlation metadata without logging secrets or PII.
Prove the lifecycle
Use a controlled test number on a tenant issued to you through the contact form:
- Call
recall_and_enrichand retain its trace ID. - Call
calls/endwith a short synthetic transcript and the samesession_id. - Confirm the
204response: the interaction is committed durably. - Call
recall_and_enrichagain and verify the expected history is present. It normally appears but may lag, so repeat the recall after a short, bounded interval before treating its absence as a failure. - Call
GET /v1/caller/{phone_number}and verify the read-only profile. - Exercise one validation failure and one rate-limit/retry path in your own non-production environment; Northsun has no sandbox.
This proves your mapping and lifecycle. It does not prove a universal latency benchmark, customer outcome, compliance posture, or every dependency state.
Voice fail-open behavior
Design the surrounding agent so unavailable optional context does not prevent a call from continuing. A safe fallback greeting should not reveal whether enrichment failed, and it should never guess a person's identity.
Change management
- Follow the changelog for contract and client changes.
- Pin package versions and update deliberately.
- Re-run the lifecycle proof after changing voice-platform webhooks, key configuration, phone normalization, or client versions.
- Keep a kill switch for any autonomous workflow that sends, posts, spends, or performs an irreversible action.
Next steps
- Troubleshooting — diagnostic matrix.
- Errors and retries — retry policy.
- TypeScript client or Python over HTTP — implementation guides.