DictaFlowBlog

Developer tools and workflows

AI Coding CI Bottlenecks: Repair the Feedback Loop

AI can produce more code than a team can assess. The fix starts before the build queue.

September 22, 2026

Developer workspace with a microphone and an abstract software pipeline

AI coding CI bottlenecks are now a workflow problem, not just a build-server problem. If code appears faster than a team can review and test it, the useful move is not to remove the review step. It is to make intent clearer before the pull request exists.

The new wait is not writing code

Linear published a detailed account of this problem after its test suites had almost quadrupled since the start of the year. It says agents made shipping code much faster, while validation failed to keep pace. The company cut pull-request wait time from more than six minutes to just over five and roughly halved runner time per test. [1]

Those numbers are not universal. They are one company's measurements, on its own stack. The broader point still lands: a team can move the slow part of development from authoring to deciding what deserves trust. That is a better problem than having no automation, but it is still a problem.

The post reached Hacker News' front page with 282 points and 340 comments when checked on September 22. That response is a useful attention signal, not proof that every engineering team has the same bottleneck. [2]

Faster generation creates more things to doubt

A bigger test suite is not automatically a bad outcome. Tests catch regressions. The snag comes when generated changes create a pile of new tests, edge cases, and summary text without improving the reader's grasp of the change.

CI can answer whether a configured check passed. It cannot tell a reviewer whether the change solves the right user problem, whether a migration is reversible, or whether the test case has real value. That work starts earlier, in the issue, the plan, and the pull-request description.

This is why “make CI faster” is only half the story. The other half is reducing the amount of ambiguous work that reaches CI in the first place.

Put a short intent note before the agent runs

Before asking an agent to change a repository, write a small note in plain language. It should answer four questions:

  • What user problem are we fixing?
  • What must stay unchanged?
  • What would make this unsafe to ship?
  • How will we know it worked?

That note does not need to become a ten-page design document. A few concrete lines are enough. The goal is to give the agent constraints and give the reviewer a way to judge the result. “Add retries” is vague. “Retry a failed network fetch twice, but never retry a payment write” is a real instruction.

Keep the proposed change small enough to explain

When an agent produces a large diff, the first instinct is often to ask it for a summary. That helps a little, but a long generated summary is still a thing someone has to distrust and decode.

Ask for narrower changes. Make one behavior change at a time. Keep an explicit rollback path. Put the acceptance test in the request before generation. If the task cannot be explained in a paragraph, it is probably not a good unattended coding task.

This also makes CI cheaper in the boring, valuable way. Smaller diffs touch fewer paths, need fewer retries, and are easier to isolate when a test fails.

Treat CI as a feedback system, not a finish line

Linear's work is worth reading because it is specific about where time went: runner performance, critical-path gates, repeated setup, and test execution. [1] Most teams will not copy those exact changes. They should still measure the same stages: time to start, time in the first blocking check, flaky reruns, and time waiting for a human decision.

The last metric is easy to skip. It is also where an AI-heavy workflow can quietly stall. If a pull request passes in five minutes and waits two days for somebody to understand it, the pipeline is not fast for the customer.

A useful weekly review asks three blunt questions: Which checks block most merges? Which checks fail for reasons nobody understands? Which generated changes need the most reviewer explanation? Fix the answer that repeats, not the one that looks most impressive on a dashboard.

Where voice input actually helps

Voice input will not make a test suite run faster. It can make the upstream instruction less vague. Speaking through a bug report or a code-review concern often gets the actual constraint on the page before the agent starts filling gaps with assumptions.

DictaFlow is useful here as an input layer, not as a replacement for engineering judgment. Hold the hotkey, state the constraint in the issue or agent prompt, release, and edit the result where you are already working. For developers who move between an editor, terminal, ticket tracker, and chat, that is more practical than treating voice as a separate writing task. The developer workflow guide has a more concrete setup example.

The important boundary is simple: dictate intent, then inspect the change. Do not let a faster input method turn into a reason to accept a bigger unknown diff.

A five-minute reset for a slow AI coding loop

Open the last pull request that felt harder to review than it should have been. Write one sentence for the user problem and one sentence for the failure condition. Compare those two sentences with the request that created the change. If they are missing, add them to the next task before running an agent.

Then look at CI. Separate a slow test from a slow decision. The first one needs engineering work. The second one often needs a smaller scope and a better explanation.

That is the feedback loop worth repairing. Faster code generation is useful. Faster confidence is better.

Sources

  1. Linear: AI coding has made CI a bottleneck, so we reworked ours to keep up
  2. Hacker News discussion: AI coding has made CI a bottleneck