Blog
Blog

Safety-First AI Engineers: The Case for Watch-Only Mode

Why watch-only mode — not auto-merge from day one — is the right default for autonomous AI coding agents. How it builds trust and what enabling auto-merge actually looks like.

8 min read

Safety-First AI Engineers: The Case for Watch-Only Mode

The fastest way to lose an engineering team's trust in an autonomous AI coding tool is to merge something bad on day one.

We've seen this pattern multiple times: a team enables a new autonomous coding tool, turns on auto-merge to experience the "full value," and within the first week a PR merges that breaks something. From that point, the tool is radioactive — even if it would have been fine 95% of the time after that initial incident.

Watch-only mode exists to prevent that sequence. This post explains how it works, why it's the right default, and what the process of actually building trust — and eventually enabling auto-merge — looks like.


What Watch-Only Mode Means

Watch-only mode is simple: the autonomous agent opens PRs but never merges them. Every PR Codowave opens during the watch-only period requires human approval before it's merged.

This isn't a limitation — it's a designed behavior. The point of watch-only mode isn't to restrict the tool; it's to give you a low-risk way to evaluate its behavior before you trust it with more autonomy.

You're not losing value in watch-only mode. You're still getting:

  • PRs opened from your backlog without writing a prompt
  • Implementation you didn't have to write
  • Tests you didn't have to write
  • A PR description you didn't have to write
  • A full run replay you can inspect

The only thing watch-only removes is the "merges automatically" part. Given that you're still evaluating the tool, that's appropriate.


Why Auto-Merge From Day One Is Risky

There are two ways an autonomous AI coding agent can cause a problem:

Type 1: Wrong implementation The agent writes code that doesn't correctly solve the issue. Maybe it misunderstood the scope, maybe it got a function name wrong, maybe it introduced a subtle edge case bug.

Type 2: Correct implementation, wrong context The agent writes technically correct code that solves the stated issue — but it conflicts with an undocumented architectural decision your team made, or it uses a pattern you're actively moving away from, or it modifies a file that's in the middle of a larger refactor.

Both types happen. Neither is catastrophic with watch-only mode because a human reviews before merge. Both can be catastrophic without it, because the code lands in main and may or may not cause a production incident before someone catches it.

The risk isn't "the AI is dangerous." The risk is "any code that merges without human review carries some error rate, and you don't yet know this tool's error rate on your specific repo."


Building a Calibration Model

Here's a productive way to think about the watch-only period: you're building a calibration model.

You're answering questions like:

  • What percentage of Codowave's PRs on your repo are correct without modification?
  • Which issue types produce better output vs. worse output?
  • Which Reviewer-flagged items are real issues vs. false positives?
  • How well does pattern memory capture your conventions after 5, 10, 20 PRs?

This takes time. You need a sample size. A week of watch-only mode with 10-20 PRs gives you enough data to make an informed decision about where to enable auto-merge and where to keep requiring review.

Teams that skip this step and go straight to auto-merge are betting their trust on a sample size of zero.


What You're Evaluating During Watch-Only Mode

For each PR, you're looking at a few specific dimensions:

1. Correctness

Does the implementation correctly solve the stated issue? Check the diff against the issue description. Run it locally if needed.

2. Convention Adherence

Does the code follow your team's conventions? Check naming, file organization, error handling patterns, test structure. This is where pattern memory quality shows up.

3. Scope Discipline

Did the agent only touch what was necessary? An agent that "helpfully" refactors unrelated code while fixing a bug is a scope problem — even if the refactor is correct.

4. Test Quality

Are the tests meaningful? Do they cover the edge case that caused the original bug? Are they structured the way your team writes tests?

5. PR Description Quality

Is the PR description clear and accurate? Does it link back to the issue? Does it explain what changed and why?

After 10 PRs, you'll have a clear picture of the tool's strengths and failure modes on your specific repo.


The Graduated Trust Model

We recommend a graduated approach to enabling auto-merge rather than a binary on/off:

Stage 1: Watch-only (weeks 1-2) All PRs require human approval. You're calibrating. Take notes on which issue types produce the best and worst output.

Stage 2: Auto-merge for the lowest-risk category (weeks 3-4) Pick the issue type where you saw the highest correctness rate during watch-only. Enable auto-merge specifically for that category — for example: "auto-merge PRs on issues labeled test-coverage and good-first-issue if CI passes."

Everything else still requires human review.

Stage 3: Expand based on evidence (month 2+) Review the auto-merged PRs from Stage 2. If the error rate is acceptable, expand auto-merge to the next-best category. Continue expanding based on observed performance.

Stage 4: Full auto-merge with selective review (mature usage) Most issue types are auto-merged when CI passes. A small category — high-risk, high-complexity, or touching critical paths — still requires human review. This is permanent; some issues should always have human eyes.


What "CI Passes" Actually Means for Auto-Merge Safety

Auto-merge in Codowave only triggers when:

  1. CI passes (all checks green)
  2. The PR is in auto-merge scope (matches the categories you've configured)
  3. No Reviewer-flagged issues are unresolved

The CI requirement is the most important safety check. A strong CI suite — unit tests, integration tests, type checking, linting — catches most implementation errors before auto-merge. If your CI suite is weak, auto-merge is riskier because there's less automated verification.

A useful exercise before enabling auto-merge: ask "if this PR contained a common bug in this module, would CI catch it?" If the answer is mostly no, invest in test coverage before expanding auto-merge scope.

This is another reason the test writing use case pairs well with backlog automation — better tests make auto-merge safer.


What to Do When a PR Is Wrong

During watch-only mode (and even after), you'll encounter PRs that aren't right. The right response:

  1. Close or reject the PR with a clear reason in the comment ("this approach doesn't account for multi-tenant orders — we need to scope the query by tenant ID")
  2. Codowave logs the feedback — the rejection reason becomes context for future runs on similar issues
  3. Update the GitHub issue if the issue description was the problem — add the context the agent lacked

Don't just close the PR silently. The feedback comment is how the system learns what your codebase requires that wasn't in the issue description.


The Watch-Only Period as an Onboarding Tool

There's a useful reframe for watch-only mode: think of it as onboarding.

When you hire a new junior engineer, you don't give them deploy access on day one. You review their PRs carefully for the first month. You give feedback. You calibrate your trust. After 3 months of good work, you give them more autonomy.

Watch-only mode is the same process, compressed. You're not expressing distrust in the tool — you're doing exactly what good engineering managers do with any new contributor to a production codebase.

The difference is the timeline: most teams feel confident enough to enable selective auto-merge after 1-2 weeks and 10-15 PRs, not 3 months.


Codowave's Watch-Only Defaults

In Codowave, watch-only mode is:

  • On by default for all new repos
  • Duration: configurable (default: 7 days or 10 PRs, whichever comes first)
  • Disabling it: requires explicit opt-in — you click "enable auto-merge" and configure the categories

You cannot accidentally skip watch-only mode. The default protects new users from themselves.

After the watch-only period, Codowave presents a dashboard showing:

  • PRs opened during watch-only: X
  • PRs approved without changes: Y (Z%)
  • PRs approved with changes: A (B%)
  • PRs rejected: C (D%)
  • Most common Reviewer flags: [list]

This data helps you make an informed decision about where to enable auto-merge.


Frequently asked questions