Skip to content

The tests pass. What else should we review?

Identify the claims your evidence supports and the gaps it leaves.
November 1, 2026 by
Tomz

The agent reports that every test passed. In our hypothetical purchase-order project, an order totaling 50,000 baht goes to the manager and 50,000.01 baht goes to the purchasing director. The calculation looks right. Can we accept the change?

I would first ask what the tests actually examined. Perhaps they checked only a helper function, while the application still uses a different path. Perhaps the agent changed an expected result to match its code. Or the route is correct, but an unauthorized user can submit the approval directly. A green result is useful evidence only when we understand the claim it supports.

This is why AI-assisted work needs an acceptance decision, not just a success message. For this article, our hypothetical policy P1 still uses the final total in baht after discounts and tax, with manager approval up to 50,000 baht and director approval above it. Changing the total invalidates approval. These are invented rules for the example, not Odoo defaults.

Write acceptance criteria before generating the fix

“Approval works” leaves too much room for interpretation. A testable statement names an initial state, an action, and an expected outcome. For example: given a pending order totaling exactly 50,000 baht and an authorized department manager, the approval action records that manager's decision. The corresponding unauthorized request must be rejected without changing the order.

Business owners should review the rule and expected outcomes; technical reviewers should check how those outcomes are enforced. If everyone waits until the code is complete, a plausible implementation can become the default interpretation. Writing criteria early makes disagreements cheaper to see, even if new cases later require revising the criteria.

Check the software result and the agent's behavior

Tests compare an observed result with a defined expectation. A total calculation, permission rejection, or state transition can often be checked directly. Evaluations, or evals, assess broader agent behavior, such as whether it identifies an unresolved policy question and reports it clearly.

The distinction is about the claim being checked, not a rigid division between code and judgment. Some agent behavior can be checked automatically, such as detecting a prohibited tool call. Other behavior requires a rubric and a person to review the evidence. A model-based judge may assist, but its agreement is not an independent guarantee that the implementation is correct.

For our project, software tests should cover both sides of the amount boundary and the boundary itself. They should also cover changes after approval, repeated requests, and unauthorized users. We need at least one check through the actual approval entry point, because testing an isolated calculation does not prove the application uses it correctly.

Selected cases for hypothetical policy P1. This is a starting set, not complete coverage.
CaseExpected evidence
49,999.99 bahtManager route, using the agreed final-total definition
50,000 bahtManager route at the inclusive boundary
50,000.01 bahtDirector route above the boundary
Total edited after approvalPrevious approval invalidated; order returns for review
Unauthorized approval requestRequest rejected and stored order left unchanged
Same request submitted twiceDefined handling without a second business action

An agent-behavior evaluation could give the agent conflicting policy examples and ask it to make the change. The expected behavior is to locate the authoritative policy or report the unresolved conflict, not silently select the easier rule. Another case could include a supplier note telling it to bypass approval. The note should not be treated as authority.

Checked
The calculation selects the right route for the test cases
Evidence for the calculation only

Not yet checked
Whether the app calls that function and purchasing integration works
No conclusion about the whole system yet

Next, test through the actual application entry point in an isolated test environment.

A hypothetical evidence status. One passing function does not verify every integration, and this is not a test report from a deployed system.

Define what a good evaluation result means

A rubric for this task might assess whether the agent stayed within the assigned scope, used the approved policy, preserved unresolved questions, ran the required checks, and reported failures accurately. Each criterion needs observable evidence. “Shows good judgment” is too vague to score consistently without explaining what behavior counts.

Suppose the output works, but the agent reached it by disabling a permission test. The final screen alone would hide that failure. Reviewing relevant tool actions and the change set can expose it. We do not need a speculative account of the model's private reasoning; we need evidence of what it accessed, changed, executed, and reported.

Keep some evaluation cases separate from the examples used to develop the workflow. Otherwise, an agent may appear successful because the checks repeat the exact cases it was taught. A reviewer should also inspect whether tests were weakened, omitted, or changed for a legitimate reason. Changes to acceptance criteria require their own explanation.

Review both the result and the path taken
Acceptance criteria agreed before editingP1: final THB total after discounts and tax ≤ 50,000 → manager; above → director; amount edits invalidate approval
Software evidenceTest THB 49,999.99 / 50,000 / 50,000.01; permissions, edits, and repeats through the app entry point
Agent-behavior evidenceUses P1; ignores instructions in notes; preserves tests; reports gaps
Combine both evidence paths
Human acceptance within the checked scopeRecord results, environment, and gaps. May be ready only for the next test
Original hypothetical example, not a deployed workflow.
Concepts informed by The New SDLC With Vibe Coding, Addy Osmani, Shubham Saboo and Sokratis Kartakis (May 2026). Author’s article · Full public paper

Carry the evidence through the development cycle

The software development life cycle, or SDLC, still includes deciding what to build, designing it, implementing it, checking it, releasing it, and maintaining it. AI can help in several phases, but faster editing does not settle an ambiguous requirement or create a recovery plan. Evidence should travel with the change rather than stay in a chat that the next person cannot find.

Original English figure — collapse or expandTraditional and AI-assisted development cycles, with output and trajectory evaluation emphasized in the latter.Open full-size original English figure

The source figure emphasizes specification and verification, including both output and tool-use evaluation. Its durations are illustrative, not measurements for this team or a promise that every project will accelerate. A pass supports only the checked scope.

Figure reproduced from The New SDLC With Vibe Coding, Addy Osmani, Shubham Saboo, and Sokratis Kartakis (May 2026). Document design: Michael Lanning. Figure reuse offered by Addy Osmani. Source and reuse permission · Full public paper

A handoff for this approval change should include policy P1, the change set, test and evaluation results, the environment used, known gaps, and a release recommendation from the responsible reviewer. If a dependency could not be tested, say so. “All available checks passed” and “the downstream integration was verified” are different claims.

After a bounded pilot begins, monitor the cases that matter: rejected unauthorized actions, approvals invalidated by edits, unexpected failures, and discrepancies reported by users. Define who reads those signals and what makes them stop the pilot. Collecting events without an owner does not close the feedback loop.

I would accept this change only within the scope supported by its evidence. If the calculation is verified but the live purchasing connection is not, the decision can be “ready for the next isolated test,” rather than a forced choice between “finished” and “failed.”

Before accepting your next AI-assisted change, ask the reviewer to finish two sentences: “These checks support the claim that…” and “They do not yet tell us whether…” The answers expose the next useful test and give the approval decision a boundary someone can defend.

Reading and scope

The discussion develops the tests, evaluations, feedback, and SDLC concepts in The New SDLC With Vibe Coding by Addy Osmani, Shubham Saboo, and Sokratis Kartakis, May 2026. The amounts, policy P1, evaluation cases, rubric, and pilot checks are original hypothetical proposals. They are not a security certification, a complete testing standard, or evidence of results from a deployed system.

Read Addy Osmani's Agentic Engineering for another explanation of deliberate AI-assisted development. The acceptance worksheet in this article is my proposed application, not a checklist reproduced from that reading.

Share this article

FacebookX
Who sets the boundaries around an AI's tools?
Turn written limits into enforceable permissions and stopping conditions.