A.8 Composing a Stack

The seven preceding stacks are examples. The reusable method is how to compose one. Start from the capability, not the mechanisms.

A.8.1 1. Name the Capability

Prefer

Every consequential mutation is reconstructable.

over

We need provenance logging.

The first states the engineering result. The second has already chosen a mechanism, before you know whether it is the right one or the only one.

A.8.2 2. Enumerate the Failure Classes

Ask what would make the capability claim false. For reconstructable mutation:

Those failures determine what the composition must cover.

A.8.3 3. Assign One Guarantee to Each Failure

Map each way the claim can break to the guarantee that closes it.

Table A.8-1.
FailureGuarantee
actor unknownattribution
record missingemission
bypass existscoverage
history fragmentedstable identity / join
semantic lossfidelity check

Do not add a mechanism because the case you are copying from used it. Add it because a failure class needs its guarantee.

A.8.4 4. Find the Dependency Among Guarantees

Some guarantees only become meaningful once another exists.

MARK → EMIT → COVER → READ

A completeness check is meaningful only after the population to be accounted for has been defined. A list of mechanisms becomes a stack when their guarantees depend on one another.

A.8.5 5. Separate the Load-Bearing Path from the Enhancements

For each mechanism, ask:

If I remove this, is the capability claim still valid?

If yes, the mechanism may still be valuable, but it is not load-bearing. The diagrams represent this distinction with solid paths and dashed attachments.

A.8.6 6. Match the Substrate

Do not reproduce a reference stack mechanically. A database, an embedded controller, a compiler, a SaaS application, and a research codebase each expose different observable facts and different deterministic seams. Preserve the guarantees; let the substrate decide the mechanisms.

A.8.7 7. Stop

The objective is not maximum governance. Stop when the smallest load-bearing stack makes the capability claim true for the failure classes that matter.

A.8.8 The Method in One Picture

From failure class to engineering stack: begin with a capability and the ways it can fail, select mechanisms for the guarantees that close those failures, then keep only the load-bearing composition A vertical method. Begin with a CAPABILITY. Ask what makes the capability claim false, which enumerates the FAILURE CLASSES. Each failure class fans out to a guarantee, and each guarantee to a mechanism that provides it. The mechanisms converge into a dependency check that finds which guarantees become meaningful only after another exists. That yields the LOAD-BEARING COMPOSITION — the smallest set that keeps the capability claim honest — which is the ENGINEERING STACK. The transferable skill is composition, not any particular mechanism. CAPABILITY “What makes this false?” FAILURE CLASSES guarantee guarantee guarantee mechanism mechanism mechanism dependency check LOAD-BEARING COMPOSITION ENGINEERING STACK
Figure A.8-1. Composing an engineering stack. Begin with a capability and its failure classes. Identify the guarantees required to close those failures, select mechanisms that provide them, determine their dependencies, and retain the smallest load-bearing composition that makes the capability claim valid.
© James C. Davis, 2026–present