Cole Gannaway on code review, cross-repository risk and AI software factories

A one-line rename can pass local checks while affecting distant clients. Qodo’s Cole Gannaway explains how review context, shared rules and independent agents can expose those risks.

CGCole GannawaySpeaker · Solutions engineer
Channel
AI Engineer
Published
Oct 29, 2026
Video
14:50
Read
4 min
Slides
7
Original
English
Open on YouTube
Scroll to read and the video shrinks to the bottom-right corner. Captions follow your reading language.
Reading languageAvailable in 2 languages
You're reading the original English.
SUMMARY

In 30 seconds

Cole Gannaway, a Qodo solutions engineer, uses an illustrative Bitwarden field rename to explain why generated code needs review beyond local tests. He discusses repository graphs, shared rules, independent review agents and checks against ticket intent, while describing the role of Qodo’s product.

  1. 1One line, many clientsAn illustrative field rename passes local checks but may affect web, mobile, CLI and MCP clients.
  2. 2Map integration surfacesGannaway says a repository graph can make downstream dependencies visible to human and agent reviewers.
  3. 3Separate writing and reviewHe suggests independent review agents with different models or harnesses, while noting that context and errors remain concerns.
  4. 4Review intent, not just codeA ticket’s acceptance criteria can help identify whether an implementation addresses the intended problem.

Takeaways

  1. A small change can affect clients outside the repository even when local checks pass.
  2. A useful software graph identifies actual integration surfaces, not just connected repositories.
  3. Review rules and dependency context can guide coding agents before a pull request exists.
  4. Independent reviewers and ticket acceptance criteria can expose different classes of errors.
  5. Postmortem lessons can become reusable organizational review rules.
FULL TEXT

Read the edited text by chapter

Transcript only
01

The review bottleneck

Gannaway introduces Qodo and the challenge of reviewing rapidly generated code. He says context is central to trust and verification.

I’m Cole Gannaway, a solutions engineer at Qodo. I work with organizations on how products fit their workflows. Today I want to discuss how AI-first teams are building software factories and where Qodo fits: we specialize in part of that workflow, not the whole factory.

Customers are excited about taking a ticket all the way to production, but many run into a bottleneck at the pull request and review stage. Code generation is not solved, yet it is accelerating rapidly. Review is where humans and agents need enough context to decide whether a change can be trusted.

02

A one-line change with a wide impact

An illustrative data-model rename passes local checks. Downstream clients can nevertheless depend on the original field.

Consider an illustrative change to Bitwarden, an open-source password manager. A developer renames a field in a data model. The change is one line, and the build, unit tests and linters all pass. It looks like the requested feature, so a reviewer could reasonably approve it.

An illustrative one-line rename
SLIDE 1 / 7An illustrative one-line renameThe slide shows a data-model field renamed while local tests pass.

But green checks do not mean every downstream dependency has been examined. In the room, many people acknowledge merging a pull request without reading every changed line. We rely on tools, but tools differ in what context they can see and what conclusions they can support.

Clients affected by the field
SLIDE 2 / 7Clients affected by the fieldThe diagram illustrates downstream consumers in several repositories.

That one-line rename may affect clients in other repositories: web, mobile, CLI and MCP integrations can all depend on the server field. The example is illustrative, not a report of a real Bitwarden incident. If that dependency is missed, a problem might only surface when a client breaks in production.

03

Graphs, rules and earlier context

Repository integration graphs and shared standards can inform review. Gannaway argues for giving agents that context before a pull request.

Repository integration surfaces
SLIDE 3 / 7Repository integration surfacesA software graph connects repositories to the specific fields and APIs they use.

Qodo’s proposed approach is a software graph that maps repositories and their integration surfaces. Knowing that an Android repository connects to the server is less useful than knowing which fields and components cross that boundary. That detail can help a reviewer or review agent assess the change’s blast radius.

Some review knowledge is not just a functional test. Senior reviewers may apply organization-specific rules or judgment learned from previous mistakes. Instead of making the same person a bottleneck on every change, we can feed some of that knowledge back into the review process.

A shared public API rule
SLIDE 4 / 7A shared public API ruleThe example rule calls for deprecation before renaming or removing public fields.

For example, a team can establish a rule for changes to public APIs: deprecate a field before renaming or removing it, or require closer review. The goal is to make such standards available consistently, including to agents, rather than leaving them only in someone’s memory.

The same context should be available before a pull request or even before code generation. An MCP server can provide the coding agent with repository knowledge, dependency information and custom rules while it is implementing the change. That does not guarantee a correct result, but it creates an opportunity to avoid the error earlier.

04

Independent review and learning

A separate review agent can focus its context and provide another perspective. Review comments and postmortems can inform reusable rules.

Teams sometimes ask whether the implementation agent should also perform the review. It has useful information, but it is simultaneously debugging, exploring the codebase and writing code. A larger context window does not ensure important details will not be buried, or that the agent will not hallucinate.

A separate review agent can focus its context on the review and bring in information specific to that run. I also want the writer and reviewer to be independent: teams can vary the model or harness, and even use adversarial reviewers, to reduce shared biases.

Independent pre-PR review
SLIDE 5 / 7Independent pre-PR reviewThe illustrative review flags an API contract change and suggests retaining the old field.

If different reviewers identify the same issue, that can be a useful signal; if their findings differ, investigate further. Agreement is not proof, and independence does not eliminate mistakes, but comparing perspectives can reveal problems one review misses.

Postmortems can teach organizational and process lessons as well as code-level lessons. For the latter, the challenge is to turn individual experience into knowledge that the organization can apply repeatedly, instead of allowing it to stay in a private conversation.

Turning a review into a rule
SLIDE 6 / 7Turning a review into a ruleA reviewer’s accepted observation becomes a suggested standard for later pull requests.

In the example, a pull-request comment leads Qodo to suggest a rule for later reviews. A graph can also flag that a one-line change has a large downstream impact, prompting either a human or another agent to inspect it more closely.

The software factory needs the right context, relevant standards and checks before as well as during the pull request. MCP or a CLI can make earlier review possible. A problem caught during code generation is easier to address than one discovered after merge.

05

Questions about intent and review

An audience member raises the risk of solving the wrong problem. Gannaway demonstrates ticket criteria and suggests periodic checks during implementation.

An audience member describes reviewing changes with an agent and recording documentation so it can guide the next run. Another asks whether customers struggle to convey intent before code is written: an agent can follow the available context yet solve the wrong problem or overengineer the solution.

In response I show an integration with Jira or Linear tickets. A review can reference the ticket’s acceptance criteria and highlight gaps between the requirements and the proposed changes. This addresses a different question from whether the code is syntactically or functionally sound: is it implementing the intended task?

Ticket acceptance criteria
SLIDE 7 / 7Ticket acceptance criteriaThe live example shows requirements that a review can compare with the implementation.

I suggest running specialized review periodically during implementation—for example at roughly 25%, 50% and 75%—rather than waiting for the final pull request. A review agent can act like a guide, helping the implementation agent correct course before it goes too far in the wrong direction.

The review stage is the part of the software factory Qodo focuses on: provide people and agents with code intelligence, shared knowledge and the context to assess risk. The next question is which changes can safely be merged without human inspection and which require closer review. Blast-radius information can help inform that judgment.

More from this channel

5 slides11:47EN
AI Engineer· Oct 29, 2026Revolut’s David Abitbol on self-hosting AI coding models at scaleDavid Abitbol · RevolutAbitbol shares engineering delivery trends, GPU-serving costs and latency tuning, then describes controls for operating the tools in a regulated bank.Local inferenceAI cost & performanceDeveloper productivity+2
4 slides21:47EN
AI Engineer· Oct 28, 2026Patrick Smyth on Open-Source Supply Chain Security in the AI EraPatrick Smyth · ChainguardChainguard’s Patrick Smyth discusses faster exploitation, malware in dependencies, zero-days and the expanding attack surface around developer workflows.CybersecurityOpen-source ecosystemsAI security+2
5 slides14:09EN
AI Engineer· Oct 28, 2026Taylor Luttrell-Williams on Finding Logic Vulnerabilities with SonarQube Hunter AgentTaylor Luttrell-Williams · SonarSonar’s Taylor Luttrell-Williams explains how a security agent maps a codebase, investigates logic flaws and presents validated findings alongside conventional scans.CybersecurityAI securityCode review & verification+2
5 slides16:29EN
AI Engineer· Oct 28, 2026Chris Vela on Benchmarking vLLM Configurations with Runpod BenchPodChris Vela · RunpodRunpod’s Chris Vela demonstrates a dashboard for comparing LLM serving configurations and choosing performance settings with workload-specific data.InferenceBenchmarksAI cost & performance+2
6 slides18:52EN
AI Engineer· Oct 28, 2026Manish Kapur and Addy Osmani on Verifying AI Software FactoriesManish Kapur, Addy Osmani · SonarSonar’s Manish Kapur and Anthropic’s Addy Osmani discuss code review, evidence and layered checks as coding agents increase the pace of software changes.Software factoriesCode review & verificationCoding agents+2
5 slides18:35EN
AI Engineer· Oct 28, 2026Kamil Potrec on Agent Authentication, Delegation and Gateway ControlsKamil Potrec · KeycardKeycard’s Kamil Potrec explains why agents need distinct identities, scoped credentials and auditable authorization, and where gateways can help.Agent authAI securityCybersecurity+2