Writing · Part 2 · August 2026

AI in Systems Design

Part 2 — how a design travels. A folder of correct files is not a design, and putting them on one page found problems the folder had been hiding.


Open the artifact library for this project  ·  Download it (3.4 MB, one self-contained file — it works offline)

>

Part 1The Machine, and Who Designed It

Part 1 ended with four documents disagreeing about one length. That was the failure I went looking for. What I found underneath it was more ordinary and more general: the design had become a folder, and a folder is not a design.

By the time the pendulum had a plant model, a control law, five assembly sheets, eight part drawings, three sub-assembly sheets, a bill of materials and a solid model, there were somewhere north of thirty files. Every one of them was correct on its own. None of them told you what the machine was.

I noticed it the way you always notice it — I could not answer a simple question without opening four files, and I kept opening the wrong four.

What a drawing package actually is

The traditional answer to this is a drawing package: a zip of PDFs, a transmittal sheet listing what is inside, and a recipient who reconstructs the relationships from the sheet numbers. I have sent and received a lot of these. They work, in the sense that the information arrives.

What they do not do is carry the structure. A parts list on an assembly drawing says "see SA-1" and you go and find SA-1. The relationship is real, it is load-bearing, and it exists only in the reader's head. A transmittal sheet is a list of filenames — it is an index of the container, not of the design.

And there is a worse property, which took me a while to name: you cannot tell a complete package from an incomplete one. Both look like a full list of files. Nothing in the format has a place to say "there should be a drawing here and there isn't."

One page

So the design now travels as a single self-contained HTML file. It opens anywhere, needs no server and no network, and holds every artifact inline.

Three things it does that a folder cannot:

It is indexed by the assembly indenture, not by filename. Top assembly, then the four sub-assemblies, then the parts. That is the structure of the machine, so it is the structure of the index. Finding "the sheet that owns the bearing seat" is a question about the machine, and the index answers it in those terms.

The cross-references are live. When a parts list says "see SA-1, which owns its own parts list", that sentence is a link. Thirty-five of them across nineteen sheets. The relationship stops being something the reader reconstructs and becomes something they follow.

It shows what is missing. Every artifact the design owes is in the index, and the ones that do not exist yet render as explicit placeholders — hatched, unmistakably not a drawing, with the part number and where it belongs. Twenty-five produced, eight owed, and a reader sees both.

That last one is the part I would keep if I could keep only one. A gap that is drawn is a gap somebody closes.

The library was a diagnostic before it was a deliverable

Here is what I did not expect.

Putting everything on one page found problems that the folder had been hiding for weeks.

Seven of eight parts had two drawings. Two different generators had been producing sheets for the same part numbers — one dimensioned by hand, one projected from the solid model — and nothing anywhere said which one a vendor should build from. In a directory they were two files with different names. Side by side in an index, they were obviously the same part twice.

The resolution turned out to be a reframing rather than a choice. The projected views were never a second drawing; they are the model's own view of the part, used to check the released sheet. A verification artifact that carries a title block and sits in a folder next to drawings is going to get quoted from eventually. So they stopped being sheets at all, and the library now refuses to build if any part acquires a second drawing.

Sheets were missing hidden lines. Views that should have shown how a part is bolted together were leaving those features out — each omission locally reasonable, each with a written justification, and the justifications composed into features that appeared nowhere a reader could use them. One of them had a stated reason that had gone stale months earlier: it explained the omission by reference to a feature the design had since deleted.

A three-dimensional view on the top-level sheet was of a machine that no longer existed. It had been generated before a significant change to the pivot and never regenerated. Nothing had asked, because a projected picture goes stale silently — the sheet renders identically either way.

None of these were found by the checks I had written. They were found by looking at everything at once.

What that says about the format

I think the honest lesson is that assembly is a form of verification.

Every one of those problems was invisible while the artifacts were separate and obvious once they were adjacent. Not because anyone was careless — the individual sheets had been checked, repeatedly, by machinery built specifically to check them. The defects lived in the relationships between artifacts, and no per-artifact check can reach there.

That generalizes past drawings. If you have a set of documents that describe one thing, the act of putting them into one navigable structure will tell you things about the set that no amount of reviewing them individually will.

It is also why the placeholders matter more than they look. An index of what exists cannot distinguish "finished" from "half-built". An index of what is owed can, and it turns the question of project state from a judgement into a count.

How it is built

It is generated, not written: the index comes from the same registry the drawings are built from, so it cannot describe a set of sheets that does not exist. If you regenerate the drawings, you regenerate the library, and if a sheet appears on disk that the index does not know about, the build fails rather than quietly omitting it.

The version on this site tracks the design. That was a real decision and it puts an obligation on the page: a copy that claims to be current and is not is worse than a frozen snapshot, because a snapshot is at least honest about being a moment.

So the library carries its own currency — the counts, and a digest of the model it was built from. A reader can tell whether what they are looking at is the machine as it stands, without trusting a date. It will change under you, and that is deliberate.


The series continues.