How Hybrid works, for engineering leads

Your engineers approve everything, until they decide otherwise.

Every change arrives as a pull request with a plain-English card and a filmed before and after. What ships without an engineer is a list your engineers write, widen when the record earns it, and narrow whenever they like.

Trust is earned in stages

Four stages. Your engineers decide when, and whether, to move.

  1. Stage 1

    Approve everything

    Every change is a pull request with a card and a filmed before and after. Your engineers approve it into the normal release.

    Engineers approve
    Every change
    Ships without them
    Nothing
  2. Stage 2

    Shadow verdicts

    The Rulebook is written with your team. Hybrid’s verdict runs beside every engineer review, and agreement is counted.

    Engineers approve
    Every change
    Ships without them
    Nothing yet
  3. Stage 3

    Selected categories ship

    Categories your engineers choose, once the record shows agreement, ship through your own pipeline without them.

    Engineers approve
    Everything else
    Ships without them
    The categories they chose
  4. Ongoing

    Your line, your call

    Engineers widen or narrow the line whenever they want. Every change keeps its record: who asked, what changed, which rules, who approved.

    Engineers approve
    Whatever they keep
    Ships without them
    Whatever they allow

Any category can be pulled back at any time. Moving forward is your engineers’ decision. Moving back needs nothing from us.

Three reasons an engineer can believe it

Why engineers can trust the line

1

It decides with your rules, not an opinion.

Rules live in a .hybrid/ folder in your repository. A change is followed from the files it touched to the user journeys that run through them. Those journeys run on the real app before and after, named outcomes are compared, and the rules say who must approve. Same change, same verdict, with the reason. Anything unmapped or unmeasured goes to a person.

  1. A change

    Introductory discount goes from 10% to 15%

  2. Hybrid runs checkout, before and after

    Two filmed runs on the real app, on test data

  3. What changed

    New subscriber pays $90.00 → $85.00. Existing subscriber still pays $80.00

  4. Your rule

    A changed checkout total needs an engineer

    outcome_changed: new_subscriber_total → require: engineer

  5. Verdict

    Needs an engineer

    Same change, same verdict, every time. Change only the wording and every total stays put, so the same rule stays quiet.

2

Your engineers see the card, next to the pull request.

The diff is still the diff. Beside it: what was asked, which outcomes moved, which rules fired, and exactly what is being signed. Approval binds to that exact version; a new commit needs a new approval. A product owner cannot satisfy a rule that names an engineer, and an agent can never approve anything.

Change · Version 2 · Pull request #142

Introductory discount goes from 10% to 15% for new subscribers

Needs an engineer

The request

“Increase the introductory discount from 10% to 15% for new subscribers. Keep existing subscribers on their contracted prices.”Dana, product

We tried it

  • Before$90.00After$85.00

    New subscriber checkout, filmed on version 2

We checked

  • Checkout completesYesYesunchanged
  • New subscriber pays$90.00$85.00changed
  • Existing subscriber pays$80.00$80.00unchanged

Your rules

  • An existing subscriber’s price must not changeinvariantHolds
  • Any change to checkout needs the product owneralways on area:checkoutProduct owner signed
  • A changed checkout total needs an engineeroutcome_changed: new_subscriber_totalEngineer required

web/src/checkout/Pricing.tsxapi/quote.tsOpen the diff

Approve version 2Not quite
Every section comes from a run or a rule. A model writes the summary; it does not write the outcomes, the rule results or the verdict.

3

Nothing about your process changes.

Hybrid proposes; your protections decide. It adds a card, a verdict and a record to every change, and takes nothing away.

  • Every change is a branch and a pull request in your repository
  • Your CI runs on it, your branch protection stays on
  • Your pipeline deploys; Hybrid holds no hosting credentials
  • Rollback is the revert and redeploy you already have

Straight answers

The questions a CTO asks on the first call.

What access does Hybrid need, and where does the code run?

Read access to your repository plus the ability to push a branch and open a pull request, through a GitHub App scoped to that repository. A short recipe in .hybrid/app.yaml for starting and signing in to the app, confirmed by your engineer. Test-mode keys for outside services and a seed of test data.

Every run uses test data and test secrets in an isolated environment that is thrown away when the run ends. Hybrid never gets production data, production credentials, hosting credentials or deploy rights. We sign a mutual NDA before anyone looks at anything.

Which models see our source, and what do they decide?

A coding agent reads the code in the sandbox to write the change, and a model writes the plain-English summary on the card. Both run against a model provider’s API, so your source is handled under that provider’s terms; we name the provider and its terms before you connect anything.

Models write code and prose. They never decide the verdict or who must approve. The verdict is one deterministic function of the diff, the Rulebook at your main branch, and the recorded outcomes.

Does it work with our stack?

Hybrid does not care which language the app is written in. It cares that the app can run from its code: it starts in a Linux container from a short recipe, there is a seed of test data, outside services have a test mode or a stand-in, and a test account can sign in through a form. That fit check is the first conversation, and it is a session with your engineer, not a rewrite.

What if a verdict is wrong?

The guarantee is exact: every rule you wrote down is measured on every change that touches its area, every journey runs on the real app before and after, and anything unmapped or unmeasured is held for an engineer. Behaviour no rule names and no journey exercises is outside the guarantee, which is why coverage grows with every change your team makes.

When something slips through: revert and redeploy through your own pipeline; pull the category back with one rule edit; the reason is kept as a candidate rule that becomes policy only when an engineer approves it. A change with a migration or an outside effect is not undone by a revert, which is why those stay with an engineer.

How does a category get turned on, and off?

A category is a written rule: for example, changes inside these folders where no measured outcome changes are ready on the product owner’s confirmation. It is shadowed first, with Hybrid’s verdict beside every engineer review and agreement counted. Turning it on is an edit to that rule, and a rule edit is itself a change that needs an engineer’s approval. There is no confidence score and no streak that promotes a category on its own.

Turning it off is the same edit in reverse. Everything that shipped under it keeps its record.

Why not CODEOWNERS, branch protection and an AI reviewer we already have?

Keep them; Hybrid sits on top. CODEOWNERS routes by file path, so a wording change and a pricing change in the same file get the same reviewer. Hybrid routes by what the app did when it ran: the wording change leaves every measured total alone; the pricing change moves one and goes to the engineer. An AI reviewer gives an opinion on a diff it never ran, and can give a different one tomorrow.

What does getting started look like?

A fit check with your engineer. Then onboarding: Hybrid maps your areas and drafts the first rules and journeys with your team, and nothing counts until your engineer confirms it. Then your first real backlog item goes through the loop in approve-everything mode, with nothing shipping without an engineer.

From the first change you see two numbers: hours from request to live, and engineer minutes per change. The .hybrid/ folder lives in your repository in a format your team can read, and the record of every change is yours to export at any time.

The line is yours. Here is what moving it is worth.

The second link goes to Sameer, who built it. Bring the questions this page did not answer.