Existing codebase × coding agent — before implementation

Your coding agent will finish the change —and make decisions nobody approved.

Before a coding agent changes an existing system, Forge finds the trade-offs the code cannot answer and has the people with authority decide them first. The agent receives only the approved implementation boundary.

For developers, tech leads, and the people who own the spec, maintaining existing systems with coding agents.

Spring PetClinic city search

Why it matters

It didn't miss them. It decided without asking.

In Forge's own baseline evaluation, three small change requests to the existing Spring PetClinic were each given to a coding agent as a single sentence, without Forge. It found the impact almost perfectly (one miss across all three). The problem was somewhere else.

26
product, business, or scope decisions the agent made without asking. Counted only where two or more options existed and either would work.
0
times the agent checked with a human before implementing, across all three tasks.
0 / 21
of the 21 issues a human should have decided reached a human before implementation. Most were written up in the agent's final report — after the work was done.

What these numbers show — and don't

  • Source: Forge's F0 baseline evaluation (Aug 2026). A limited experiment: three tasks on one repository.
  • Changed files and diffs were verified with git. Test counts and similar details are the agent's own report and were not re-run. 11 of the 21 issues were registered afterwards from the agent's final report.
  • It shows only that decisions a human should make get skipped before implementation. We do not claim Forge makes code better, reduces bugs, or speeds up development — the with-Forge side has not been measured yet.

Real case

Add city to the owner search

A small change to Spring PetClinic (pinned at 88e37c1). An ordinary requirement on an existing system.

  1. 1Investigation
  2. 2Human decision
  3. 3Proposal
  4. 4Approved

2What the coding agent actually did without Forge

F0 baseline record (C4). Start 88e37c1 → result a894c3c

  • Finished the implementation. 6 files (+182 / −42)verified with git
  • Changed the signature of the existing findByLastNameStartingWithverified with git
  • Tests 73 → 81, all passingagent's own report
  • Questions to a human: 0record

The implementation never got stuck. But along the way, 7 decisions were made that nobody had approved.

What the agent decided on its own

  1. Match city by prefix
  2. Combine last name and city with AND
  3. Where the error goes when nothing is found
  4. Fix an existing paging bug in the same change (outside the requirement)
  5. Add no index on city
  6. Case: ignore case for city only, leave last name as is
  7. Keep the auto-redirect to the owner page when exactly one result is found

1–6 were written up in its final report; 7 was not. Each may well be a reasonable choice — the problem is that people learned about them after the implementation.

3Before any code, Forge hands 3 of them back

Not everything becomes a question. Only decisions that change the behavior being approved are stopped before implementation.

  1. How should city match the input?

    City search doesn't exist yet. Nothing in the code says last-name prefix matching should apply to city.

    The agent: chose prefix
  2. How do last name and city combine (including when one or both are blank)?

    There is no precedent in this codebase for combining two criteria.

    The agent: chose AND
  3. Where does the no-result error go?

    Today the error is attached to the last-name field. A two-criteria result can't be blamed on either field.

    The agent: picked a placement itself

4You decide

Not approved · awaiting a decision

How should the new city criterion match what the user types?

The requirement doesn't say, and the code can't decide it. Someone with authority over the spec has to.

There is no right answer and no score. Choosing rebuilds the implementation proposal below.

The remaining points are already decided by a human in this demo (values from the public artifact)

  • Combination: AND. City-only search allowed; both blank returns all owners
  • No result: a form-level notFound error
  • Case: ignore case for city only; last name keeps its existing behavior

5Implementation proposal

Decide the matching rule first.

Evidence

Where in the code each judgment comes from

Every Forge judgment is tied to a real location in the code at a pinned revision — not an LLM guess.

Artifacts for this case (curated, public) Investigation project_context.json Open issues before the decision gaps.json Approved package implementation_package.json

Ask Forge about the evidence Answers use only the published artifacts (up to 2 sources). General knowledge about the reference project is never used to fill gaps. Answers in this demo are currently in Japanese only.

Requirement

Example questions

Only your question is sent. The model, prompt, and artifacts are fixed on the server.

Pick an example question, or ask about this requirement.

Status

Today

  • Find the issues a human must decide, before implementation
  • Record each human decision against the issue it answers
  • Assemble an implementation proposal, get it approved, hand it to the coding agent

What's public: curated artifacts for three requirements, and Ask Forge to answer questions about them. It is not an implementation that analyzes arbitrary repositories.

Before the coding agent starts, people decide what's theirs to decide.