Transposing Screws and bolts became rivets and welding: every design decision joins two things, and the join is either serviceable or fused.

Bolted: module boundaries, interfaces, config, versioned APIs, dependency injection, anything behind a seam. Undoable by one person, locally, later.

Welded: generated code committed into the repo, denormalized schemas, third-party logic inlined, coupling introduced for throughput, anything where the seam is no longer addressable.

Welds are cheaper to produce and often faster at runtime. The cost lands on whoever has to change it, which is Field maintenance must be part of the original design.

The question is not “avoid welds.” It is whether the weld was deliberate, and whether you can state what you gave up: Equivalent product hides a choice of metric