DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk4 min

ArchKeel After a 121-File Refactoring Experiment

An empty architecture baseline after a 121-file agent-assisted refactor did not mean the code was ready to merge. Review still found a public Python API regression and a shell gate that stayed green after a failing test command.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

An empty architecture baseline looks like a finish line. In Alexander Kell’s account of running ArchKeel through a 121-file refactoring of DATAMIMIC CE, it was not one. Review still found two merge-blocking failures: a public Python API regression, and a shell gate that could stay green after a failing test command. The architecture check passed, and the code was still not ready to merge.

What Kell reports

The figures below come from Kell’s own post. None of them has been independently measured or audited in the material available, so read them as his account of the run.

As an Amazon Associate I earn from qualifying purchases.

Item Reported value Qualification
Experiment size 121 files Author’s account on DATAMIMIC CE; no independent auditor identified
Declared violations at the start 613 Author’s count against the declared target; no independent measurement source
Steps to reach the final state 11 Author’s account; no independent measurement source
Elapsed time Roughly 6.5 hours Author’s account; no independent measurement source
Final architecture baseline Empty Author states the target had not been widened to achieve this

The post is a short summary of roughly six minutes’ reading, and it is the only part of the write-up this article can describe with confidence. It carries a September 22 date; the listing does not show a year.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What the empty baseline measured

ArchKeel checks code against a declared architecture. In this experiment, Kell says that target was written before any coding agent touched the code: “The target architecture was written before coding agents touched the code.” That detail matters more than the zero. An empty baseline means the code satisfied the boundaries that were written down. It says nothing about boundaries nobody wrote.

Kell’s verdict on the dependency contract is narrow and fair: “The dependency contract worked as specified.” The contract did what it was configured to do. The gap was in what it had been asked to cover, not in whether it executed.

Two failures the baseline did not catch

Kell reports that review, which ran separately from the architecture check, found two failures that would block a merge. He summarises them in the post as: “Review still found two merge-blocking failures: A public Python API regression. And a shell gate that could stay green after a failing test command.”

A public Python API regression

A public API regression is a change in behaviour or shape that callers outside the package can see. An architecture check that verifies import direction and module boundaries can pass cleanly while such a change slips through, because the boundaries are intact and the public surface has still moved. The account does not name the affected API or describe how it changed, so nothing more specific should be assumed about the failure.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A shell gate that stayed green after a failing test command

This failure is the more uncomfortable of the two. A gate exists to stop a merge when something is wrong. If it reports success after the test command has failed, the team gets a false pass, and the check meant to protect the branch quietly stops doing so. Kell’s summary does not explain the exact shell bug, so the mechanism here is unknown. What is established is the outcome: the gate could remain green when the test command failed.

Where the re-export facades came from

Earlier in the post, Kell criticised the agents for creating large re-export facades, which are modules that gather and re-expose names from elsewhere in the package. He then corrects himself. The implementation brief had explicitly asked for those facades, so the criticism belonged to the brief. In his words: “The weak target was mine.”

The lesson is about where responsibility sits. An architecture check enforces the target it is given. If the target is loose, or if it asks for structures that a reviewer would not otherwise accept, the check will report success against that loose target and say nothing about whether the result is good code.

Two questions to ask of any agent-assisted refactor

Kell’s post suggests two dimensions for judging a run like this. They are editorial axes drawn from the reported outcomes, not measured comparisons, and the post does not compare tools or configurations.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Question What Kell’s account shows What it cannot show
Is the declared architecture satisfied? The declared violations fell from 613 to an empty baseline, with the target not widened Whether the target covered component APIs, package layout, or internal complexity
Do the merge gates run and fail when they should? A gate stayed green after a failing test command, and an API regression reached review Whether the other gates in the pipeline behaved correctly
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What an empty baseline does not tell you

Kell says the dependency contract was not broad enough. An empty architecture baseline is silent on the following points, and a team should check them separately before merging an agent-assisted refactor:

  • Whether public APIs keep their behaviour and signatures for external callers.
  • Whether the package layout matches what the team intended, rather than only what the contract declared.
  • Whether internal complexity went down, stayed flat, or rose while the boundaries stayed clean.
  • Whether every gate in the pipeline returns a failing status when its underlying command fails.
  • Whether any re-export facades are needed at all, or were requested by a brief that should have asked for something narrower.

What remains unverified

The full article body was not available to check. The detailed procedure, the state of the repository, the software versions, the agent configuration, and any remediation Kell plans are not established here, and nothing in this article should be read as a reproduction of the run. The 121-file size, the 613 starting count, the 11 steps, and the 6.5 hours all rest on the author’s own reporting.

The narrow result is still useful. An architecture baseline can be fully satisfied against a target written in advance and still leave a public API broken and a test gate that lies. Treat an empty baseline as evidence about the boundaries you declared, and keep the merge decision tied to review and to gates you have confirmed actually fail.

ArchKeel, the architecture-boundary tool used in the experiment, is the subject of Kell’s report; this article does not evaluate it against other tools.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.