ENGINEERING
Canary-versus-baseline crash-free comparison gate
Compares the new release's crash-free session rate against the outgoing release's rate over the same window and only promotes on Vercel if the canary is no worse than baseline…
How it runs
The automated pipeline, trigger to output.
- TriggerVercel canary deployment ready webhookVercel
- ActionRead baseline release tag from PostgresPostgres
- ActionFetch Sentry crash-free for canary + baselineSentry
- LogicCanary within tolerance margin of baseline?
- ActionPromote and record new baseline, or rollbackVercel
- OutputSlack side-by-side comparison + verdictSlack
What it does
Instead of judging a release against a fixed absolute threshold, it judges it relative to the version it replaces. The flow pulls crash-free rates for both the new canary release and the current baseline release from Sentry and promotes only when the canary holds within an allowed regression margin of the baseline.
When to use it
Use it when a fixed threshold is misleading — for example an app whose normal crash-free rate sits at 98% rather than 99.9%, where an absolute bar would either block everything or pass regressions. Relative comparison adapts the gate to each app's real baseline.
How it works
- 1A Vercel deployment-ready webhook provides the new canary release version.
- 2The flow reads the current baseline (outgoing) release tag from Postgres.
- 3It fetches Sentry crash-free rates for both releases over a matched recent window.
- 4A branch computes the delta and checks whether the canary stays within the tolerance margin of baseline.
- 5If the canary is within margin it promotes on Vercel and records the new baseline; otherwise it rolls back.
- 6It posts a side-by-side Slack comparison of both rates and the resulting decision.
Set it up
What you configure once, before turning it on.
- 1Connect VercelDeploys, runtime logs, analytics.
- 2Connect SentryErrors, performance, releases.
- 3Connect PostgresAny Postgres URL — query, write, migrate.
- 4Connect SlackChannels, DMs, threads, mentions.
- 5Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 6Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 7Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Engineering workflows
Gate breaking API PRs behind downstream consumer acknowledgement
When a PR introduces a breaking contract change, comments the impact summary back on the PR, applies a blocking label.
Publish a versioned API changelog to Confluence on each release tag
On a new semver release tag, gathers the contract changes since the last release and writes a clean.
Agent reviews model-license fit and suggests compliant swaps on the PR
When a PR adds a Hugging Face model, an agent reads the model card and license, judges fit against your commercial-use policy.
Upgrade Impact Router to Module Code Owners
Maps a dependency-bump PR's affected modules to their CODEOWNERS, then DMs each owner on Slack with only the changelog slice that touches code they own.
Re-Voice IVR Prompts on Phone-Tree Config Merge
When a phone-tree config change merges in GitHub, regenerates the ElevenLabs audio for any prompt whose script changed in the diff and opens a follow-up PR adding the new audio…
Upstream Release to Notion Upgrade Brief
When a watched package publishes a new release, fetches the release notes, maps them to the internal modules that depend on it.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
