A technical challenge? Explore it and build a prototype.Explore the Lab

Autonomous software delivery · 4 min read

After an AI changes the code, test the version you will release

Your team checks an AI-built feature, then the AI makes one final correction. The earlier results may no longer describe the software about to go live. Each check needs to identify the version it actually examined.

Written by Ludovic ChennebergPublished Updated

DARKFACTORY · 02 / 08WORKED EXAMPLE

Release the version that was checked

A final edit changes the software. The results need to show what was tested after that edit.

RequestDescribe the needFeature and agreed rules
CodePrepare a versionIdentified source files
ChecksTest that versionResults and observed failures
ReleaseMake it availableApproval and monitoring
Fictional example: adding a feature to a service-job application.

Imagine a team using AI to add a download feature to maintenance software. A manager needs the month’s completed jobs in a file she can open in Excel. The chosen format is CSV, which stores the data as rows and columns.

The first version passes its automated checks. The AI then fixes the date handling. That small change could alter which jobs appear in the file. If the team releases it using the earlier results, it accepts behavior that has not yet been checked.

This can happen with one AI tool or several agents sharing the work. Preventing it requires keeping the request, changed files and test results connected.

Keep a simple record for each change

The next person needs to find the requested feature, proposed software version and checks that have run. They also need to see what remains unresolved. A conversation saying “done” otherwise leaves them to guess what the word covers.

The technical team uses a version identifier, such as a Git commit identifier, to recognize the exact files examined. A commit is a recorded state of the code. If the files change after testing, the new state needs its own identity and the affected checks need to run again.

The request can change too. If the manager decides that reopened jobs belong in the report, the expected examples and tests need to reflect that decision. Recording the decision and its date prevents two reviewers from checking different requirements.

Follow the change through to customer use

StageWork in this exampleCondition for continuing
ClarifyAgree on the jobs and columns in the reportThe product owner accepts the rules
DevelopAdd the download in a working copyAn identified code version is ready to review
CheckTest the file and attempts to access forbidden recordsResults apply to that exact version
ApproveReview the result and outstanding questionsAn authorized person or rule accepts the version
ReleasePublish the approved versionThe system records what it installed
ObserveCheck that users receive the intended fileThe team can detect a problem and disable the feature

Some of these stages can be automated. Anthropic’s distinction between workflows and agents is useful here: AI can choose how to perform work within a sequence whose important transitions are defined in advance.

Send each problem to someone who can resolve it

If the AI cannot tell whether cancelled jobs belong in the report, it needs a product decision. Running it again does not answer the question. The work can wait with a precise question and the files already prepared.

If a test shows that one account can download another company’s records, the change needs correction. The rule separating customer data remains in place. Removing the test that found the error would leave the problem unresolved.

If a service stops responding while creating the file, inspect what happened before repeating the action. A lost response can hide an operation that already completed. The retry mechanism needs to avoid creating the same work several times.

Protect the release decision

The AI changing the application should not be able to weaken its publication rules by itself. The team needs to protect required checks and release permissions. Two agents in separate directories may still have the same authority; the tools must enforce the intended separation.

GitHub’s deployment environments are one example of controls that can apply protections before a release. Available features depend on the repository and plan. On any platform, ask the team to demonstrate how an unapproved version would be blocked.

Find what actually delays delivery

Measure waiting, review and correction time as well as coding time. AI may finish the code quickly while the change waits days for a decision. Showing that delay helps the team choose the right improvement.

For a first trial, take one limited feature through every stage. Also check that a deliberately incorrect version is rejected in the test environment. This follows the same reasoning as examining an automation request: follow the work until it produces something useful.

The first article helps assign responsibilities. The next shows how to write a request that a developer, an AI tool and a reviewer can interpret consistently.

Was this article useful to you?

Your feedback goes privately to TechnoConception. No account or email is required.

Responses expire after 90 days. They are not published or used as sales enquiries. A daily pseudonymous network identifier expires after 24 hours to limit abuse. Expired records are deleted by an hourly cleanup. The feedback database does not store your IP address; hosting security logs may still process it.

This browser stores only a receipt and your rating until the response expires, to reduce accidental duplicates. It does not store your comment or editing key. You can update a response during this page visit; after leaving, it becomes read-only in this browser.

Privacy policy

All insightsRSS feed

Related guides