Use case

Never tell the customer it is fixed before it is

Most tools publish the RCA on merge. Production has not seen the change yet. Then a rollback fires and the customer has the bad version plus an apology email saying it is fixed. Watari gates the RCA on the live deploy.

The false-fixed email destroys trust faster than the bug did

A false-fixed RCA is worse than no RCA at all. The customer reads “we fixed it” and verifies — still broken. Trust is gone in one cycle. Most ticketing tools fire the customer-facing update on merge, before the build is built, before the deploy lands, before a rollback gets a chance to undo the fix.

Deploy-gated

RCA gated on production landing.

The customer reads the RCA in production, not against your merge log. Watari holds the customer-facing update until the GitHub deployment_status webhook fires success and the Compare API confirms the merge SHA is an ancestor of the live deploy. Not on merge. Not on build success. Only when the fix is provably live.

  • deployment_status webhook

    Real signal from GitHub when the production environment reports success.

  • Compare API check

    Merge SHA must be ancestor of the live deploy SHA before the RCA unlocks.

  • Idempotent fan-out

    sha256 version hash prevents duplicate sends to clustered tickets.

Deploy confirmed · production

deployment_status webhook fired at 10:01 UTC; RCA queued for publish.

10:01 UTC
Root-cause analysis
published

Checkout button hang on Safari 18 — fix shipped

Hi Maya — the checkout button on Safari 18 was failing because of a null intent guard that misfired when cart totals crossed $200. We have shipped a fix to production at 10:01 UTC and your charge for #4928 is now reattempting automatically. No further action is needed on your end.

Rollback-aware

Rollback parks the RCA.

A later deploy can quietly back the fix out — and the customer is the last one to know. Watari re-checks ancestry on every new production deploy; when the merge SHA stops being an ancestor of the live deploy, the RCA holds, engineers see a rollback banner inline in the bug view, and auto-resume fires only when a later deploy re-includes the fix.

  • Compare API watcher

    Each new deploy re-checks ancestry of every parked merge SHA.

  • Rollback banner

    Engineers see the rollback flagged inline in the bug detail view.

  • Auto-resume

    When a later deploy re-includes the fix, the RCA unlocks without manual nudge.

Deploy confirmed · production

deployment_status webhook fired at 10:01 UTC; RCA queued for publish.

10:01 UTC
Root-cause analysis
published

Checkout button hang on Safari 18 — fix shipped

Hi Maya — the checkout button on Safari 18 was failing because of a null intent guard that misfired when cart totals crossed $200. We have shipped a fix to production at 10:01 UTC and your charge for #4928 is now reattempting automatically. No further action is needed on your end.

Multi-lingual

Customer language, IETF tags.

A trust-killing apology email reads worse in machine translation than in plain English. An extended-thinking model generates the customer-facing RCA in the language of the source ticket, resolved via IETF language tags; en-US is the fallback when no locale is detected. Internal engineering notes stay in English regardless of customer locale.

  • IETF tags

    Language tag from the source ticket drives output language.

  • en-US fallback

    Unknown or missing locale falls back to en-US.

  • Internal notes preserved

    Engineering-facing context stays in English; only the customer-facing RCA translates.

Deploy confirmed · production

deployment_status webhook fired at 10:01 UTC; RCA queued for publish.

10:01 UTC
Root-cause analysis
published

Checkout button hang on Safari 18 — fix shipped

Hi Maya — the checkout button on Safari 18 was failing because of a null intent guard that misfired when cart totals crossed $200. We have shipped a fix to production at 10:01 UTC and your charge for #4928 is now reattempting automatically. No further action is needed on your end.

On merge is too early. The customer is reading the RCA in production. We will not publish until production agrees the fix is live.

deployment_status

Webhook source for the deploy signal

GitHub API

GitHub Compare API

Rollback detection mechanism

GitHub API

IETF lang tags

Customer-language RCA selection

Watari RCA spec

Frequently asked questions

Your next support ticket arrives as a draft PR.

Connect Zendesk or Intercom, install the GitHub App. Tickets land mapped to the file, function, and line — ready for your reviewer to take over.

Trial length
14 days
Bugs included
10 Mapped
Card required
No
Mismapped credit
7 days
Cancel
Any time

You only pay when we know what to change.