Use this pack when you own an API change that other teams or customers consume. It gives you a traceable checklist, a focused request for consumer approval, and a release decision that records what is known and what is still open.
The pack is for changes to published HTTP APIs, event payloads and other documented interfaces. It works best when you have four inputs: the proposed change, the current contract, a consumer list and test evidence. Do not start with a release note. Start by establishing what the published interface does now.
Key point
Sign-off is evidence, not silence
A consumer who has not replied is unassessed. Treat that as a release risk, not approval.
Run the prompts in order
| Prompt | Use it to produce | Do not use it as |
|---|---|---|
| Source register and change summary | A single record of facts, gaps and conflicts | A compatibility decision |
| Compatibility impact matrix | A consumer-by-consumer risk view | Proof that tests are sufficient |
| Test evidence gap review | A release test plan tied to the contract | A substitute for consumer ownership |
| Consumer sign-off request | A short, specific approval request | A broadcast announcement |
| Final checklist and release decision | The release record | A way to override open blockers |
Paste the change material into Source register and change summary. Include the actual contract extract, not only a prose description from a ticket. If the change touches a field such as
status, provide the current field type, allowed values, nullability and example payloads where available.Run Compatibility impact matrix with the same source material. Add consumer details that matter to compatibility: whether the consumer generates a typed client, rejects unknown JSON fields, stores enum values, retries requests or processes events asynchronously. A consumer list with names only is useful for chasing owners, but it is not enough to assess behaviour.
Run Test evidence gap review before asking consumers to sign off. Paste raw evidence where possible. A statement such as “staging passed” does not identify the endpoint, payload shape, consumer, environment or expected result. The output should convert that vague claim into specific checks.
Send each owner the output from Consumer sign-off request. Make one request per consumer where impact differs. Do not send a shared message that asks ten teams to infer which fields affect them. Put the integration name, changed element and required response in the request.
Collect replies and test results. Then run Final checklist and release decision. Keep its output with the change record, pull request or release approval. It should show who accepted what condition, rather than merely listing names in a meeting note.
Note
Keep the current contract intact
Compare the proposed interface with the contract consumers use, not with the implementation you expect to deploy. Those can differ during a migration.
Prepare the inputs before pasting
Remove secrets, access tokens, personal data and customer payloads that are not needed for the review. Preserve field names, endpoint paths, status codes and error examples. Redacting the exact element that changed makes the assessment unreliable.
For the consumer list, include these columns if you have them:
- Consumer or product name.
- Technical owner and escalation route.
- Endpoint, event or SDK method used.
- Production, test or internal-only usage.
- Criticality, such as revenue path, background reporting or unknown.
- Parsing behaviour, if known, including strict schema validation and enum handling.
For test evidence, include the test name, target environment, contract or fixture used, result, date of execution and owner. If you have no evidence for a consumer, say Not provided. The prompts are designed to preserve that gap instead of disguising it as a low-risk result.
Watch out
Additive does not always mean compatible
A new response field or enum value can still fail strict clients, generated code or downstream validation. Ask for evidence of tolerant parsing before calling it safe.
Check the output before you act on it
Read the matrices for vague rows. A useful row names a consumer and a contract element, such as Billing export, GET /invoices, currency, or PAYMENT_PENDING. “Potential downstream impact” is not an actionable finding.
Check these points in particular:
- Every stated change appears in the contract delta. A changed status code or error body is easy to miss because it is not a request-field change.
- Every named consumer has a row, even if the row says
unknownornot applicable. - Every
compatibleconclusion cites a test, contract comparison or confirmed consumer behaviour. - Each condition has one owner and a completion point. “Team to monitor” is not a condition.
- The release decision matches the table. An
Approvedecision with a blocking row, an unassessed critical consumer or missing evidence is wrong.
Check
A decision record should survive a handover
Another engineering lead should be able to identify the changed contract element, affected consumer, proof, owner and rollback trigger without reopening the source documents.
The output is likely wrong when it fills gaps with confident language. Watch for claims that all consumers accept unknown fields, all SDKs are regenerated, or staging represents production, when the supplied material does not establish those facts. Re-run the relevant prompt with the missing contract extract, consumer response or test output. Do not edit a conclusion to make a release fit a date.
If tool behaviour or supported workflow details affect your implementation, check the current xAI documentation, as those details are version-dependent.
When the pack does not produce a decision
Stop at Cannot determine or Hold when the consumer inventory is incomplete, the published contract is unavailable, or a blocking integration has no owner. Create the missing input first: recover the deployed contract, identify traffic or client registrations, assign an owner, then run the impact and evidence prompts again.
If the material is too large to review coherently, split it by endpoint or event family. Keep one final decision record for the release, but link each checklist row to the smaller review that supplied its evidence. This is slower than guessing, but faster than repairing a consumer break after release.