
Every engineering team has an architecture diagram, and most of them are wrong. The diagram says the API talks to services and services talk to the database. The code says otherwise, because someone needed a fix on a Friday and imported the database straight into an API handler. The tests passed and the review missed it. Shortcuts like that turn the layering into fiction, and the cost shows up months later as code nobody can change safely. The tools to prevent this exist but go unused. Import-linter can enforce layers, but its contracts are hand-written INI files that nobody keeps in sync with the design. Fixing existing drift is tedious refactoring that never makes it onto a sprint. So teams keep drawing diagrams, and the diagrams keep lying. Etch makes the diagram the source of truth, in four steps. Scan. Point Etch at a Python repository. It reads every import, even ones hidden inside functions, and sketches the real architecture as boxes and arrows on an Excalidraw canvas. Draw. Erase the arrows you don't want. Every import that crosses a missing arrow turns red and appears in a list with its file, line number and code. Redraw an arrow and its violations disappear. Draw a new box, name it and write what belongs in it, and you have asked for a new package. Make it so. Pick a Bobcoin budget and hand the job to IBM Bob. Bob runs headless with a prompt generated from the drawing, and its work streams into the UI. After every edit Etch rescans, so the red arrows fade one by one and the new box turns solid once its package exists. Etch reruns the tests and reports the cost. A run only counts as done when every violation is gone, every drawn box is real code and the tests pass; otherwise Etch says what's left and offers Undo. Etch it. The drawing is compiled into import-linter contracts and a GitHub Action that blocks any pull request breaking the design. That check needs no AI and costs nothing, on every PR. Etch also writes a Bob skill and a custom Bob mode that carry the architecture and the architect's notes, so any future Bob session in the repo knows the rules and the reasons behind them. We proved it on a demo shop app with four planted violations, one hidden inside a function. We also drew a new box, pricing, with the note "discount math, no I/O". In the live run shown in our video, IBM Bob fixed all four violations and built the pricing package for 0.65 Bobcoin, and all tests stayed green. The pull request with Bob's fix passes the Etch gate. A second pull request with a realistic "quick fix" that reads orders straight from the database passes every test, and GitHub still blocks the merge, pointing at the exact import. Etch turns a whiteboard sketch into an enforced rule, and turns the refactoring nobody schedules into one button.
27 Sep 2026